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 data and see the
83	// email address for your Google Account.
84	CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"
85)
86
87// NewService creates a new Service.
88func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
89	scopesOption := option.WithScopes(
90		"https://www.googleapis.com/auth/cloud-platform",
91	)
92	// NOTE: prepend, so we don't override user-specified scopes.
93	opts = append([]option.ClientOption{scopesOption}, opts...)
94	opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
95	opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath))
96	client, endpoint, err := htransport.NewClient(ctx, opts...)
97	if err != nil {
98		return nil, err
99	}
100	s, err := New(client)
101	if err != nil {
102		return nil, err
103	}
104	if endpoint != "" {
105		s.BasePath = endpoint
106	}
107	return s, nil
108}
109
110// New creates a new Service. It uses the provided http.Client for requests.
111//
112// Deprecated: please use NewService instead.
113// To provide a custom HTTP client, use option.WithHTTPClient.
114// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
115func New(client *http.Client) (*Service, error) {
116	if client == nil {
117		return nil, errors.New("client is nil")
118	}
119	s := &Service{client: client, BasePath: basePath}
120	s.Catalog = NewCatalogService(s)
121	s.Entries = NewEntriesService(s)
122	s.Projects = NewProjectsService(s)
123	return s, nil
124}
125
126type Service struct {
127	client    *http.Client
128	BasePath  string // API endpoint base URL
129	UserAgent string // optional additional User-Agent fragment
130
131	Catalog *CatalogService
132
133	Entries *EntriesService
134
135	Projects *ProjectsService
136}
137
138func (s *Service) userAgent() string {
139	if s.UserAgent == "" {
140		return googleapi.UserAgent
141	}
142	return googleapi.UserAgent + " " + s.UserAgent
143}
144
145func NewCatalogService(s *Service) *CatalogService {
146	rs := &CatalogService{s: s}
147	return rs
148}
149
150type CatalogService struct {
151	s *Service
152}
153
154func NewEntriesService(s *Service) *EntriesService {
155	rs := &EntriesService{s: s}
156	return rs
157}
158
159type EntriesService struct {
160	s *Service
161}
162
163func NewProjectsService(s *Service) *ProjectsService {
164	rs := &ProjectsService{s: s}
165	rs.Locations = NewProjectsLocationsService(s)
166	return rs
167}
168
169type ProjectsService struct {
170	s *Service
171
172	Locations *ProjectsLocationsService
173}
174
175func NewProjectsLocationsService(s *Service) *ProjectsLocationsService {
176	rs := &ProjectsLocationsService{s: s}
177	rs.EntryGroups = NewProjectsLocationsEntryGroupsService(s)
178	rs.TagTemplates = NewProjectsLocationsTagTemplatesService(s)
179	rs.Taxonomies = NewProjectsLocationsTaxonomiesService(s)
180	return rs
181}
182
183type ProjectsLocationsService struct {
184	s *Service
185
186	EntryGroups *ProjectsLocationsEntryGroupsService
187
188	TagTemplates *ProjectsLocationsTagTemplatesService
189
190	Taxonomies *ProjectsLocationsTaxonomiesService
191}
192
193func NewProjectsLocationsEntryGroupsService(s *Service) *ProjectsLocationsEntryGroupsService {
194	rs := &ProjectsLocationsEntryGroupsService{s: s}
195	rs.Entries = NewProjectsLocationsEntryGroupsEntriesService(s)
196	rs.Tags = NewProjectsLocationsEntryGroupsTagsService(s)
197	return rs
198}
199
200type ProjectsLocationsEntryGroupsService struct {
201	s *Service
202
203	Entries *ProjectsLocationsEntryGroupsEntriesService
204
205	Tags *ProjectsLocationsEntryGroupsTagsService
206}
207
208func NewProjectsLocationsEntryGroupsEntriesService(s *Service) *ProjectsLocationsEntryGroupsEntriesService {
209	rs := &ProjectsLocationsEntryGroupsEntriesService{s: s}
210	rs.Tags = NewProjectsLocationsEntryGroupsEntriesTagsService(s)
211	return rs
212}
213
214type ProjectsLocationsEntryGroupsEntriesService struct {
215	s *Service
216
217	Tags *ProjectsLocationsEntryGroupsEntriesTagsService
218}
219
220func NewProjectsLocationsEntryGroupsEntriesTagsService(s *Service) *ProjectsLocationsEntryGroupsEntriesTagsService {
221	rs := &ProjectsLocationsEntryGroupsEntriesTagsService{s: s}
222	return rs
223}
224
225type ProjectsLocationsEntryGroupsEntriesTagsService struct {
226	s *Service
227}
228
229func NewProjectsLocationsEntryGroupsTagsService(s *Service) *ProjectsLocationsEntryGroupsTagsService {
230	rs := &ProjectsLocationsEntryGroupsTagsService{s: s}
231	return rs
232}
233
234type ProjectsLocationsEntryGroupsTagsService struct {
235	s *Service
236}
237
238func NewProjectsLocationsTagTemplatesService(s *Service) *ProjectsLocationsTagTemplatesService {
239	rs := &ProjectsLocationsTagTemplatesService{s: s}
240	rs.Fields = NewProjectsLocationsTagTemplatesFieldsService(s)
241	return rs
242}
243
244type ProjectsLocationsTagTemplatesService struct {
245	s *Service
246
247	Fields *ProjectsLocationsTagTemplatesFieldsService
248}
249
250func NewProjectsLocationsTagTemplatesFieldsService(s *Service) *ProjectsLocationsTagTemplatesFieldsService {
251	rs := &ProjectsLocationsTagTemplatesFieldsService{s: s}
252	rs.EnumValues = NewProjectsLocationsTagTemplatesFieldsEnumValuesService(s)
253	return rs
254}
255
256type ProjectsLocationsTagTemplatesFieldsService struct {
257	s *Service
258
259	EnumValues *ProjectsLocationsTagTemplatesFieldsEnumValuesService
260}
261
262func NewProjectsLocationsTagTemplatesFieldsEnumValuesService(s *Service) *ProjectsLocationsTagTemplatesFieldsEnumValuesService {
263	rs := &ProjectsLocationsTagTemplatesFieldsEnumValuesService{s: s}
264	return rs
265}
266
267type ProjectsLocationsTagTemplatesFieldsEnumValuesService struct {
268	s *Service
269}
270
271func NewProjectsLocationsTaxonomiesService(s *Service) *ProjectsLocationsTaxonomiesService {
272	rs := &ProjectsLocationsTaxonomiesService{s: s}
273	rs.PolicyTags = NewProjectsLocationsTaxonomiesPolicyTagsService(s)
274	return rs
275}
276
277type ProjectsLocationsTaxonomiesService struct {
278	s *Service
279
280	PolicyTags *ProjectsLocationsTaxonomiesPolicyTagsService
281}
282
283func NewProjectsLocationsTaxonomiesPolicyTagsService(s *Service) *ProjectsLocationsTaxonomiesPolicyTagsService {
284	rs := &ProjectsLocationsTaxonomiesPolicyTagsService{s: s}
285	return rs
286}
287
288type ProjectsLocationsTaxonomiesPolicyTagsService struct {
289	s *Service
290}
291
292// Binding: Associates `members` with a `role`.
293type Binding struct {
294	// Condition: The condition that is associated with this binding. If the
295	// condition evaluates to `true`, then this binding applies to the
296	// current request. If the condition evaluates to `false`, then this
297	// binding does not apply to the current request. However, a different
298	// role binding might grant the same role to one or more of the members
299	// in this binding. To learn which resources support conditions in their
300	// IAM policies, see the IAM documentation
301	// (https://cloud.google.com/iam/help/conditions/resource-policies).
302	Condition *Expr `json:"condition,omitempty"`
303
304	// Members: Specifies the identities requesting access for a Cloud
305	// Platform resource. `members` can have the following values: *
306	// `allUsers`: A special identifier that represents anyone who is on the
307	// internet; with or without a Google account. *
308	// `allAuthenticatedUsers`: A special identifier that represents anyone
309	// who is authenticated with a Google account or a service account. *
310	// `user:{emailid}`: An email address that represents a specific Google
311	// account. For example, `alice@example.com` . *
312	// `serviceAccount:{emailid}`: An email address that represents a
313	// service account. For example,
314	// `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An
315	// email address that represents a Google group. For example,
316	// `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An
317	// email address (plus unique identifier) representing a user that has
318	// been recently deleted. For example,
319	// `alice@example.com?uid=123456789012345678901`. If the user is
320	// recovered, this value reverts to `user:{emailid}` and the recovered
321	// user retains the role in the binding. *
322	// `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
323	// (plus unique identifier) representing a service account that has been
324	// recently deleted. For example,
325	// `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
326	// If the service account is undeleted, this value reverts to
327	// `serviceAccount:{emailid}` and the undeleted service account retains
328	// the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`:
329	// An email address (plus unique identifier) representing a Google group
330	// that has been recently deleted. For example,
331	// `admins@example.com?uid=123456789012345678901`. If the group is
332	// recovered, this value reverts to `group:{emailid}` and the recovered
333	// group retains the role in the binding. * `domain:{domain}`: The G
334	// Suite domain (primary) that represents all the users of that domain.
335	// For example, `google.com` or `example.com`.
336	Members []string `json:"members,omitempty"`
337
338	// Role: Role that is assigned to `members`. For example,
339	// `roles/viewer`, `roles/editor`, or `roles/owner`.
340	Role string `json:"role,omitempty"`
341
342	// ForceSendFields is a list of field names (e.g. "Condition") to
343	// unconditionally include in API requests. By default, fields with
344	// empty or default values are omitted from API requests. However, any
345	// non-pointer, non-interface field appearing in ForceSendFields will be
346	// sent to the server regardless of whether the field is empty or not.
347	// This may be used to include empty fields in Patch requests.
348	ForceSendFields []string `json:"-"`
349
350	// NullFields is a list of field names (e.g. "Condition") to include in
351	// API requests with the JSON null value. By default, fields with empty
352	// values are omitted from API requests. However, any field with an
353	// empty value appearing in NullFields will be sent to the server as
354	// null. It is an error if a field in this list has a non-empty value.
355	// This may be used to include null fields in Patch requests.
356	NullFields []string `json:"-"`
357}
358
359func (s *Binding) MarshalJSON() ([]byte, error) {
360	type NoMethod Binding
361	raw := NoMethod(*s)
362	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
363}
364
365// Empty: A generic empty message that you can re-use to avoid defining
366// duplicated empty messages in your APIs. A typical example is to use
367// it as the request or the response type of an API method. For
368// instance: service Foo { rpc Bar(google.protobuf.Empty) returns
369// (google.protobuf.Empty); } The JSON representation for `Empty` is
370// empty JSON object `{}`.
371type Empty struct {
372	// ServerResponse contains the HTTP response code and headers from the
373	// server.
374	googleapi.ServerResponse `json:"-"`
375}
376
377// Expr: Represents a textual expression in the Common Expression
378// Language (CEL) syntax. CEL is a C-like expression language. The
379// syntax and semantics of CEL are documented at
380// https://github.com/google/cel-spec. Example (Comparison): title:
381// "Summary size limit" description: "Determines if a summary is less
382// than 100 chars" expression: "document.summary.size() < 100" Example
383// (Equality): title: "Requestor is owner" description: "Determines if
384// requestor is the document owner" expression: "document.owner ==
385// request.auth.claims.email" Example (Logic): title: "Public documents"
386// description: "Determine whether the document should be publicly
387// visible" expression: "document.type != 'private' && document.type !=
388// 'internal'" Example (Data Manipulation): title: "Notification string"
389// description: "Create a notification string with a timestamp."
390// expression: "'New message received at ' +
391// string(document.create_time)" The exact variables and functions that
392// may be referenced within an expression are determined by the service
393// that evaluates it. See the service documentation for additional
394// information.
395type Expr struct {
396	// Description: Optional. Description of the expression. This is a
397	// longer text which describes the expression, e.g. when hovered over it
398	// in a UI.
399	Description string `json:"description,omitempty"`
400
401	// Expression: Textual representation of an expression in Common
402	// Expression Language syntax.
403	Expression string `json:"expression,omitempty"`
404
405	// Location: Optional. String indicating the location of the expression
406	// for error reporting, e.g. a file name and a position in the file.
407	Location string `json:"location,omitempty"`
408
409	// Title: Optional. Title for the expression, i.e. a short string
410	// describing its purpose. This can be used e.g. in UIs which allow to
411	// enter the expression.
412	Title string `json:"title,omitempty"`
413
414	// ForceSendFields is a list of field names (e.g. "Description") to
415	// unconditionally include in API requests. By default, fields with
416	// empty or default values are omitted from API requests. However, any
417	// non-pointer, non-interface field appearing in ForceSendFields will be
418	// sent to the server regardless of whether the field is empty or not.
419	// This may be used to include empty fields in Patch requests.
420	ForceSendFields []string `json:"-"`
421
422	// NullFields is a list of field names (e.g. "Description") to include
423	// in API requests with the JSON null value. By default, fields with
424	// empty values are omitted from API requests. However, any field with
425	// an empty value appearing in NullFields will be sent to the server as
426	// null. It is an error if a field in this list has a non-empty value.
427	// This may be used to include null fields in Patch requests.
428	NullFields []string `json:"-"`
429}
430
431func (s *Expr) MarshalJSON() ([]byte, error) {
432	type NoMethod Expr
433	raw := NoMethod(*s)
434	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
435}
436
437// GetIamPolicyRequest: Request message for `GetIamPolicy` method.
438type GetIamPolicyRequest struct {
439	// Options: OPTIONAL: A `GetPolicyOptions` object for specifying options
440	// to `GetIamPolicy`.
441	Options *GetPolicyOptions `json:"options,omitempty"`
442
443	// ForceSendFields is a list of field names (e.g. "Options") to
444	// unconditionally include in API requests. By default, fields with
445	// empty or default values are omitted from API requests. However, any
446	// non-pointer, non-interface field appearing in ForceSendFields will be
447	// sent to the server regardless of whether the field is empty or not.
448	// This may be used to include empty fields in Patch requests.
449	ForceSendFields []string `json:"-"`
450
451	// NullFields is a list of field names (e.g. "Options") to include in
452	// API requests with the JSON null value. By default, fields with empty
453	// values are omitted from API requests. However, any field with an
454	// empty value appearing in NullFields will be sent to the server as
455	// null. It is an error if a field in this list has a non-empty value.
456	// This may be used to include null fields in Patch requests.
457	NullFields []string `json:"-"`
458}
459
460func (s *GetIamPolicyRequest) MarshalJSON() ([]byte, error) {
461	type NoMethod GetIamPolicyRequest
462	raw := NoMethod(*s)
463	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
464}
465
466// GetPolicyOptions: Encapsulates settings provided to GetIamPolicy.
467type GetPolicyOptions struct {
468	// RequestedPolicyVersion: Optional. The policy format version to be
469	// returned. Valid values are 0, 1, and 3. Requests specifying an
470	// invalid value will be rejected. Requests for policies with any
471	// conditional bindings must specify version 3. Policies without any
472	// conditional bindings may specify any valid value or leave the field
473	// unset. To learn which resources support conditions in their IAM
474	// policies, see the IAM documentation
475	// (https://cloud.google.com/iam/help/conditions/resource-policies).
476	RequestedPolicyVersion int64 `json:"requestedPolicyVersion,omitempty"`
477
478	// ForceSendFields is a list of field names (e.g.
479	// "RequestedPolicyVersion") to unconditionally include in API requests.
480	// By default, fields with empty or default values are omitted from API
481	// requests. However, any non-pointer, non-interface field appearing in
482	// ForceSendFields will be sent to the server regardless of whether the
483	// field is empty or not. This may be used to include empty fields in
484	// Patch requests.
485	ForceSendFields []string `json:"-"`
486
487	// NullFields is a list of field names (e.g. "RequestedPolicyVersion")
488	// to include in API requests with the JSON null value. By default,
489	// fields with empty values are omitted from API requests. However, any
490	// field with an empty value appearing in NullFields will be sent to the
491	// server as null. It is an error if a field in this list has a
492	// non-empty value. This may be used to include null fields in Patch
493	// requests.
494	NullFields []string `json:"-"`
495}
496
497func (s *GetPolicyOptions) MarshalJSON() ([]byte, error) {
498	type NoMethod GetPolicyOptions
499	raw := NoMethod(*s)
500	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
501}
502
503// GoogleCloudDatacatalogV1beta1BigQueryDateShardedSpec: Spec for a
504// group of BigQuery tables with name pattern `[prefix]YYYYMMDD`.
505// Context:
506// https://cloud.google.com/bigquery/docs/partitioned-tables#partitioning_versus_sharding
507type GoogleCloudDatacatalogV1beta1BigQueryDateShardedSpec struct {
508	// Dataset: Output only. The Data Catalog resource name of the dataset
509	// entry the current table belongs to, for example,
510	// `projects/{project_id}/locations/{location}/entrygroups/{entry_group_i
511	// d}/entries/{entry_id}`.
512	Dataset string `json:"dataset,omitempty"`
513
514	// ShardCount: Output only. Total number of shards.
515	ShardCount int64 `json:"shardCount,omitempty,string"`
516
517	// TablePrefix: Output only. The table name prefix of the shards. The
518	// name of any given shard is `[table_prefix]YYYYMMDD`, for example, for
519	// shard `MyTable20180101`, the `table_prefix` is `MyTable`.
520	TablePrefix string `json:"tablePrefix,omitempty"`
521
522	// ForceSendFields is a list of field names (e.g. "Dataset") to
523	// unconditionally include in API requests. By default, fields with
524	// empty or default values are omitted from API requests. However, any
525	// non-pointer, non-interface field appearing in ForceSendFields will be
526	// sent to the server regardless of whether the field is empty or not.
527	// This may be used to include empty fields in Patch requests.
528	ForceSendFields []string `json:"-"`
529
530	// NullFields is a list of field names (e.g. "Dataset") to include in
531	// API requests with the JSON null value. By default, fields with empty
532	// values are omitted from API requests. However, any field with an
533	// empty value appearing in NullFields will be sent to the server as
534	// null. It is an error if a field in this list has a non-empty value.
535	// This may be used to include null fields in Patch requests.
536	NullFields []string `json:"-"`
537}
538
539func (s *GoogleCloudDatacatalogV1beta1BigQueryDateShardedSpec) MarshalJSON() ([]byte, error) {
540	type NoMethod GoogleCloudDatacatalogV1beta1BigQueryDateShardedSpec
541	raw := NoMethod(*s)
542	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
543}
544
545// GoogleCloudDatacatalogV1beta1BigQueryTableSpec: Describes a BigQuery
546// table.
547type GoogleCloudDatacatalogV1beta1BigQueryTableSpec struct {
548	// TableSourceType: Output only. The table source type.
549	//
550	// Possible values:
551	//   "TABLE_SOURCE_TYPE_UNSPECIFIED" - Default unknown type.
552	//   "BIGQUERY_VIEW" - Table view.
553	//   "BIGQUERY_TABLE" - BigQuery native table.
554	//   "BIGQUERY_MATERIALIZED_VIEW" - BigQuery materialized view.
555	TableSourceType string `json:"tableSourceType,omitempty"`
556
557	// TableSpec: Spec of a BigQuery table. This field should only be
558	// populated if `table_source_type` is `BIGQUERY_TABLE`.
559	TableSpec *GoogleCloudDatacatalogV1beta1TableSpec `json:"tableSpec,omitempty"`
560
561	// ViewSpec: Table view specification. This field should only be
562	// populated if `table_source_type` is `BIGQUERY_VIEW`.
563	ViewSpec *GoogleCloudDatacatalogV1beta1ViewSpec `json:"viewSpec,omitempty"`
564
565	// ForceSendFields is a list of field names (e.g. "TableSourceType") to
566	// unconditionally include in API requests. By default, fields with
567	// empty or default values are omitted from API requests. However, any
568	// non-pointer, non-interface field appearing in ForceSendFields will be
569	// sent to the server regardless of whether the field is empty or not.
570	// This may be used to include empty fields in Patch requests.
571	ForceSendFields []string `json:"-"`
572
573	// NullFields is a list of field names (e.g. "TableSourceType") to
574	// include in API requests with the JSON null value. By default, fields
575	// with empty values are omitted from API requests. However, any field
576	// with an empty value appearing in NullFields will be sent to the
577	// server as null. It is an error if a field in this list has a
578	// non-empty value. This may be used to include null fields in Patch
579	// requests.
580	NullFields []string `json:"-"`
581}
582
583func (s *GoogleCloudDatacatalogV1beta1BigQueryTableSpec) MarshalJSON() ([]byte, error) {
584	type NoMethod GoogleCloudDatacatalogV1beta1BigQueryTableSpec
585	raw := NoMethod(*s)
586	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
587}
588
589// GoogleCloudDatacatalogV1beta1ColumnSchema: Representation of a column
590// within a schema. Columns could be nested inside other columns.
591type GoogleCloudDatacatalogV1beta1ColumnSchema struct {
592	// Column: Required. Name of the column.
593	Column string `json:"column,omitempty"`
594
595	// Description: Optional. Description of the column. Default value is an
596	// empty string.
597	Description string `json:"description,omitempty"`
598
599	// Mode: Optional. A column's mode indicates whether the values in this
600	// column are required, nullable, etc. Only `NULLABLE`, `REQUIRED` and
601	// `REPEATED` are supported. Default mode is `NULLABLE`.
602	Mode string `json:"mode,omitempty"`
603
604	// Subcolumns: Optional. Schema of sub-columns. A column can have zero
605	// or more sub-columns.
606	Subcolumns []*GoogleCloudDatacatalogV1beta1ColumnSchema `json:"subcolumns,omitempty"`
607
608	// Type: Required. Type of the column.
609	Type string `json:"type,omitempty"`
610
611	// ForceSendFields is a list of field names (e.g. "Column") to
612	// unconditionally include in API requests. By default, fields with
613	// empty or default values are omitted from API requests. However, any
614	// non-pointer, non-interface field appearing in ForceSendFields will be
615	// sent to the server regardless of whether the field is empty or not.
616	// This may be used to include empty fields in Patch requests.
617	ForceSendFields []string `json:"-"`
618
619	// NullFields is a list of field names (e.g. "Column") to include in API
620	// requests with the JSON null value. By default, fields with empty
621	// values are omitted from API requests. However, any field with an
622	// empty value appearing in NullFields will be sent to the server as
623	// null. It is an error if a field in this list has a non-empty value.
624	// This may be used to include null fields in Patch requests.
625	NullFields []string `json:"-"`
626}
627
628func (s *GoogleCloudDatacatalogV1beta1ColumnSchema) MarshalJSON() ([]byte, error) {
629	type NoMethod GoogleCloudDatacatalogV1beta1ColumnSchema
630	raw := NoMethod(*s)
631	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
632}
633
634// GoogleCloudDatacatalogV1beta1Entry: Entry Metadata. A Data Catalog
635// Entry resource represents another resource in Google Cloud Platform
636// (such as a BigQuery dataset or a Pub/Sub topic), or outside of Google
637// Cloud Platform. Clients can use the `linked_resource` field in the
638// Entry resource to refer to the original resource ID of the source
639// system. An Entry resource contains resource details, such as its
640// schema. An Entry can also be used to attach flexible metadata, such
641// as a Tag.
642type GoogleCloudDatacatalogV1beta1Entry struct {
643	// BigqueryDateShardedSpec: Specification for a group of BigQuery tables
644	// with name pattern `[prefix]YYYYMMDD`. Context:
645	// https://cloud.google.com/bigquery/docs/partitioned-tables#partitioning_versus_sharding.
646	BigqueryDateShardedSpec *GoogleCloudDatacatalogV1beta1BigQueryDateShardedSpec `json:"bigqueryDateShardedSpec,omitempty"`
647
648	// BigqueryTableSpec: Specification that applies to a BigQuery table.
649	// This is only valid on entries of type `TABLE`.
650	BigqueryTableSpec *GoogleCloudDatacatalogV1beta1BigQueryTableSpec `json:"bigqueryTableSpec,omitempty"`
651
652	// Description: Entry description, which can consist of several
653	// sentences or paragraphs that describe entry contents. Default value
654	// is an empty string.
655	Description string `json:"description,omitempty"`
656
657	// DisplayName: Display information such as title and description. A
658	// short name to identify the entry, for example, "Analytics Data - Jan
659	// 2011". Default value is an empty string.
660	DisplayName string `json:"displayName,omitempty"`
661
662	// GcsFilesetSpec: Specification that applies to a Cloud Storage
663	// fileset. This is only valid on entries of type FILESET.
664	GcsFilesetSpec *GoogleCloudDatacatalogV1beta1GcsFilesetSpec `json:"gcsFilesetSpec,omitempty"`
665
666	// IntegratedSystem: Output only. This field indicates the entry's
667	// source system that Data Catalog integrates with, such as BigQuery or
668	// Pub/Sub.
669	//
670	// Possible values:
671	//   "INTEGRATED_SYSTEM_UNSPECIFIED" - Default unknown system.
672	//   "BIGQUERY" - BigQuery.
673	//   "CLOUD_PUBSUB" - Cloud Pub/Sub.
674	IntegratedSystem string `json:"integratedSystem,omitempty"`
675
676	// LinkedResource: The resource this metadata entry refers to. For
677	// Google Cloud Platform resources, `linked_resource` is the full name
678	// of the resource
679	// (https://cloud.google.com/apis/design/resource_names#full_resource_name).
680	// For example, the `linked_resource` for a table resource from BigQuery
681	// is: *
682	// //bigquery.googleapis.com/projects/projectId/datasets/datasetId/tables
683	// /tableId Output only when Entry is of type in the EntryType enum. For
684	// entries with user_specified_type, this field is optional and defaults
685	// to an empty string.
686	LinkedResource string `json:"linkedResource,omitempty"`
687
688	// Name: Output only. The Data Catalog resource name of the entry in URL
689	// format. Example: *
690	// projects/{project_id}/locations/{location}/entryGroups/{entry_group_id
691	// }/entries/{entry_id} Note that this Entry and its child resources may
692	// not actually be stored in the location in this name.
693	Name string `json:"name,omitempty"`
694
695	// Schema: Schema of the entry. An entry might not have any schema
696	// attached to it.
697	Schema *GoogleCloudDatacatalogV1beta1Schema `json:"schema,omitempty"`
698
699	// SourceSystemTimestamps: Output only. Timestamps about the underlying
700	// resource, not about this Data Catalog entry. Output only when Entry
701	// is of type in the EntryType enum. For entries with
702	// user_specified_type, this field is optional and defaults to an empty
703	// timestamp.
704	SourceSystemTimestamps *GoogleCloudDatacatalogV1beta1SystemTimestamps `json:"sourceSystemTimestamps,omitempty"`
705
706	// Type: The type of the entry. Only used for Entries with types in the
707	// EntryType enum.
708	//
709	// Possible values:
710	//   "ENTRY_TYPE_UNSPECIFIED" - Default unknown type.
711	//   "TABLE" - Output only. The type of entry that has a GoogleSQL
712	// schema, including logical views.
713	//   "MODEL" - Output only. The type of models.
714	// https://cloud.google.com/bigquery-ml/docs/bigqueryml-intro
715	//   "DATA_STREAM" - Output only. An entry type which is used for
716	// streaming entries. Example: Pub/Sub topic.
717	//   "FILESET" - An entry type which is a set of files or objects.
718	// Example: Cloud Storage fileset.
719	Type string `json:"type,omitempty"`
720
721	// UsageSignal: Output only. Statistics on the usage level of the
722	// resource.
723	UsageSignal *GoogleCloudDatacatalogV1beta1UsageSignal `json:"usageSignal,omitempty"`
724
725	// UserSpecifiedSystem: This field indicates the entry's source system
726	// that Data Catalog does not integrate with. `user_specified_system`
727	// strings must begin with a letter or underscore and can only contain
728	// letters, numbers, and underscores; are case insensitive; must be at
729	// least 1 character and at most 64 characters long.
730	UserSpecifiedSystem string `json:"userSpecifiedSystem,omitempty"`
731
732	// UserSpecifiedType: Entry type if it does not fit any of the
733	// input-allowed values listed in `EntryType` enum above. When creating
734	// an entry, users should check the enum values first, if nothing
735	// matches the entry to be created, then provide a custom value, for
736	// example "my_special_type". `user_specified_type` strings must begin
737	// with a letter or underscore and can only contain letters, numbers,
738	// and underscores; are case insensitive; must be at least 1 character
739	// and at most 64 characters long. Currently, only FILESET enum value is
740	// allowed. All other entries created through Data Catalog must use
741	// `user_specified_type`.
742	UserSpecifiedType string `json:"userSpecifiedType,omitempty"`
743
744	// ServerResponse contains the HTTP response code and headers from the
745	// server.
746	googleapi.ServerResponse `json:"-"`
747
748	// ForceSendFields is a list of field names (e.g.
749	// "BigqueryDateShardedSpec") to unconditionally include in API
750	// requests. By default, fields with empty or default values are omitted
751	// from API requests. However, any non-pointer, non-interface field
752	// appearing in ForceSendFields will be sent to the server regardless of
753	// whether the field is empty or not. This may be used to include empty
754	// fields in Patch requests.
755	ForceSendFields []string `json:"-"`
756
757	// NullFields is a list of field names (e.g. "BigqueryDateShardedSpec")
758	// to include in API requests with the JSON null value. By default,
759	// fields with empty values are omitted from API requests. However, any
760	// field with an empty value appearing in NullFields will be sent to the
761	// server as null. It is an error if a field in this list has a
762	// non-empty value. This may be used to include null fields in Patch
763	// requests.
764	NullFields []string `json:"-"`
765}
766
767func (s *GoogleCloudDatacatalogV1beta1Entry) MarshalJSON() ([]byte, error) {
768	type NoMethod GoogleCloudDatacatalogV1beta1Entry
769	raw := NoMethod(*s)
770	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
771}
772
773// GoogleCloudDatacatalogV1beta1EntryGroup: EntryGroup Metadata. An
774// EntryGroup resource represents a logical grouping of zero or more
775// Data Catalog Entry resources.
776type GoogleCloudDatacatalogV1beta1EntryGroup struct {
777	// DataCatalogTimestamps: Output only. Timestamps about this EntryGroup.
778	// Default value is empty timestamps.
779	DataCatalogTimestamps *GoogleCloudDatacatalogV1beta1SystemTimestamps `json:"dataCatalogTimestamps,omitempty"`
780
781	// Description: Entry group description, which can consist of several
782	// sentences or paragraphs that describe entry group contents. Default
783	// value is an empty string.
784	Description string `json:"description,omitempty"`
785
786	// DisplayName: A short name to identify the entry group, for example,
787	// "analytics data - jan 2011". Default value is an empty string.
788	DisplayName string `json:"displayName,omitempty"`
789
790	// Name: The resource name of the entry group in URL format. Example: *
791	// projects/{project_id}/locations/{location}/entryGroups/{entry_group_id
792	// } Note that this EntryGroup and its child resources may not actually
793	// be stored in the location in this name.
794	Name string `json:"name,omitempty"`
795
796	// ServerResponse contains the HTTP response code and headers from the
797	// server.
798	googleapi.ServerResponse `json:"-"`
799
800	// ForceSendFields is a list of field names (e.g.
801	// "DataCatalogTimestamps") to unconditionally include in API requests.
802	// By default, fields with empty or default values are omitted from API
803	// requests. However, any non-pointer, non-interface field appearing in
804	// ForceSendFields will be sent to the server regardless of whether the
805	// field is empty or not. This may be used to include empty fields in
806	// Patch requests.
807	ForceSendFields []string `json:"-"`
808
809	// NullFields is a list of field names (e.g. "DataCatalogTimestamps") to
810	// include in API requests with the JSON null value. By default, fields
811	// with empty values are omitted from API requests. However, any field
812	// with an empty value appearing in NullFields will be sent to the
813	// server as null. It is an error if a field in this list has a
814	// non-empty value. This may be used to include null fields in Patch
815	// requests.
816	NullFields []string `json:"-"`
817}
818
819func (s *GoogleCloudDatacatalogV1beta1EntryGroup) MarshalJSON() ([]byte, error) {
820	type NoMethod GoogleCloudDatacatalogV1beta1EntryGroup
821	raw := NoMethod(*s)
822	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
823}
824
825// GoogleCloudDatacatalogV1beta1ExportTaxonomiesResponse: Response
826// message for ExportTaxonomies.
827type GoogleCloudDatacatalogV1beta1ExportTaxonomiesResponse struct {
828	// Taxonomies: List of taxonomies and policy tags in a tree structure.
829	Taxonomies []*GoogleCloudDatacatalogV1beta1SerializedTaxonomy `json:"taxonomies,omitempty"`
830
831	// ServerResponse contains the HTTP response code and headers from the
832	// server.
833	googleapi.ServerResponse `json:"-"`
834
835	// ForceSendFields is a list of field names (e.g. "Taxonomies") to
836	// unconditionally include in API requests. By default, fields with
837	// empty or default values are omitted from API requests. However, any
838	// non-pointer, non-interface field appearing in ForceSendFields will be
839	// sent to the server regardless of whether the field is empty or not.
840	// This may be used to include empty fields in Patch requests.
841	ForceSendFields []string `json:"-"`
842
843	// NullFields is a list of field names (e.g. "Taxonomies") to include in
844	// API requests with the JSON null value. By default, fields with empty
845	// values are omitted from API requests. However, any field with an
846	// empty value appearing in NullFields will be sent to the server as
847	// null. It is an error if a field in this list has a non-empty value.
848	// This may be used to include null fields in Patch requests.
849	NullFields []string `json:"-"`
850}
851
852func (s *GoogleCloudDatacatalogV1beta1ExportTaxonomiesResponse) MarshalJSON() ([]byte, error) {
853	type NoMethod GoogleCloudDatacatalogV1beta1ExportTaxonomiesResponse
854	raw := NoMethod(*s)
855	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
856}
857
858type GoogleCloudDatacatalogV1beta1FieldType struct {
859	// EnumType: Represents an enum type.
860	EnumType *GoogleCloudDatacatalogV1beta1FieldTypeEnumType `json:"enumType,omitempty"`
861
862	// PrimitiveType: Represents primitive types - string, bool etc.
863	//
864	// Possible values:
865	//   "PRIMITIVE_TYPE_UNSPECIFIED" - This is the default invalid value
866	// for a type.
867	//   "DOUBLE" - A double precision number.
868	//   "STRING" - An UTF-8 string.
869	//   "BOOL" - A boolean value.
870	//   "TIMESTAMP" - A timestamp.
871	PrimitiveType string `json:"primitiveType,omitempty"`
872
873	// ForceSendFields is a list of field names (e.g. "EnumType") to
874	// unconditionally include in API requests. By default, fields with
875	// empty or default values are omitted from API requests. However, any
876	// non-pointer, non-interface field appearing in ForceSendFields will be
877	// sent to the server regardless of whether the field is empty or not.
878	// This may be used to include empty fields in Patch requests.
879	ForceSendFields []string `json:"-"`
880
881	// NullFields is a list of field names (e.g. "EnumType") to include in
882	// API requests with the JSON null value. By default, fields with empty
883	// values are omitted from API requests. However, any field with an
884	// empty value appearing in NullFields will be sent to the server as
885	// null. It is an error if a field in this list has a non-empty value.
886	// This may be used to include null fields in Patch requests.
887	NullFields []string `json:"-"`
888}
889
890func (s *GoogleCloudDatacatalogV1beta1FieldType) MarshalJSON() ([]byte, error) {
891	type NoMethod GoogleCloudDatacatalogV1beta1FieldType
892	raw := NoMethod(*s)
893	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
894}
895
896type GoogleCloudDatacatalogV1beta1FieldTypeEnumType struct {
897	AllowedValues []*GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValue `json:"allowedValues,omitempty"`
898
899	// ForceSendFields is a list of field names (e.g. "AllowedValues") to
900	// unconditionally include in API requests. By default, fields with
901	// empty or default values are omitted from API requests. However, any
902	// non-pointer, non-interface field appearing in ForceSendFields will be
903	// sent to the server regardless of whether the field is empty or not.
904	// This may be used to include empty fields in Patch requests.
905	ForceSendFields []string `json:"-"`
906
907	// NullFields is a list of field names (e.g. "AllowedValues") to include
908	// in API requests with the JSON null value. By default, fields with
909	// empty values are omitted from API requests. However, any field with
910	// an empty value appearing in NullFields will be sent to the server as
911	// null. It is an error if a field in this list has a non-empty value.
912	// This may be used to include null fields in Patch requests.
913	NullFields []string `json:"-"`
914}
915
916func (s *GoogleCloudDatacatalogV1beta1FieldTypeEnumType) MarshalJSON() ([]byte, error) {
917	type NoMethod GoogleCloudDatacatalogV1beta1FieldTypeEnumType
918	raw := NoMethod(*s)
919	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
920}
921
922type GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValue struct {
923	// DisplayName: Required. The display name of the enum value. Must not
924	// be an empty string.
925	DisplayName string `json:"displayName,omitempty"`
926
927	// ForceSendFields is a list of field names (e.g. "DisplayName") to
928	// unconditionally include in API requests. By default, fields with
929	// empty or default values are omitted from API requests. However, any
930	// non-pointer, non-interface field appearing in ForceSendFields will be
931	// sent to the server regardless of whether the field is empty or not.
932	// This may be used to include empty fields in Patch requests.
933	ForceSendFields []string `json:"-"`
934
935	// NullFields is a list of field names (e.g. "DisplayName") to include
936	// in API requests with the JSON null value. By default, fields with
937	// empty values are omitted from API requests. However, any field with
938	// an empty value appearing in NullFields will be sent to the server as
939	// null. It is an error if a field in this list has a non-empty value.
940	// This may be used to include null fields in Patch requests.
941	NullFields []string `json:"-"`
942}
943
944func (s *GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValue) MarshalJSON() ([]byte, error) {
945	type NoMethod GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValue
946	raw := NoMethod(*s)
947	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
948}
949
950// GoogleCloudDatacatalogV1beta1GcsFileSpec: Specifications of a single
951// file in Cloud Storage.
952type GoogleCloudDatacatalogV1beta1GcsFileSpec struct {
953	// FilePath: Required. The full file path. Example:
954	// `gs://bucket_name/a/b.txt`.
955	FilePath string `json:"filePath,omitempty"`
956
957	// GcsTimestamps: Output only. Timestamps about the Cloud Storage file.
958	GcsTimestamps *GoogleCloudDatacatalogV1beta1SystemTimestamps `json:"gcsTimestamps,omitempty"`
959
960	// SizeBytes: Output only. The size of the file, in bytes.
961	SizeBytes int64 `json:"sizeBytes,omitempty,string"`
962
963	// ForceSendFields is a list of field names (e.g. "FilePath") to
964	// unconditionally include in API requests. By default, fields with
965	// empty or default values are omitted from API requests. However, any
966	// non-pointer, non-interface field appearing in ForceSendFields will be
967	// sent to the server regardless of whether the field is empty or not.
968	// This may be used to include empty fields in Patch requests.
969	ForceSendFields []string `json:"-"`
970
971	// NullFields is a list of field names (e.g. "FilePath") to include in
972	// API requests with the JSON null value. By default, fields with empty
973	// values are omitted from API requests. However, any field with an
974	// empty value appearing in NullFields will be sent to the server as
975	// null. It is an error if a field in this list has a non-empty value.
976	// This may be used to include null fields in Patch requests.
977	NullFields []string `json:"-"`
978}
979
980func (s *GoogleCloudDatacatalogV1beta1GcsFileSpec) MarshalJSON() ([]byte, error) {
981	type NoMethod GoogleCloudDatacatalogV1beta1GcsFileSpec
982	raw := NoMethod(*s)
983	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
984}
985
986// GoogleCloudDatacatalogV1beta1GcsFilesetSpec: Describes a Cloud
987// Storage fileset entry.
988type GoogleCloudDatacatalogV1beta1GcsFilesetSpec struct {
989	// FilePatterns: Required. Patterns to identify a set of files in Google
990	// Cloud Storage. See Cloud Storage documentation
991	// (https://cloud.google.com/storage/docs/gsutil/addlhelp/WildcardNames)
992	// for more information. Note that bucket wildcards are currently not
993	// supported. Examples of valid file_patterns: *
994	// `gs://bucket_name/dir/*`: matches all files within `bucket_name/dir`
995	// directory. * `gs://bucket_name/dir/**`: matches all files in
996	// `bucket_name/dir` spanning all subdirectories. *
997	// `gs://bucket_name/file*`: matches files prefixed by `file` in
998	// `bucket_name` * `gs://bucket_name/??.txt`: matches files with two
999	// characters followed by `.txt` in `bucket_name` *
1000	// `gs://bucket_name/[aeiou].txt`: matches files that contain a single
1001	// vowel character followed by `.txt` in `bucket_name` *
1002	// `gs://bucket_name/[a-m].txt`: matches files that contain `a`, `b`,
1003	// ... or `m` followed by `.txt` in `bucket_name` *
1004	// `gs://bucket_name/a/*/b`: matches all files in `bucket_name` that
1005	// match `a/*/b` pattern, such as `a/c/b`, `a/d/b` *
1006	// `gs://another_bucket/a.txt`: matches `gs://another_bucket/a.txt` You
1007	// can combine wildcards to provide more powerful matches, for example:
1008	// * `gs://bucket_name/[a-m]??.j*g`
1009	FilePatterns []string `json:"filePatterns,omitempty"`
1010
1011	// SampleGcsFileSpecs: Output only. Sample files contained in this
1012	// fileset, not all files contained in this fileset are represented
1013	// here.
1014	SampleGcsFileSpecs []*GoogleCloudDatacatalogV1beta1GcsFileSpec `json:"sampleGcsFileSpecs,omitempty"`
1015
1016	// ForceSendFields is a list of field names (e.g. "FilePatterns") to
1017	// unconditionally include in API requests. By default, fields with
1018	// empty or default values are omitted from API requests. However, any
1019	// non-pointer, non-interface field appearing in ForceSendFields will be
1020	// sent to the server regardless of whether the field is empty or not.
1021	// This may be used to include empty fields in Patch requests.
1022	ForceSendFields []string `json:"-"`
1023
1024	// NullFields is a list of field names (e.g. "FilePatterns") to include
1025	// in API requests with the JSON null value. By default, fields with
1026	// empty values are omitted from API requests. However, any field with
1027	// an empty value appearing in NullFields will be sent to the server as
1028	// null. It is an error if a field in this list has a non-empty value.
1029	// This may be used to include null fields in Patch requests.
1030	NullFields []string `json:"-"`
1031}
1032
1033func (s *GoogleCloudDatacatalogV1beta1GcsFilesetSpec) MarshalJSON() ([]byte, error) {
1034	type NoMethod GoogleCloudDatacatalogV1beta1GcsFilesetSpec
1035	raw := NoMethod(*s)
1036	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1037}
1038
1039// GoogleCloudDatacatalogV1beta1ImportTaxonomiesRequest: Request message
1040// for ImportTaxonomies.
1041type GoogleCloudDatacatalogV1beta1ImportTaxonomiesRequest struct {
1042	// InlineSource: Inline source used for taxonomies to be imported.
1043	InlineSource *GoogleCloudDatacatalogV1beta1InlineSource `json:"inlineSource,omitempty"`
1044
1045	// ForceSendFields is a list of field names (e.g. "InlineSource") to
1046	// unconditionally include in API requests. By default, fields with
1047	// empty or default values are omitted from API requests. However, any
1048	// non-pointer, non-interface field appearing in ForceSendFields will be
1049	// sent to the server regardless of whether the field is empty or not.
1050	// This may be used to include empty fields in Patch requests.
1051	ForceSendFields []string `json:"-"`
1052
1053	// NullFields is a list of field names (e.g. "InlineSource") to include
1054	// in API requests with the JSON null value. By default, fields with
1055	// empty values are omitted from API requests. However, any field with
1056	// an empty value appearing in NullFields will be sent to the server as
1057	// null. It is an error if a field in this list has a non-empty value.
1058	// This may be used to include null fields in Patch requests.
1059	NullFields []string `json:"-"`
1060}
1061
1062func (s *GoogleCloudDatacatalogV1beta1ImportTaxonomiesRequest) MarshalJSON() ([]byte, error) {
1063	type NoMethod GoogleCloudDatacatalogV1beta1ImportTaxonomiesRequest
1064	raw := NoMethod(*s)
1065	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1066}
1067
1068// GoogleCloudDatacatalogV1beta1ImportTaxonomiesResponse: Response
1069// message for ImportTaxonomies.
1070type GoogleCloudDatacatalogV1beta1ImportTaxonomiesResponse struct {
1071	// Taxonomies: Taxonomies that were imported.
1072	Taxonomies []*GoogleCloudDatacatalogV1beta1Taxonomy `json:"taxonomies,omitempty"`
1073
1074	// ServerResponse contains the HTTP response code and headers from the
1075	// server.
1076	googleapi.ServerResponse `json:"-"`
1077
1078	// ForceSendFields is a list of field names (e.g. "Taxonomies") to
1079	// unconditionally include in API requests. By default, fields with
1080	// empty or default values are omitted from API requests. However, any
1081	// non-pointer, non-interface field appearing in ForceSendFields will be
1082	// sent to the server regardless of whether the field is empty or not.
1083	// This may be used to include empty fields in Patch requests.
1084	ForceSendFields []string `json:"-"`
1085
1086	// NullFields is a list of field names (e.g. "Taxonomies") to include in
1087	// API requests with the JSON null value. By default, fields with empty
1088	// values are omitted from API requests. However, any field with an
1089	// empty value appearing in NullFields will be sent to the server as
1090	// null. It is an error if a field in this list has a non-empty value.
1091	// This may be used to include null fields in Patch requests.
1092	NullFields []string `json:"-"`
1093}
1094
1095func (s *GoogleCloudDatacatalogV1beta1ImportTaxonomiesResponse) MarshalJSON() ([]byte, error) {
1096	type NoMethod GoogleCloudDatacatalogV1beta1ImportTaxonomiesResponse
1097	raw := NoMethod(*s)
1098	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1099}
1100
1101// GoogleCloudDatacatalogV1beta1InlineSource: Inline source used for
1102// taxonomies import.
1103type GoogleCloudDatacatalogV1beta1InlineSource struct {
1104	// Taxonomies: Required. Taxonomies to be imported.
1105	Taxonomies []*GoogleCloudDatacatalogV1beta1SerializedTaxonomy `json:"taxonomies,omitempty"`
1106
1107	// ForceSendFields is a list of field names (e.g. "Taxonomies") to
1108	// unconditionally include in API requests. By default, fields with
1109	// empty or default values are omitted from API requests. However, any
1110	// non-pointer, non-interface field appearing in ForceSendFields will be
1111	// sent to the server regardless of whether the field is empty or not.
1112	// This may be used to include empty fields in Patch requests.
1113	ForceSendFields []string `json:"-"`
1114
1115	// NullFields is a list of field names (e.g. "Taxonomies") to include in
1116	// API requests with the JSON null value. By default, fields with empty
1117	// values are omitted from API requests. However, any field with an
1118	// empty value appearing in NullFields will be sent to the server as
1119	// null. It is an error if a field in this list has a non-empty value.
1120	// This may be used to include null fields in Patch requests.
1121	NullFields []string `json:"-"`
1122}
1123
1124func (s *GoogleCloudDatacatalogV1beta1InlineSource) MarshalJSON() ([]byte, error) {
1125	type NoMethod GoogleCloudDatacatalogV1beta1InlineSource
1126	raw := NoMethod(*s)
1127	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1128}
1129
1130// GoogleCloudDatacatalogV1beta1ListEntriesResponse: Response message
1131// for ListEntries.
1132type GoogleCloudDatacatalogV1beta1ListEntriesResponse struct {
1133	// Entries: Entry details.
1134	Entries []*GoogleCloudDatacatalogV1beta1Entry `json:"entries,omitempty"`
1135
1136	// NextPageToken: Token to retrieve the next page of results. It is set
1137	// to empty if no items remain in results.
1138	NextPageToken string `json:"nextPageToken,omitempty"`
1139
1140	// ServerResponse contains the HTTP response code and headers from the
1141	// server.
1142	googleapi.ServerResponse `json:"-"`
1143
1144	// ForceSendFields is a list of field names (e.g. "Entries") to
1145	// unconditionally include in API requests. By default, fields with
1146	// empty or default values are omitted from API requests. However, any
1147	// non-pointer, non-interface field appearing in ForceSendFields will be
1148	// sent to the server regardless of whether the field is empty or not.
1149	// This may be used to include empty fields in Patch requests.
1150	ForceSendFields []string `json:"-"`
1151
1152	// NullFields is a list of field names (e.g. "Entries") to include in
1153	// API requests with the JSON null value. By default, fields with empty
1154	// values are omitted from API requests. However, any field with an
1155	// empty value appearing in NullFields will be sent to the server as
1156	// null. It is an error if a field in this list has a non-empty value.
1157	// This may be used to include null fields in Patch requests.
1158	NullFields []string `json:"-"`
1159}
1160
1161func (s *GoogleCloudDatacatalogV1beta1ListEntriesResponse) MarshalJSON() ([]byte, error) {
1162	type NoMethod GoogleCloudDatacatalogV1beta1ListEntriesResponse
1163	raw := NoMethod(*s)
1164	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1165}
1166
1167// GoogleCloudDatacatalogV1beta1ListEntryGroupsResponse: Response
1168// message for ListEntryGroups.
1169type GoogleCloudDatacatalogV1beta1ListEntryGroupsResponse struct {
1170	// EntryGroups: EntryGroup details.
1171	EntryGroups []*GoogleCloudDatacatalogV1beta1EntryGroup `json:"entryGroups,omitempty"`
1172
1173	// NextPageToken: Token to retrieve the next page of results. It is set
1174	// to empty if no items remain in results.
1175	NextPageToken string `json:"nextPageToken,omitempty"`
1176
1177	// ServerResponse contains the HTTP response code and headers from the
1178	// server.
1179	googleapi.ServerResponse `json:"-"`
1180
1181	// ForceSendFields is a list of field names (e.g. "EntryGroups") to
1182	// unconditionally include in API requests. By default, fields with
1183	// empty or default values are omitted from API requests. However, any
1184	// non-pointer, non-interface field appearing in ForceSendFields will be
1185	// sent to the server regardless of whether the field is empty or not.
1186	// This may be used to include empty fields in Patch requests.
1187	ForceSendFields []string `json:"-"`
1188
1189	// NullFields is a list of field names (e.g. "EntryGroups") to include
1190	// in API requests with the JSON null value. By default, fields with
1191	// empty values are omitted from API requests. However, any field with
1192	// an empty value appearing in NullFields will be sent to the server as
1193	// null. It is an error if a field in this list has a non-empty value.
1194	// This may be used to include null fields in Patch requests.
1195	NullFields []string `json:"-"`
1196}
1197
1198func (s *GoogleCloudDatacatalogV1beta1ListEntryGroupsResponse) MarshalJSON() ([]byte, error) {
1199	type NoMethod GoogleCloudDatacatalogV1beta1ListEntryGroupsResponse
1200	raw := NoMethod(*s)
1201	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1202}
1203
1204// GoogleCloudDatacatalogV1beta1ListPolicyTagsResponse: Response message
1205// for ListPolicyTags.
1206type GoogleCloudDatacatalogV1beta1ListPolicyTagsResponse struct {
1207	// NextPageToken: Token used to retrieve the next page of results, or
1208	// empty if there are no more results in the list.
1209	NextPageToken string `json:"nextPageToken,omitempty"`
1210
1211	// PolicyTags: The policy tags that are in the requested taxonomy.
1212	PolicyTags []*GoogleCloudDatacatalogV1beta1PolicyTag `json:"policyTags,omitempty"`
1213
1214	// ServerResponse contains the HTTP response code and headers from the
1215	// server.
1216	googleapi.ServerResponse `json:"-"`
1217
1218	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
1219	// unconditionally include in API requests. By default, fields with
1220	// empty or default values are omitted from API requests. However, any
1221	// non-pointer, non-interface field appearing in ForceSendFields will be
1222	// sent to the server regardless of whether the field is empty or not.
1223	// This may be used to include empty fields in Patch requests.
1224	ForceSendFields []string `json:"-"`
1225
1226	// NullFields is a list of field names (e.g. "NextPageToken") to include
1227	// in API requests with the JSON null value. By default, fields with
1228	// empty values are omitted from API requests. However, any field with
1229	// an empty value appearing in NullFields will be sent to the server as
1230	// null. It is an error if a field in this list has a non-empty value.
1231	// This may be used to include null fields in Patch requests.
1232	NullFields []string `json:"-"`
1233}
1234
1235func (s *GoogleCloudDatacatalogV1beta1ListPolicyTagsResponse) MarshalJSON() ([]byte, error) {
1236	type NoMethod GoogleCloudDatacatalogV1beta1ListPolicyTagsResponse
1237	raw := NoMethod(*s)
1238	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1239}
1240
1241// GoogleCloudDatacatalogV1beta1ListTagsResponse: Response message for
1242// ListTags.
1243type GoogleCloudDatacatalogV1beta1ListTagsResponse struct {
1244	// NextPageToken: Token to retrieve the next page of results. It is set
1245	// to empty if no items remain in results.
1246	NextPageToken string `json:"nextPageToken,omitempty"`
1247
1248	// Tags: Tag details.
1249	Tags []*GoogleCloudDatacatalogV1beta1Tag `json:"tags,omitempty"`
1250
1251	// ServerResponse contains the HTTP response code and headers from the
1252	// server.
1253	googleapi.ServerResponse `json:"-"`
1254
1255	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
1256	// unconditionally include in API requests. By default, fields with
1257	// empty or default values are omitted from API requests. However, any
1258	// non-pointer, non-interface field appearing in ForceSendFields will be
1259	// sent to the server regardless of whether the field is empty or not.
1260	// This may be used to include empty fields in Patch requests.
1261	ForceSendFields []string `json:"-"`
1262
1263	// NullFields is a list of field names (e.g. "NextPageToken") to include
1264	// in API requests with the JSON null value. By default, fields with
1265	// empty values are omitted from API requests. However, any field with
1266	// an empty value appearing in NullFields will be sent to the server as
1267	// null. It is an error if a field in this list has a non-empty value.
1268	// This may be used to include null fields in Patch requests.
1269	NullFields []string `json:"-"`
1270}
1271
1272func (s *GoogleCloudDatacatalogV1beta1ListTagsResponse) MarshalJSON() ([]byte, error) {
1273	type NoMethod GoogleCloudDatacatalogV1beta1ListTagsResponse
1274	raw := NoMethod(*s)
1275	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1276}
1277
1278// GoogleCloudDatacatalogV1beta1ListTaxonomiesResponse: Response message
1279// for ListTaxonomies.
1280type GoogleCloudDatacatalogV1beta1ListTaxonomiesResponse struct {
1281	// NextPageToken: Token used to retrieve the next page of results, or
1282	// empty if there are no more results in the list.
1283	NextPageToken string `json:"nextPageToken,omitempty"`
1284
1285	// Taxonomies: Taxonomies that the project contains.
1286	Taxonomies []*GoogleCloudDatacatalogV1beta1Taxonomy `json:"taxonomies,omitempty"`
1287
1288	// ServerResponse contains the HTTP response code and headers from the
1289	// server.
1290	googleapi.ServerResponse `json:"-"`
1291
1292	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
1293	// unconditionally include in API requests. By default, fields with
1294	// empty or default values are omitted from API requests. However, any
1295	// non-pointer, non-interface field appearing in ForceSendFields will be
1296	// sent to the server regardless of whether the field is empty or not.
1297	// This may be used to include empty fields in Patch requests.
1298	ForceSendFields []string `json:"-"`
1299
1300	// NullFields is a list of field names (e.g. "NextPageToken") to include
1301	// in API requests with the JSON null value. By default, fields with
1302	// empty values are omitted from API requests. However, any field with
1303	// an empty value appearing in NullFields will be sent to the server as
1304	// null. It is an error if a field in this list has a non-empty value.
1305	// This may be used to include null fields in Patch requests.
1306	NullFields []string `json:"-"`
1307}
1308
1309func (s *GoogleCloudDatacatalogV1beta1ListTaxonomiesResponse) MarshalJSON() ([]byte, error) {
1310	type NoMethod GoogleCloudDatacatalogV1beta1ListTaxonomiesResponse
1311	raw := NoMethod(*s)
1312	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1313}
1314
1315// GoogleCloudDatacatalogV1beta1PolicyTag: Denotes one policy tag in a
1316// taxonomy (e.g. ssn). Policy Tags can be defined in a hierarchy. For
1317// example, consider the following hierarchy: Geolocation -> (LatLong,
1318// City, ZipCode). PolicyTag "Geolocation" contains three child policy
1319// tags: "LatLong", "City", and "ZipCode".
1320type GoogleCloudDatacatalogV1beta1PolicyTag struct {
1321	// ChildPolicyTags: Output only. Resource names of child policy tags of
1322	// this policy tag.
1323	ChildPolicyTags []string `json:"childPolicyTags,omitempty"`
1324
1325	// Description: Description of this policy tag. It must: contain only
1326	// unicode characters, tabs, newlines, carriage returns and page breaks;
1327	// and be at most 2000 bytes long when encoded in UTF-8. If not set,
1328	// defaults to an empty description. If not set, defaults to an empty
1329	// description.
1330	Description string `json:"description,omitempty"`
1331
1332	// DisplayName: Required. User defined name of this policy tag. It must:
1333	// be unique within the parent taxonomy; contain only unicode letters,
1334	// numbers, underscores, dashes and spaces; not start or end with
1335	// spaces; and be at most 200 bytes long when encoded in UTF-8.
1336	DisplayName string `json:"displayName,omitempty"`
1337
1338	// Name: Output only. Resource name of this policy tag, whose format is:
1339	// "projects/{project_number}/locations/{location_id}/taxonomies/{taxonom
1340	// y_id}/policyTags/{id}".
1341	Name string `json:"name,omitempty"`
1342
1343	// ParentPolicyTag: Resource name of this policy tag's parent policy tag
1344	// (e.g. for the "LatLong" policy tag in the example above, this field
1345	// contains the resource name of the "Geolocation" policy tag). If
1346	// empty, it means this policy tag is a top level policy tag (e.g. this
1347	// field is empty for the "Geolocation" policy tag in the example
1348	// above). If not set, defaults to an empty string.
1349	ParentPolicyTag string `json:"parentPolicyTag,omitempty"`
1350
1351	// ServerResponse contains the HTTP response code and headers from the
1352	// server.
1353	googleapi.ServerResponse `json:"-"`
1354
1355	// ForceSendFields is a list of field names (e.g. "ChildPolicyTags") to
1356	// unconditionally include in API requests. By default, fields with
1357	// empty or default values are omitted from API requests. However, any
1358	// non-pointer, non-interface field appearing in ForceSendFields will be
1359	// sent to the server regardless of whether the field is empty or not.
1360	// This may be used to include empty fields in Patch requests.
1361	ForceSendFields []string `json:"-"`
1362
1363	// NullFields is a list of field names (e.g. "ChildPolicyTags") to
1364	// include in API requests with the JSON null value. By default, fields
1365	// with empty values are omitted from API requests. However, any field
1366	// with an empty value appearing in NullFields will be sent to the
1367	// server as null. It is an error if a field in this list has a
1368	// non-empty value. This may be used to include null fields in Patch
1369	// requests.
1370	NullFields []string `json:"-"`
1371}
1372
1373func (s *GoogleCloudDatacatalogV1beta1PolicyTag) MarshalJSON() ([]byte, error) {
1374	type NoMethod GoogleCloudDatacatalogV1beta1PolicyTag
1375	raw := NoMethod(*s)
1376	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1377}
1378
1379// GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldEnumValueRequest:
1380// Request message for RenameTagTemplateFieldEnumValue.
1381type GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldEnumValueRequest struct {
1382	// NewEnumValueDisplayName: Required. The new display name of the enum
1383	// value. For example, `my_new_enum_value`.
1384	NewEnumValueDisplayName string `json:"newEnumValueDisplayName,omitempty"`
1385
1386	// ForceSendFields is a list of field names (e.g.
1387	// "NewEnumValueDisplayName") to unconditionally include in API
1388	// requests. By default, fields with empty or default values are omitted
1389	// from API requests. However, any non-pointer, non-interface field
1390	// appearing in ForceSendFields will be sent to the server regardless of
1391	// whether the field is empty or not. This may be used to include empty
1392	// fields in Patch requests.
1393	ForceSendFields []string `json:"-"`
1394
1395	// NullFields is a list of field names (e.g. "NewEnumValueDisplayName")
1396	// to include in API requests with the JSON null value. By default,
1397	// fields with empty values are omitted from API requests. However, any
1398	// field with an empty value appearing in NullFields will be sent to the
1399	// server as null. It is an error if a field in this list has a
1400	// non-empty value. This may be used to include null fields in Patch
1401	// requests.
1402	NullFields []string `json:"-"`
1403}
1404
1405func (s *GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldEnumValueRequest) MarshalJSON() ([]byte, error) {
1406	type NoMethod GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldEnumValueRequest
1407	raw := NoMethod(*s)
1408	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1409}
1410
1411// GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldRequest: Request
1412// message for RenameTagTemplateField.
1413type GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldRequest struct {
1414	// NewTagTemplateFieldId: Required. The new ID of this tag template
1415	// field. For example, `my_new_field`.
1416	NewTagTemplateFieldId string `json:"newTagTemplateFieldId,omitempty"`
1417
1418	// ForceSendFields is a list of field names (e.g.
1419	// "NewTagTemplateFieldId") to unconditionally include in API requests.
1420	// By default, fields with empty or default values are omitted from API
1421	// requests. However, any non-pointer, non-interface field appearing in
1422	// ForceSendFields will be sent to the server regardless of whether the
1423	// field is empty or not. This may be used to include empty fields in
1424	// Patch requests.
1425	ForceSendFields []string `json:"-"`
1426
1427	// NullFields is a list of field names (e.g. "NewTagTemplateFieldId") to
1428	// include in API requests with the JSON null value. By default, fields
1429	// with empty values are omitted from API requests. However, any field
1430	// with an empty value appearing in NullFields will be sent to the
1431	// server as null. It is an error if a field in this list has a
1432	// non-empty value. This may be used to include null fields in Patch
1433	// requests.
1434	NullFields []string `json:"-"`
1435}
1436
1437func (s *GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldRequest) MarshalJSON() ([]byte, error) {
1438	type NoMethod GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldRequest
1439	raw := NoMethod(*s)
1440	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1441}
1442
1443// GoogleCloudDatacatalogV1beta1Schema: Represents a schema (e.g.
1444// BigQuery, GoogleSQL, Avro schema).
1445type GoogleCloudDatacatalogV1beta1Schema struct {
1446	// Columns: Required. Schema of columns. A maximum of 10,000 columns and
1447	// sub-columns can be specified.
1448	Columns []*GoogleCloudDatacatalogV1beta1ColumnSchema `json:"columns,omitempty"`
1449
1450	// ForceSendFields is a list of field names (e.g. "Columns") to
1451	// unconditionally include in API requests. By default, fields with
1452	// empty or default values are omitted from API requests. However, any
1453	// non-pointer, non-interface field appearing in ForceSendFields will be
1454	// sent to the server regardless of whether the field is empty or not.
1455	// This may be used to include empty fields in Patch requests.
1456	ForceSendFields []string `json:"-"`
1457
1458	// NullFields is a list of field names (e.g. "Columns") to include in
1459	// API requests with the JSON null value. By default, fields with empty
1460	// values are omitted from API requests. However, any field with an
1461	// empty value appearing in NullFields will be sent to the server as
1462	// null. It is an error if a field in this list has a non-empty value.
1463	// This may be used to include null fields in Patch requests.
1464	NullFields []string `json:"-"`
1465}
1466
1467func (s *GoogleCloudDatacatalogV1beta1Schema) MarshalJSON() ([]byte, error) {
1468	type NoMethod GoogleCloudDatacatalogV1beta1Schema
1469	raw := NoMethod(*s)
1470	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1471}
1472
1473// GoogleCloudDatacatalogV1beta1SearchCatalogRequest: Request message
1474// for SearchCatalog.
1475type GoogleCloudDatacatalogV1beta1SearchCatalogRequest struct {
1476	// OrderBy: Specifies the ordering of results, currently supported
1477	// case-sensitive choices are: * `relevance`, only supports descending *
1478	// `last_modified_timestamp [asc|desc]`, defaults to descending if not
1479	// specified If not specified, defaults to `relevance` descending.
1480	OrderBy string `json:"orderBy,omitempty"`
1481
1482	// PageSize: Number of results in the search page. If <=0 then defaults
1483	// to 10. Max limit for page_size is 1000. Throws an invalid argument
1484	// for page_size > 1000.
1485	PageSize int64 `json:"pageSize,omitempty"`
1486
1487	// PageToken: Optional. Pagination token returned in an earlier
1488	// SearchCatalogResponse.next_page_token, which indicates that this is a
1489	// continuation of a prior SearchCatalogRequest call, and that the
1490	// system should return the next page of data. If empty, the first page
1491	// is returned.
1492	PageToken string `json:"pageToken,omitempty"`
1493
1494	// Query: Optional. The query string in search query syntax. An empty
1495	// query string will result in all data assets (in the specified scope)
1496	// that the user has access to. Query strings can be simple as "x" or
1497	// more qualified as: * name:x * column:x * description:y Note: Query
1498	// tokens need to have a minimum of 3 characters for substring matching
1499	// to work correctly. See Data Catalog Search Syntax
1500	// (https://cloud.google.com/data-catalog/docs/how-to/search-reference)
1501	// for more information.
1502	Query string `json:"query,omitempty"`
1503
1504	// Scope: Required. The scope of this search request. A `scope` that has
1505	// empty `include_org_ids`, `include_project_ids` AND false
1506	// `include_gcp_public_datasets` is considered invalid. Data Catalog
1507	// will return an error in such a case.
1508	Scope *GoogleCloudDatacatalogV1beta1SearchCatalogRequestScope `json:"scope,omitempty"`
1509
1510	// ForceSendFields is a list of field names (e.g. "OrderBy") to
1511	// unconditionally include in API requests. By default, fields with
1512	// empty or default values are omitted from API requests. However, any
1513	// non-pointer, non-interface field appearing in ForceSendFields will be
1514	// sent to the server regardless of whether the field is empty or not.
1515	// This may be used to include empty fields in Patch requests.
1516	ForceSendFields []string `json:"-"`
1517
1518	// NullFields is a list of field names (e.g. "OrderBy") to include in
1519	// API requests with the JSON null value. By default, fields with empty
1520	// values are omitted from API requests. However, any field with an
1521	// empty value appearing in NullFields will be sent to the server as
1522	// null. It is an error if a field in this list has a non-empty value.
1523	// This may be used to include null fields in Patch requests.
1524	NullFields []string `json:"-"`
1525}
1526
1527func (s *GoogleCloudDatacatalogV1beta1SearchCatalogRequest) MarshalJSON() ([]byte, error) {
1528	type NoMethod GoogleCloudDatacatalogV1beta1SearchCatalogRequest
1529	raw := NoMethod(*s)
1530	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1531}
1532
1533// GoogleCloudDatacatalogV1beta1SearchCatalogRequestScope: The criteria
1534// that select the subspace used for query matching.
1535type GoogleCloudDatacatalogV1beta1SearchCatalogRequestScope struct {
1536	// IncludeGcpPublicDatasets: If `true`, include Google Cloud Platform
1537	// (GCP) public datasets in the search results. Info on GCP public
1538	// datasets is available at https://cloud.google.com/public-datasets/.
1539	// By default, GCP public datasets are excluded.
1540	IncludeGcpPublicDatasets bool `json:"includeGcpPublicDatasets,omitempty"`
1541
1542	// IncludeOrgIds: The list of organization IDs to search within. To find
1543	// your organization ID, follow instructions in
1544	// https://cloud.google.com/resource-manager/docs/creating-managing-organization.
1545	IncludeOrgIds []string `json:"includeOrgIds,omitempty"`
1546
1547	// IncludeProjectIds: The list of project IDs to search within. To learn
1548	// more about the distinction between project names/IDs/numbers, go to
1549	// https://cloud.google.com/docs/overview/#projects.
1550	IncludeProjectIds []string `json:"includeProjectIds,omitempty"`
1551
1552	// RestrictedLocations: Optional. The list of locations to search
1553	// within. 1. If empty, search will be performed in all locations; 2. If
1554	// any of the locations are NOT in the valid locations list, error will
1555	// be returned; 3. Otherwise, search only the given locations for
1556	// matching results. Typical usage is to leave this field empty. When a
1557	// location is unreachable as returned in the
1558	// `SearchCatalogResponse.unreachable` field, users can repeat the
1559	// search request with this parameter set to get additional information
1560	// on the error. Valid locations: * asia-east1 * asia-east2 *
1561	// asia-northeast1 * asia-northeast2 * asia-northeast3 * asia-south1 *
1562	// asia-southeast1 * australia-southeast1 * eu * europe-north1 *
1563	// europe-west1 * europe-west2 * europe-west3 * europe-west4 *
1564	// europe-west6 * global * northamerica-northeast1 * southamerica-east1
1565	// * us * us-central1 * us-east1 * us-east4 * us-west1 * us-west2
1566	RestrictedLocations []string `json:"restrictedLocations,omitempty"`
1567
1568	// ForceSendFields is a list of field names (e.g.
1569	// "IncludeGcpPublicDatasets") to unconditionally include in API
1570	// requests. By default, fields with empty or default values are omitted
1571	// from API requests. However, any non-pointer, non-interface field
1572	// appearing in ForceSendFields will be sent to the server regardless of
1573	// whether the field is empty or not. This may be used to include empty
1574	// fields in Patch requests.
1575	ForceSendFields []string `json:"-"`
1576
1577	// NullFields is a list of field names (e.g. "IncludeGcpPublicDatasets")
1578	// to include in API requests with the JSON null value. By default,
1579	// fields with empty values are omitted from API requests. However, any
1580	// field with an empty value appearing in NullFields will be sent to the
1581	// server as null. It is an error if a field in this list has a
1582	// non-empty value. This may be used to include null fields in Patch
1583	// requests.
1584	NullFields []string `json:"-"`
1585}
1586
1587func (s *GoogleCloudDatacatalogV1beta1SearchCatalogRequestScope) MarshalJSON() ([]byte, error) {
1588	type NoMethod GoogleCloudDatacatalogV1beta1SearchCatalogRequestScope
1589	raw := NoMethod(*s)
1590	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1591}
1592
1593// GoogleCloudDatacatalogV1beta1SearchCatalogResponse: Response message
1594// for SearchCatalog.
1595type GoogleCloudDatacatalogV1beta1SearchCatalogResponse struct {
1596	// NextPageToken: The token that can be used to retrieve the next page
1597	// of results.
1598	NextPageToken string `json:"nextPageToken,omitempty"`
1599
1600	// Results: Search results.
1601	Results []*GoogleCloudDatacatalogV1beta1SearchCatalogResult `json:"results,omitempty"`
1602
1603	// Unreachable: Unreachable locations. Search result does not include
1604	// data from those locations. Users can get additional information on
1605	// the error by repeating the search request with a more restrictive
1606	// parameter -- setting the value for
1607	// `SearchDataCatalogRequest.scope.restricted_locations`.
1608	Unreachable []string `json:"unreachable,omitempty"`
1609
1610	// ServerResponse contains the HTTP response code and headers from the
1611	// server.
1612	googleapi.ServerResponse `json:"-"`
1613
1614	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
1615	// unconditionally include in API requests. By default, fields with
1616	// empty or default values are omitted from API requests. However, any
1617	// non-pointer, non-interface field appearing in ForceSendFields will be
1618	// sent to the server regardless of whether the field is empty or not.
1619	// This may be used to include empty fields in Patch requests.
1620	ForceSendFields []string `json:"-"`
1621
1622	// NullFields is a list of field names (e.g. "NextPageToken") to include
1623	// in API requests with the JSON null value. By default, fields with
1624	// empty values are omitted from API requests. However, any field with
1625	// an empty value appearing in NullFields will be sent to the server as
1626	// null. It is an error if a field in this list has a non-empty value.
1627	// This may be used to include null fields in Patch requests.
1628	NullFields []string `json:"-"`
1629}
1630
1631func (s *GoogleCloudDatacatalogV1beta1SearchCatalogResponse) MarshalJSON() ([]byte, error) {
1632	type NoMethod GoogleCloudDatacatalogV1beta1SearchCatalogResponse
1633	raw := NoMethod(*s)
1634	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1635}
1636
1637// GoogleCloudDatacatalogV1beta1SearchCatalogResult: A result that
1638// appears in the response of a search request. Each result captures
1639// details of one entry that matches the search.
1640type GoogleCloudDatacatalogV1beta1SearchCatalogResult struct {
1641	// LinkedResource: The full name of the cloud resource the entry belongs
1642	// to. See:
1643	// https://cloud.google.com/apis/design/resource_names#full_resource_name.
1644	// Example: *
1645	// `//bigquery.googleapis.com/projects/projectId/datasets/datasetId/table
1646	// s/tableId`
1647	LinkedResource string `json:"linkedResource,omitempty"`
1648
1649	// ModifyTime: Last-modified timestamp of the entry from the managing
1650	// system.
1651	ModifyTime string `json:"modifyTime,omitempty"`
1652
1653	// RelativeResourceName: The relative resource name of the resource in
1654	// URL format. Examples: *
1655	// `projects/{project_id}/locations/{location_id}/entryGroups/{entry_grou
1656	// p_id}/entries/{entry_id}` *
1657	// `projects/{project_id}/tagTemplates/{tag_template_id}`
1658	RelativeResourceName string `json:"relativeResourceName,omitempty"`
1659
1660	// SearchResultSubtype: Sub-type of the search result. This is a
1661	// dot-delimited description of the resource's full type, and is the
1662	// same as the value callers would provide in the "type" search facet.
1663	// Examples: `entry.table`, `entry.dataStream`, `tagTemplate`.
1664	SearchResultSubtype string `json:"searchResultSubtype,omitempty"`
1665
1666	// SearchResultType: Type of the search result. This field can be used
1667	// to determine which Get method to call to fetch the full resource.
1668	//
1669	// Possible values:
1670	//   "SEARCH_RESULT_TYPE_UNSPECIFIED" - Default unknown type.
1671	//   "ENTRY" - An Entry.
1672	//   "TAG_TEMPLATE" - A TagTemplate.
1673	//   "ENTRY_GROUP" - An EntryGroup.
1674	SearchResultType string `json:"searchResultType,omitempty"`
1675
1676	// ForceSendFields is a list of field names (e.g. "LinkedResource") to
1677	// unconditionally include in API requests. By default, fields with
1678	// empty or default values are omitted from API requests. However, any
1679	// non-pointer, non-interface field appearing in ForceSendFields will be
1680	// sent to the server regardless of whether the field is empty or not.
1681	// This may be used to include empty fields in Patch requests.
1682	ForceSendFields []string `json:"-"`
1683
1684	// NullFields is a list of field names (e.g. "LinkedResource") to
1685	// include in API requests with the JSON null value. By default, fields
1686	// with empty values are omitted from API requests. However, any field
1687	// with an empty value appearing in NullFields will be sent to the
1688	// server as null. It is an error if a field in this list has a
1689	// non-empty value. This may be used to include null fields in Patch
1690	// requests.
1691	NullFields []string `json:"-"`
1692}
1693
1694func (s *GoogleCloudDatacatalogV1beta1SearchCatalogResult) MarshalJSON() ([]byte, error) {
1695	type NoMethod GoogleCloudDatacatalogV1beta1SearchCatalogResult
1696	raw := NoMethod(*s)
1697	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1698}
1699
1700// GoogleCloudDatacatalogV1beta1SerializedPolicyTag: Message
1701// representing one policy tag when exported as a nested proto.
1702type GoogleCloudDatacatalogV1beta1SerializedPolicyTag struct {
1703	// ChildPolicyTags: Children of the policy tag if any.
1704	ChildPolicyTags []*GoogleCloudDatacatalogV1beta1SerializedPolicyTag `json:"childPolicyTags,omitempty"`
1705
1706	// Description: Description of the serialized policy tag. The length of
1707	// the description is limited to 2000 bytes when encoded in UTF-8. If
1708	// not set, defaults to an empty description.
1709	Description string `json:"description,omitempty"`
1710
1711	// DisplayName: Required. Display name of the policy tag. Max 200 bytes
1712	// when encoded in UTF-8.
1713	DisplayName string `json:"displayName,omitempty"`
1714
1715	// PolicyTag: Resource name of the policy tag. This field will be
1716	// ignored when calling ImportTaxonomies.
1717	PolicyTag string `json:"policyTag,omitempty"`
1718
1719	// ForceSendFields is a list of field names (e.g. "ChildPolicyTags") to
1720	// unconditionally include in API requests. By default, fields with
1721	// empty or default values are omitted from API requests. However, any
1722	// non-pointer, non-interface field appearing in ForceSendFields will be
1723	// sent to the server regardless of whether the field is empty or not.
1724	// This may be used to include empty fields in Patch requests.
1725	ForceSendFields []string `json:"-"`
1726
1727	// NullFields is a list of field names (e.g. "ChildPolicyTags") to
1728	// include in API requests with the JSON null value. By default, fields
1729	// with empty values are omitted from API requests. However, any field
1730	// with an empty value appearing in NullFields will be sent to the
1731	// server as null. It is an error if a field in this list has a
1732	// non-empty value. This may be used to include null fields in Patch
1733	// requests.
1734	NullFields []string `json:"-"`
1735}
1736
1737func (s *GoogleCloudDatacatalogV1beta1SerializedPolicyTag) MarshalJSON() ([]byte, error) {
1738	type NoMethod GoogleCloudDatacatalogV1beta1SerializedPolicyTag
1739	raw := NoMethod(*s)
1740	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1741}
1742
1743// GoogleCloudDatacatalogV1beta1SerializedTaxonomy: Message capturing a
1744// taxonomy and its policy tag hierarchy as a nested proto. Used for
1745// taxonomy import/export and mutation.
1746type GoogleCloudDatacatalogV1beta1SerializedTaxonomy struct {
1747	// ActivatedPolicyTypes: A list of policy types that are activated for a
1748	// taxonomy.
1749	//
1750	// Possible values:
1751	//   "POLICY_TYPE_UNSPECIFIED" - Unspecified policy type.
1752	//   "FINE_GRAINED_ACCESS_CONTROL" - Fine grained access control policy,
1753	// which enables access control on tagged resources.
1754	ActivatedPolicyTypes []string `json:"activatedPolicyTypes,omitempty"`
1755
1756	// Description: Description of the serialized taxonomy. The length of
1757	// the description is limited to 2000 bytes when encoded in UTF-8. If
1758	// not set, defaults to an empty description.
1759	Description string `json:"description,omitempty"`
1760
1761	// DisplayName: Required. Display name of the taxonomy. Max 200 bytes
1762	// when encoded in UTF-8.
1763	DisplayName string `json:"displayName,omitempty"`
1764
1765	// PolicyTags: Top level policy tags associated with the taxonomy if
1766	// any.
1767	PolicyTags []*GoogleCloudDatacatalogV1beta1SerializedPolicyTag `json:"policyTags,omitempty"`
1768
1769	// ForceSendFields is a list of field names (e.g.
1770	// "ActivatedPolicyTypes") to unconditionally include in API requests.
1771	// By default, fields with empty or default values are omitted from API
1772	// requests. However, any non-pointer, non-interface field appearing in
1773	// ForceSendFields will be sent to the server regardless of whether the
1774	// field is empty or not. This may be used to include empty fields in
1775	// Patch requests.
1776	ForceSendFields []string `json:"-"`
1777
1778	// NullFields is a list of field names (e.g. "ActivatedPolicyTypes") to
1779	// include in API requests with the JSON null value. By default, fields
1780	// with empty values are omitted from API requests. However, any field
1781	// with an empty value appearing in NullFields will be sent to the
1782	// server as null. It is an error if a field in this list has a
1783	// non-empty value. This may be used to include null fields in Patch
1784	// requests.
1785	NullFields []string `json:"-"`
1786}
1787
1788func (s *GoogleCloudDatacatalogV1beta1SerializedTaxonomy) MarshalJSON() ([]byte, error) {
1789	type NoMethod GoogleCloudDatacatalogV1beta1SerializedTaxonomy
1790	raw := NoMethod(*s)
1791	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1792}
1793
1794// GoogleCloudDatacatalogV1beta1SystemTimestamps: Timestamps about this
1795// resource according to a particular system.
1796type GoogleCloudDatacatalogV1beta1SystemTimestamps struct {
1797	// CreateTime: The creation time of the resource within the given
1798	// system.
1799	CreateTime string `json:"createTime,omitempty"`
1800
1801	// ExpireTime: Output only. The expiration time of the resource within
1802	// the given system. Currently only apllicable to BigQuery resources.
1803	ExpireTime string `json:"expireTime,omitempty"`
1804
1805	// UpdateTime: The last-modified time of the resource within the given
1806	// system.
1807	UpdateTime string `json:"updateTime,omitempty"`
1808
1809	// ForceSendFields is a list of field names (e.g. "CreateTime") to
1810	// unconditionally include in API requests. By default, fields with
1811	// empty or default values are omitted from API requests. However, any
1812	// non-pointer, non-interface field appearing in ForceSendFields will be
1813	// sent to the server regardless of whether the field is empty or not.
1814	// This may be used to include empty fields in Patch requests.
1815	ForceSendFields []string `json:"-"`
1816
1817	// NullFields is a list of field names (e.g. "CreateTime") to include in
1818	// API requests with the JSON null value. By default, fields with empty
1819	// values are omitted from API requests. However, any field with an
1820	// empty value appearing in NullFields will be sent to the server as
1821	// null. It is an error if a field in this list has a non-empty value.
1822	// This may be used to include null fields in Patch requests.
1823	NullFields []string `json:"-"`
1824}
1825
1826func (s *GoogleCloudDatacatalogV1beta1SystemTimestamps) MarshalJSON() ([]byte, error) {
1827	type NoMethod GoogleCloudDatacatalogV1beta1SystemTimestamps
1828	raw := NoMethod(*s)
1829	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1830}
1831
1832// GoogleCloudDatacatalogV1beta1TableSpec: Normal BigQuery table spec.
1833type GoogleCloudDatacatalogV1beta1TableSpec struct {
1834	// GroupedEntry: Output only. If the table is a dated shard, i.e., with
1835	// name pattern `[prefix]YYYYMMDD`, `grouped_entry` is the Data Catalog
1836	// resource name of the date sharded grouped entry, for example,
1837	// `projects/{project_id}/locations/{location}/entrygroups/{entry_group_i
1838	// d}/entries/{entry_id}`. Otherwise, `grouped_entry` is empty.
1839	GroupedEntry string `json:"groupedEntry,omitempty"`
1840
1841	// ForceSendFields is a list of field names (e.g. "GroupedEntry") to
1842	// unconditionally include in API requests. By default, fields with
1843	// empty or default values are omitted from API requests. However, any
1844	// non-pointer, non-interface field appearing in ForceSendFields will be
1845	// sent to the server regardless of whether the field is empty or not.
1846	// This may be used to include empty fields in Patch requests.
1847	ForceSendFields []string `json:"-"`
1848
1849	// NullFields is a list of field names (e.g. "GroupedEntry") to include
1850	// in API requests with the JSON null value. By default, fields with
1851	// empty values are omitted from API requests. However, any field with
1852	// an empty value appearing in NullFields will be sent to the server as
1853	// null. It is an error if a field in this list has a non-empty value.
1854	// This may be used to include null fields in Patch requests.
1855	NullFields []string `json:"-"`
1856}
1857
1858func (s *GoogleCloudDatacatalogV1beta1TableSpec) MarshalJSON() ([]byte, error) {
1859	type NoMethod GoogleCloudDatacatalogV1beta1TableSpec
1860	raw := NoMethod(*s)
1861	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1862}
1863
1864// GoogleCloudDatacatalogV1beta1Tag: Tags are used to attach custom
1865// metadata to Data Catalog resources. Tags conform to the
1866// specifications within their tag template. See Data Catalog IAM
1867// (https://cloud.google.com/data-catalog/docs/concepts/iam) for
1868// information on the permissions needed to create or view tags.
1869type GoogleCloudDatacatalogV1beta1Tag struct {
1870	// Column: Resources like Entry can have schemas associated with them.
1871	// This scope allows users to attach tags to an individual column based
1872	// on that schema. For attaching a tag to a nested column, use `.` to
1873	// separate the column names. Example: * `outer_column.inner_column`
1874	Column string `json:"column,omitempty"`
1875
1876	// Fields: Required. This maps the ID of a tag field to the value of and
1877	// additional information about that field. Valid field IDs are defined
1878	// by the tag's template. A tag must have at least 1 field and at most
1879	// 500 fields.
1880	Fields map[string]GoogleCloudDatacatalogV1beta1TagField `json:"fields,omitempty"`
1881
1882	// Name: The resource name of the tag in URL format. Example: *
1883	// projects/{project_id}/locations/{location}/entrygroups/{entry_group_id
1884	// }/entries/{entry_id}/tags/{tag_id} where `tag_id` is a
1885	// system-generated identifier. Note that this Tag may not actually be
1886	// stored in the location in this name.
1887	Name string `json:"name,omitempty"`
1888
1889	// Template: Required. The resource name of the tag template that this
1890	// tag uses. Example: *
1891	// projects/{project_id}/locations/{location}/tagTemplates/{tag_template_
1892	// id} This field cannot be modified after creation.
1893	Template string `json:"template,omitempty"`
1894
1895	// TemplateDisplayName: Output only. The display name of the tag
1896	// template.
1897	TemplateDisplayName string `json:"templateDisplayName,omitempty"`
1898
1899	// ServerResponse contains the HTTP response code and headers from the
1900	// server.
1901	googleapi.ServerResponse `json:"-"`
1902
1903	// ForceSendFields is a list of field names (e.g. "Column") to
1904	// unconditionally include in API requests. By default, fields with
1905	// empty or default values are omitted from API requests. However, any
1906	// non-pointer, non-interface field appearing in ForceSendFields will be
1907	// sent to the server regardless of whether the field is empty or not.
1908	// This may be used to include empty fields in Patch requests.
1909	ForceSendFields []string `json:"-"`
1910
1911	// NullFields is a list of field names (e.g. "Column") to include in API
1912	// requests with the JSON null value. By default, fields with empty
1913	// values are omitted from API requests. However, any field with an
1914	// empty value appearing in NullFields will be sent to the server as
1915	// null. It is an error if a field in this list has a non-empty value.
1916	// This may be used to include null fields in Patch requests.
1917	NullFields []string `json:"-"`
1918}
1919
1920func (s *GoogleCloudDatacatalogV1beta1Tag) MarshalJSON() ([]byte, error) {
1921	type NoMethod GoogleCloudDatacatalogV1beta1Tag
1922	raw := NoMethod(*s)
1923	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1924}
1925
1926// GoogleCloudDatacatalogV1beta1TagField: Contains the value and
1927// supporting information for a field within a Tag.
1928type GoogleCloudDatacatalogV1beta1TagField struct {
1929	// BoolValue: Holds the value for a tag field with boolean type.
1930	BoolValue bool `json:"boolValue,omitempty"`
1931
1932	// DisplayName: Output only. The display name of this field.
1933	DisplayName string `json:"displayName,omitempty"`
1934
1935	// DoubleValue: Holds the value for a tag field with double type.
1936	DoubleValue float64 `json:"doubleValue,omitempty"`
1937
1938	// EnumValue: Holds the value for a tag field with enum type. This value
1939	// must be one of the allowed values in the definition of this enum.
1940	EnumValue *GoogleCloudDatacatalogV1beta1TagFieldEnumValue `json:"enumValue,omitempty"`
1941
1942	// Order: Output only. The order of this field with respect to other
1943	// fields in this tag. It can be set in Tag. For example, a higher value
1944	// can indicate a more important field. The value can be negative.
1945	// Multiple fields can have the same order, and field orders within a
1946	// tag do not have to be sequential.
1947	Order int64 `json:"order,omitempty"`
1948
1949	// StringValue: Holds the value for a tag field with string type.
1950	StringValue string `json:"stringValue,omitempty"`
1951
1952	// TimestampValue: Holds the value for a tag field with timestamp type.
1953	TimestampValue string `json:"timestampValue,omitempty"`
1954
1955	// ForceSendFields is a list of field names (e.g. "BoolValue") to
1956	// unconditionally include in API requests. By default, fields with
1957	// empty or default values are omitted from API requests. However, any
1958	// non-pointer, non-interface field appearing in ForceSendFields will be
1959	// sent to the server regardless of whether the field is empty or not.
1960	// This may be used to include empty fields in Patch requests.
1961	ForceSendFields []string `json:"-"`
1962
1963	// NullFields is a list of field names (e.g. "BoolValue") to include in
1964	// API requests with the JSON null value. By default, fields with empty
1965	// values are omitted from API requests. However, any field with an
1966	// empty value appearing in NullFields will be sent to the server as
1967	// null. It is an error if a field in this list has a non-empty value.
1968	// This may be used to include null fields in Patch requests.
1969	NullFields []string `json:"-"`
1970}
1971
1972func (s *GoogleCloudDatacatalogV1beta1TagField) MarshalJSON() ([]byte, error) {
1973	type NoMethod GoogleCloudDatacatalogV1beta1TagField
1974	raw := NoMethod(*s)
1975	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1976}
1977
1978func (s *GoogleCloudDatacatalogV1beta1TagField) UnmarshalJSON(data []byte) error {
1979	type NoMethod GoogleCloudDatacatalogV1beta1TagField
1980	var s1 struct {
1981		DoubleValue gensupport.JSONFloat64 `json:"doubleValue"`
1982		*NoMethod
1983	}
1984	s1.NoMethod = (*NoMethod)(s)
1985	if err := json.Unmarshal(data, &s1); err != nil {
1986		return err
1987	}
1988	s.DoubleValue = float64(s1.DoubleValue)
1989	return nil
1990}
1991
1992// GoogleCloudDatacatalogV1beta1TagFieldEnumValue: Holds an enum value.
1993type GoogleCloudDatacatalogV1beta1TagFieldEnumValue struct {
1994	// DisplayName: The display name of the enum value.
1995	DisplayName string `json:"displayName,omitempty"`
1996
1997	// ForceSendFields is a list of field names (e.g. "DisplayName") to
1998	// unconditionally include in API requests. By default, fields with
1999	// empty or default values are omitted from API requests. However, any
2000	// non-pointer, non-interface field appearing in ForceSendFields will be
2001	// sent to the server regardless of whether the field is empty or not.
2002	// This may be used to include empty fields in Patch requests.
2003	ForceSendFields []string `json:"-"`
2004
2005	// NullFields is a list of field names (e.g. "DisplayName") to include
2006	// in API requests with the JSON null value. By default, fields with
2007	// empty values are omitted from API requests. However, any field with
2008	// an empty value appearing in NullFields will be sent to the server as
2009	// null. It is an error if a field in this list has a non-empty value.
2010	// This may be used to include null fields in Patch requests.
2011	NullFields []string `json:"-"`
2012}
2013
2014func (s *GoogleCloudDatacatalogV1beta1TagFieldEnumValue) MarshalJSON() ([]byte, error) {
2015	type NoMethod GoogleCloudDatacatalogV1beta1TagFieldEnumValue
2016	raw := NoMethod(*s)
2017	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2018}
2019
2020// GoogleCloudDatacatalogV1beta1TagTemplate: A tag template defines a
2021// tag, which can have one or more typed fields. The template is used to
2022// create and attach the tag to GCP resources. Tag template roles
2023// (https://cloud.google.com/iam/docs/understanding-roles#data-catalog-roles)
2024// provide permissions to create, edit, and use the template. See, for
2025// example, the TagTemplate User
2026// (https://cloud.google.com/data-catalog/docs/how-to/template-user)
2027// role, which includes permission to use the tag template to tag
2028// resources.
2029type GoogleCloudDatacatalogV1beta1TagTemplate struct {
2030	// DisplayName: The display name for this template. Defaults to an empty
2031	// string.
2032	DisplayName string `json:"displayName,omitempty"`
2033
2034	// Fields: Required. Map of tag template field IDs to the settings for
2035	// the field. This map is an exhaustive list of the allowed fields. This
2036	// map must contain at least one field and at most 500 fields. The keys
2037	// to this map are tag template field IDs. Field IDs can contain letters
2038	// (both uppercase and lowercase), numbers (0-9) and underscores (_).
2039	// Field IDs must be at least 1 character long and at most 64 characters
2040	// long. Field IDs must start with a letter or underscore.
2041	Fields map[string]GoogleCloudDatacatalogV1beta1TagTemplateField `json:"fields,omitempty"`
2042
2043	// Name: The resource name of the tag template in URL format. Example: *
2044	// projects/{project_id}/locations/{location}/tagTemplates/{tag_template_
2045	// id} Note that this TagTemplate and its child resources may not
2046	// actually be stored in the location in this name.
2047	Name string `json:"name,omitempty"`
2048
2049	// ServerResponse contains the HTTP response code and headers from the
2050	// server.
2051	googleapi.ServerResponse `json:"-"`
2052
2053	// ForceSendFields is a list of field names (e.g. "DisplayName") to
2054	// unconditionally include in API requests. By default, fields with
2055	// empty or default values are omitted from API requests. However, any
2056	// non-pointer, non-interface field appearing in ForceSendFields will be
2057	// sent to the server regardless of whether the field is empty or not.
2058	// This may be used to include empty fields in Patch requests.
2059	ForceSendFields []string `json:"-"`
2060
2061	// NullFields is a list of field names (e.g. "DisplayName") to include
2062	// in API requests with the JSON null value. By default, fields with
2063	// empty values are omitted from API requests. However, any field with
2064	// an empty value appearing in NullFields will be sent to the server as
2065	// null. It is an error if a field in this list has a non-empty value.
2066	// This may be used to include null fields in Patch requests.
2067	NullFields []string `json:"-"`
2068}
2069
2070func (s *GoogleCloudDatacatalogV1beta1TagTemplate) MarshalJSON() ([]byte, error) {
2071	type NoMethod GoogleCloudDatacatalogV1beta1TagTemplate
2072	raw := NoMethod(*s)
2073	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2074}
2075
2076// GoogleCloudDatacatalogV1beta1TagTemplateField: The template for an
2077// individual field within a tag template.
2078type GoogleCloudDatacatalogV1beta1TagTemplateField struct {
2079	// Description: The description for this field. Defaults to an empty
2080	// string.
2081	Description string `json:"description,omitempty"`
2082
2083	// DisplayName: The display name for this field. Defaults to an empty
2084	// string.
2085	DisplayName string `json:"displayName,omitempty"`
2086
2087	// IsRequired: Whether this is a required field. Defaults to false.
2088	IsRequired bool `json:"isRequired,omitempty"`
2089
2090	// Name: Output only. The resource name of the tag template field in URL
2091	// format. Example: *
2092	// projects/{project_id}/locations/{location}/tagTemplates/{tag_template}
2093	// /fields/{field} Note that this TagTemplateField may not actually be
2094	// stored in the location in this name.
2095	Name string `json:"name,omitempty"`
2096
2097	// Order: The order of this field with respect to other fields in this
2098	// tag template. A higher value indicates a more important field. The
2099	// value can be negative. Multiple fields can have the same order, and
2100	// field orders within a tag do not have to be sequential.
2101	Order int64 `json:"order,omitempty"`
2102
2103	// Type: Required. The type of value this tag field can contain.
2104	Type *GoogleCloudDatacatalogV1beta1FieldType `json:"type,omitempty"`
2105
2106	// ServerResponse contains the HTTP response code and headers from the
2107	// server.
2108	googleapi.ServerResponse `json:"-"`
2109
2110	// ForceSendFields is a list of field names (e.g. "Description") to
2111	// unconditionally include in API requests. By default, fields with
2112	// empty or default values are omitted from API requests. However, any
2113	// non-pointer, non-interface field appearing in ForceSendFields will be
2114	// sent to the server regardless of whether the field is empty or not.
2115	// This may be used to include empty fields in Patch requests.
2116	ForceSendFields []string `json:"-"`
2117
2118	// NullFields is a list of field names (e.g. "Description") to include
2119	// in API requests with the JSON null value. By default, fields with
2120	// empty values are omitted from API requests. However, any field with
2121	// an empty value appearing in NullFields will be sent to the server as
2122	// null. It is an error if a field in this list has a non-empty value.
2123	// This may be used to include null fields in Patch requests.
2124	NullFields []string `json:"-"`
2125}
2126
2127func (s *GoogleCloudDatacatalogV1beta1TagTemplateField) MarshalJSON() ([]byte, error) {
2128	type NoMethod GoogleCloudDatacatalogV1beta1TagTemplateField
2129	raw := NoMethod(*s)
2130	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2131}
2132
2133// GoogleCloudDatacatalogV1beta1Taxonomy: A taxonomy is a collection of
2134// policy tags that classify data along a common axis. For instance a
2135// data *sensitivity* taxonomy could contain policy tags denoting PII
2136// such as age, zipcode, and SSN. A data *origin* taxonomy could contain
2137// policy tags to distinguish user data, employee data, partner data,
2138// public data.
2139type GoogleCloudDatacatalogV1beta1Taxonomy struct {
2140	// ActivatedPolicyTypes: Optional. A list of policy types that are
2141	// activated for this taxonomy. If not set, defaults to an empty list.
2142	//
2143	// Possible values:
2144	//   "POLICY_TYPE_UNSPECIFIED" - Unspecified policy type.
2145	//   "FINE_GRAINED_ACCESS_CONTROL" - Fine grained access control policy,
2146	// which enables access control on tagged resources.
2147	ActivatedPolicyTypes []string `json:"activatedPolicyTypes,omitempty"`
2148
2149	// Description: Optional. Description of this taxonomy. It must: contain
2150	// only unicode characters, tabs, newlines, carriage returns and page
2151	// breaks; and be at most 2000 bytes long when encoded in UTF-8. If not
2152	// set, defaults to an empty description.
2153	Description string `json:"description,omitempty"`
2154
2155	// DisplayName: Required. User defined name of this taxonomy. It must:
2156	// contain only unicode letters, numbers, underscores, dashes and
2157	// spaces; not start or end with spaces; and be at most 200 bytes long
2158	// when encoded in UTF-8.
2159	DisplayName string `json:"displayName,omitempty"`
2160
2161	// Name: Output only. Resource name of this taxonomy, whose format is:
2162	// "projects/{project_number}/locations/{location_id}/taxonomies/{id}".
2163	Name string `json:"name,omitempty"`
2164
2165	// PolicyTagCount: Output only. Number of policy tags contained in this
2166	// taxonomy.
2167	PolicyTagCount int64 `json:"policyTagCount,omitempty"`
2168
2169	// TaxonomyTimestamps: Output only. Timestamps about this taxonomy. Only
2170	// create_time and update_time are used.
2171	TaxonomyTimestamps *GoogleCloudDatacatalogV1beta1SystemTimestamps `json:"taxonomyTimestamps,omitempty"`
2172
2173	// ServerResponse contains the HTTP response code and headers from the
2174	// server.
2175	googleapi.ServerResponse `json:"-"`
2176
2177	// ForceSendFields is a list of field names (e.g.
2178	// "ActivatedPolicyTypes") to unconditionally include in API requests.
2179	// By default, fields with empty or default values are omitted from API
2180	// requests. However, any non-pointer, non-interface field appearing in
2181	// ForceSendFields will be sent to the server regardless of whether the
2182	// field is empty or not. This may be used to include empty fields in
2183	// Patch requests.
2184	ForceSendFields []string `json:"-"`
2185
2186	// NullFields is a list of field names (e.g. "ActivatedPolicyTypes") to
2187	// include in API requests with the JSON null value. By default, fields
2188	// with empty values are omitted from API requests. However, any field
2189	// with an empty value appearing in NullFields will be sent to the
2190	// server as null. It is an error if a field in this list has a
2191	// non-empty value. This may be used to include null fields in Patch
2192	// requests.
2193	NullFields []string `json:"-"`
2194}
2195
2196func (s *GoogleCloudDatacatalogV1beta1Taxonomy) MarshalJSON() ([]byte, error) {
2197	type NoMethod GoogleCloudDatacatalogV1beta1Taxonomy
2198	raw := NoMethod(*s)
2199	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2200}
2201
2202// GoogleCloudDatacatalogV1beta1UsageSignal: The set of all usage
2203// signals that we store in Data Catalog.
2204type GoogleCloudDatacatalogV1beta1UsageSignal struct {
2205	// UpdateTime: The timestamp of the end of the usage statistics
2206	// duration.
2207	UpdateTime string `json:"updateTime,omitempty"`
2208
2209	// UsageWithinTimeRange: Usage statistics over each of the pre-defined
2210	// time ranges, supported strings for time ranges are {"24H", "7D",
2211	// "30D"}.
2212	UsageWithinTimeRange map[string]GoogleCloudDatacatalogV1beta1UsageStats `json:"usageWithinTimeRange,omitempty"`
2213
2214	// ForceSendFields is a list of field names (e.g. "UpdateTime") to
2215	// unconditionally include in API requests. By default, fields with
2216	// empty or default values are omitted from API requests. However, any
2217	// non-pointer, non-interface field appearing in ForceSendFields will be
2218	// sent to the server regardless of whether the field is empty or not.
2219	// This may be used to include empty fields in Patch requests.
2220	ForceSendFields []string `json:"-"`
2221
2222	// NullFields is a list of field names (e.g. "UpdateTime") to include in
2223	// API requests with the JSON null value. By default, fields with empty
2224	// values are omitted from API requests. However, any field with an
2225	// empty value appearing in NullFields will be sent to the server as
2226	// null. It is an error if a field in this list has a non-empty value.
2227	// This may be used to include null fields in Patch requests.
2228	NullFields []string `json:"-"`
2229}
2230
2231func (s *GoogleCloudDatacatalogV1beta1UsageSignal) MarshalJSON() ([]byte, error) {
2232	type NoMethod GoogleCloudDatacatalogV1beta1UsageSignal
2233	raw := NoMethod(*s)
2234	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2235}
2236
2237// GoogleCloudDatacatalogV1beta1UsageStats: Detailed counts on the
2238// entry's usage. Caveats: - Only BigQuery tables have usage stats - The
2239// usage stats only inlude BigQuery query jobs - The usage stats might
2240// be underestimated, e.g. wildcard table references are not yet counted
2241// in usage computation
2242// https://cloud.google.com/bigquery/docs/querying-wildcard-tables
2243type GoogleCloudDatacatalogV1beta1UsageStats struct {
2244	// TotalCancellations: The number of times that the underlying entry was
2245	// attempted to be used but was cancelled by the user.
2246	TotalCancellations float64 `json:"totalCancellations,omitempty"`
2247
2248	// TotalCompletions: The number of times that the underlying entry was
2249	// successfully used.
2250	TotalCompletions float64 `json:"totalCompletions,omitempty"`
2251
2252	// TotalExecutionTimeForCompletionsMillis: Total time spent (in
2253	// milliseconds) during uses the resulted in completions.
2254	TotalExecutionTimeForCompletionsMillis float64 `json:"totalExecutionTimeForCompletionsMillis,omitempty"`
2255
2256	// TotalFailures: The number of times that the underlying entry was
2257	// attempted to be used but failed.
2258	TotalFailures float64 `json:"totalFailures,omitempty"`
2259
2260	// ForceSendFields is a list of field names (e.g. "TotalCancellations")
2261	// to unconditionally include in API requests. By default, fields with
2262	// empty or default values are omitted from API requests. However, any
2263	// non-pointer, non-interface field appearing in ForceSendFields will be
2264	// sent to the server regardless of whether the field is empty or not.
2265	// This may be used to include empty fields in Patch requests.
2266	ForceSendFields []string `json:"-"`
2267
2268	// NullFields is a list of field names (e.g. "TotalCancellations") to
2269	// include in API requests with the JSON null value. By default, fields
2270	// with empty values are omitted from API requests. However, any field
2271	// with an empty value appearing in NullFields will be sent to the
2272	// server as null. It is an error if a field in this list has a
2273	// non-empty value. This may be used to include null fields in Patch
2274	// requests.
2275	NullFields []string `json:"-"`
2276}
2277
2278func (s *GoogleCloudDatacatalogV1beta1UsageStats) MarshalJSON() ([]byte, error) {
2279	type NoMethod GoogleCloudDatacatalogV1beta1UsageStats
2280	raw := NoMethod(*s)
2281	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2282}
2283
2284func (s *GoogleCloudDatacatalogV1beta1UsageStats) UnmarshalJSON(data []byte) error {
2285	type NoMethod GoogleCloudDatacatalogV1beta1UsageStats
2286	var s1 struct {
2287		TotalCancellations                     gensupport.JSONFloat64 `json:"totalCancellations"`
2288		TotalCompletions                       gensupport.JSONFloat64 `json:"totalCompletions"`
2289		TotalExecutionTimeForCompletionsMillis gensupport.JSONFloat64 `json:"totalExecutionTimeForCompletionsMillis"`
2290		TotalFailures                          gensupport.JSONFloat64 `json:"totalFailures"`
2291		*NoMethod
2292	}
2293	s1.NoMethod = (*NoMethod)(s)
2294	if err := json.Unmarshal(data, &s1); err != nil {
2295		return err
2296	}
2297	s.TotalCancellations = float64(s1.TotalCancellations)
2298	s.TotalCompletions = float64(s1.TotalCompletions)
2299	s.TotalExecutionTimeForCompletionsMillis = float64(s1.TotalExecutionTimeForCompletionsMillis)
2300	s.TotalFailures = float64(s1.TotalFailures)
2301	return nil
2302}
2303
2304// GoogleCloudDatacatalogV1beta1ViewSpec: Table view specification.
2305type GoogleCloudDatacatalogV1beta1ViewSpec struct {
2306	// ViewQuery: Output only. The query that defines the table view.
2307	ViewQuery string `json:"viewQuery,omitempty"`
2308
2309	// ForceSendFields is a list of field names (e.g. "ViewQuery") to
2310	// unconditionally include in API requests. By default, fields with
2311	// empty or default values are omitted from API requests. However, any
2312	// non-pointer, non-interface field appearing in ForceSendFields will be
2313	// sent to the server regardless of whether the field is empty or not.
2314	// This may be used to include empty fields in Patch requests.
2315	ForceSendFields []string `json:"-"`
2316
2317	// NullFields is a list of field names (e.g. "ViewQuery") to include in
2318	// API requests with the JSON null value. By default, fields with empty
2319	// values are omitted from API requests. However, any field with an
2320	// empty value appearing in NullFields will be sent to the server as
2321	// null. It is an error if a field in this list has a non-empty value.
2322	// This may be used to include null fields in Patch requests.
2323	NullFields []string `json:"-"`
2324}
2325
2326func (s *GoogleCloudDatacatalogV1beta1ViewSpec) MarshalJSON() ([]byte, error) {
2327	type NoMethod GoogleCloudDatacatalogV1beta1ViewSpec
2328	raw := NoMethod(*s)
2329	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2330}
2331
2332// Policy: An Identity and Access Management (IAM) policy, which
2333// specifies access controls for Google Cloud resources. A `Policy` is a
2334// collection of `bindings`. A `binding` binds one or more `members` to
2335// a single `role`. Members can be user accounts, service accounts,
2336// Google groups, and domains (such as G Suite). A `role` is a named
2337// list of permissions; each `role` can be an IAM predefined role or a
2338// user-created custom role. For some types of Google Cloud resources, a
2339// `binding` can also specify a `condition`, which is a logical
2340// expression that allows access to a resource only if the expression
2341// evaluates to `true`. A condition can add constraints based on
2342// attributes of the request, the resource, or both. To learn which
2343// resources support conditions in their IAM policies, see the IAM
2344// documentation
2345// (https://cloud.google.com/iam/help/conditions/resource-policies).
2346// **JSON example:** { "bindings": [ { "role":
2347// "roles/resourcemanager.organizationAdmin", "members": [
2348// "user:mike@example.com", "group:admins@example.com",
2349// "domain:google.com",
2350// "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, {
2351// "role": "roles/resourcemanager.organizationViewer", "members": [
2352// "user:eve@example.com" ], "condition": { "title": "expirable access",
2353// "description": "Does not grant access after Sep 2020", "expression":
2354// "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ],
2355// "etag": "BwWWja0YfJA=", "version": 3 } **YAML example:** bindings: -
2356// members: - user:mike@example.com - group:admins@example.com -
2357// domain:google.com -
2358// serviceAccount:my-project-id@appspot.gserviceaccount.com role:
2359// roles/resourcemanager.organizationAdmin - members: -
2360// user:eve@example.com role: roles/resourcemanager.organizationViewer
2361// condition: title: expirable access description: Does not grant access
2362// after Sep 2020 expression: request.time <
2363// timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3
2364// For a description of IAM and its features, see the IAM documentation
2365// (https://cloud.google.com/iam/docs/).
2366type Policy struct {
2367	// Bindings: Associates a list of `members` to a `role`. Optionally, may
2368	// specify a `condition` that determines how and when the `bindings` are
2369	// applied. Each of the `bindings` must contain at least one member.
2370	Bindings []*Binding `json:"bindings,omitempty"`
2371
2372	// Etag: `etag` is used for optimistic concurrency control as a way to
2373	// help prevent simultaneous updates of a policy from overwriting each
2374	// other. It is strongly suggested that systems make use of the `etag`
2375	// in the read-modify-write cycle to perform policy updates in order to
2376	// avoid race conditions: An `etag` is returned in the response to
2377	// `getIamPolicy`, and systems are expected to put that etag in the
2378	// request to `setIamPolicy` to ensure that their change will be applied
2379	// to the same version of the policy. **Important:** If you use IAM
2380	// Conditions, you must include the `etag` field whenever you call
2381	// `setIamPolicy`. If you omit this field, then IAM allows you to
2382	// overwrite a version `3` policy with a version `1` policy, and all of
2383	// the conditions in the version `3` policy are lost.
2384	Etag string `json:"etag,omitempty"`
2385
2386	// Version: Specifies the format of the policy. Valid values are `0`,
2387	// `1`, and `3`. Requests that specify an invalid value are rejected.
2388	// Any operation that affects conditional role bindings must specify
2389	// version `3`. This requirement applies to the following operations: *
2390	// Getting a policy that includes a conditional role binding * Adding a
2391	// conditional role binding to a policy * Changing a conditional role
2392	// binding in a policy * Removing any role binding, with or without a
2393	// condition, from a policy that includes conditions **Important:** If
2394	// you use IAM Conditions, you must include the `etag` field whenever
2395	// you call `setIamPolicy`. If you omit this field, then IAM allows you
2396	// to overwrite a version `3` policy with a version `1` policy, and all
2397	// of the conditions in the version `3` policy are lost. If a policy
2398	// does not include any conditions, operations on that policy may
2399	// specify any valid version or leave the field unset. To learn which
2400	// resources support conditions in their IAM policies, see the IAM
2401	// documentation
2402	// (https://cloud.google.com/iam/help/conditions/resource-policies).
2403	Version int64 `json:"version,omitempty"`
2404
2405	// ServerResponse contains the HTTP response code and headers from the
2406	// server.
2407	googleapi.ServerResponse `json:"-"`
2408
2409	// ForceSendFields is a list of field names (e.g. "Bindings") to
2410	// unconditionally include in API requests. By default, fields with
2411	// empty or default values are omitted from API requests. However, any
2412	// non-pointer, non-interface field appearing in ForceSendFields will be
2413	// sent to the server regardless of whether the field is empty or not.
2414	// This may be used to include empty fields in Patch requests.
2415	ForceSendFields []string `json:"-"`
2416
2417	// NullFields is a list of field names (e.g. "Bindings") to include in
2418	// API requests with the JSON null value. By default, fields with empty
2419	// values are omitted from API requests. However, any field with an
2420	// empty value appearing in NullFields will be sent to the server as
2421	// null. It is an error if a field in this list has a non-empty value.
2422	// This may be used to include null fields in Patch requests.
2423	NullFields []string `json:"-"`
2424}
2425
2426func (s *Policy) MarshalJSON() ([]byte, error) {
2427	type NoMethod Policy
2428	raw := NoMethod(*s)
2429	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2430}
2431
2432// SetIamPolicyRequest: Request message for `SetIamPolicy` method.
2433type SetIamPolicyRequest struct {
2434	// Policy: REQUIRED: The complete policy to be applied to the
2435	// `resource`. The size of the policy is limited to a few 10s of KB. An
2436	// empty policy is a valid policy but certain Cloud Platform services
2437	// (such as Projects) might reject them.
2438	Policy *Policy `json:"policy,omitempty"`
2439
2440	// ForceSendFields is a list of field names (e.g. "Policy") to
2441	// unconditionally include in API requests. By default, fields with
2442	// empty or default values are omitted from API requests. However, any
2443	// non-pointer, non-interface field appearing in ForceSendFields will be
2444	// sent to the server regardless of whether the field is empty or not.
2445	// This may be used to include empty fields in Patch requests.
2446	ForceSendFields []string `json:"-"`
2447
2448	// NullFields is a list of field names (e.g. "Policy") to include in API
2449	// requests with the JSON null value. By default, fields with empty
2450	// values are omitted from API requests. However, any field with an
2451	// empty value appearing in NullFields will be sent to the server as
2452	// null. It is an error if a field in this list has a non-empty value.
2453	// This may be used to include null fields in Patch requests.
2454	NullFields []string `json:"-"`
2455}
2456
2457func (s *SetIamPolicyRequest) MarshalJSON() ([]byte, error) {
2458	type NoMethod SetIamPolicyRequest
2459	raw := NoMethod(*s)
2460	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2461}
2462
2463// TestIamPermissionsRequest: Request message for `TestIamPermissions`
2464// method.
2465type TestIamPermissionsRequest struct {
2466	// Permissions: The set of permissions to check for the `resource`.
2467	// Permissions with wildcards (such as '*' or 'storage.*') are not
2468	// allowed. For more information see IAM Overview
2469	// (https://cloud.google.com/iam/docs/overview#permissions).
2470	Permissions []string `json:"permissions,omitempty"`
2471
2472	// ForceSendFields is a list of field names (e.g. "Permissions") to
2473	// unconditionally include in API requests. By default, fields with
2474	// empty or default values are omitted from API requests. However, any
2475	// non-pointer, non-interface field appearing in ForceSendFields will be
2476	// sent to the server regardless of whether the field is empty or not.
2477	// This may be used to include empty fields in Patch requests.
2478	ForceSendFields []string `json:"-"`
2479
2480	// NullFields is a list of field names (e.g. "Permissions") to include
2481	// in API requests with the JSON null value. By default, fields with
2482	// empty values are omitted from API requests. However, any field with
2483	// an empty value appearing in NullFields will be sent to the server as
2484	// null. It is an error if a field in this list has a non-empty value.
2485	// This may be used to include null fields in Patch requests.
2486	NullFields []string `json:"-"`
2487}
2488
2489func (s *TestIamPermissionsRequest) MarshalJSON() ([]byte, error) {
2490	type NoMethod TestIamPermissionsRequest
2491	raw := NoMethod(*s)
2492	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2493}
2494
2495// TestIamPermissionsResponse: Response message for `TestIamPermissions`
2496// method.
2497type TestIamPermissionsResponse struct {
2498	// Permissions: A subset of `TestPermissionsRequest.permissions` that
2499	// the caller is allowed.
2500	Permissions []string `json:"permissions,omitempty"`
2501
2502	// ServerResponse contains the HTTP response code and headers from the
2503	// server.
2504	googleapi.ServerResponse `json:"-"`
2505
2506	// ForceSendFields is a list of field names (e.g. "Permissions") to
2507	// unconditionally include in API requests. By default, fields with
2508	// empty or default values are omitted from API requests. However, any
2509	// non-pointer, non-interface field appearing in ForceSendFields will be
2510	// sent to the server regardless of whether the field is empty or not.
2511	// This may be used to include empty fields in Patch requests.
2512	ForceSendFields []string `json:"-"`
2513
2514	// NullFields is a list of field names (e.g. "Permissions") to include
2515	// in API requests with the JSON null value. By default, fields with
2516	// empty values are omitted from API requests. However, any field with
2517	// an empty value appearing in NullFields will be sent to the server as
2518	// null. It is an error if a field in this list has a non-empty value.
2519	// This may be used to include null fields in Patch requests.
2520	NullFields []string `json:"-"`
2521}
2522
2523func (s *TestIamPermissionsResponse) MarshalJSON() ([]byte, error) {
2524	type NoMethod TestIamPermissionsResponse
2525	raw := NoMethod(*s)
2526	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2527}
2528
2529// method id "datacatalog.catalog.search":
2530
2531type CatalogSearchCall struct {
2532	s                                                 *Service
2533	googleclouddatacatalogv1beta1searchcatalogrequest *GoogleCloudDatacatalogV1beta1SearchCatalogRequest
2534	urlParams_                                        gensupport.URLParams
2535	ctx_                                              context.Context
2536	header_                                           http.Header
2537}
2538
2539// Search: Searches Data Catalog for multiple resources like entries,
2540// tags that match a query. This is a custom method
2541// (https://cloud.google.com/apis/design/custom_methods) and does not
2542// return the complete resource, only the resource identifier and high
2543// level fields. Clients can subsequently call `Get` methods. Note that
2544// Data Catalog search queries do not guarantee full recall. Query
2545// results that match your query may not be returned, even in subsequent
2546// result pages. Also note that results returned (and not returned) can
2547// vary across repeated search queries. See Data Catalog Search Syntax
2548// (https://cloud.google.com/data-catalog/docs/how-to/search-reference)
2549// for more information.
2550func (r *CatalogService) Search(googleclouddatacatalogv1beta1searchcatalogrequest *GoogleCloudDatacatalogV1beta1SearchCatalogRequest) *CatalogSearchCall {
2551	c := &CatalogSearchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
2552	c.googleclouddatacatalogv1beta1searchcatalogrequest = googleclouddatacatalogv1beta1searchcatalogrequest
2553	return c
2554}
2555
2556// Fields allows partial responses to be retrieved. See
2557// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
2558// for more information.
2559func (c *CatalogSearchCall) Fields(s ...googleapi.Field) *CatalogSearchCall {
2560	c.urlParams_.Set("fields", googleapi.CombineFields(s))
2561	return c
2562}
2563
2564// Context sets the context to be used in this call's Do method. Any
2565// pending HTTP request will be aborted if the provided context is
2566// canceled.
2567func (c *CatalogSearchCall) Context(ctx context.Context) *CatalogSearchCall {
2568	c.ctx_ = ctx
2569	return c
2570}
2571
2572// Header returns an http.Header that can be modified by the caller to
2573// add HTTP headers to the request.
2574func (c *CatalogSearchCall) Header() http.Header {
2575	if c.header_ == nil {
2576		c.header_ = make(http.Header)
2577	}
2578	return c.header_
2579}
2580
2581func (c *CatalogSearchCall) doRequest(alt string) (*http.Response, error) {
2582	reqHeaders := make(http.Header)
2583	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210830")
2584	for k, v := range c.header_ {
2585		reqHeaders[k] = v
2586	}
2587	reqHeaders.Set("User-Agent", c.s.userAgent())
2588	var body io.Reader = nil
2589	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddatacatalogv1beta1searchcatalogrequest)
2590	if err != nil {
2591		return nil, err
2592	}
2593	reqHeaders.Set("Content-Type", "application/json")
2594	c.urlParams_.Set("alt", alt)
2595	c.urlParams_.Set("prettyPrint", "false")
2596	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/catalog:search")
2597	urls += "?" + c.urlParams_.Encode()
2598	req, err := http.NewRequest("POST", urls, body)
2599	if err != nil {
2600		return nil, err
2601	}
2602	req.Header = reqHeaders
2603	return gensupport.SendRequest(c.ctx_, c.s.client, req)
2604}
2605
2606// Do executes the "datacatalog.catalog.search" call.
2607// Exactly one of *GoogleCloudDatacatalogV1beta1SearchCatalogResponse or
2608// error will be non-nil. Any non-2xx status code is an error. Response
2609// headers are in either
2610// *GoogleCloudDatacatalogV1beta1SearchCatalogResponse.ServerResponse.Hea
2611// der or (if a response was returned at all) in
2612// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
2613// whether the returned error was because http.StatusNotModified was
2614// returned.
2615func (c *CatalogSearchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1SearchCatalogResponse, error) {
2616	gensupport.SetOptions(c.urlParams_, opts...)
2617	res, err := c.doRequest("json")
2618	if res != nil && res.StatusCode == http.StatusNotModified {
2619		if res.Body != nil {
2620			res.Body.Close()
2621		}
2622		return nil, &googleapi.Error{
2623			Code:   res.StatusCode,
2624			Header: res.Header,
2625		}
2626	}
2627	if err != nil {
2628		return nil, err
2629	}
2630	defer googleapi.CloseBody(res)
2631	if err := googleapi.CheckResponse(res); err != nil {
2632		return nil, err
2633	}
2634	ret := &GoogleCloudDatacatalogV1beta1SearchCatalogResponse{
2635		ServerResponse: googleapi.ServerResponse{
2636			Header:         res.Header,
2637			HTTPStatusCode: res.StatusCode,
2638		},
2639	}
2640	target := &ret
2641	if err := gensupport.DecodeResponse(target, res); err != nil {
2642		return nil, err
2643	}
2644	return ret, nil
2645	// {
2646	//   "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.",
2647	//   "flatPath": "v1beta1/catalog:search",
2648	//   "httpMethod": "POST",
2649	//   "id": "datacatalog.catalog.search",
2650	//   "parameterOrder": [],
2651	//   "parameters": {},
2652	//   "path": "v1beta1/catalog:search",
2653	//   "request": {
2654	//     "$ref": "GoogleCloudDatacatalogV1beta1SearchCatalogRequest"
2655	//   },
2656	//   "response": {
2657	//     "$ref": "GoogleCloudDatacatalogV1beta1SearchCatalogResponse"
2658	//   },
2659	//   "scopes": [
2660	//     "https://www.googleapis.com/auth/cloud-platform"
2661	//   ]
2662	// }
2663
2664}
2665
2666// Pages invokes f for each page of results.
2667// A non-nil error returned from f will halt the iteration.
2668// The provided context supersedes any context provided to the Context method.
2669func (c *CatalogSearchCall) Pages(ctx context.Context, f func(*GoogleCloudDatacatalogV1beta1SearchCatalogResponse) error) error {
2670	c.ctx_ = ctx
2671	defer func(pt string) { c.googleclouddatacatalogv1beta1searchcatalogrequest.PageToken = pt }(c.googleclouddatacatalogv1beta1searchcatalogrequest.PageToken) // reset paging to original point
2672	for {
2673		x, err := c.Do()
2674		if err != nil {
2675			return err
2676		}
2677		if err := f(x); err != nil {
2678			return err
2679		}
2680		if x.NextPageToken == "" {
2681			return nil
2682		}
2683		c.googleclouddatacatalogv1beta1searchcatalogrequest.PageToken = x.NextPageToken
2684	}
2685}
2686
2687// method id "datacatalog.entries.lookup":
2688
2689type EntriesLookupCall struct {
2690	s            *Service
2691	urlParams_   gensupport.URLParams
2692	ifNoneMatch_ string
2693	ctx_         context.Context
2694	header_      http.Header
2695}
2696
2697// Lookup: Get an entry by target resource name. This method allows
2698// clients to use the resource name from the source Google Cloud
2699// Platform service to get the Data Catalog Entry.
2700func (r *EntriesService) Lookup() *EntriesLookupCall {
2701	c := &EntriesLookupCall{s: r.s, urlParams_: make(gensupport.URLParams)}
2702	return c
2703}
2704
2705// LinkedResource sets the optional parameter "linkedResource": The full
2706// name of the Google Cloud Platform resource the Data Catalog entry
2707// represents. See:
2708// https://cloud.google.com/apis/design/resource_names#full_resource_name.
2709// Full names are case-sensitive. Examples: *
2710// //bigquery.googleapis.com/projects/projectId/datasets/datasetId/tables
2711// /tableId * //pubsub.googleapis.com/projects/projectId/topics/topicId
2712func (c *EntriesLookupCall) LinkedResource(linkedResource string) *EntriesLookupCall {
2713	c.urlParams_.Set("linkedResource", linkedResource)
2714	return c
2715}
2716
2717// SqlResource sets the optional parameter "sqlResource": The SQL name
2718// of the entry. SQL names are case-sensitive. Examples: *
2719// `pubsub.project_id.topic_id` *
2720// ``pubsub.project_id.`topic.id.with.dots` `` *
2721// `bigquery.table.project_id.dataset_id.table_id` *
2722// `bigquery.dataset.project_id.dataset_id` *
2723// `datacatalog.entry.project_id.location_id.entry_group_id.entry_id`
2724// `*_id`s shoud satisfy the standard SQL rules for identifiers.
2725// https://cloud.google.com/bigquery/docs/reference/standard-sql/lexical.
2726func (c *EntriesLookupCall) SqlResource(sqlResource string) *EntriesLookupCall {
2727	c.urlParams_.Set("sqlResource", sqlResource)
2728	return c
2729}
2730
2731// Fields allows partial responses to be retrieved. See
2732// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
2733// for more information.
2734func (c *EntriesLookupCall) Fields(s ...googleapi.Field) *EntriesLookupCall {
2735	c.urlParams_.Set("fields", googleapi.CombineFields(s))
2736	return c
2737}
2738
2739// IfNoneMatch sets the optional parameter which makes the operation
2740// fail if the object's ETag matches the given value. This is useful for
2741// getting updates only after the object has changed since the last
2742// request. Use googleapi.IsNotModified to check whether the response
2743// error from Do is the result of In-None-Match.
2744func (c *EntriesLookupCall) IfNoneMatch(entityTag string) *EntriesLookupCall {
2745	c.ifNoneMatch_ = entityTag
2746	return c
2747}
2748
2749// Context sets the context to be used in this call's Do method. Any
2750// pending HTTP request will be aborted if the provided context is
2751// canceled.
2752func (c *EntriesLookupCall) Context(ctx context.Context) *EntriesLookupCall {
2753	c.ctx_ = ctx
2754	return c
2755}
2756
2757// Header returns an http.Header that can be modified by the caller to
2758// add HTTP headers to the request.
2759func (c *EntriesLookupCall) Header() http.Header {
2760	if c.header_ == nil {
2761		c.header_ = make(http.Header)
2762	}
2763	return c.header_
2764}
2765
2766func (c *EntriesLookupCall) doRequest(alt string) (*http.Response, error) {
2767	reqHeaders := make(http.Header)
2768	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210830")
2769	for k, v := range c.header_ {
2770		reqHeaders[k] = v
2771	}
2772	reqHeaders.Set("User-Agent", c.s.userAgent())
2773	if c.ifNoneMatch_ != "" {
2774		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
2775	}
2776	var body io.Reader = nil
2777	c.urlParams_.Set("alt", alt)
2778	c.urlParams_.Set("prettyPrint", "false")
2779	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/entries:lookup")
2780	urls += "?" + c.urlParams_.Encode()
2781	req, err := http.NewRequest("GET", urls, body)
2782	if err != nil {
2783		return nil, err
2784	}
2785	req.Header = reqHeaders
2786	return gensupport.SendRequest(c.ctx_, c.s.client, req)
2787}
2788
2789// Do executes the "datacatalog.entries.lookup" call.
2790// Exactly one of *GoogleCloudDatacatalogV1beta1Entry or error will be
2791// non-nil. Any non-2xx status code is an error. Response headers are in
2792// either *GoogleCloudDatacatalogV1beta1Entry.ServerResponse.Header or
2793// (if a response was returned at all) in
2794// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
2795// whether the returned error was because http.StatusNotModified was
2796// returned.
2797func (c *EntriesLookupCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1Entry, error) {
2798	gensupport.SetOptions(c.urlParams_, opts...)
2799	res, err := c.doRequest("json")
2800	if res != nil && res.StatusCode == http.StatusNotModified {
2801		if res.Body != nil {
2802			res.Body.Close()
2803		}
2804		return nil, &googleapi.Error{
2805			Code:   res.StatusCode,
2806			Header: res.Header,
2807		}
2808	}
2809	if err != nil {
2810		return nil, err
2811	}
2812	defer googleapi.CloseBody(res)
2813	if err := googleapi.CheckResponse(res); err != nil {
2814		return nil, err
2815	}
2816	ret := &GoogleCloudDatacatalogV1beta1Entry{
2817		ServerResponse: googleapi.ServerResponse{
2818			Header:         res.Header,
2819			HTTPStatusCode: res.StatusCode,
2820		},
2821	}
2822	target := &ret
2823	if err := gensupport.DecodeResponse(target, res); err != nil {
2824		return nil, err
2825	}
2826	return ret, nil
2827	// {
2828	//   "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.",
2829	//   "flatPath": "v1beta1/entries:lookup",
2830	//   "httpMethod": "GET",
2831	//   "id": "datacatalog.entries.lookup",
2832	//   "parameterOrder": [],
2833	//   "parameters": {
2834	//     "linkedResource": {
2835	//       "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",
2836	//       "location": "query",
2837	//       "type": "string"
2838	//     },
2839	//     "sqlResource": {
2840	//       "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.",
2841	//       "location": "query",
2842	//       "type": "string"
2843	//     }
2844	//   },
2845	//   "path": "v1beta1/entries:lookup",
2846	//   "response": {
2847	//     "$ref": "GoogleCloudDatacatalogV1beta1Entry"
2848	//   },
2849	//   "scopes": [
2850	//     "https://www.googleapis.com/auth/cloud-platform"
2851	//   ]
2852	// }
2853
2854}
2855
2856// method id "datacatalog.projects.locations.entryGroups.create":
2857
2858type ProjectsLocationsEntryGroupsCreateCall struct {
2859	s                                       *Service
2860	parent                                  string
2861	googleclouddatacatalogv1beta1entrygroup *GoogleCloudDatacatalogV1beta1EntryGroup
2862	urlParams_                              gensupport.URLParams
2863	ctx_                                    context.Context
2864	header_                                 http.Header
2865}
2866
2867// Create: A maximum of 10,000 entry groups may be created per
2868// organization across all locations. Users should enable the Data
2869// Catalog API in the project identified by the `parent` parameter (see
2870// [Data Catalog Resource Project]
2871// (https://cloud.google.com/data-catalog/docs/concepts/resource-project)
2872// for more information).
2873//
2874// - parent: The name of the project this entry group is in. Example: *
2875//   projects/{project_id}/locations/{location} Note that this
2876//   EntryGroup and its child resources may not actually be stored in
2877//   the location in this name.
2878func (r *ProjectsLocationsEntryGroupsService) Create(parent string, googleclouddatacatalogv1beta1entrygroup *GoogleCloudDatacatalogV1beta1EntryGroup) *ProjectsLocationsEntryGroupsCreateCall {
2879	c := &ProjectsLocationsEntryGroupsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
2880	c.parent = parent
2881	c.googleclouddatacatalogv1beta1entrygroup = googleclouddatacatalogv1beta1entrygroup
2882	return c
2883}
2884
2885// EntryGroupId sets the optional parameter "entryGroupId": Required.
2886// The id of the entry group to create. The id must begin with a letter
2887// or underscore, contain only English letters, numbers and underscores,
2888// and be at most 64 characters.
2889func (c *ProjectsLocationsEntryGroupsCreateCall) EntryGroupId(entryGroupId string) *ProjectsLocationsEntryGroupsCreateCall {
2890	c.urlParams_.Set("entryGroupId", entryGroupId)
2891	return c
2892}
2893
2894// Fields allows partial responses to be retrieved. See
2895// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
2896// for more information.
2897func (c *ProjectsLocationsEntryGroupsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsCreateCall {
2898	c.urlParams_.Set("fields", googleapi.CombineFields(s))
2899	return c
2900}
2901
2902// Context sets the context to be used in this call's Do method. Any
2903// pending HTTP request will be aborted if the provided context is
2904// canceled.
2905func (c *ProjectsLocationsEntryGroupsCreateCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsCreateCall {
2906	c.ctx_ = ctx
2907	return c
2908}
2909
2910// Header returns an http.Header that can be modified by the caller to
2911// add HTTP headers to the request.
2912func (c *ProjectsLocationsEntryGroupsCreateCall) Header() http.Header {
2913	if c.header_ == nil {
2914		c.header_ = make(http.Header)
2915	}
2916	return c.header_
2917}
2918
2919func (c *ProjectsLocationsEntryGroupsCreateCall) doRequest(alt string) (*http.Response, error) {
2920	reqHeaders := make(http.Header)
2921	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210830")
2922	for k, v := range c.header_ {
2923		reqHeaders[k] = v
2924	}
2925	reqHeaders.Set("User-Agent", c.s.userAgent())
2926	var body io.Reader = nil
2927	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddatacatalogv1beta1entrygroup)
2928	if err != nil {
2929		return nil, err
2930	}
2931	reqHeaders.Set("Content-Type", "application/json")
2932	c.urlParams_.Set("alt", alt)
2933	c.urlParams_.Set("prettyPrint", "false")
2934	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/entryGroups")
2935	urls += "?" + c.urlParams_.Encode()
2936	req, err := http.NewRequest("POST", urls, body)
2937	if err != nil {
2938		return nil, err
2939	}
2940	req.Header = reqHeaders
2941	googleapi.Expand(req.URL, map[string]string{
2942		"parent": c.parent,
2943	})
2944	return gensupport.SendRequest(c.ctx_, c.s.client, req)
2945}
2946
2947// Do executes the "datacatalog.projects.locations.entryGroups.create" call.
2948// Exactly one of *GoogleCloudDatacatalogV1beta1EntryGroup or error will
2949// be non-nil. Any non-2xx status code is an error. Response headers are
2950// in either
2951// *GoogleCloudDatacatalogV1beta1EntryGroup.ServerResponse.Header or (if
2952// a response was returned at all) in error.(*googleapi.Error).Header.
2953// Use googleapi.IsNotModified to check whether the returned error was
2954// because http.StatusNotModified was returned.
2955func (c *ProjectsLocationsEntryGroupsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1EntryGroup, error) {
2956	gensupport.SetOptions(c.urlParams_, opts...)
2957	res, err := c.doRequest("json")
2958	if res != nil && res.StatusCode == http.StatusNotModified {
2959		if res.Body != nil {
2960			res.Body.Close()
2961		}
2962		return nil, &googleapi.Error{
2963			Code:   res.StatusCode,
2964			Header: res.Header,
2965		}
2966	}
2967	if err != nil {
2968		return nil, err
2969	}
2970	defer googleapi.CloseBody(res)
2971	if err := googleapi.CheckResponse(res); err != nil {
2972		return nil, err
2973	}
2974	ret := &GoogleCloudDatacatalogV1beta1EntryGroup{
2975		ServerResponse: googleapi.ServerResponse{
2976			Header:         res.Header,
2977			HTTPStatusCode: res.StatusCode,
2978		},
2979	}
2980	target := &ret
2981	if err := gensupport.DecodeResponse(target, res); err != nil {
2982		return nil, err
2983	}
2984	return ret, nil
2985	// {
2986	//   "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).",
2987	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups",
2988	//   "httpMethod": "POST",
2989	//   "id": "datacatalog.projects.locations.entryGroups.create",
2990	//   "parameterOrder": [
2991	//     "parent"
2992	//   ],
2993	//   "parameters": {
2994	//     "entryGroupId": {
2995	//       "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.",
2996	//       "location": "query",
2997	//       "type": "string"
2998	//     },
2999	//     "parent": {
3000	//       "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.",
3001	//       "location": "path",
3002	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
3003	//       "required": true,
3004	//       "type": "string"
3005	//     }
3006	//   },
3007	//   "path": "v1beta1/{+parent}/entryGroups",
3008	//   "request": {
3009	//     "$ref": "GoogleCloudDatacatalogV1beta1EntryGroup"
3010	//   },
3011	//   "response": {
3012	//     "$ref": "GoogleCloudDatacatalogV1beta1EntryGroup"
3013	//   },
3014	//   "scopes": [
3015	//     "https://www.googleapis.com/auth/cloud-platform"
3016	//   ]
3017	// }
3018
3019}
3020
3021// method id "datacatalog.projects.locations.entryGroups.delete":
3022
3023type ProjectsLocationsEntryGroupsDeleteCall struct {
3024	s          *Service
3025	name       string
3026	urlParams_ gensupport.URLParams
3027	ctx_       context.Context
3028	header_    http.Header
3029}
3030
3031// Delete: Deletes an EntryGroup. Only entry groups that do not contain
3032// entries can be deleted. Users should enable the Data Catalog API in
3033// the project identified by the `name` parameter (see [Data Catalog
3034// Resource Project]
3035// (https://cloud.google.com/data-catalog/docs/concepts/resource-project)
3036// for more information).
3037//
3038// - name: The name of the entry group. For example,
3039//   `projects/{project_id}/locations/{location}/entryGroups/{entry_group
3040//   _id}`.
3041func (r *ProjectsLocationsEntryGroupsService) Delete(name string) *ProjectsLocationsEntryGroupsDeleteCall {
3042	c := &ProjectsLocationsEntryGroupsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3043	c.name = name
3044	return c
3045}
3046
3047// Force sets the optional parameter "force": If true, deletes all
3048// entries in the entry group.
3049func (c *ProjectsLocationsEntryGroupsDeleteCall) Force(force bool) *ProjectsLocationsEntryGroupsDeleteCall {
3050	c.urlParams_.Set("force", fmt.Sprint(force))
3051	return c
3052}
3053
3054// Fields allows partial responses to be retrieved. See
3055// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3056// for more information.
3057func (c *ProjectsLocationsEntryGroupsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsDeleteCall {
3058	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3059	return c
3060}
3061
3062// Context sets the context to be used in this call's Do method. Any
3063// pending HTTP request will be aborted if the provided context is
3064// canceled.
3065func (c *ProjectsLocationsEntryGroupsDeleteCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsDeleteCall {
3066	c.ctx_ = ctx
3067	return c
3068}
3069
3070// Header returns an http.Header that can be modified by the caller to
3071// add HTTP headers to the request.
3072func (c *ProjectsLocationsEntryGroupsDeleteCall) Header() http.Header {
3073	if c.header_ == nil {
3074		c.header_ = make(http.Header)
3075	}
3076	return c.header_
3077}
3078
3079func (c *ProjectsLocationsEntryGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
3080	reqHeaders := make(http.Header)
3081	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210830")
3082	for k, v := range c.header_ {
3083		reqHeaders[k] = v
3084	}
3085	reqHeaders.Set("User-Agent", c.s.userAgent())
3086	var body io.Reader = nil
3087	c.urlParams_.Set("alt", alt)
3088	c.urlParams_.Set("prettyPrint", "false")
3089	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
3090	urls += "?" + c.urlParams_.Encode()
3091	req, err := http.NewRequest("DELETE", urls, body)
3092	if err != nil {
3093		return nil, err
3094	}
3095	req.Header = reqHeaders
3096	googleapi.Expand(req.URL, map[string]string{
3097		"name": c.name,
3098	})
3099	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3100}
3101
3102// Do executes the "datacatalog.projects.locations.entryGroups.delete" call.
3103// Exactly one of *Empty or error will be non-nil. Any non-2xx status
3104// code is an error. Response headers are in either
3105// *Empty.ServerResponse.Header or (if a response was returned at all)
3106// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
3107// check whether the returned error was because http.StatusNotModified
3108// was returned.
3109func (c *ProjectsLocationsEntryGroupsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
3110	gensupport.SetOptions(c.urlParams_, opts...)
3111	res, err := c.doRequest("json")
3112	if res != nil && res.StatusCode == http.StatusNotModified {
3113		if res.Body != nil {
3114			res.Body.Close()
3115		}
3116		return nil, &googleapi.Error{
3117			Code:   res.StatusCode,
3118			Header: res.Header,
3119		}
3120	}
3121	if err != nil {
3122		return nil, err
3123	}
3124	defer googleapi.CloseBody(res)
3125	if err := googleapi.CheckResponse(res); err != nil {
3126		return nil, err
3127	}
3128	ret := &Empty{
3129		ServerResponse: googleapi.ServerResponse{
3130			Header:         res.Header,
3131			HTTPStatusCode: res.StatusCode,
3132		},
3133	}
3134	target := &ret
3135	if err := gensupport.DecodeResponse(target, res); err != nil {
3136		return nil, err
3137	}
3138	return ret, nil
3139	// {
3140	//   "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).",
3141	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}",
3142	//   "httpMethod": "DELETE",
3143	//   "id": "datacatalog.projects.locations.entryGroups.delete",
3144	//   "parameterOrder": [
3145	//     "name"
3146	//   ],
3147	//   "parameters": {
3148	//     "force": {
3149	//       "description": "Optional. If true, deletes all entries in the entry group.",
3150	//       "location": "query",
3151	//       "type": "boolean"
3152	//     },
3153	//     "name": {
3154	//       "description": "Required. The name of the entry group. For example, `projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}`.",
3155	//       "location": "path",
3156	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
3157	//       "required": true,
3158	//       "type": "string"
3159	//     }
3160	//   },
3161	//   "path": "v1beta1/{+name}",
3162	//   "response": {
3163	//     "$ref": "Empty"
3164	//   },
3165	//   "scopes": [
3166	//     "https://www.googleapis.com/auth/cloud-platform"
3167	//   ]
3168	// }
3169
3170}
3171
3172// method id "datacatalog.projects.locations.entryGroups.get":
3173
3174type ProjectsLocationsEntryGroupsGetCall struct {
3175	s            *Service
3176	name         string
3177	urlParams_   gensupport.URLParams
3178	ifNoneMatch_ string
3179	ctx_         context.Context
3180	header_      http.Header
3181}
3182
3183// Get: Gets an EntryGroup.
3184//
3185// - name: The name of the entry group. For example,
3186//   `projects/{project_id}/locations/{location}/entryGroups/{entry_group
3187//   _id}`.
3188func (r *ProjectsLocationsEntryGroupsService) Get(name string) *ProjectsLocationsEntryGroupsGetCall {
3189	c := &ProjectsLocationsEntryGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3190	c.name = name
3191	return c
3192}
3193
3194// ReadMask sets the optional parameter "readMask": The fields to
3195// return. If not set or empty, all fields are returned.
3196func (c *ProjectsLocationsEntryGroupsGetCall) ReadMask(readMask string) *ProjectsLocationsEntryGroupsGetCall {
3197	c.urlParams_.Set("readMask", readMask)
3198	return c
3199}
3200
3201// Fields allows partial responses to be retrieved. See
3202// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3203// for more information.
3204func (c *ProjectsLocationsEntryGroupsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsGetCall {
3205	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3206	return c
3207}
3208
3209// IfNoneMatch sets the optional parameter which makes the operation
3210// fail if the object's ETag matches the given value. This is useful for
3211// getting updates only after the object has changed since the last
3212// request. Use googleapi.IsNotModified to check whether the response
3213// error from Do is the result of In-None-Match.
3214func (c *ProjectsLocationsEntryGroupsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsEntryGroupsGetCall {
3215	c.ifNoneMatch_ = entityTag
3216	return c
3217}
3218
3219// Context sets the context to be used in this call's Do method. Any
3220// pending HTTP request will be aborted if the provided context is
3221// canceled.
3222func (c *ProjectsLocationsEntryGroupsGetCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsGetCall {
3223	c.ctx_ = ctx
3224	return c
3225}
3226
3227// Header returns an http.Header that can be modified by the caller to
3228// add HTTP headers to the request.
3229func (c *ProjectsLocationsEntryGroupsGetCall) Header() http.Header {
3230	if c.header_ == nil {
3231		c.header_ = make(http.Header)
3232	}
3233	return c.header_
3234}
3235
3236func (c *ProjectsLocationsEntryGroupsGetCall) doRequest(alt string) (*http.Response, error) {
3237	reqHeaders := make(http.Header)
3238	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210830")
3239	for k, v := range c.header_ {
3240		reqHeaders[k] = v
3241	}
3242	reqHeaders.Set("User-Agent", c.s.userAgent())
3243	if c.ifNoneMatch_ != "" {
3244		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
3245	}
3246	var body io.Reader = nil
3247	c.urlParams_.Set("alt", alt)
3248	c.urlParams_.Set("prettyPrint", "false")
3249	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
3250	urls += "?" + c.urlParams_.Encode()
3251	req, err := http.NewRequest("GET", urls, body)
3252	if err != nil {
3253		return nil, err
3254	}
3255	req.Header = reqHeaders
3256	googleapi.Expand(req.URL, map[string]string{
3257		"name": c.name,
3258	})
3259	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3260}
3261
3262// Do executes the "datacatalog.projects.locations.entryGroups.get" call.
3263// Exactly one of *GoogleCloudDatacatalogV1beta1EntryGroup or error will
3264// be non-nil. Any non-2xx status code is an error. Response headers are
3265// in either
3266// *GoogleCloudDatacatalogV1beta1EntryGroup.ServerResponse.Header or (if
3267// a response was returned at all) in error.(*googleapi.Error).Header.
3268// Use googleapi.IsNotModified to check whether the returned error was
3269// because http.StatusNotModified was returned.
3270func (c *ProjectsLocationsEntryGroupsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1EntryGroup, error) {
3271	gensupport.SetOptions(c.urlParams_, opts...)
3272	res, err := c.doRequest("json")
3273	if res != nil && res.StatusCode == http.StatusNotModified {
3274		if res.Body != nil {
3275			res.Body.Close()
3276		}
3277		return nil, &googleapi.Error{
3278			Code:   res.StatusCode,
3279			Header: res.Header,
3280		}
3281	}
3282	if err != nil {
3283		return nil, err
3284	}
3285	defer googleapi.CloseBody(res)
3286	if err := googleapi.CheckResponse(res); err != nil {
3287		return nil, err
3288	}
3289	ret := &GoogleCloudDatacatalogV1beta1EntryGroup{
3290		ServerResponse: googleapi.ServerResponse{
3291			Header:         res.Header,
3292			HTTPStatusCode: res.StatusCode,
3293		},
3294	}
3295	target := &ret
3296	if err := gensupport.DecodeResponse(target, res); err != nil {
3297		return nil, err
3298	}
3299	return ret, nil
3300	// {
3301	//   "description": "Gets an EntryGroup.",
3302	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}",
3303	//   "httpMethod": "GET",
3304	//   "id": "datacatalog.projects.locations.entryGroups.get",
3305	//   "parameterOrder": [
3306	//     "name"
3307	//   ],
3308	//   "parameters": {
3309	//     "name": {
3310	//       "description": "Required. The name of the entry group. For example, `projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}`.",
3311	//       "location": "path",
3312	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
3313	//       "required": true,
3314	//       "type": "string"
3315	//     },
3316	//     "readMask": {
3317	//       "description": "The fields to return. If not set or empty, all fields are returned.",
3318	//       "format": "google-fieldmask",
3319	//       "location": "query",
3320	//       "type": "string"
3321	//     }
3322	//   },
3323	//   "path": "v1beta1/{+name}",
3324	//   "response": {
3325	//     "$ref": "GoogleCloudDatacatalogV1beta1EntryGroup"
3326	//   },
3327	//   "scopes": [
3328	//     "https://www.googleapis.com/auth/cloud-platform"
3329	//   ]
3330	// }
3331
3332}
3333
3334// method id "datacatalog.projects.locations.entryGroups.getIamPolicy":
3335
3336type ProjectsLocationsEntryGroupsGetIamPolicyCall struct {
3337	s                   *Service
3338	resource            string
3339	getiampolicyrequest *GetIamPolicyRequest
3340	urlParams_          gensupport.URLParams
3341	ctx_                context.Context
3342	header_             http.Header
3343}
3344
3345// GetIamPolicy: Gets the access control policy for a resource. A
3346// `NOT_FOUND` error is returned if the resource does not exist. An
3347// empty policy is returned if the resource exists but does not have a
3348// policy set on it. Supported resources are: - Tag templates. -
3349// Entries. - Entry groups. Note, this method cannot be used to manage
3350// policies for BigQuery, Pub/Sub and any external Google Cloud Platform
3351// resources synced to Data Catalog. Callers must have following Google
3352// IAM permission - `datacatalog.tagTemplates.getIamPolicy` to get
3353// policies on tag templates. - `datacatalog.entries.getIamPolicy` to
3354// get policies on entries. - `datacatalog.entryGroups.getIamPolicy` to
3355// get policies on entry groups.
3356//
3357// - resource: REQUIRED: The resource for which the policy is being
3358//   requested. See the operation documentation for the appropriate
3359//   value for this field.
3360func (r *ProjectsLocationsEntryGroupsService) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *ProjectsLocationsEntryGroupsGetIamPolicyCall {
3361	c := &ProjectsLocationsEntryGroupsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3362	c.resource = resource
3363	c.getiampolicyrequest = getiampolicyrequest
3364	return c
3365}
3366
3367// Fields allows partial responses to be retrieved. See
3368// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3369// for more information.
3370func (c *ProjectsLocationsEntryGroupsGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsGetIamPolicyCall {
3371	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3372	return c
3373}
3374
3375// Context sets the context to be used in this call's Do method. Any
3376// pending HTTP request will be aborted if the provided context is
3377// canceled.
3378func (c *ProjectsLocationsEntryGroupsGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsGetIamPolicyCall {
3379	c.ctx_ = ctx
3380	return c
3381}
3382
3383// Header returns an http.Header that can be modified by the caller to
3384// add HTTP headers to the request.
3385func (c *ProjectsLocationsEntryGroupsGetIamPolicyCall) Header() http.Header {
3386	if c.header_ == nil {
3387		c.header_ = make(http.Header)
3388	}
3389	return c.header_
3390}
3391
3392func (c *ProjectsLocationsEntryGroupsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
3393	reqHeaders := make(http.Header)
3394	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210830")
3395	for k, v := range c.header_ {
3396		reqHeaders[k] = v
3397	}
3398	reqHeaders.Set("User-Agent", c.s.userAgent())
3399	var body io.Reader = nil
3400	body, err := googleapi.WithoutDataWrapper.JSONReader(c.getiampolicyrequest)
3401	if err != nil {
3402		return nil, err
3403	}
3404	reqHeaders.Set("Content-Type", "application/json")
3405	c.urlParams_.Set("alt", alt)
3406	c.urlParams_.Set("prettyPrint", "false")
3407	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:getIamPolicy")
3408	urls += "?" + c.urlParams_.Encode()
3409	req, err := http.NewRequest("POST", urls, body)
3410	if err != nil {
3411		return nil, err
3412	}
3413	req.Header = reqHeaders
3414	googleapi.Expand(req.URL, map[string]string{
3415		"resource": c.resource,
3416	})
3417	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3418}
3419
3420// Do executes the "datacatalog.projects.locations.entryGroups.getIamPolicy" call.
3421// Exactly one of *Policy or error will be non-nil. Any non-2xx status
3422// code is an error. Response headers are in either
3423// *Policy.ServerResponse.Header or (if a response was returned at all)
3424// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
3425// check whether the returned error was because http.StatusNotModified
3426// was returned.
3427func (c *ProjectsLocationsEntryGroupsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
3428	gensupport.SetOptions(c.urlParams_, opts...)
3429	res, err := c.doRequest("json")
3430	if res != nil && res.StatusCode == http.StatusNotModified {
3431		if res.Body != nil {
3432			res.Body.Close()
3433		}
3434		return nil, &googleapi.Error{
3435			Code:   res.StatusCode,
3436			Header: res.Header,
3437		}
3438	}
3439	if err != nil {
3440		return nil, err
3441	}
3442	defer googleapi.CloseBody(res)
3443	if err := googleapi.CheckResponse(res); err != nil {
3444		return nil, err
3445	}
3446	ret := &Policy{
3447		ServerResponse: googleapi.ServerResponse{
3448			Header:         res.Header,
3449			HTTPStatusCode: res.StatusCode,
3450		},
3451	}
3452	target := &ret
3453	if err := gensupport.DecodeResponse(target, res); err != nil {
3454		return nil, err
3455	}
3456	return ret, nil
3457	// {
3458	//   "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.",
3459	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}:getIamPolicy",
3460	//   "httpMethod": "POST",
3461	//   "id": "datacatalog.projects.locations.entryGroups.getIamPolicy",
3462	//   "parameterOrder": [
3463	//     "resource"
3464	//   ],
3465	//   "parameters": {
3466	//     "resource": {
3467	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
3468	//       "location": "path",
3469	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
3470	//       "required": true,
3471	//       "type": "string"
3472	//     }
3473	//   },
3474	//   "path": "v1beta1/{+resource}:getIamPolicy",
3475	//   "request": {
3476	//     "$ref": "GetIamPolicyRequest"
3477	//   },
3478	//   "response": {
3479	//     "$ref": "Policy"
3480	//   },
3481	//   "scopes": [
3482	//     "https://www.googleapis.com/auth/cloud-platform"
3483	//   ]
3484	// }
3485
3486}
3487
3488// method id "datacatalog.projects.locations.entryGroups.list":
3489
3490type ProjectsLocationsEntryGroupsListCall struct {
3491	s            *Service
3492	parent       string
3493	urlParams_   gensupport.URLParams
3494	ifNoneMatch_ string
3495	ctx_         context.Context
3496	header_      http.Header
3497}
3498
3499// List: Lists entry groups.
3500//
3501// - parent: The name of the location that contains the entry groups,
3502//   which can be provided in URL format. Example: *
3503//   projects/{project_id}/locations/{location}.
3504func (r *ProjectsLocationsEntryGroupsService) List(parent string) *ProjectsLocationsEntryGroupsListCall {
3505	c := &ProjectsLocationsEntryGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3506	c.parent = parent
3507	return c
3508}
3509
3510// PageSize sets the optional parameter "pageSize": The maximum number
3511// of items to return. Default is 10. Max limit is 1000. Throws an
3512// invalid argument for `page_size > 1000`.
3513func (c *ProjectsLocationsEntryGroupsListCall) PageSize(pageSize int64) *ProjectsLocationsEntryGroupsListCall {
3514	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
3515	return c
3516}
3517
3518// PageToken sets the optional parameter "pageToken": Token that
3519// specifies which page is requested. If empty, the first page is
3520// returned.
3521func (c *ProjectsLocationsEntryGroupsListCall) PageToken(pageToken string) *ProjectsLocationsEntryGroupsListCall {
3522	c.urlParams_.Set("pageToken", pageToken)
3523	return c
3524}
3525
3526// Fields allows partial responses to be retrieved. See
3527// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3528// for more information.
3529func (c *ProjectsLocationsEntryGroupsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsListCall {
3530	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3531	return c
3532}
3533
3534// IfNoneMatch sets the optional parameter which makes the operation
3535// fail if the object's ETag matches the given value. This is useful for
3536// getting updates only after the object has changed since the last
3537// request. Use googleapi.IsNotModified to check whether the response
3538// error from Do is the result of In-None-Match.
3539func (c *ProjectsLocationsEntryGroupsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsEntryGroupsListCall {
3540	c.ifNoneMatch_ = entityTag
3541	return c
3542}
3543
3544// Context sets the context to be used in this call's Do method. Any
3545// pending HTTP request will be aborted if the provided context is
3546// canceled.
3547func (c *ProjectsLocationsEntryGroupsListCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsListCall {
3548	c.ctx_ = ctx
3549	return c
3550}
3551
3552// Header returns an http.Header that can be modified by the caller to
3553// add HTTP headers to the request.
3554func (c *ProjectsLocationsEntryGroupsListCall) Header() http.Header {
3555	if c.header_ == nil {
3556		c.header_ = make(http.Header)
3557	}
3558	return c.header_
3559}
3560
3561func (c *ProjectsLocationsEntryGroupsListCall) doRequest(alt string) (*http.Response, error) {
3562	reqHeaders := make(http.Header)
3563	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210830")
3564	for k, v := range c.header_ {
3565		reqHeaders[k] = v
3566	}
3567	reqHeaders.Set("User-Agent", c.s.userAgent())
3568	if c.ifNoneMatch_ != "" {
3569		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
3570	}
3571	var body io.Reader = nil
3572	c.urlParams_.Set("alt", alt)
3573	c.urlParams_.Set("prettyPrint", "false")
3574	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/entryGroups")
3575	urls += "?" + c.urlParams_.Encode()
3576	req, err := http.NewRequest("GET", urls, body)
3577	if err != nil {
3578		return nil, err
3579	}
3580	req.Header = reqHeaders
3581	googleapi.Expand(req.URL, map[string]string{
3582		"parent": c.parent,
3583	})
3584	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3585}
3586
3587// Do executes the "datacatalog.projects.locations.entryGroups.list" call.
3588// Exactly one of *GoogleCloudDatacatalogV1beta1ListEntryGroupsResponse
3589// or error will be non-nil. Any non-2xx status code is an error.
3590// Response headers are in either
3591// *GoogleCloudDatacatalogV1beta1ListEntryGroupsResponse.ServerResponse.H
3592// eader or (if a response was returned at all) in
3593// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
3594// whether the returned error was because http.StatusNotModified was
3595// returned.
3596func (c *ProjectsLocationsEntryGroupsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1ListEntryGroupsResponse, error) {
3597	gensupport.SetOptions(c.urlParams_, opts...)
3598	res, err := c.doRequest("json")
3599	if res != nil && res.StatusCode == http.StatusNotModified {
3600		if res.Body != nil {
3601			res.Body.Close()
3602		}
3603		return nil, &googleapi.Error{
3604			Code:   res.StatusCode,
3605			Header: res.Header,
3606		}
3607	}
3608	if err != nil {
3609		return nil, err
3610	}
3611	defer googleapi.CloseBody(res)
3612	if err := googleapi.CheckResponse(res); err != nil {
3613		return nil, err
3614	}
3615	ret := &GoogleCloudDatacatalogV1beta1ListEntryGroupsResponse{
3616		ServerResponse: googleapi.ServerResponse{
3617			Header:         res.Header,
3618			HTTPStatusCode: res.StatusCode,
3619		},
3620	}
3621	target := &ret
3622	if err := gensupport.DecodeResponse(target, res); err != nil {
3623		return nil, err
3624	}
3625	return ret, nil
3626	// {
3627	//   "description": "Lists entry groups.",
3628	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups",
3629	//   "httpMethod": "GET",
3630	//   "id": "datacatalog.projects.locations.entryGroups.list",
3631	//   "parameterOrder": [
3632	//     "parent"
3633	//   ],
3634	//   "parameters": {
3635	//     "pageSize": {
3636	//       "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`.",
3637	//       "format": "int32",
3638	//       "location": "query",
3639	//       "type": "integer"
3640	//     },
3641	//     "pageToken": {
3642	//       "description": "Optional. Token that specifies which page is requested. If empty, the first page is returned.",
3643	//       "location": "query",
3644	//       "type": "string"
3645	//     },
3646	//     "parent": {
3647	//       "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}",
3648	//       "location": "path",
3649	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
3650	//       "required": true,
3651	//       "type": "string"
3652	//     }
3653	//   },
3654	//   "path": "v1beta1/{+parent}/entryGroups",
3655	//   "response": {
3656	//     "$ref": "GoogleCloudDatacatalogV1beta1ListEntryGroupsResponse"
3657	//   },
3658	//   "scopes": [
3659	//     "https://www.googleapis.com/auth/cloud-platform"
3660	//   ]
3661	// }
3662
3663}
3664
3665// Pages invokes f for each page of results.
3666// A non-nil error returned from f will halt the iteration.
3667// The provided context supersedes any context provided to the Context method.
3668func (c *ProjectsLocationsEntryGroupsListCall) Pages(ctx context.Context, f func(*GoogleCloudDatacatalogV1beta1ListEntryGroupsResponse) error) error {
3669	c.ctx_ = ctx
3670	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
3671	for {
3672		x, err := c.Do()
3673		if err != nil {
3674			return err
3675		}
3676		if err := f(x); err != nil {
3677			return err
3678		}
3679		if x.NextPageToken == "" {
3680			return nil
3681		}
3682		c.PageToken(x.NextPageToken)
3683	}
3684}
3685
3686// method id "datacatalog.projects.locations.entryGroups.patch":
3687
3688type ProjectsLocationsEntryGroupsPatchCall struct {
3689	s                                       *Service
3690	name                                    string
3691	googleclouddatacatalogv1beta1entrygroup *GoogleCloudDatacatalogV1beta1EntryGroup
3692	urlParams_                              gensupport.URLParams
3693	ctx_                                    context.Context
3694	header_                                 http.Header
3695}
3696
3697// Patch: Updates an EntryGroup. The user should enable the Data Catalog
3698// API in the project identified by the `entry_group.name` parameter
3699// (see [Data Catalog Resource Project]
3700// (https://cloud.google.com/data-catalog/docs/concepts/resource-project)
3701// for more information).
3702//
3703// - name: The resource name of the entry group in URL format. Example:
3704//   *
3705//   projects/{project_id}/locations/{location}/entryGroups/{entry_group_
3706//   id} Note that this EntryGroup and its child resources may not
3707//   actually be stored in the location in this name.
3708func (r *ProjectsLocationsEntryGroupsService) Patch(name string, googleclouddatacatalogv1beta1entrygroup *GoogleCloudDatacatalogV1beta1EntryGroup) *ProjectsLocationsEntryGroupsPatchCall {
3709	c := &ProjectsLocationsEntryGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3710	c.name = name
3711	c.googleclouddatacatalogv1beta1entrygroup = googleclouddatacatalogv1beta1entrygroup
3712	return c
3713}
3714
3715// UpdateMask sets the optional parameter "updateMask": Names of fields
3716// whose values to overwrite on an entry group. If this parameter is
3717// absent or empty, all modifiable fields are overwritten. If such
3718// fields are non-required and omitted in the request body, their values
3719// are emptied.
3720func (c *ProjectsLocationsEntryGroupsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsEntryGroupsPatchCall {
3721	c.urlParams_.Set("updateMask", updateMask)
3722	return c
3723}
3724
3725// Fields allows partial responses to be retrieved. See
3726// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3727// for more information.
3728func (c *ProjectsLocationsEntryGroupsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsPatchCall {
3729	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3730	return c
3731}
3732
3733// Context sets the context to be used in this call's Do method. Any
3734// pending HTTP request will be aborted if the provided context is
3735// canceled.
3736func (c *ProjectsLocationsEntryGroupsPatchCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsPatchCall {
3737	c.ctx_ = ctx
3738	return c
3739}
3740
3741// Header returns an http.Header that can be modified by the caller to
3742// add HTTP headers to the request.
3743func (c *ProjectsLocationsEntryGroupsPatchCall) Header() http.Header {
3744	if c.header_ == nil {
3745		c.header_ = make(http.Header)
3746	}
3747	return c.header_
3748}
3749
3750func (c *ProjectsLocationsEntryGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
3751	reqHeaders := make(http.Header)
3752	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210830")
3753	for k, v := range c.header_ {
3754		reqHeaders[k] = v
3755	}
3756	reqHeaders.Set("User-Agent", c.s.userAgent())
3757	var body io.Reader = nil
3758	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddatacatalogv1beta1entrygroup)
3759	if err != nil {
3760		return nil, err
3761	}
3762	reqHeaders.Set("Content-Type", "application/json")
3763	c.urlParams_.Set("alt", alt)
3764	c.urlParams_.Set("prettyPrint", "false")
3765	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
3766	urls += "?" + c.urlParams_.Encode()
3767	req, err := http.NewRequest("PATCH", urls, body)
3768	if err != nil {
3769		return nil, err
3770	}
3771	req.Header = reqHeaders
3772	googleapi.Expand(req.URL, map[string]string{
3773		"name": c.name,
3774	})
3775	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3776}
3777
3778// Do executes the "datacatalog.projects.locations.entryGroups.patch" call.
3779// Exactly one of *GoogleCloudDatacatalogV1beta1EntryGroup or error will
3780// be non-nil. Any non-2xx status code is an error. Response headers are
3781// in either
3782// *GoogleCloudDatacatalogV1beta1EntryGroup.ServerResponse.Header or (if
3783// a response was returned at all) in error.(*googleapi.Error).Header.
3784// Use googleapi.IsNotModified to check whether the returned error was
3785// because http.StatusNotModified was returned.
3786func (c *ProjectsLocationsEntryGroupsPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1EntryGroup, error) {
3787	gensupport.SetOptions(c.urlParams_, opts...)
3788	res, err := c.doRequest("json")
3789	if res != nil && res.StatusCode == http.StatusNotModified {
3790		if res.Body != nil {
3791			res.Body.Close()
3792		}
3793		return nil, &googleapi.Error{
3794			Code:   res.StatusCode,
3795			Header: res.Header,
3796		}
3797	}
3798	if err != nil {
3799		return nil, err
3800	}
3801	defer googleapi.CloseBody(res)
3802	if err := googleapi.CheckResponse(res); err != nil {
3803		return nil, err
3804	}
3805	ret := &GoogleCloudDatacatalogV1beta1EntryGroup{
3806		ServerResponse: googleapi.ServerResponse{
3807			Header:         res.Header,
3808			HTTPStatusCode: res.StatusCode,
3809		},
3810	}
3811	target := &ret
3812	if err := gensupport.DecodeResponse(target, res); err != nil {
3813		return nil, err
3814	}
3815	return ret, nil
3816	// {
3817	//   "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).",
3818	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}",
3819	//   "httpMethod": "PATCH",
3820	//   "id": "datacatalog.projects.locations.entryGroups.patch",
3821	//   "parameterOrder": [
3822	//     "name"
3823	//   ],
3824	//   "parameters": {
3825	//     "name": {
3826	//       "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.",
3827	//       "location": "path",
3828	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
3829	//       "required": true,
3830	//       "type": "string"
3831	//     },
3832	//     "updateMask": {
3833	//       "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.",
3834	//       "format": "google-fieldmask",
3835	//       "location": "query",
3836	//       "type": "string"
3837	//     }
3838	//   },
3839	//   "path": "v1beta1/{+name}",
3840	//   "request": {
3841	//     "$ref": "GoogleCloudDatacatalogV1beta1EntryGroup"
3842	//   },
3843	//   "response": {
3844	//     "$ref": "GoogleCloudDatacatalogV1beta1EntryGroup"
3845	//   },
3846	//   "scopes": [
3847	//     "https://www.googleapis.com/auth/cloud-platform"
3848	//   ]
3849	// }
3850
3851}
3852
3853// method id "datacatalog.projects.locations.entryGroups.setIamPolicy":
3854
3855type ProjectsLocationsEntryGroupsSetIamPolicyCall struct {
3856	s                   *Service
3857	resource            string
3858	setiampolicyrequest *SetIamPolicyRequest
3859	urlParams_          gensupport.URLParams
3860	ctx_                context.Context
3861	header_             http.Header
3862}
3863
3864// SetIamPolicy: Sets the access control policy for a resource. Replaces
3865// any existing policy. Supported resources are: - Tag templates. -
3866// Entries. - Entry groups. Note, this method cannot be used to manage
3867// policies for BigQuery, Pub/Sub and any external Google Cloud Platform
3868// resources synced to Data Catalog. Callers must have following Google
3869// IAM permission - `datacatalog.tagTemplates.setIamPolicy` to set
3870// policies on tag templates. - `datacatalog.entries.setIamPolicy` to
3871// set policies on entries. - `datacatalog.entryGroups.setIamPolicy` to
3872// set policies on entry groups.
3873//
3874// - resource: REQUIRED: The resource for which the policy is being
3875//   specified. See the operation documentation for the appropriate
3876//   value for this field.
3877func (r *ProjectsLocationsEntryGroupsService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsEntryGroupsSetIamPolicyCall {
3878	c := &ProjectsLocationsEntryGroupsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3879	c.resource = resource
3880	c.setiampolicyrequest = setiampolicyrequest
3881	return c
3882}
3883
3884// Fields allows partial responses to be retrieved. See
3885// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3886// for more information.
3887func (c *ProjectsLocationsEntryGroupsSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsSetIamPolicyCall {
3888	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3889	return c
3890}
3891
3892// Context sets the context to be used in this call's Do method. Any
3893// pending HTTP request will be aborted if the provided context is
3894// canceled.
3895func (c *ProjectsLocationsEntryGroupsSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsSetIamPolicyCall {
3896	c.ctx_ = ctx
3897	return c
3898}
3899
3900// Header returns an http.Header that can be modified by the caller to
3901// add HTTP headers to the request.
3902func (c *ProjectsLocationsEntryGroupsSetIamPolicyCall) Header() http.Header {
3903	if c.header_ == nil {
3904		c.header_ = make(http.Header)
3905	}
3906	return c.header_
3907}
3908
3909func (c *ProjectsLocationsEntryGroupsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
3910	reqHeaders := make(http.Header)
3911	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210830")
3912	for k, v := range c.header_ {
3913		reqHeaders[k] = v
3914	}
3915	reqHeaders.Set("User-Agent", c.s.userAgent())
3916	var body io.Reader = nil
3917	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
3918	if err != nil {
3919		return nil, err
3920	}
3921	reqHeaders.Set("Content-Type", "application/json")
3922	c.urlParams_.Set("alt", alt)
3923	c.urlParams_.Set("prettyPrint", "false")
3924	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:setIamPolicy")
3925	urls += "?" + c.urlParams_.Encode()
3926	req, err := http.NewRequest("POST", urls, body)
3927	if err != nil {
3928		return nil, err
3929	}
3930	req.Header = reqHeaders
3931	googleapi.Expand(req.URL, map[string]string{
3932		"resource": c.resource,
3933	})
3934	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3935}
3936
3937// Do executes the "datacatalog.projects.locations.entryGroups.setIamPolicy" call.
3938// Exactly one of *Policy or error will be non-nil. Any non-2xx status
3939// code is an error. Response headers are in either
3940// *Policy.ServerResponse.Header or (if a response was returned at all)
3941// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
3942// check whether the returned error was because http.StatusNotModified
3943// was returned.
3944func (c *ProjectsLocationsEntryGroupsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
3945	gensupport.SetOptions(c.urlParams_, opts...)
3946	res, err := c.doRequest("json")
3947	if res != nil && res.StatusCode == http.StatusNotModified {
3948		if res.Body != nil {
3949			res.Body.Close()
3950		}
3951		return nil, &googleapi.Error{
3952			Code:   res.StatusCode,
3953			Header: res.Header,
3954		}
3955	}
3956	if err != nil {
3957		return nil, err
3958	}
3959	defer googleapi.CloseBody(res)
3960	if err := googleapi.CheckResponse(res); err != nil {
3961		return nil, err
3962	}
3963	ret := &Policy{
3964		ServerResponse: googleapi.ServerResponse{
3965			Header:         res.Header,
3966			HTTPStatusCode: res.StatusCode,
3967		},
3968	}
3969	target := &ret
3970	if err := gensupport.DecodeResponse(target, res); err != nil {
3971		return nil, err
3972	}
3973	return ret, nil
3974	// {
3975	//   "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.",
3976	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}:setIamPolicy",
3977	//   "httpMethod": "POST",
3978	//   "id": "datacatalog.projects.locations.entryGroups.setIamPolicy",
3979	//   "parameterOrder": [
3980	//     "resource"
3981	//   ],
3982	//   "parameters": {
3983	//     "resource": {
3984	//       "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
3985	//       "location": "path",
3986	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
3987	//       "required": true,
3988	//       "type": "string"
3989	//     }
3990	//   },
3991	//   "path": "v1beta1/{+resource}:setIamPolicy",
3992	//   "request": {
3993	//     "$ref": "SetIamPolicyRequest"
3994	//   },
3995	//   "response": {
3996	//     "$ref": "Policy"
3997	//   },
3998	//   "scopes": [
3999	//     "https://www.googleapis.com/auth/cloud-platform"
4000	//   ]
4001	// }
4002
4003}
4004
4005// method id "datacatalog.projects.locations.entryGroups.testIamPermissions":
4006
4007type ProjectsLocationsEntryGroupsTestIamPermissionsCall struct {
4008	s                         *Service
4009	resource                  string
4010	testiampermissionsrequest *TestIamPermissionsRequest
4011	urlParams_                gensupport.URLParams
4012	ctx_                      context.Context
4013	header_                   http.Header
4014}
4015
4016// TestIamPermissions: Returns the caller's permissions on a resource.
4017// If the resource does not exist, an empty set of permissions is
4018// returned (We don't return a `NOT_FOUND` error). Supported resources
4019// are: - Tag templates. - Entries. - Entry groups. Note, this method
4020// cannot be used to manage policies for BigQuery, Pub/Sub and any
4021// external Google Cloud Platform resources synced to Data Catalog. A
4022// caller is not required to have Google IAM permission to make this
4023// request.
4024//
4025// - resource: REQUIRED: The resource for which the policy detail is
4026//   being requested. See the operation documentation for the
4027//   appropriate value for this field.
4028func (r *ProjectsLocationsEntryGroupsService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsEntryGroupsTestIamPermissionsCall {
4029	c := &ProjectsLocationsEntryGroupsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4030	c.resource = resource
4031	c.testiampermissionsrequest = testiampermissionsrequest
4032	return c
4033}
4034
4035// Fields allows partial responses to be retrieved. See
4036// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4037// for more information.
4038func (c *ProjectsLocationsEntryGroupsTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsTestIamPermissionsCall {
4039	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4040	return c
4041}
4042
4043// Context sets the context to be used in this call's Do method. Any
4044// pending HTTP request will be aborted if the provided context is
4045// canceled.
4046func (c *ProjectsLocationsEntryGroupsTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsTestIamPermissionsCall {
4047	c.ctx_ = ctx
4048	return c
4049}
4050
4051// Header returns an http.Header that can be modified by the caller to
4052// add HTTP headers to the request.
4053func (c *ProjectsLocationsEntryGroupsTestIamPermissionsCall) Header() http.Header {
4054	if c.header_ == nil {
4055		c.header_ = make(http.Header)
4056	}
4057	return c.header_
4058}
4059
4060func (c *ProjectsLocationsEntryGroupsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
4061	reqHeaders := make(http.Header)
4062	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210830")
4063	for k, v := range c.header_ {
4064		reqHeaders[k] = v
4065	}
4066	reqHeaders.Set("User-Agent", c.s.userAgent())
4067	var body io.Reader = nil
4068	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
4069	if err != nil {
4070		return nil, err
4071	}
4072	reqHeaders.Set("Content-Type", "application/json")
4073	c.urlParams_.Set("alt", alt)
4074	c.urlParams_.Set("prettyPrint", "false")
4075	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:testIamPermissions")
4076	urls += "?" + c.urlParams_.Encode()
4077	req, err := http.NewRequest("POST", urls, body)
4078	if err != nil {
4079		return nil, err
4080	}
4081	req.Header = reqHeaders
4082	googleapi.Expand(req.URL, map[string]string{
4083		"resource": c.resource,
4084	})
4085	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4086}
4087
4088// Do executes the "datacatalog.projects.locations.entryGroups.testIamPermissions" call.
4089// Exactly one of *TestIamPermissionsResponse or error will be non-nil.
4090// Any non-2xx status code is an error. Response headers are in either
4091// *TestIamPermissionsResponse.ServerResponse.Header or (if a response
4092// was returned at all) in error.(*googleapi.Error).Header. Use
4093// googleapi.IsNotModified to check whether the returned error was
4094// because http.StatusNotModified was returned.
4095func (c *ProjectsLocationsEntryGroupsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
4096	gensupport.SetOptions(c.urlParams_, opts...)
4097	res, err := c.doRequest("json")
4098	if res != nil && res.StatusCode == http.StatusNotModified {
4099		if res.Body != nil {
4100			res.Body.Close()
4101		}
4102		return nil, &googleapi.Error{
4103			Code:   res.StatusCode,
4104			Header: res.Header,
4105		}
4106	}
4107	if err != nil {
4108		return nil, err
4109	}
4110	defer googleapi.CloseBody(res)
4111	if err := googleapi.CheckResponse(res); err != nil {
4112		return nil, err
4113	}
4114	ret := &TestIamPermissionsResponse{
4115		ServerResponse: googleapi.ServerResponse{
4116			Header:         res.Header,
4117			HTTPStatusCode: res.StatusCode,
4118		},
4119	}
4120	target := &ret
4121	if err := gensupport.DecodeResponse(target, res); err != nil {
4122		return nil, err
4123	}
4124	return ret, nil
4125	// {
4126	//   "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.",
4127	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}:testIamPermissions",
4128	//   "httpMethod": "POST",
4129	//   "id": "datacatalog.projects.locations.entryGroups.testIamPermissions",
4130	//   "parameterOrder": [
4131	//     "resource"
4132	//   ],
4133	//   "parameters": {
4134	//     "resource": {
4135	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
4136	//       "location": "path",
4137	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
4138	//       "required": true,
4139	//       "type": "string"
4140	//     }
4141	//   },
4142	//   "path": "v1beta1/{+resource}:testIamPermissions",
4143	//   "request": {
4144	//     "$ref": "TestIamPermissionsRequest"
4145	//   },
4146	//   "response": {
4147	//     "$ref": "TestIamPermissionsResponse"
4148	//   },
4149	//   "scopes": [
4150	//     "https://www.googleapis.com/auth/cloud-platform"
4151	//   ]
4152	// }
4153
4154}
4155
4156// method id "datacatalog.projects.locations.entryGroups.entries.create":
4157
4158type ProjectsLocationsEntryGroupsEntriesCreateCall struct {
4159	s                                  *Service
4160	parent                             string
4161	googleclouddatacatalogv1beta1entry *GoogleCloudDatacatalogV1beta1Entry
4162	urlParams_                         gensupport.URLParams
4163	ctx_                               context.Context
4164	header_                            http.Header
4165}
4166
4167// Create: Creates an entry. Only entries of 'FILESET' type or
4168// user-specified type can be created. Users should enable the Data
4169// Catalog API in the project identified by the `parent` parameter (see
4170// [Data Catalog Resource Project]
4171// (https://cloud.google.com/data-catalog/docs/concepts/resource-project)
4172// for more information). A maximum of 100,000 entries may be created
4173// per entry group.
4174//
4175// - parent: The name of the entry group this entry is in. Example: *
4176//   projects/{project_id}/locations/{location}/entryGroups/{entry_group_
4177//   id} Note that this Entry and its child resources may not actually
4178//   be stored in the location in this name.
4179func (r *ProjectsLocationsEntryGroupsEntriesService) Create(parent string, googleclouddatacatalogv1beta1entry *GoogleCloudDatacatalogV1beta1Entry) *ProjectsLocationsEntryGroupsEntriesCreateCall {
4180	c := &ProjectsLocationsEntryGroupsEntriesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4181	c.parent = parent
4182	c.googleclouddatacatalogv1beta1entry = googleclouddatacatalogv1beta1entry
4183	return c
4184}
4185
4186// EntryId sets the optional parameter "entryId": Required. The id of
4187// the entry to create.
4188func (c *ProjectsLocationsEntryGroupsEntriesCreateCall) EntryId(entryId string) *ProjectsLocationsEntryGroupsEntriesCreateCall {
4189	c.urlParams_.Set("entryId", entryId)
4190	return c
4191}
4192
4193// Fields allows partial responses to be retrieved. See
4194// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4195// for more information.
4196func (c *ProjectsLocationsEntryGroupsEntriesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsEntriesCreateCall {
4197	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4198	return c
4199}
4200
4201// Context sets the context to be used in this call's Do method. Any
4202// pending HTTP request will be aborted if the provided context is
4203// canceled.
4204func (c *ProjectsLocationsEntryGroupsEntriesCreateCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsEntriesCreateCall {
4205	c.ctx_ = ctx
4206	return c
4207}
4208
4209// Header returns an http.Header that can be modified by the caller to
4210// add HTTP headers to the request.
4211func (c *ProjectsLocationsEntryGroupsEntriesCreateCall) Header() http.Header {
4212	if c.header_ == nil {
4213		c.header_ = make(http.Header)
4214	}
4215	return c.header_
4216}
4217
4218func (c *ProjectsLocationsEntryGroupsEntriesCreateCall) doRequest(alt string) (*http.Response, error) {
4219	reqHeaders := make(http.Header)
4220	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210830")
4221	for k, v := range c.header_ {
4222		reqHeaders[k] = v
4223	}
4224	reqHeaders.Set("User-Agent", c.s.userAgent())
4225	var body io.Reader = nil
4226	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddatacatalogv1beta1entry)
4227	if err != nil {
4228		return nil, err
4229	}
4230	reqHeaders.Set("Content-Type", "application/json")
4231	c.urlParams_.Set("alt", alt)
4232	c.urlParams_.Set("prettyPrint", "false")
4233	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/entries")
4234	urls += "?" + c.urlParams_.Encode()
4235	req, err := http.NewRequest("POST", urls, body)
4236	if err != nil {
4237		return nil, err
4238	}
4239	req.Header = reqHeaders
4240	googleapi.Expand(req.URL, map[string]string{
4241		"parent": c.parent,
4242	})
4243	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4244}
4245
4246// Do executes the "datacatalog.projects.locations.entryGroups.entries.create" call.
4247// Exactly one of *GoogleCloudDatacatalogV1beta1Entry or error will be
4248// non-nil. Any non-2xx status code is an error. Response headers are in
4249// either *GoogleCloudDatacatalogV1beta1Entry.ServerResponse.Header or
4250// (if a response was returned at all) in
4251// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
4252// whether the returned error was because http.StatusNotModified was
4253// returned.
4254func (c *ProjectsLocationsEntryGroupsEntriesCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1Entry, error) {
4255	gensupport.SetOptions(c.urlParams_, opts...)
4256	res, err := c.doRequest("json")
4257	if res != nil && res.StatusCode == http.StatusNotModified {
4258		if res.Body != nil {
4259			res.Body.Close()
4260		}
4261		return nil, &googleapi.Error{
4262			Code:   res.StatusCode,
4263			Header: res.Header,
4264		}
4265	}
4266	if err != nil {
4267		return nil, err
4268	}
4269	defer googleapi.CloseBody(res)
4270	if err := googleapi.CheckResponse(res); err != nil {
4271		return nil, err
4272	}
4273	ret := &GoogleCloudDatacatalogV1beta1Entry{
4274		ServerResponse: googleapi.ServerResponse{
4275			Header:         res.Header,
4276			HTTPStatusCode: res.StatusCode,
4277		},
4278	}
4279	target := &ret
4280	if err := gensupport.DecodeResponse(target, res); err != nil {
4281		return nil, err
4282	}
4283	return ret, nil
4284	// {
4285	//   "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.",
4286	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries",
4287	//   "httpMethod": "POST",
4288	//   "id": "datacatalog.projects.locations.entryGroups.entries.create",
4289	//   "parameterOrder": [
4290	//     "parent"
4291	//   ],
4292	//   "parameters": {
4293	//     "entryId": {
4294	//       "description": "Required. The id of the entry to create.",
4295	//       "location": "query",
4296	//       "type": "string"
4297	//     },
4298	//     "parent": {
4299	//       "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.",
4300	//       "location": "path",
4301	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
4302	//       "required": true,
4303	//       "type": "string"
4304	//     }
4305	//   },
4306	//   "path": "v1beta1/{+parent}/entries",
4307	//   "request": {
4308	//     "$ref": "GoogleCloudDatacatalogV1beta1Entry"
4309	//   },
4310	//   "response": {
4311	//     "$ref": "GoogleCloudDatacatalogV1beta1Entry"
4312	//   },
4313	//   "scopes": [
4314	//     "https://www.googleapis.com/auth/cloud-platform"
4315	//   ]
4316	// }
4317
4318}
4319
4320// method id "datacatalog.projects.locations.entryGroups.entries.delete":
4321
4322type ProjectsLocationsEntryGroupsEntriesDeleteCall struct {
4323	s          *Service
4324	name       string
4325	urlParams_ gensupport.URLParams
4326	ctx_       context.Context
4327	header_    http.Header
4328}
4329
4330// Delete: Deletes an existing entry. Only entries created through
4331// CreateEntry method can be deleted. Users should enable the Data
4332// Catalog API in the project identified by the `name` parameter (see
4333// [Data Catalog Resource Project]
4334// (https://cloud.google.com/data-catalog/docs/concepts/resource-project)
4335// for more information).
4336//
4337// - name: The name of the entry. Example: *
4338//   projects/{project_id}/locations/{location}/entryGroups/{entry_group_
4339//   id}/entries/{entry_id}.
4340func (r *ProjectsLocationsEntryGroupsEntriesService) Delete(name string) *ProjectsLocationsEntryGroupsEntriesDeleteCall {
4341	c := &ProjectsLocationsEntryGroupsEntriesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4342	c.name = name
4343	return c
4344}
4345
4346// Fields allows partial responses to be retrieved. See
4347// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4348// for more information.
4349func (c *ProjectsLocationsEntryGroupsEntriesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsEntriesDeleteCall {
4350	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4351	return c
4352}
4353
4354// Context sets the context to be used in this call's Do method. Any
4355// pending HTTP request will be aborted if the provided context is
4356// canceled.
4357func (c *ProjectsLocationsEntryGroupsEntriesDeleteCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsEntriesDeleteCall {
4358	c.ctx_ = ctx
4359	return c
4360}
4361
4362// Header returns an http.Header that can be modified by the caller to
4363// add HTTP headers to the request.
4364func (c *ProjectsLocationsEntryGroupsEntriesDeleteCall) Header() http.Header {
4365	if c.header_ == nil {
4366		c.header_ = make(http.Header)
4367	}
4368	return c.header_
4369}
4370
4371func (c *ProjectsLocationsEntryGroupsEntriesDeleteCall) doRequest(alt string) (*http.Response, error) {
4372	reqHeaders := make(http.Header)
4373	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210830")
4374	for k, v := range c.header_ {
4375		reqHeaders[k] = v
4376	}
4377	reqHeaders.Set("User-Agent", c.s.userAgent())
4378	var body io.Reader = nil
4379	c.urlParams_.Set("alt", alt)
4380	c.urlParams_.Set("prettyPrint", "false")
4381	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
4382	urls += "?" + c.urlParams_.Encode()
4383	req, err := http.NewRequest("DELETE", urls, body)
4384	if err != nil {
4385		return nil, err
4386	}
4387	req.Header = reqHeaders
4388	googleapi.Expand(req.URL, map[string]string{
4389		"name": c.name,
4390	})
4391	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4392}
4393
4394// Do executes the "datacatalog.projects.locations.entryGroups.entries.delete" call.
4395// Exactly one of *Empty or error will be non-nil. Any non-2xx status
4396// code is an error. Response headers are in either
4397// *Empty.ServerResponse.Header or (if a response was returned at all)
4398// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
4399// check whether the returned error was because http.StatusNotModified
4400// was returned.
4401func (c *ProjectsLocationsEntryGroupsEntriesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
4402	gensupport.SetOptions(c.urlParams_, opts...)
4403	res, err := c.doRequest("json")
4404	if res != nil && res.StatusCode == http.StatusNotModified {
4405		if res.Body != nil {
4406			res.Body.Close()
4407		}
4408		return nil, &googleapi.Error{
4409			Code:   res.StatusCode,
4410			Header: res.Header,
4411		}
4412	}
4413	if err != nil {
4414		return nil, err
4415	}
4416	defer googleapi.CloseBody(res)
4417	if err := googleapi.CheckResponse(res); err != nil {
4418		return nil, err
4419	}
4420	ret := &Empty{
4421		ServerResponse: googleapi.ServerResponse{
4422			Header:         res.Header,
4423			HTTPStatusCode: res.StatusCode,
4424		},
4425	}
4426	target := &ret
4427	if err := gensupport.DecodeResponse(target, res); err != nil {
4428		return nil, err
4429	}
4430	return ret, nil
4431	// {
4432	//   "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).",
4433	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}",
4434	//   "httpMethod": "DELETE",
4435	//   "id": "datacatalog.projects.locations.entryGroups.entries.delete",
4436	//   "parameterOrder": [
4437	//     "name"
4438	//   ],
4439	//   "parameters": {
4440	//     "name": {
4441	//       "description": "Required. The name of the entry. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}",
4442	//       "location": "path",
4443	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$",
4444	//       "required": true,
4445	//       "type": "string"
4446	//     }
4447	//   },
4448	//   "path": "v1beta1/{+name}",
4449	//   "response": {
4450	//     "$ref": "Empty"
4451	//   },
4452	//   "scopes": [
4453	//     "https://www.googleapis.com/auth/cloud-platform"
4454	//   ]
4455	// }
4456
4457}
4458
4459// method id "datacatalog.projects.locations.entryGroups.entries.get":
4460
4461type ProjectsLocationsEntryGroupsEntriesGetCall struct {
4462	s            *Service
4463	name         string
4464	urlParams_   gensupport.URLParams
4465	ifNoneMatch_ string
4466	ctx_         context.Context
4467	header_      http.Header
4468}
4469
4470// Get: Gets an entry.
4471//
4472// - name: The name of the entry. Example: *
4473//   projects/{project_id}/locations/{location}/entryGroups/{entry_group_
4474//   id}/entries/{entry_id}.
4475func (r *ProjectsLocationsEntryGroupsEntriesService) Get(name string) *ProjectsLocationsEntryGroupsEntriesGetCall {
4476	c := &ProjectsLocationsEntryGroupsEntriesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4477	c.name = name
4478	return c
4479}
4480
4481// Fields allows partial responses to be retrieved. See
4482// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4483// for more information.
4484func (c *ProjectsLocationsEntryGroupsEntriesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsEntriesGetCall {
4485	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4486	return c
4487}
4488
4489// IfNoneMatch sets the optional parameter which makes the operation
4490// fail if the object's ETag matches the given value. This is useful for
4491// getting updates only after the object has changed since the last
4492// request. Use googleapi.IsNotModified to check whether the response
4493// error from Do is the result of In-None-Match.
4494func (c *ProjectsLocationsEntryGroupsEntriesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsEntryGroupsEntriesGetCall {
4495	c.ifNoneMatch_ = entityTag
4496	return c
4497}
4498
4499// Context sets the context to be used in this call's Do method. Any
4500// pending HTTP request will be aborted if the provided context is
4501// canceled.
4502func (c *ProjectsLocationsEntryGroupsEntriesGetCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsEntriesGetCall {
4503	c.ctx_ = ctx
4504	return c
4505}
4506
4507// Header returns an http.Header that can be modified by the caller to
4508// add HTTP headers to the request.
4509func (c *ProjectsLocationsEntryGroupsEntriesGetCall) Header() http.Header {
4510	if c.header_ == nil {
4511		c.header_ = make(http.Header)
4512	}
4513	return c.header_
4514}
4515
4516func (c *ProjectsLocationsEntryGroupsEntriesGetCall) doRequest(alt string) (*http.Response, error) {
4517	reqHeaders := make(http.Header)
4518	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210830")
4519	for k, v := range c.header_ {
4520		reqHeaders[k] = v
4521	}
4522	reqHeaders.Set("User-Agent", c.s.userAgent())
4523	if c.ifNoneMatch_ != "" {
4524		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
4525	}
4526	var body io.Reader = nil
4527	c.urlParams_.Set("alt", alt)
4528	c.urlParams_.Set("prettyPrint", "false")
4529	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
4530	urls += "?" + c.urlParams_.Encode()
4531	req, err := http.NewRequest("GET", urls, body)
4532	if err != nil {
4533		return nil, err
4534	}
4535	req.Header = reqHeaders
4536	googleapi.Expand(req.URL, map[string]string{
4537		"name": c.name,
4538	})
4539	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4540}
4541
4542// Do executes the "datacatalog.projects.locations.entryGroups.entries.get" call.
4543// Exactly one of *GoogleCloudDatacatalogV1beta1Entry or error will be
4544// non-nil. Any non-2xx status code is an error. Response headers are in
4545// either *GoogleCloudDatacatalogV1beta1Entry.ServerResponse.Header or
4546// (if a response was returned at all) in
4547// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
4548// whether the returned error was because http.StatusNotModified was
4549// returned.
4550func (c *ProjectsLocationsEntryGroupsEntriesGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1Entry, error) {
4551	gensupport.SetOptions(c.urlParams_, opts...)
4552	res, err := c.doRequest("json")
4553	if res != nil && res.StatusCode == http.StatusNotModified {
4554		if res.Body != nil {
4555			res.Body.Close()
4556		}
4557		return nil, &googleapi.Error{
4558			Code:   res.StatusCode,
4559			Header: res.Header,
4560		}
4561	}
4562	if err != nil {
4563		return nil, err
4564	}
4565	defer googleapi.CloseBody(res)
4566	if err := googleapi.CheckResponse(res); err != nil {
4567		return nil, err
4568	}
4569	ret := &GoogleCloudDatacatalogV1beta1Entry{
4570		ServerResponse: googleapi.ServerResponse{
4571			Header:         res.Header,
4572			HTTPStatusCode: res.StatusCode,
4573		},
4574	}
4575	target := &ret
4576	if err := gensupport.DecodeResponse(target, res); err != nil {
4577		return nil, err
4578	}
4579	return ret, nil
4580	// {
4581	//   "description": "Gets an entry.",
4582	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}",
4583	//   "httpMethod": "GET",
4584	//   "id": "datacatalog.projects.locations.entryGroups.entries.get",
4585	//   "parameterOrder": [
4586	//     "name"
4587	//   ],
4588	//   "parameters": {
4589	//     "name": {
4590	//       "description": "Required. The name of the entry. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}",
4591	//       "location": "path",
4592	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$",
4593	//       "required": true,
4594	//       "type": "string"
4595	//     }
4596	//   },
4597	//   "path": "v1beta1/{+name}",
4598	//   "response": {
4599	//     "$ref": "GoogleCloudDatacatalogV1beta1Entry"
4600	//   },
4601	//   "scopes": [
4602	//     "https://www.googleapis.com/auth/cloud-platform"
4603	//   ]
4604	// }
4605
4606}
4607
4608// method id "datacatalog.projects.locations.entryGroups.entries.getIamPolicy":
4609
4610type ProjectsLocationsEntryGroupsEntriesGetIamPolicyCall struct {
4611	s                   *Service
4612	resource            string
4613	getiampolicyrequest *GetIamPolicyRequest
4614	urlParams_          gensupport.URLParams
4615	ctx_                context.Context
4616	header_             http.Header
4617}
4618
4619// GetIamPolicy: Gets the access control policy for a resource. A
4620// `NOT_FOUND` error is returned if the resource does not exist. An
4621// empty policy is returned if the resource exists but does not have a
4622// policy set on it. Supported resources are: - Tag templates. -
4623// Entries. - Entry groups. Note, this method cannot be used to manage
4624// policies for BigQuery, Pub/Sub and any external Google Cloud Platform
4625// resources synced to Data Catalog. Callers must have following Google
4626// IAM permission - `datacatalog.tagTemplates.getIamPolicy` to get
4627// policies on tag templates. - `datacatalog.entries.getIamPolicy` to
4628// get policies on entries. - `datacatalog.entryGroups.getIamPolicy` to
4629// get policies on entry groups.
4630//
4631// - resource: REQUIRED: The resource for which the policy is being
4632//   requested. See the operation documentation for the appropriate
4633//   value for this field.
4634func (r *ProjectsLocationsEntryGroupsEntriesService) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *ProjectsLocationsEntryGroupsEntriesGetIamPolicyCall {
4635	c := &ProjectsLocationsEntryGroupsEntriesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4636	c.resource = resource
4637	c.getiampolicyrequest = getiampolicyrequest
4638	return c
4639}
4640
4641// Fields allows partial responses to be retrieved. See
4642// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4643// for more information.
4644func (c *ProjectsLocationsEntryGroupsEntriesGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsEntriesGetIamPolicyCall {
4645	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4646	return c
4647}
4648
4649// Context sets the context to be used in this call's Do method. Any
4650// pending HTTP request will be aborted if the provided context is
4651// canceled.
4652func (c *ProjectsLocationsEntryGroupsEntriesGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsEntriesGetIamPolicyCall {
4653	c.ctx_ = ctx
4654	return c
4655}
4656
4657// Header returns an http.Header that can be modified by the caller to
4658// add HTTP headers to the request.
4659func (c *ProjectsLocationsEntryGroupsEntriesGetIamPolicyCall) Header() http.Header {
4660	if c.header_ == nil {
4661		c.header_ = make(http.Header)
4662	}
4663	return c.header_
4664}
4665
4666func (c *ProjectsLocationsEntryGroupsEntriesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
4667	reqHeaders := make(http.Header)
4668	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210830")
4669	for k, v := range c.header_ {
4670		reqHeaders[k] = v
4671	}
4672	reqHeaders.Set("User-Agent", c.s.userAgent())
4673	var body io.Reader = nil
4674	body, err := googleapi.WithoutDataWrapper.JSONReader(c.getiampolicyrequest)
4675	if err != nil {
4676		return nil, err
4677	}
4678	reqHeaders.Set("Content-Type", "application/json")
4679	c.urlParams_.Set("alt", alt)
4680	c.urlParams_.Set("prettyPrint", "false")
4681	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:getIamPolicy")
4682	urls += "?" + c.urlParams_.Encode()
4683	req, err := http.NewRequest("POST", urls, body)
4684	if err != nil {
4685		return nil, err
4686	}
4687	req.Header = reqHeaders
4688	googleapi.Expand(req.URL, map[string]string{
4689		"resource": c.resource,
4690	})
4691	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4692}
4693
4694// Do executes the "datacatalog.projects.locations.entryGroups.entries.getIamPolicy" call.
4695// Exactly one of *Policy or error will be non-nil. Any non-2xx status
4696// code is an error. Response headers are in either
4697// *Policy.ServerResponse.Header or (if a response was returned at all)
4698// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
4699// check whether the returned error was because http.StatusNotModified
4700// was returned.
4701func (c *ProjectsLocationsEntryGroupsEntriesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
4702	gensupport.SetOptions(c.urlParams_, opts...)
4703	res, err := c.doRequest("json")
4704	if res != nil && res.StatusCode == http.StatusNotModified {
4705		if res.Body != nil {
4706			res.Body.Close()
4707		}
4708		return nil, &googleapi.Error{
4709			Code:   res.StatusCode,
4710			Header: res.Header,
4711		}
4712	}
4713	if err != nil {
4714		return nil, err
4715	}
4716	defer googleapi.CloseBody(res)
4717	if err := googleapi.CheckResponse(res); err != nil {
4718		return nil, err
4719	}
4720	ret := &Policy{
4721		ServerResponse: googleapi.ServerResponse{
4722			Header:         res.Header,
4723			HTTPStatusCode: res.StatusCode,
4724		},
4725	}
4726	target := &ret
4727	if err := gensupport.DecodeResponse(target, res); err != nil {
4728		return nil, err
4729	}
4730	return ret, nil
4731	// {
4732	//   "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.",
4733	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}:getIamPolicy",
4734	//   "httpMethod": "POST",
4735	//   "id": "datacatalog.projects.locations.entryGroups.entries.getIamPolicy",
4736	//   "parameterOrder": [
4737	//     "resource"
4738	//   ],
4739	//   "parameters": {
4740	//     "resource": {
4741	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
4742	//       "location": "path",
4743	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$",
4744	//       "required": true,
4745	//       "type": "string"
4746	//     }
4747	//   },
4748	//   "path": "v1beta1/{+resource}:getIamPolicy",
4749	//   "request": {
4750	//     "$ref": "GetIamPolicyRequest"
4751	//   },
4752	//   "response": {
4753	//     "$ref": "Policy"
4754	//   },
4755	//   "scopes": [
4756	//     "https://www.googleapis.com/auth/cloud-platform"
4757	//   ]
4758	// }
4759
4760}
4761
4762// method id "datacatalog.projects.locations.entryGroups.entries.list":
4763
4764type ProjectsLocationsEntryGroupsEntriesListCall struct {
4765	s            *Service
4766	parent       string
4767	urlParams_   gensupport.URLParams
4768	ifNoneMatch_ string
4769	ctx_         context.Context
4770	header_      http.Header
4771}
4772
4773// List: Lists entries.
4774//
4775// - parent: The name of the entry group that contains the entries,
4776//   which can be provided in URL format. Example: *
4777//   projects/{project_id}/locations/{location}/entryGroups/{entry_group_
4778//   id}.
4779func (r *ProjectsLocationsEntryGroupsEntriesService) List(parent string) *ProjectsLocationsEntryGroupsEntriesListCall {
4780	c := &ProjectsLocationsEntryGroupsEntriesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4781	c.parent = parent
4782	return c
4783}
4784
4785// PageSize sets the optional parameter "pageSize": The maximum number
4786// of items to return. Default is 10. Max limit is 1000. Throws an
4787// invalid argument for `page_size > 1000`.
4788func (c *ProjectsLocationsEntryGroupsEntriesListCall) PageSize(pageSize int64) *ProjectsLocationsEntryGroupsEntriesListCall {
4789	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
4790	return c
4791}
4792
4793// PageToken sets the optional parameter "pageToken": Token that
4794// specifies which page is requested. If empty, the first page is
4795// returned.
4796func (c *ProjectsLocationsEntryGroupsEntriesListCall) PageToken(pageToken string) *ProjectsLocationsEntryGroupsEntriesListCall {
4797	c.urlParams_.Set("pageToken", pageToken)
4798	return c
4799}
4800
4801// ReadMask sets the optional parameter "readMask": The fields to return
4802// for each Entry. If not set or empty, all fields are returned. For
4803// example, setting read_mask to contain only one path "name" will cause
4804// ListEntries to return a list of Entries with only "name" field.
4805func (c *ProjectsLocationsEntryGroupsEntriesListCall) ReadMask(readMask string) *ProjectsLocationsEntryGroupsEntriesListCall {
4806	c.urlParams_.Set("readMask", readMask)
4807	return c
4808}
4809
4810// Fields allows partial responses to be retrieved. See
4811// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4812// for more information.
4813func (c *ProjectsLocationsEntryGroupsEntriesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsEntriesListCall {
4814	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4815	return c
4816}
4817
4818// IfNoneMatch sets the optional parameter which makes the operation
4819// fail if the object's ETag matches the given value. This is useful for
4820// getting updates only after the object has changed since the last
4821// request. Use googleapi.IsNotModified to check whether the response
4822// error from Do is the result of In-None-Match.
4823func (c *ProjectsLocationsEntryGroupsEntriesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsEntryGroupsEntriesListCall {
4824	c.ifNoneMatch_ = entityTag
4825	return c
4826}
4827
4828// Context sets the context to be used in this call's Do method. Any
4829// pending HTTP request will be aborted if the provided context is
4830// canceled.
4831func (c *ProjectsLocationsEntryGroupsEntriesListCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsEntriesListCall {
4832	c.ctx_ = ctx
4833	return c
4834}
4835
4836// Header returns an http.Header that can be modified by the caller to
4837// add HTTP headers to the request.
4838func (c *ProjectsLocationsEntryGroupsEntriesListCall) Header() http.Header {
4839	if c.header_ == nil {
4840		c.header_ = make(http.Header)
4841	}
4842	return c.header_
4843}
4844
4845func (c *ProjectsLocationsEntryGroupsEntriesListCall) doRequest(alt string) (*http.Response, error) {
4846	reqHeaders := make(http.Header)
4847	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210830")
4848	for k, v := range c.header_ {
4849		reqHeaders[k] = v
4850	}
4851	reqHeaders.Set("User-Agent", c.s.userAgent())
4852	if c.ifNoneMatch_ != "" {
4853		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
4854	}
4855	var body io.Reader = nil
4856	c.urlParams_.Set("alt", alt)
4857	c.urlParams_.Set("prettyPrint", "false")
4858	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/entries")
4859	urls += "?" + c.urlParams_.Encode()
4860	req, err := http.NewRequest("GET", urls, body)
4861	if err != nil {
4862		return nil, err
4863	}
4864	req.Header = reqHeaders
4865	googleapi.Expand(req.URL, map[string]string{
4866		"parent": c.parent,
4867	})
4868	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4869}
4870
4871// Do executes the "datacatalog.projects.locations.entryGroups.entries.list" call.
4872// Exactly one of *GoogleCloudDatacatalogV1beta1ListEntriesResponse or
4873// error will be non-nil. Any non-2xx status code is an error. Response
4874// headers are in either
4875// *GoogleCloudDatacatalogV1beta1ListEntriesResponse.ServerResponse.Heade
4876// r or (if a response was returned at all) in
4877// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
4878// whether the returned error was because http.StatusNotModified was
4879// returned.
4880func (c *ProjectsLocationsEntryGroupsEntriesListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1ListEntriesResponse, error) {
4881	gensupport.SetOptions(c.urlParams_, opts...)
4882	res, err := c.doRequest("json")
4883	if res != nil && res.StatusCode == http.StatusNotModified {
4884		if res.Body != nil {
4885			res.Body.Close()
4886		}
4887		return nil, &googleapi.Error{
4888			Code:   res.StatusCode,
4889			Header: res.Header,
4890		}
4891	}
4892	if err != nil {
4893		return nil, err
4894	}
4895	defer googleapi.CloseBody(res)
4896	if err := googleapi.CheckResponse(res); err != nil {
4897		return nil, err
4898	}
4899	ret := &GoogleCloudDatacatalogV1beta1ListEntriesResponse{
4900		ServerResponse: googleapi.ServerResponse{
4901			Header:         res.Header,
4902			HTTPStatusCode: res.StatusCode,
4903		},
4904	}
4905	target := &ret
4906	if err := gensupport.DecodeResponse(target, res); err != nil {
4907		return nil, err
4908	}
4909	return ret, nil
4910	// {
4911	//   "description": "Lists entries.",
4912	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries",
4913	//   "httpMethod": "GET",
4914	//   "id": "datacatalog.projects.locations.entryGroups.entries.list",
4915	//   "parameterOrder": [
4916	//     "parent"
4917	//   ],
4918	//   "parameters": {
4919	//     "pageSize": {
4920	//       "description": "The maximum number of items to return. Default is 10. Max limit is 1000. Throws an invalid argument for `page_size \u003e 1000`.",
4921	//       "format": "int32",
4922	//       "location": "query",
4923	//       "type": "integer"
4924	//     },
4925	//     "pageToken": {
4926	//       "description": "Token that specifies which page is requested. If empty, the first page is returned.",
4927	//       "location": "query",
4928	//       "type": "string"
4929	//     },
4930	//     "parent": {
4931	//       "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}",
4932	//       "location": "path",
4933	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
4934	//       "required": true,
4935	//       "type": "string"
4936	//     },
4937	//     "readMask": {
4938	//       "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.",
4939	//       "format": "google-fieldmask",
4940	//       "location": "query",
4941	//       "type": "string"
4942	//     }
4943	//   },
4944	//   "path": "v1beta1/{+parent}/entries",
4945	//   "response": {
4946	//     "$ref": "GoogleCloudDatacatalogV1beta1ListEntriesResponse"
4947	//   },
4948	//   "scopes": [
4949	//     "https://www.googleapis.com/auth/cloud-platform"
4950	//   ]
4951	// }
4952
4953}
4954
4955// Pages invokes f for each page of results.
4956// A non-nil error returned from f will halt the iteration.
4957// The provided context supersedes any context provided to the Context method.
4958func (c *ProjectsLocationsEntryGroupsEntriesListCall) Pages(ctx context.Context, f func(*GoogleCloudDatacatalogV1beta1ListEntriesResponse) error) error {
4959	c.ctx_ = ctx
4960	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
4961	for {
4962		x, err := c.Do()
4963		if err != nil {
4964			return err
4965		}
4966		if err := f(x); err != nil {
4967			return err
4968		}
4969		if x.NextPageToken == "" {
4970			return nil
4971		}
4972		c.PageToken(x.NextPageToken)
4973	}
4974}
4975
4976// method id "datacatalog.projects.locations.entryGroups.entries.patch":
4977
4978type ProjectsLocationsEntryGroupsEntriesPatchCall struct {
4979	s                                  *Service
4980	name                               string
4981	googleclouddatacatalogv1beta1entry *GoogleCloudDatacatalogV1beta1Entry
4982	urlParams_                         gensupport.URLParams
4983	ctx_                               context.Context
4984	header_                            http.Header
4985}
4986
4987// Patch: Updates an existing entry. Users should enable the Data
4988// Catalog API in the project identified by the `entry.name` parameter
4989// (see [Data Catalog Resource Project]
4990// (https://cloud.google.com/data-catalog/docs/concepts/resource-project)
4991// for more information).
4992//
4993// - name: Output only. The Data Catalog resource name of the entry in
4994//   URL format. Example: *
4995//   projects/{project_id}/locations/{location}/entryGroups/{entry_group_
4996//   id}/entries/{entry_id} Note that this Entry and its child resources
4997//   may not actually be stored in the location in this name.
4998func (r *ProjectsLocationsEntryGroupsEntriesService) Patch(name string, googleclouddatacatalogv1beta1entry *GoogleCloudDatacatalogV1beta1Entry) *ProjectsLocationsEntryGroupsEntriesPatchCall {
4999	c := &ProjectsLocationsEntryGroupsEntriesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5000	c.name = name
5001	c.googleclouddatacatalogv1beta1entry = googleclouddatacatalogv1beta1entry
5002	return c
5003}
5004
5005// UpdateMask sets the optional parameter "updateMask": Names of fields
5006// whose values to overwrite on an entry. If this parameter is absent or
5007// empty, all modifiable fields are overwritten. If such fields are
5008// non-required and omitted in the request body, their values are
5009// emptied. The following fields are modifiable: * For entries with type
5010// `DATA_STREAM`: * `schema` * For entries with type `FILESET`: *
5011// `schema` * `display_name` * `description` * `gcs_fileset_spec` *
5012// `gcs_fileset_spec.file_patterns` * For entries with
5013// `user_specified_type`: * `schema` * `display_name` * `description` *
5014// `user_specified_type` * `user_specified_system` * `linked_resource` *
5015// `source_system_timestamps`
5016func (c *ProjectsLocationsEntryGroupsEntriesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsEntryGroupsEntriesPatchCall {
5017	c.urlParams_.Set("updateMask", updateMask)
5018	return c
5019}
5020
5021// Fields allows partial responses to be retrieved. See
5022// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5023// for more information.
5024func (c *ProjectsLocationsEntryGroupsEntriesPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsEntriesPatchCall {
5025	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5026	return c
5027}
5028
5029// Context sets the context to be used in this call's Do method. Any
5030// pending HTTP request will be aborted if the provided context is
5031// canceled.
5032func (c *ProjectsLocationsEntryGroupsEntriesPatchCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsEntriesPatchCall {
5033	c.ctx_ = ctx
5034	return c
5035}
5036
5037// Header returns an http.Header that can be modified by the caller to
5038// add HTTP headers to the request.
5039func (c *ProjectsLocationsEntryGroupsEntriesPatchCall) Header() http.Header {
5040	if c.header_ == nil {
5041		c.header_ = make(http.Header)
5042	}
5043	return c.header_
5044}
5045
5046func (c *ProjectsLocationsEntryGroupsEntriesPatchCall) doRequest(alt string) (*http.Response, error) {
5047	reqHeaders := make(http.Header)
5048	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210830")
5049	for k, v := range c.header_ {
5050		reqHeaders[k] = v
5051	}
5052	reqHeaders.Set("User-Agent", c.s.userAgent())
5053	var body io.Reader = nil
5054	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddatacatalogv1beta1entry)
5055	if err != nil {
5056		return nil, err
5057	}
5058	reqHeaders.Set("Content-Type", "application/json")
5059	c.urlParams_.Set("alt", alt)
5060	c.urlParams_.Set("prettyPrint", "false")
5061	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
5062	urls += "?" + c.urlParams_.Encode()
5063	req, err := http.NewRequest("PATCH", urls, body)
5064	if err != nil {
5065		return nil, err
5066	}
5067	req.Header = reqHeaders
5068	googleapi.Expand(req.URL, map[string]string{
5069		"name": c.name,
5070	})
5071	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5072}
5073
5074// Do executes the "datacatalog.projects.locations.entryGroups.entries.patch" call.
5075// Exactly one of *GoogleCloudDatacatalogV1beta1Entry or error will be
5076// non-nil. Any non-2xx status code is an error. Response headers are in
5077// either *GoogleCloudDatacatalogV1beta1Entry.ServerResponse.Header or
5078// (if a response was returned at all) in
5079// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
5080// whether the returned error was because http.StatusNotModified was
5081// returned.
5082func (c *ProjectsLocationsEntryGroupsEntriesPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1Entry, error) {
5083	gensupport.SetOptions(c.urlParams_, opts...)
5084	res, err := c.doRequest("json")
5085	if res != nil && res.StatusCode == http.StatusNotModified {
5086		if res.Body != nil {
5087			res.Body.Close()
5088		}
5089		return nil, &googleapi.Error{
5090			Code:   res.StatusCode,
5091			Header: res.Header,
5092		}
5093	}
5094	if err != nil {
5095		return nil, err
5096	}
5097	defer googleapi.CloseBody(res)
5098	if err := googleapi.CheckResponse(res); err != nil {
5099		return nil, err
5100	}
5101	ret := &GoogleCloudDatacatalogV1beta1Entry{
5102		ServerResponse: googleapi.ServerResponse{
5103			Header:         res.Header,
5104			HTTPStatusCode: res.StatusCode,
5105		},
5106	}
5107	target := &ret
5108	if err := gensupport.DecodeResponse(target, res); err != nil {
5109		return nil, err
5110	}
5111	return ret, nil
5112	// {
5113	//   "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).",
5114	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}",
5115	//   "httpMethod": "PATCH",
5116	//   "id": "datacatalog.projects.locations.entryGroups.entries.patch",
5117	//   "parameterOrder": [
5118	//     "name"
5119	//   ],
5120	//   "parameters": {
5121	//     "name": {
5122	//       "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.",
5123	//       "location": "path",
5124	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$",
5125	//       "required": true,
5126	//       "type": "string"
5127	//     },
5128	//     "updateMask": {
5129	//       "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`",
5130	//       "format": "google-fieldmask",
5131	//       "location": "query",
5132	//       "type": "string"
5133	//     }
5134	//   },
5135	//   "path": "v1beta1/{+name}",
5136	//   "request": {
5137	//     "$ref": "GoogleCloudDatacatalogV1beta1Entry"
5138	//   },
5139	//   "response": {
5140	//     "$ref": "GoogleCloudDatacatalogV1beta1Entry"
5141	//   },
5142	//   "scopes": [
5143	//     "https://www.googleapis.com/auth/cloud-platform"
5144	//   ]
5145	// }
5146
5147}
5148
5149// method id "datacatalog.projects.locations.entryGroups.entries.testIamPermissions":
5150
5151type ProjectsLocationsEntryGroupsEntriesTestIamPermissionsCall struct {
5152	s                         *Service
5153	resource                  string
5154	testiampermissionsrequest *TestIamPermissionsRequest
5155	urlParams_                gensupport.URLParams
5156	ctx_                      context.Context
5157	header_                   http.Header
5158}
5159
5160// TestIamPermissions: Returns the caller's permissions on a resource.
5161// If the resource does not exist, an empty set of permissions is
5162// returned (We don't return a `NOT_FOUND` error). Supported resources
5163// are: - Tag templates. - Entries. - Entry groups. Note, this method
5164// cannot be used to manage policies for BigQuery, Pub/Sub and any
5165// external Google Cloud Platform resources synced to Data Catalog. A
5166// caller is not required to have Google IAM permission to make this
5167// request.
5168//
5169// - resource: REQUIRED: The resource for which the policy detail is
5170//   being requested. See the operation documentation for the
5171//   appropriate value for this field.
5172func (r *ProjectsLocationsEntryGroupsEntriesService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsEntryGroupsEntriesTestIamPermissionsCall {
5173	c := &ProjectsLocationsEntryGroupsEntriesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5174	c.resource = resource
5175	c.testiampermissionsrequest = testiampermissionsrequest
5176	return c
5177}
5178
5179// Fields allows partial responses to be retrieved. See
5180// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5181// for more information.
5182func (c *ProjectsLocationsEntryGroupsEntriesTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsEntriesTestIamPermissionsCall {
5183	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5184	return c
5185}
5186
5187// Context sets the context to be used in this call's Do method. Any
5188// pending HTTP request will be aborted if the provided context is
5189// canceled.
5190func (c *ProjectsLocationsEntryGroupsEntriesTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsEntriesTestIamPermissionsCall {
5191	c.ctx_ = ctx
5192	return c
5193}
5194
5195// Header returns an http.Header that can be modified by the caller to
5196// add HTTP headers to the request.
5197func (c *ProjectsLocationsEntryGroupsEntriesTestIamPermissionsCall) Header() http.Header {
5198	if c.header_ == nil {
5199		c.header_ = make(http.Header)
5200	}
5201	return c.header_
5202}
5203
5204func (c *ProjectsLocationsEntryGroupsEntriesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
5205	reqHeaders := make(http.Header)
5206	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210830")
5207	for k, v := range c.header_ {
5208		reqHeaders[k] = v
5209	}
5210	reqHeaders.Set("User-Agent", c.s.userAgent())
5211	var body io.Reader = nil
5212	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
5213	if err != nil {
5214		return nil, err
5215	}
5216	reqHeaders.Set("Content-Type", "application/json")
5217	c.urlParams_.Set("alt", alt)
5218	c.urlParams_.Set("prettyPrint", "false")
5219	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:testIamPermissions")
5220	urls += "?" + c.urlParams_.Encode()
5221	req, err := http.NewRequest("POST", urls, body)
5222	if err != nil {
5223		return nil, err
5224	}
5225	req.Header = reqHeaders
5226	googleapi.Expand(req.URL, map[string]string{
5227		"resource": c.resource,
5228	})
5229	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5230}
5231
5232// Do executes the "datacatalog.projects.locations.entryGroups.entries.testIamPermissions" call.
5233// Exactly one of *TestIamPermissionsResponse or error will be non-nil.
5234// Any non-2xx status code is an error. Response headers are in either
5235// *TestIamPermissionsResponse.ServerResponse.Header or (if a response
5236// was returned at all) in error.(*googleapi.Error).Header. Use
5237// googleapi.IsNotModified to check whether the returned error was
5238// because http.StatusNotModified was returned.
5239func (c *ProjectsLocationsEntryGroupsEntriesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
5240	gensupport.SetOptions(c.urlParams_, opts...)
5241	res, err := c.doRequest("json")
5242	if res != nil && res.StatusCode == http.StatusNotModified {
5243		if res.Body != nil {
5244			res.Body.Close()
5245		}
5246		return nil, &googleapi.Error{
5247			Code:   res.StatusCode,
5248			Header: res.Header,
5249		}
5250	}
5251	if err != nil {
5252		return nil, err
5253	}
5254	defer googleapi.CloseBody(res)
5255	if err := googleapi.CheckResponse(res); err != nil {
5256		return nil, err
5257	}
5258	ret := &TestIamPermissionsResponse{
5259		ServerResponse: googleapi.ServerResponse{
5260			Header:         res.Header,
5261			HTTPStatusCode: res.StatusCode,
5262		},
5263	}
5264	target := &ret
5265	if err := gensupport.DecodeResponse(target, res); err != nil {
5266		return nil, err
5267	}
5268	return ret, nil
5269	// {
5270	//   "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.",
5271	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}:testIamPermissions",
5272	//   "httpMethod": "POST",
5273	//   "id": "datacatalog.projects.locations.entryGroups.entries.testIamPermissions",
5274	//   "parameterOrder": [
5275	//     "resource"
5276	//   ],
5277	//   "parameters": {
5278	//     "resource": {
5279	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
5280	//       "location": "path",
5281	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$",
5282	//       "required": true,
5283	//       "type": "string"
5284	//     }
5285	//   },
5286	//   "path": "v1beta1/{+resource}:testIamPermissions",
5287	//   "request": {
5288	//     "$ref": "TestIamPermissionsRequest"
5289	//   },
5290	//   "response": {
5291	//     "$ref": "TestIamPermissionsResponse"
5292	//   },
5293	//   "scopes": [
5294	//     "https://www.googleapis.com/auth/cloud-platform"
5295	//   ]
5296	// }
5297
5298}
5299
5300// method id "datacatalog.projects.locations.entryGroups.entries.tags.create":
5301
5302type ProjectsLocationsEntryGroupsEntriesTagsCreateCall struct {
5303	s                                *Service
5304	parent                           string
5305	googleclouddatacatalogv1beta1tag *GoogleCloudDatacatalogV1beta1Tag
5306	urlParams_                       gensupport.URLParams
5307	ctx_                             context.Context
5308	header_                          http.Header
5309}
5310
5311// Create: Creates a tag on an Entry. Note: The project identified by
5312// the `parent` parameter for the tag
5313// (https://cloud.google.com/data-catalog/docs/reference/rest/v1beta1/projects.locations.entryGroups.entries.tags/create#path-parameters)
5314// and the tag template
5315// (https://cloud.google.com/data-catalog/docs/reference/rest/v1beta1/projects.locations.tagTemplates/create#path-parameters)
5316// used to create the tag must be from the same organization.
5317//
5318// - parent: The name of the resource to attach this tag to. Tags can be
5319//   attached to Entries. Example: *
5320//   projects/{project_id}/locations/{location}/entryGroups/{entry_group_
5321//   id}/entries/{entry_id} Note that this Tag and its child resources
5322//   may not actually be stored in the location in this name.
5323func (r *ProjectsLocationsEntryGroupsEntriesTagsService) Create(parent string, googleclouddatacatalogv1beta1tag *GoogleCloudDatacatalogV1beta1Tag) *ProjectsLocationsEntryGroupsEntriesTagsCreateCall {
5324	c := &ProjectsLocationsEntryGroupsEntriesTagsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5325	c.parent = parent
5326	c.googleclouddatacatalogv1beta1tag = googleclouddatacatalogv1beta1tag
5327	return c
5328}
5329
5330// Fields allows partial responses to be retrieved. See
5331// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5332// for more information.
5333func (c *ProjectsLocationsEntryGroupsEntriesTagsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsEntriesTagsCreateCall {
5334	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5335	return c
5336}
5337
5338// Context sets the context to be used in this call's Do method. Any
5339// pending HTTP request will be aborted if the provided context is
5340// canceled.
5341func (c *ProjectsLocationsEntryGroupsEntriesTagsCreateCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsEntriesTagsCreateCall {
5342	c.ctx_ = ctx
5343	return c
5344}
5345
5346// Header returns an http.Header that can be modified by the caller to
5347// add HTTP headers to the request.
5348func (c *ProjectsLocationsEntryGroupsEntriesTagsCreateCall) Header() http.Header {
5349	if c.header_ == nil {
5350		c.header_ = make(http.Header)
5351	}
5352	return c.header_
5353}
5354
5355func (c *ProjectsLocationsEntryGroupsEntriesTagsCreateCall) doRequest(alt string) (*http.Response, error) {
5356	reqHeaders := make(http.Header)
5357	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210830")
5358	for k, v := range c.header_ {
5359		reqHeaders[k] = v
5360	}
5361	reqHeaders.Set("User-Agent", c.s.userAgent())
5362	var body io.Reader = nil
5363	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddatacatalogv1beta1tag)
5364	if err != nil {
5365		return nil, err
5366	}
5367	reqHeaders.Set("Content-Type", "application/json")
5368	c.urlParams_.Set("alt", alt)
5369	c.urlParams_.Set("prettyPrint", "false")
5370	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/tags")
5371	urls += "?" + c.urlParams_.Encode()
5372	req, err := http.NewRequest("POST", urls, body)
5373	if err != nil {
5374		return nil, err
5375	}
5376	req.Header = reqHeaders
5377	googleapi.Expand(req.URL, map[string]string{
5378		"parent": c.parent,
5379	})
5380	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5381}
5382
5383// Do executes the "datacatalog.projects.locations.entryGroups.entries.tags.create" call.
5384// Exactly one of *GoogleCloudDatacatalogV1beta1Tag or error will be
5385// non-nil. Any non-2xx status code is an error. Response headers are in
5386// either *GoogleCloudDatacatalogV1beta1Tag.ServerResponse.Header or (if
5387// a response was returned at all) in error.(*googleapi.Error).Header.
5388// Use googleapi.IsNotModified to check whether the returned error was
5389// because http.StatusNotModified was returned.
5390func (c *ProjectsLocationsEntryGroupsEntriesTagsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1Tag, error) {
5391	gensupport.SetOptions(c.urlParams_, opts...)
5392	res, err := c.doRequest("json")
5393	if res != nil && res.StatusCode == http.StatusNotModified {
5394		if res.Body != nil {
5395			res.Body.Close()
5396		}
5397		return nil, &googleapi.Error{
5398			Code:   res.StatusCode,
5399			Header: res.Header,
5400		}
5401	}
5402	if err != nil {
5403		return nil, err
5404	}
5405	defer googleapi.CloseBody(res)
5406	if err := googleapi.CheckResponse(res); err != nil {
5407		return nil, err
5408	}
5409	ret := &GoogleCloudDatacatalogV1beta1Tag{
5410		ServerResponse: googleapi.ServerResponse{
5411			Header:         res.Header,
5412			HTTPStatusCode: res.StatusCode,
5413		},
5414	}
5415	target := &ret
5416	if err := gensupport.DecodeResponse(target, res); err != nil {
5417		return nil, err
5418	}
5419	return ret, nil
5420	// {
5421	//   "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.",
5422	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}/tags",
5423	//   "httpMethod": "POST",
5424	//   "id": "datacatalog.projects.locations.entryGroups.entries.tags.create",
5425	//   "parameterOrder": [
5426	//     "parent"
5427	//   ],
5428	//   "parameters": {
5429	//     "parent": {
5430	//       "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.",
5431	//       "location": "path",
5432	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$",
5433	//       "required": true,
5434	//       "type": "string"
5435	//     }
5436	//   },
5437	//   "path": "v1beta1/{+parent}/tags",
5438	//   "request": {
5439	//     "$ref": "GoogleCloudDatacatalogV1beta1Tag"
5440	//   },
5441	//   "response": {
5442	//     "$ref": "GoogleCloudDatacatalogV1beta1Tag"
5443	//   },
5444	//   "scopes": [
5445	//     "https://www.googleapis.com/auth/cloud-platform"
5446	//   ]
5447	// }
5448
5449}
5450
5451// method id "datacatalog.projects.locations.entryGroups.entries.tags.delete":
5452
5453type ProjectsLocationsEntryGroupsEntriesTagsDeleteCall struct {
5454	s          *Service
5455	name       string
5456	urlParams_ gensupport.URLParams
5457	ctx_       context.Context
5458	header_    http.Header
5459}
5460
5461// Delete: Deletes a tag.
5462//
5463// - name: The name of the tag to delete. Example: *
5464//   projects/{project_id}/locations/{location}/entryGroups/{entry_group_
5465//   id}/entries/{entry_id}/tags/{tag_id}.
5466func (r *ProjectsLocationsEntryGroupsEntriesTagsService) Delete(name string) *ProjectsLocationsEntryGroupsEntriesTagsDeleteCall {
5467	c := &ProjectsLocationsEntryGroupsEntriesTagsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5468	c.name = name
5469	return c
5470}
5471
5472// Fields allows partial responses to be retrieved. See
5473// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5474// for more information.
5475func (c *ProjectsLocationsEntryGroupsEntriesTagsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsEntriesTagsDeleteCall {
5476	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5477	return c
5478}
5479
5480// Context sets the context to be used in this call's Do method. Any
5481// pending HTTP request will be aborted if the provided context is
5482// canceled.
5483func (c *ProjectsLocationsEntryGroupsEntriesTagsDeleteCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsEntriesTagsDeleteCall {
5484	c.ctx_ = ctx
5485	return c
5486}
5487
5488// Header returns an http.Header that can be modified by the caller to
5489// add HTTP headers to the request.
5490func (c *ProjectsLocationsEntryGroupsEntriesTagsDeleteCall) Header() http.Header {
5491	if c.header_ == nil {
5492		c.header_ = make(http.Header)
5493	}
5494	return c.header_
5495}
5496
5497func (c *ProjectsLocationsEntryGroupsEntriesTagsDeleteCall) doRequest(alt string) (*http.Response, error) {
5498	reqHeaders := make(http.Header)
5499	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210830")
5500	for k, v := range c.header_ {
5501		reqHeaders[k] = v
5502	}
5503	reqHeaders.Set("User-Agent", c.s.userAgent())
5504	var body io.Reader = nil
5505	c.urlParams_.Set("alt", alt)
5506	c.urlParams_.Set("prettyPrint", "false")
5507	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
5508	urls += "?" + c.urlParams_.Encode()
5509	req, err := http.NewRequest("DELETE", urls, body)
5510	if err != nil {
5511		return nil, err
5512	}
5513	req.Header = reqHeaders
5514	googleapi.Expand(req.URL, map[string]string{
5515		"name": c.name,
5516	})
5517	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5518}
5519
5520// Do executes the "datacatalog.projects.locations.entryGroups.entries.tags.delete" call.
5521// Exactly one of *Empty or error will be non-nil. Any non-2xx status
5522// code is an error. Response headers are in either
5523// *Empty.ServerResponse.Header or (if a response was returned at all)
5524// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
5525// check whether the returned error was because http.StatusNotModified
5526// was returned.
5527func (c *ProjectsLocationsEntryGroupsEntriesTagsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
5528	gensupport.SetOptions(c.urlParams_, opts...)
5529	res, err := c.doRequest("json")
5530	if res != nil && res.StatusCode == http.StatusNotModified {
5531		if res.Body != nil {
5532			res.Body.Close()
5533		}
5534		return nil, &googleapi.Error{
5535			Code:   res.StatusCode,
5536			Header: res.Header,
5537		}
5538	}
5539	if err != nil {
5540		return nil, err
5541	}
5542	defer googleapi.CloseBody(res)
5543	if err := googleapi.CheckResponse(res); err != nil {
5544		return nil, err
5545	}
5546	ret := &Empty{
5547		ServerResponse: googleapi.ServerResponse{
5548			Header:         res.Header,
5549			HTTPStatusCode: res.StatusCode,
5550		},
5551	}
5552	target := &ret
5553	if err := gensupport.DecodeResponse(target, res); err != nil {
5554		return nil, err
5555	}
5556	return ret, nil
5557	// {
5558	//   "description": "Deletes a tag.",
5559	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}/tags/{tagsId}",
5560	//   "httpMethod": "DELETE",
5561	//   "id": "datacatalog.projects.locations.entryGroups.entries.tags.delete",
5562	//   "parameterOrder": [
5563	//     "name"
5564	//   ],
5565	//   "parameters": {
5566	//     "name": {
5567	//       "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}",
5568	//       "location": "path",
5569	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+/tags/[^/]+$",
5570	//       "required": true,
5571	//       "type": "string"
5572	//     }
5573	//   },
5574	//   "path": "v1beta1/{+name}",
5575	//   "response": {
5576	//     "$ref": "Empty"
5577	//   },
5578	//   "scopes": [
5579	//     "https://www.googleapis.com/auth/cloud-platform"
5580	//   ]
5581	// }
5582
5583}
5584
5585// method id "datacatalog.projects.locations.entryGroups.entries.tags.list":
5586
5587type ProjectsLocationsEntryGroupsEntriesTagsListCall struct {
5588	s            *Service
5589	parent       string
5590	urlParams_   gensupport.URLParams
5591	ifNoneMatch_ string
5592	ctx_         context.Context
5593	header_      http.Header
5594}
5595
5596// List: Lists the tags on an Entry.
5597//
5598// - parent: The name of the Data Catalog resource to list the tags of.
5599//   The resource could be an Entry or an EntryGroup. Examples: *
5600//   projects/{project_id}/locations/{location}/entryGroups/{entry_group_
5601//   id} *
5602//   projects/{project_id}/locations/{location}/entryGroups/{entry_group_
5603//   id}/entries/{entry_id}.
5604func (r *ProjectsLocationsEntryGroupsEntriesTagsService) List(parent string) *ProjectsLocationsEntryGroupsEntriesTagsListCall {
5605	c := &ProjectsLocationsEntryGroupsEntriesTagsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5606	c.parent = parent
5607	return c
5608}
5609
5610// PageSize sets the optional parameter "pageSize": The maximum number
5611// of tags to return. Default is 10. Max limit is 1000.
5612func (c *ProjectsLocationsEntryGroupsEntriesTagsListCall) PageSize(pageSize int64) *ProjectsLocationsEntryGroupsEntriesTagsListCall {
5613	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
5614	return c
5615}
5616
5617// PageToken sets the optional parameter "pageToken": Token that
5618// specifies which page is requested. If empty, the first page is
5619// returned.
5620func (c *ProjectsLocationsEntryGroupsEntriesTagsListCall) PageToken(pageToken string) *ProjectsLocationsEntryGroupsEntriesTagsListCall {
5621	c.urlParams_.Set("pageToken", pageToken)
5622	return c
5623}
5624
5625// Fields allows partial responses to be retrieved. See
5626// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5627// for more information.
5628func (c *ProjectsLocationsEntryGroupsEntriesTagsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsEntriesTagsListCall {
5629	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5630	return c
5631}
5632
5633// IfNoneMatch sets the optional parameter which makes the operation
5634// fail if the object's ETag matches the given value. This is useful for
5635// getting updates only after the object has changed since the last
5636// request. Use googleapi.IsNotModified to check whether the response
5637// error from Do is the result of In-None-Match.
5638func (c *ProjectsLocationsEntryGroupsEntriesTagsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsEntryGroupsEntriesTagsListCall {
5639	c.ifNoneMatch_ = entityTag
5640	return c
5641}
5642
5643// Context sets the context to be used in this call's Do method. Any
5644// pending HTTP request will be aborted if the provided context is
5645// canceled.
5646func (c *ProjectsLocationsEntryGroupsEntriesTagsListCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsEntriesTagsListCall {
5647	c.ctx_ = ctx
5648	return c
5649}
5650
5651// Header returns an http.Header that can be modified by the caller to
5652// add HTTP headers to the request.
5653func (c *ProjectsLocationsEntryGroupsEntriesTagsListCall) Header() http.Header {
5654	if c.header_ == nil {
5655		c.header_ = make(http.Header)
5656	}
5657	return c.header_
5658}
5659
5660func (c *ProjectsLocationsEntryGroupsEntriesTagsListCall) doRequest(alt string) (*http.Response, error) {
5661	reqHeaders := make(http.Header)
5662	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210830")
5663	for k, v := range c.header_ {
5664		reqHeaders[k] = v
5665	}
5666	reqHeaders.Set("User-Agent", c.s.userAgent())
5667	if c.ifNoneMatch_ != "" {
5668		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
5669	}
5670	var body io.Reader = nil
5671	c.urlParams_.Set("alt", alt)
5672	c.urlParams_.Set("prettyPrint", "false")
5673	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/tags")
5674	urls += "?" + c.urlParams_.Encode()
5675	req, err := http.NewRequest("GET", urls, body)
5676	if err != nil {
5677		return nil, err
5678	}
5679	req.Header = reqHeaders
5680	googleapi.Expand(req.URL, map[string]string{
5681		"parent": c.parent,
5682	})
5683	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5684}
5685
5686// Do executes the "datacatalog.projects.locations.entryGroups.entries.tags.list" call.
5687// Exactly one of *GoogleCloudDatacatalogV1beta1ListTagsResponse or
5688// error will be non-nil. Any non-2xx status code is an error. Response
5689// headers are in either
5690// *GoogleCloudDatacatalogV1beta1ListTagsResponse.ServerResponse.Header
5691// or (if a response was returned at all) in
5692// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
5693// whether the returned error was because http.StatusNotModified was
5694// returned.
5695func (c *ProjectsLocationsEntryGroupsEntriesTagsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1ListTagsResponse, error) {
5696	gensupport.SetOptions(c.urlParams_, opts...)
5697	res, err := c.doRequest("json")
5698	if res != nil && res.StatusCode == http.StatusNotModified {
5699		if res.Body != nil {
5700			res.Body.Close()
5701		}
5702		return nil, &googleapi.Error{
5703			Code:   res.StatusCode,
5704			Header: res.Header,
5705		}
5706	}
5707	if err != nil {
5708		return nil, err
5709	}
5710	defer googleapi.CloseBody(res)
5711	if err := googleapi.CheckResponse(res); err != nil {
5712		return nil, err
5713	}
5714	ret := &GoogleCloudDatacatalogV1beta1ListTagsResponse{
5715		ServerResponse: googleapi.ServerResponse{
5716			Header:         res.Header,
5717			HTTPStatusCode: res.StatusCode,
5718		},
5719	}
5720	target := &ret
5721	if err := gensupport.DecodeResponse(target, res); err != nil {
5722		return nil, err
5723	}
5724	return ret, nil
5725	// {
5726	//   "description": "Lists the tags on an Entry.",
5727	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}/tags",
5728	//   "httpMethod": "GET",
5729	//   "id": "datacatalog.projects.locations.entryGroups.entries.tags.list",
5730	//   "parameterOrder": [
5731	//     "parent"
5732	//   ],
5733	//   "parameters": {
5734	//     "pageSize": {
5735	//       "description": "The maximum number of tags to return. Default is 10. Max limit is 1000.",
5736	//       "format": "int32",
5737	//       "location": "query",
5738	//       "type": "integer"
5739	//     },
5740	//     "pageToken": {
5741	//       "description": "Token that specifies which page is requested. If empty, the first page is returned.",
5742	//       "location": "query",
5743	//       "type": "string"
5744	//     },
5745	//     "parent": {
5746	//       "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}",
5747	//       "location": "path",
5748	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$",
5749	//       "required": true,
5750	//       "type": "string"
5751	//     }
5752	//   },
5753	//   "path": "v1beta1/{+parent}/tags",
5754	//   "response": {
5755	//     "$ref": "GoogleCloudDatacatalogV1beta1ListTagsResponse"
5756	//   },
5757	//   "scopes": [
5758	//     "https://www.googleapis.com/auth/cloud-platform"
5759	//   ]
5760	// }
5761
5762}
5763
5764// Pages invokes f for each page of results.
5765// A non-nil error returned from f will halt the iteration.
5766// The provided context supersedes any context provided to the Context method.
5767func (c *ProjectsLocationsEntryGroupsEntriesTagsListCall) Pages(ctx context.Context, f func(*GoogleCloudDatacatalogV1beta1ListTagsResponse) error) error {
5768	c.ctx_ = ctx
5769	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
5770	for {
5771		x, err := c.Do()
5772		if err != nil {
5773			return err
5774		}
5775		if err := f(x); err != nil {
5776			return err
5777		}
5778		if x.NextPageToken == "" {
5779			return nil
5780		}
5781		c.PageToken(x.NextPageToken)
5782	}
5783}
5784
5785// method id "datacatalog.projects.locations.entryGroups.entries.tags.patch":
5786
5787type ProjectsLocationsEntryGroupsEntriesTagsPatchCall struct {
5788	s                                *Service
5789	nameid                           string
5790	googleclouddatacatalogv1beta1tag *GoogleCloudDatacatalogV1beta1Tag
5791	urlParams_                       gensupport.URLParams
5792	ctx_                             context.Context
5793	header_                          http.Header
5794}
5795
5796// Patch: Updates an existing tag.
5797//
5798// - name: The resource name of the tag in URL format. Example: *
5799//   projects/{project_id}/locations/{location}/entrygroups/{entry_group_
5800//   id}/entries/{entry_id}/tags/{tag_id} where `tag_id` is a
5801//   system-generated identifier. Note that this Tag may not actually be
5802//   stored in the location in this name.
5803func (r *ProjectsLocationsEntryGroupsEntriesTagsService) Patch(nameid string, googleclouddatacatalogv1beta1tag *GoogleCloudDatacatalogV1beta1Tag) *ProjectsLocationsEntryGroupsEntriesTagsPatchCall {
5804	c := &ProjectsLocationsEntryGroupsEntriesTagsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5805	c.nameid = nameid
5806	c.googleclouddatacatalogv1beta1tag = googleclouddatacatalogv1beta1tag
5807	return c
5808}
5809
5810// UpdateMask sets the optional parameter "updateMask": Note: Currently,
5811// this parameter can only take "fields" as value. Names of fields
5812// whose values to overwrite on a tag. Currently, a tag has the only
5813// modifiable field with the name `fields`. In general, if this
5814// parameter is absent or empty, all modifiable fields are overwritten.
5815// If such fields are non-required and omitted in the request body,
5816// their values are emptied.
5817func (c *ProjectsLocationsEntryGroupsEntriesTagsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsEntryGroupsEntriesTagsPatchCall {
5818	c.urlParams_.Set("updateMask", updateMask)
5819	return c
5820}
5821
5822// Fields allows partial responses to be retrieved. See
5823// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5824// for more information.
5825func (c *ProjectsLocationsEntryGroupsEntriesTagsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsEntriesTagsPatchCall {
5826	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5827	return c
5828}
5829
5830// Context sets the context to be used in this call's Do method. Any
5831// pending HTTP request will be aborted if the provided context is
5832// canceled.
5833func (c *ProjectsLocationsEntryGroupsEntriesTagsPatchCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsEntriesTagsPatchCall {
5834	c.ctx_ = ctx
5835	return c
5836}
5837
5838// Header returns an http.Header that can be modified by the caller to
5839// add HTTP headers to the request.
5840func (c *ProjectsLocationsEntryGroupsEntriesTagsPatchCall) Header() http.Header {
5841	if c.header_ == nil {
5842		c.header_ = make(http.Header)
5843	}
5844	return c.header_
5845}
5846
5847func (c *ProjectsLocationsEntryGroupsEntriesTagsPatchCall) doRequest(alt string) (*http.Response, error) {
5848	reqHeaders := make(http.Header)
5849	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210830")
5850	for k, v := range c.header_ {
5851		reqHeaders[k] = v
5852	}
5853	reqHeaders.Set("User-Agent", c.s.userAgent())
5854	var body io.Reader = nil
5855	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddatacatalogv1beta1tag)
5856	if err != nil {
5857		return nil, err
5858	}
5859	reqHeaders.Set("Content-Type", "application/json")
5860	c.urlParams_.Set("alt", alt)
5861	c.urlParams_.Set("prettyPrint", "false")
5862	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
5863	urls += "?" + c.urlParams_.Encode()
5864	req, err := http.NewRequest("PATCH", urls, body)
5865	if err != nil {
5866		return nil, err
5867	}
5868	req.Header = reqHeaders
5869	googleapi.Expand(req.URL, map[string]string{
5870		"name": c.nameid,
5871	})
5872	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5873}
5874
5875// Do executes the "datacatalog.projects.locations.entryGroups.entries.tags.patch" call.
5876// Exactly one of *GoogleCloudDatacatalogV1beta1Tag or error will be
5877// non-nil. Any non-2xx status code is an error. Response headers are in
5878// either *GoogleCloudDatacatalogV1beta1Tag.ServerResponse.Header or (if
5879// a response was returned at all) in error.(*googleapi.Error).Header.
5880// Use googleapi.IsNotModified to check whether the returned error was
5881// because http.StatusNotModified was returned.
5882func (c *ProjectsLocationsEntryGroupsEntriesTagsPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1Tag, error) {
5883	gensupport.SetOptions(c.urlParams_, opts...)
5884	res, err := c.doRequest("json")
5885	if res != nil && res.StatusCode == http.StatusNotModified {
5886		if res.Body != nil {
5887			res.Body.Close()
5888		}
5889		return nil, &googleapi.Error{
5890			Code:   res.StatusCode,
5891			Header: res.Header,
5892		}
5893	}
5894	if err != nil {
5895		return nil, err
5896	}
5897	defer googleapi.CloseBody(res)
5898	if err := googleapi.CheckResponse(res); err != nil {
5899		return nil, err
5900	}
5901	ret := &GoogleCloudDatacatalogV1beta1Tag{
5902		ServerResponse: googleapi.ServerResponse{
5903			Header:         res.Header,
5904			HTTPStatusCode: res.StatusCode,
5905		},
5906	}
5907	target := &ret
5908	if err := gensupport.DecodeResponse(target, res); err != nil {
5909		return nil, err
5910	}
5911	return ret, nil
5912	// {
5913	//   "description": "Updates an existing tag.",
5914	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}/tags/{tagsId}",
5915	//   "httpMethod": "PATCH",
5916	//   "id": "datacatalog.projects.locations.entryGroups.entries.tags.patch",
5917	//   "parameterOrder": [
5918	//     "name"
5919	//   ],
5920	//   "parameters": {
5921	//     "name": {
5922	//       "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.",
5923	//       "location": "path",
5924	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+/tags/[^/]+$",
5925	//       "required": true,
5926	//       "type": "string"
5927	//     },
5928	//     "updateMask": {
5929	//       "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.",
5930	//       "format": "google-fieldmask",
5931	//       "location": "query",
5932	//       "type": "string"
5933	//     }
5934	//   },
5935	//   "path": "v1beta1/{+name}",
5936	//   "request": {
5937	//     "$ref": "GoogleCloudDatacatalogV1beta1Tag"
5938	//   },
5939	//   "response": {
5940	//     "$ref": "GoogleCloudDatacatalogV1beta1Tag"
5941	//   },
5942	//   "scopes": [
5943	//     "https://www.googleapis.com/auth/cloud-platform"
5944	//   ]
5945	// }
5946
5947}
5948
5949// method id "datacatalog.projects.locations.entryGroups.tags.create":
5950
5951type ProjectsLocationsEntryGroupsTagsCreateCall struct {
5952	s                                *Service
5953	parent                           string
5954	googleclouddatacatalogv1beta1tag *GoogleCloudDatacatalogV1beta1Tag
5955	urlParams_                       gensupport.URLParams
5956	ctx_                             context.Context
5957	header_                          http.Header
5958}
5959
5960// Create: Creates a tag on an Entry. Note: The project identified by
5961// the `parent` parameter for the tag
5962// (https://cloud.google.com/data-catalog/docs/reference/rest/v1beta1/projects.locations.entryGroups.entries.tags/create#path-parameters)
5963// and the tag template
5964// (https://cloud.google.com/data-catalog/docs/reference/rest/v1beta1/projects.locations.tagTemplates/create#path-parameters)
5965// used to create the tag must be from the same organization.
5966//
5967// - parent: The name of the resource to attach this tag to. Tags can be
5968//   attached to Entries. Example: *
5969//   projects/{project_id}/locations/{location}/entryGroups/{entry_group_
5970//   id}/entries/{entry_id} Note that this Tag and its child resources
5971//   may not actually be stored in the location in this name.
5972func (r *ProjectsLocationsEntryGroupsTagsService) Create(parent string, googleclouddatacatalogv1beta1tag *GoogleCloudDatacatalogV1beta1Tag) *ProjectsLocationsEntryGroupsTagsCreateCall {
5973	c := &ProjectsLocationsEntryGroupsTagsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5974	c.parent = parent
5975	c.googleclouddatacatalogv1beta1tag = googleclouddatacatalogv1beta1tag
5976	return c
5977}
5978
5979// Fields allows partial responses to be retrieved. See
5980// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5981// for more information.
5982func (c *ProjectsLocationsEntryGroupsTagsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsTagsCreateCall {
5983	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5984	return c
5985}
5986
5987// Context sets the context to be used in this call's Do method. Any
5988// pending HTTP request will be aborted if the provided context is
5989// canceled.
5990func (c *ProjectsLocationsEntryGroupsTagsCreateCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsTagsCreateCall {
5991	c.ctx_ = ctx
5992	return c
5993}
5994
5995// Header returns an http.Header that can be modified by the caller to
5996// add HTTP headers to the request.
5997func (c *ProjectsLocationsEntryGroupsTagsCreateCall) Header() http.Header {
5998	if c.header_ == nil {
5999		c.header_ = make(http.Header)
6000	}
6001	return c.header_
6002}
6003
6004func (c *ProjectsLocationsEntryGroupsTagsCreateCall) doRequest(alt string) (*http.Response, error) {
6005	reqHeaders := make(http.Header)
6006	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210830")
6007	for k, v := range c.header_ {
6008		reqHeaders[k] = v
6009	}
6010	reqHeaders.Set("User-Agent", c.s.userAgent())
6011	var body io.Reader = nil
6012	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddatacatalogv1beta1tag)
6013	if err != nil {
6014		return nil, err
6015	}
6016	reqHeaders.Set("Content-Type", "application/json")
6017	c.urlParams_.Set("alt", alt)
6018	c.urlParams_.Set("prettyPrint", "false")
6019	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/tags")
6020	urls += "?" + c.urlParams_.Encode()
6021	req, err := http.NewRequest("POST", urls, body)
6022	if err != nil {
6023		return nil, err
6024	}
6025	req.Header = reqHeaders
6026	googleapi.Expand(req.URL, map[string]string{
6027		"parent": c.parent,
6028	})
6029	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6030}
6031
6032// Do executes the "datacatalog.projects.locations.entryGroups.tags.create" call.
6033// Exactly one of *GoogleCloudDatacatalogV1beta1Tag or error will be
6034// non-nil. Any non-2xx status code is an error. Response headers are in
6035// either *GoogleCloudDatacatalogV1beta1Tag.ServerResponse.Header or (if
6036// a response was returned at all) in error.(*googleapi.Error).Header.
6037// Use googleapi.IsNotModified to check whether the returned error was
6038// because http.StatusNotModified was returned.
6039func (c *ProjectsLocationsEntryGroupsTagsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1Tag, error) {
6040	gensupport.SetOptions(c.urlParams_, opts...)
6041	res, err := c.doRequest("json")
6042	if res != nil && res.StatusCode == http.StatusNotModified {
6043		if res.Body != nil {
6044			res.Body.Close()
6045		}
6046		return nil, &googleapi.Error{
6047			Code:   res.StatusCode,
6048			Header: res.Header,
6049		}
6050	}
6051	if err != nil {
6052		return nil, err
6053	}
6054	defer googleapi.CloseBody(res)
6055	if err := googleapi.CheckResponse(res); err != nil {
6056		return nil, err
6057	}
6058	ret := &GoogleCloudDatacatalogV1beta1Tag{
6059		ServerResponse: googleapi.ServerResponse{
6060			Header:         res.Header,
6061			HTTPStatusCode: res.StatusCode,
6062		},
6063	}
6064	target := &ret
6065	if err := gensupport.DecodeResponse(target, res); err != nil {
6066		return nil, err
6067	}
6068	return ret, nil
6069	// {
6070	//   "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.",
6071	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/tags",
6072	//   "httpMethod": "POST",
6073	//   "id": "datacatalog.projects.locations.entryGroups.tags.create",
6074	//   "parameterOrder": [
6075	//     "parent"
6076	//   ],
6077	//   "parameters": {
6078	//     "parent": {
6079	//       "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.",
6080	//       "location": "path",
6081	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
6082	//       "required": true,
6083	//       "type": "string"
6084	//     }
6085	//   },
6086	//   "path": "v1beta1/{+parent}/tags",
6087	//   "request": {
6088	//     "$ref": "GoogleCloudDatacatalogV1beta1Tag"
6089	//   },
6090	//   "response": {
6091	//     "$ref": "GoogleCloudDatacatalogV1beta1Tag"
6092	//   },
6093	//   "scopes": [
6094	//     "https://www.googleapis.com/auth/cloud-platform"
6095	//   ]
6096	// }
6097
6098}
6099
6100// method id "datacatalog.projects.locations.entryGroups.tags.delete":
6101
6102type ProjectsLocationsEntryGroupsTagsDeleteCall struct {
6103	s          *Service
6104	name       string
6105	urlParams_ gensupport.URLParams
6106	ctx_       context.Context
6107	header_    http.Header
6108}
6109
6110// Delete: Deletes a tag.
6111//
6112// - name: The name of the tag to delete. Example: *
6113//   projects/{project_id}/locations/{location}/entryGroups/{entry_group_
6114//   id}/entries/{entry_id}/tags/{tag_id}.
6115func (r *ProjectsLocationsEntryGroupsTagsService) Delete(name string) *ProjectsLocationsEntryGroupsTagsDeleteCall {
6116	c := &ProjectsLocationsEntryGroupsTagsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6117	c.name = name
6118	return c
6119}
6120
6121// Fields allows partial responses to be retrieved. See
6122// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6123// for more information.
6124func (c *ProjectsLocationsEntryGroupsTagsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsTagsDeleteCall {
6125	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6126	return c
6127}
6128
6129// Context sets the context to be used in this call's Do method. Any
6130// pending HTTP request will be aborted if the provided context is
6131// canceled.
6132func (c *ProjectsLocationsEntryGroupsTagsDeleteCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsTagsDeleteCall {
6133	c.ctx_ = ctx
6134	return c
6135}
6136
6137// Header returns an http.Header that can be modified by the caller to
6138// add HTTP headers to the request.
6139func (c *ProjectsLocationsEntryGroupsTagsDeleteCall) Header() http.Header {
6140	if c.header_ == nil {
6141		c.header_ = make(http.Header)
6142	}
6143	return c.header_
6144}
6145
6146func (c *ProjectsLocationsEntryGroupsTagsDeleteCall) doRequest(alt string) (*http.Response, error) {
6147	reqHeaders := make(http.Header)
6148	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210830")
6149	for k, v := range c.header_ {
6150		reqHeaders[k] = v
6151	}
6152	reqHeaders.Set("User-Agent", c.s.userAgent())
6153	var body io.Reader = nil
6154	c.urlParams_.Set("alt", alt)
6155	c.urlParams_.Set("prettyPrint", "false")
6156	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
6157	urls += "?" + c.urlParams_.Encode()
6158	req, err := http.NewRequest("DELETE", urls, body)
6159	if err != nil {
6160		return nil, err
6161	}
6162	req.Header = reqHeaders
6163	googleapi.Expand(req.URL, map[string]string{
6164		"name": c.name,
6165	})
6166	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6167}
6168
6169// Do executes the "datacatalog.projects.locations.entryGroups.tags.delete" call.
6170// Exactly one of *Empty or error will be non-nil. Any non-2xx status
6171// code is an error. Response headers are in either
6172// *Empty.ServerResponse.Header or (if a response was returned at all)
6173// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
6174// check whether the returned error was because http.StatusNotModified
6175// was returned.
6176func (c *ProjectsLocationsEntryGroupsTagsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
6177	gensupport.SetOptions(c.urlParams_, opts...)
6178	res, err := c.doRequest("json")
6179	if res != nil && res.StatusCode == http.StatusNotModified {
6180		if res.Body != nil {
6181			res.Body.Close()
6182		}
6183		return nil, &googleapi.Error{
6184			Code:   res.StatusCode,
6185			Header: res.Header,
6186		}
6187	}
6188	if err != nil {
6189		return nil, err
6190	}
6191	defer googleapi.CloseBody(res)
6192	if err := googleapi.CheckResponse(res); err != nil {
6193		return nil, err
6194	}
6195	ret := &Empty{
6196		ServerResponse: googleapi.ServerResponse{
6197			Header:         res.Header,
6198			HTTPStatusCode: res.StatusCode,
6199		},
6200	}
6201	target := &ret
6202	if err := gensupport.DecodeResponse(target, res); err != nil {
6203		return nil, err
6204	}
6205	return ret, nil
6206	// {
6207	//   "description": "Deletes a tag.",
6208	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/tags/{tagsId}",
6209	//   "httpMethod": "DELETE",
6210	//   "id": "datacatalog.projects.locations.entryGroups.tags.delete",
6211	//   "parameterOrder": [
6212	//     "name"
6213	//   ],
6214	//   "parameters": {
6215	//     "name": {
6216	//       "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}",
6217	//       "location": "path",
6218	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/tags/[^/]+$",
6219	//       "required": true,
6220	//       "type": "string"
6221	//     }
6222	//   },
6223	//   "path": "v1beta1/{+name}",
6224	//   "response": {
6225	//     "$ref": "Empty"
6226	//   },
6227	//   "scopes": [
6228	//     "https://www.googleapis.com/auth/cloud-platform"
6229	//   ]
6230	// }
6231
6232}
6233
6234// method id "datacatalog.projects.locations.entryGroups.tags.list":
6235
6236type ProjectsLocationsEntryGroupsTagsListCall struct {
6237	s            *Service
6238	parent       string
6239	urlParams_   gensupport.URLParams
6240	ifNoneMatch_ string
6241	ctx_         context.Context
6242	header_      http.Header
6243}
6244
6245// List: Lists the tags on an Entry.
6246//
6247// - parent: The name of the Data Catalog resource to list the tags of.
6248//   The resource could be an Entry or an EntryGroup. Examples: *
6249//   projects/{project_id}/locations/{location}/entryGroups/{entry_group_
6250//   id} *
6251//   projects/{project_id}/locations/{location}/entryGroups/{entry_group_
6252//   id}/entries/{entry_id}.
6253func (r *ProjectsLocationsEntryGroupsTagsService) List(parent string) *ProjectsLocationsEntryGroupsTagsListCall {
6254	c := &ProjectsLocationsEntryGroupsTagsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6255	c.parent = parent
6256	return c
6257}
6258
6259// PageSize sets the optional parameter "pageSize": The maximum number
6260// of tags to return. Default is 10. Max limit is 1000.
6261func (c *ProjectsLocationsEntryGroupsTagsListCall) PageSize(pageSize int64) *ProjectsLocationsEntryGroupsTagsListCall {
6262	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
6263	return c
6264}
6265
6266// PageToken sets the optional parameter "pageToken": Token that
6267// specifies which page is requested. If empty, the first page is
6268// returned.
6269func (c *ProjectsLocationsEntryGroupsTagsListCall) PageToken(pageToken string) *ProjectsLocationsEntryGroupsTagsListCall {
6270	c.urlParams_.Set("pageToken", pageToken)
6271	return c
6272}
6273
6274// Fields allows partial responses to be retrieved. See
6275// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6276// for more information.
6277func (c *ProjectsLocationsEntryGroupsTagsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsTagsListCall {
6278	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6279	return c
6280}
6281
6282// IfNoneMatch sets the optional parameter which makes the operation
6283// fail if the object's ETag matches the given value. This is useful for
6284// getting updates only after the object has changed since the last
6285// request. Use googleapi.IsNotModified to check whether the response
6286// error from Do is the result of In-None-Match.
6287func (c *ProjectsLocationsEntryGroupsTagsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsEntryGroupsTagsListCall {
6288	c.ifNoneMatch_ = entityTag
6289	return c
6290}
6291
6292// Context sets the context to be used in this call's Do method. Any
6293// pending HTTP request will be aborted if the provided context is
6294// canceled.
6295func (c *ProjectsLocationsEntryGroupsTagsListCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsTagsListCall {
6296	c.ctx_ = ctx
6297	return c
6298}
6299
6300// Header returns an http.Header that can be modified by the caller to
6301// add HTTP headers to the request.
6302func (c *ProjectsLocationsEntryGroupsTagsListCall) Header() http.Header {
6303	if c.header_ == nil {
6304		c.header_ = make(http.Header)
6305	}
6306	return c.header_
6307}
6308
6309func (c *ProjectsLocationsEntryGroupsTagsListCall) doRequest(alt string) (*http.Response, error) {
6310	reqHeaders := make(http.Header)
6311	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210830")
6312	for k, v := range c.header_ {
6313		reqHeaders[k] = v
6314	}
6315	reqHeaders.Set("User-Agent", c.s.userAgent())
6316	if c.ifNoneMatch_ != "" {
6317		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
6318	}
6319	var body io.Reader = nil
6320	c.urlParams_.Set("alt", alt)
6321	c.urlParams_.Set("prettyPrint", "false")
6322	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/tags")
6323	urls += "?" + c.urlParams_.Encode()
6324	req, err := http.NewRequest("GET", urls, body)
6325	if err != nil {
6326		return nil, err
6327	}
6328	req.Header = reqHeaders
6329	googleapi.Expand(req.URL, map[string]string{
6330		"parent": c.parent,
6331	})
6332	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6333}
6334
6335// Do executes the "datacatalog.projects.locations.entryGroups.tags.list" call.
6336// Exactly one of *GoogleCloudDatacatalogV1beta1ListTagsResponse or
6337// error will be non-nil. Any non-2xx status code is an error. Response
6338// headers are in either
6339// *GoogleCloudDatacatalogV1beta1ListTagsResponse.ServerResponse.Header
6340// or (if a response was returned at all) in
6341// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
6342// whether the returned error was because http.StatusNotModified was
6343// returned.
6344func (c *ProjectsLocationsEntryGroupsTagsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1ListTagsResponse, error) {
6345	gensupport.SetOptions(c.urlParams_, opts...)
6346	res, err := c.doRequest("json")
6347	if res != nil && res.StatusCode == http.StatusNotModified {
6348		if res.Body != nil {
6349			res.Body.Close()
6350		}
6351		return nil, &googleapi.Error{
6352			Code:   res.StatusCode,
6353			Header: res.Header,
6354		}
6355	}
6356	if err != nil {
6357		return nil, err
6358	}
6359	defer googleapi.CloseBody(res)
6360	if err := googleapi.CheckResponse(res); err != nil {
6361		return nil, err
6362	}
6363	ret := &GoogleCloudDatacatalogV1beta1ListTagsResponse{
6364		ServerResponse: googleapi.ServerResponse{
6365			Header:         res.Header,
6366			HTTPStatusCode: res.StatusCode,
6367		},
6368	}
6369	target := &ret
6370	if err := gensupport.DecodeResponse(target, res); err != nil {
6371		return nil, err
6372	}
6373	return ret, nil
6374	// {
6375	//   "description": "Lists the tags on an Entry.",
6376	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/tags",
6377	//   "httpMethod": "GET",
6378	//   "id": "datacatalog.projects.locations.entryGroups.tags.list",
6379	//   "parameterOrder": [
6380	//     "parent"
6381	//   ],
6382	//   "parameters": {
6383	//     "pageSize": {
6384	//       "description": "The maximum number of tags to return. Default is 10. Max limit is 1000.",
6385	//       "format": "int32",
6386	//       "location": "query",
6387	//       "type": "integer"
6388	//     },
6389	//     "pageToken": {
6390	//       "description": "Token that specifies which page is requested. If empty, the first page is returned.",
6391	//       "location": "query",
6392	//       "type": "string"
6393	//     },
6394	//     "parent": {
6395	//       "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}",
6396	//       "location": "path",
6397	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
6398	//       "required": true,
6399	//       "type": "string"
6400	//     }
6401	//   },
6402	//   "path": "v1beta1/{+parent}/tags",
6403	//   "response": {
6404	//     "$ref": "GoogleCloudDatacatalogV1beta1ListTagsResponse"
6405	//   },
6406	//   "scopes": [
6407	//     "https://www.googleapis.com/auth/cloud-platform"
6408	//   ]
6409	// }
6410
6411}
6412
6413// Pages invokes f for each page of results.
6414// A non-nil error returned from f will halt the iteration.
6415// The provided context supersedes any context provided to the Context method.
6416func (c *ProjectsLocationsEntryGroupsTagsListCall) Pages(ctx context.Context, f func(*GoogleCloudDatacatalogV1beta1ListTagsResponse) error) error {
6417	c.ctx_ = ctx
6418	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
6419	for {
6420		x, err := c.Do()
6421		if err != nil {
6422			return err
6423		}
6424		if err := f(x); err != nil {
6425			return err
6426		}
6427		if x.NextPageToken == "" {
6428			return nil
6429		}
6430		c.PageToken(x.NextPageToken)
6431	}
6432}
6433
6434// method id "datacatalog.projects.locations.entryGroups.tags.patch":
6435
6436type ProjectsLocationsEntryGroupsTagsPatchCall struct {
6437	s                                *Service
6438	nameid                           string
6439	googleclouddatacatalogv1beta1tag *GoogleCloudDatacatalogV1beta1Tag
6440	urlParams_                       gensupport.URLParams
6441	ctx_                             context.Context
6442	header_                          http.Header
6443}
6444
6445// Patch: Updates an existing tag.
6446//
6447// - name: The resource name of the tag in URL format. Example: *
6448//   projects/{project_id}/locations/{location}/entrygroups/{entry_group_
6449//   id}/entries/{entry_id}/tags/{tag_id} where `tag_id` is a
6450//   system-generated identifier. Note that this Tag may not actually be
6451//   stored in the location in this name.
6452func (r *ProjectsLocationsEntryGroupsTagsService) Patch(nameid string, googleclouddatacatalogv1beta1tag *GoogleCloudDatacatalogV1beta1Tag) *ProjectsLocationsEntryGroupsTagsPatchCall {
6453	c := &ProjectsLocationsEntryGroupsTagsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6454	c.nameid = nameid
6455	c.googleclouddatacatalogv1beta1tag = googleclouddatacatalogv1beta1tag
6456	return c
6457}
6458
6459// UpdateMask sets the optional parameter "updateMask": Note: Currently,
6460// this parameter can only take "fields" as value. Names of fields
6461// whose values to overwrite on a tag. Currently, a tag has the only
6462// modifiable field with the name `fields`. In general, if this
6463// parameter is absent or empty, all modifiable fields are overwritten.
6464// If such fields are non-required and omitted in the request body,
6465// their values are emptied.
6466func (c *ProjectsLocationsEntryGroupsTagsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsEntryGroupsTagsPatchCall {
6467	c.urlParams_.Set("updateMask", updateMask)
6468	return c
6469}
6470
6471// Fields allows partial responses to be retrieved. See
6472// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6473// for more information.
6474func (c *ProjectsLocationsEntryGroupsTagsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsTagsPatchCall {
6475	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6476	return c
6477}
6478
6479// Context sets the context to be used in this call's Do method. Any
6480// pending HTTP request will be aborted if the provided context is
6481// canceled.
6482func (c *ProjectsLocationsEntryGroupsTagsPatchCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsTagsPatchCall {
6483	c.ctx_ = ctx
6484	return c
6485}
6486
6487// Header returns an http.Header that can be modified by the caller to
6488// add HTTP headers to the request.
6489func (c *ProjectsLocationsEntryGroupsTagsPatchCall) Header() http.Header {
6490	if c.header_ == nil {
6491		c.header_ = make(http.Header)
6492	}
6493	return c.header_
6494}
6495
6496func (c *ProjectsLocationsEntryGroupsTagsPatchCall) doRequest(alt string) (*http.Response, error) {
6497	reqHeaders := make(http.Header)
6498	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210830")
6499	for k, v := range c.header_ {
6500		reqHeaders[k] = v
6501	}
6502	reqHeaders.Set("User-Agent", c.s.userAgent())
6503	var body io.Reader = nil
6504	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddatacatalogv1beta1tag)
6505	if err != nil {
6506		return nil, err
6507	}
6508	reqHeaders.Set("Content-Type", "application/json")
6509	c.urlParams_.Set("alt", alt)
6510	c.urlParams_.Set("prettyPrint", "false")
6511	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
6512	urls += "?" + c.urlParams_.Encode()
6513	req, err := http.NewRequest("PATCH", urls, body)
6514	if err != nil {
6515		return nil, err
6516	}
6517	req.Header = reqHeaders
6518	googleapi.Expand(req.URL, map[string]string{
6519		"name": c.nameid,
6520	})
6521	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6522}
6523
6524// Do executes the "datacatalog.projects.locations.entryGroups.tags.patch" call.
6525// Exactly one of *GoogleCloudDatacatalogV1beta1Tag or error will be
6526// non-nil. Any non-2xx status code is an error. Response headers are in
6527// either *GoogleCloudDatacatalogV1beta1Tag.ServerResponse.Header or (if
6528// a response was returned at all) in error.(*googleapi.Error).Header.
6529// Use googleapi.IsNotModified to check whether the returned error was
6530// because http.StatusNotModified was returned.
6531func (c *ProjectsLocationsEntryGroupsTagsPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1Tag, error) {
6532	gensupport.SetOptions(c.urlParams_, opts...)
6533	res, err := c.doRequest("json")
6534	if res != nil && res.StatusCode == http.StatusNotModified {
6535		if res.Body != nil {
6536			res.Body.Close()
6537		}
6538		return nil, &googleapi.Error{
6539			Code:   res.StatusCode,
6540			Header: res.Header,
6541		}
6542	}
6543	if err != nil {
6544		return nil, err
6545	}
6546	defer googleapi.CloseBody(res)
6547	if err := googleapi.CheckResponse(res); err != nil {
6548		return nil, err
6549	}
6550	ret := &GoogleCloudDatacatalogV1beta1Tag{
6551		ServerResponse: googleapi.ServerResponse{
6552			Header:         res.Header,
6553			HTTPStatusCode: res.StatusCode,
6554		},
6555	}
6556	target := &ret
6557	if err := gensupport.DecodeResponse(target, res); err != nil {
6558		return nil, err
6559	}
6560	return ret, nil
6561	// {
6562	//   "description": "Updates an existing tag.",
6563	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/tags/{tagsId}",
6564	//   "httpMethod": "PATCH",
6565	//   "id": "datacatalog.projects.locations.entryGroups.tags.patch",
6566	//   "parameterOrder": [
6567	//     "name"
6568	//   ],
6569	//   "parameters": {
6570	//     "name": {
6571	//       "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.",
6572	//       "location": "path",
6573	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/tags/[^/]+$",
6574	//       "required": true,
6575	//       "type": "string"
6576	//     },
6577	//     "updateMask": {
6578	//       "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.",
6579	//       "format": "google-fieldmask",
6580	//       "location": "query",
6581	//       "type": "string"
6582	//     }
6583	//   },
6584	//   "path": "v1beta1/{+name}",
6585	//   "request": {
6586	//     "$ref": "GoogleCloudDatacatalogV1beta1Tag"
6587	//   },
6588	//   "response": {
6589	//     "$ref": "GoogleCloudDatacatalogV1beta1Tag"
6590	//   },
6591	//   "scopes": [
6592	//     "https://www.googleapis.com/auth/cloud-platform"
6593	//   ]
6594	// }
6595
6596}
6597
6598// method id "datacatalog.projects.locations.tagTemplates.create":
6599
6600type ProjectsLocationsTagTemplatesCreateCall struct {
6601	s                                        *Service
6602	parent                                   string
6603	googleclouddatacatalogv1beta1tagtemplate *GoogleCloudDatacatalogV1beta1TagTemplate
6604	urlParams_                               gensupport.URLParams
6605	ctx_                                     context.Context
6606	header_                                  http.Header
6607}
6608
6609// Create: Creates a tag template. The user should enable the Data
6610// Catalog API in the project identified by the `parent` parameter (see
6611// Data Catalog Resource Project
6612// (https://cloud.google.com/data-catalog/docs/concepts/resource-project)
6613// for more information).
6614//
6615// - parent: The name of the project and the template location
6616//   [region](https://cloud.google.com/data-catalog/docs/concepts/regions
6617//   . Example: * projects/{project_id}/locations/us-central1.
6618func (r *ProjectsLocationsTagTemplatesService) Create(parent string, googleclouddatacatalogv1beta1tagtemplate *GoogleCloudDatacatalogV1beta1TagTemplate) *ProjectsLocationsTagTemplatesCreateCall {
6619	c := &ProjectsLocationsTagTemplatesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6620	c.parent = parent
6621	c.googleclouddatacatalogv1beta1tagtemplate = googleclouddatacatalogv1beta1tagtemplate
6622	return c
6623}
6624
6625// TagTemplateId sets the optional parameter "tagTemplateId": Required.
6626// The id of the tag template to create.
6627func (c *ProjectsLocationsTagTemplatesCreateCall) TagTemplateId(tagTemplateId string) *ProjectsLocationsTagTemplatesCreateCall {
6628	c.urlParams_.Set("tagTemplateId", tagTemplateId)
6629	return c
6630}
6631
6632// Fields allows partial responses to be retrieved. See
6633// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6634// for more information.
6635func (c *ProjectsLocationsTagTemplatesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsTagTemplatesCreateCall {
6636	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6637	return c
6638}
6639
6640// Context sets the context to be used in this call's Do method. Any
6641// pending HTTP request will be aborted if the provided context is
6642// canceled.
6643func (c *ProjectsLocationsTagTemplatesCreateCall) Context(ctx context.Context) *ProjectsLocationsTagTemplatesCreateCall {
6644	c.ctx_ = ctx
6645	return c
6646}
6647
6648// Header returns an http.Header that can be modified by the caller to
6649// add HTTP headers to the request.
6650func (c *ProjectsLocationsTagTemplatesCreateCall) Header() http.Header {
6651	if c.header_ == nil {
6652		c.header_ = make(http.Header)
6653	}
6654	return c.header_
6655}
6656
6657func (c *ProjectsLocationsTagTemplatesCreateCall) doRequest(alt string) (*http.Response, error) {
6658	reqHeaders := make(http.Header)
6659	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210830")
6660	for k, v := range c.header_ {
6661		reqHeaders[k] = v
6662	}
6663	reqHeaders.Set("User-Agent", c.s.userAgent())
6664	var body io.Reader = nil
6665	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddatacatalogv1beta1tagtemplate)
6666	if err != nil {
6667		return nil, err
6668	}
6669	reqHeaders.Set("Content-Type", "application/json")
6670	c.urlParams_.Set("alt", alt)
6671	c.urlParams_.Set("prettyPrint", "false")
6672	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/tagTemplates")
6673	urls += "?" + c.urlParams_.Encode()
6674	req, err := http.NewRequest("POST", urls, body)
6675	if err != nil {
6676		return nil, err
6677	}
6678	req.Header = reqHeaders
6679	googleapi.Expand(req.URL, map[string]string{
6680		"parent": c.parent,
6681	})
6682	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6683}
6684
6685// Do executes the "datacatalog.projects.locations.tagTemplates.create" call.
6686// Exactly one of *GoogleCloudDatacatalogV1beta1TagTemplate or error
6687// will be non-nil. Any non-2xx status code is an error. Response
6688// headers are in either
6689// *GoogleCloudDatacatalogV1beta1TagTemplate.ServerResponse.Header or
6690// (if a response was returned at all) in
6691// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
6692// whether the returned error was because http.StatusNotModified was
6693// returned.
6694func (c *ProjectsLocationsTagTemplatesCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1TagTemplate, error) {
6695	gensupport.SetOptions(c.urlParams_, opts...)
6696	res, err := c.doRequest("json")
6697	if res != nil && res.StatusCode == http.StatusNotModified {
6698		if res.Body != nil {
6699			res.Body.Close()
6700		}
6701		return nil, &googleapi.Error{
6702			Code:   res.StatusCode,
6703			Header: res.Header,
6704		}
6705	}
6706	if err != nil {
6707		return nil, err
6708	}
6709	defer googleapi.CloseBody(res)
6710	if err := googleapi.CheckResponse(res); err != nil {
6711		return nil, err
6712	}
6713	ret := &GoogleCloudDatacatalogV1beta1TagTemplate{
6714		ServerResponse: googleapi.ServerResponse{
6715			Header:         res.Header,
6716			HTTPStatusCode: res.StatusCode,
6717		},
6718	}
6719	target := &ret
6720	if err := gensupport.DecodeResponse(target, res); err != nil {
6721		return nil, err
6722	}
6723	return ret, nil
6724	// {
6725	//   "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).",
6726	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates",
6727	//   "httpMethod": "POST",
6728	//   "id": "datacatalog.projects.locations.tagTemplates.create",
6729	//   "parameterOrder": [
6730	//     "parent"
6731	//   ],
6732	//   "parameters": {
6733	//     "parent": {
6734	//       "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",
6735	//       "location": "path",
6736	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
6737	//       "required": true,
6738	//       "type": "string"
6739	//     },
6740	//     "tagTemplateId": {
6741	//       "description": "Required. The id of the tag template to create.",
6742	//       "location": "query",
6743	//       "type": "string"
6744	//     }
6745	//   },
6746	//   "path": "v1beta1/{+parent}/tagTemplates",
6747	//   "request": {
6748	//     "$ref": "GoogleCloudDatacatalogV1beta1TagTemplate"
6749	//   },
6750	//   "response": {
6751	//     "$ref": "GoogleCloudDatacatalogV1beta1TagTemplate"
6752	//   },
6753	//   "scopes": [
6754	//     "https://www.googleapis.com/auth/cloud-platform"
6755	//   ]
6756	// }
6757
6758}
6759
6760// method id "datacatalog.projects.locations.tagTemplates.delete":
6761
6762type ProjectsLocationsTagTemplatesDeleteCall struct {
6763	s          *Service
6764	name       string
6765	urlParams_ gensupport.URLParams
6766	ctx_       context.Context
6767	header_    http.Header
6768}
6769
6770// Delete: Deletes a tag template and all tags using the template. Users
6771// should enable the Data Catalog API in the project identified by the
6772// `name` parameter (see [Data Catalog Resource Project]
6773// (https://cloud.google.com/data-catalog/docs/concepts/resource-project)
6774// for more information).
6775//
6776// - name: The name of the tag template to delete. Example: *
6777//   projects/{project_id}/locations/{location}/tagTemplates/{tag_templat
6778//   e_id}.
6779func (r *ProjectsLocationsTagTemplatesService) Delete(name string) *ProjectsLocationsTagTemplatesDeleteCall {
6780	c := &ProjectsLocationsTagTemplatesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6781	c.name = name
6782	return c
6783}
6784
6785// Force sets the optional parameter "force": Required. Currently, this
6786// field must always be set to `true`. This confirms the deletion of any
6787// possible tags using this template. `force = false` will be supported
6788// in the future.
6789func (c *ProjectsLocationsTagTemplatesDeleteCall) Force(force bool) *ProjectsLocationsTagTemplatesDeleteCall {
6790	c.urlParams_.Set("force", fmt.Sprint(force))
6791	return c
6792}
6793
6794// Fields allows partial responses to be retrieved. See
6795// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6796// for more information.
6797func (c *ProjectsLocationsTagTemplatesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsTagTemplatesDeleteCall {
6798	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6799	return c
6800}
6801
6802// Context sets the context to be used in this call's Do method. Any
6803// pending HTTP request will be aborted if the provided context is
6804// canceled.
6805func (c *ProjectsLocationsTagTemplatesDeleteCall) Context(ctx context.Context) *ProjectsLocationsTagTemplatesDeleteCall {
6806	c.ctx_ = ctx
6807	return c
6808}
6809
6810// Header returns an http.Header that can be modified by the caller to
6811// add HTTP headers to the request.
6812func (c *ProjectsLocationsTagTemplatesDeleteCall) Header() http.Header {
6813	if c.header_ == nil {
6814		c.header_ = make(http.Header)
6815	}
6816	return c.header_
6817}
6818
6819func (c *ProjectsLocationsTagTemplatesDeleteCall) doRequest(alt string) (*http.Response, error) {
6820	reqHeaders := make(http.Header)
6821	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210830")
6822	for k, v := range c.header_ {
6823		reqHeaders[k] = v
6824	}
6825	reqHeaders.Set("User-Agent", c.s.userAgent())
6826	var body io.Reader = nil
6827	c.urlParams_.Set("alt", alt)
6828	c.urlParams_.Set("prettyPrint", "false")
6829	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
6830	urls += "?" + c.urlParams_.Encode()
6831	req, err := http.NewRequest("DELETE", urls, body)
6832	if err != nil {
6833		return nil, err
6834	}
6835	req.Header = reqHeaders
6836	googleapi.Expand(req.URL, map[string]string{
6837		"name": c.name,
6838	})
6839	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6840}
6841
6842// Do executes the "datacatalog.projects.locations.tagTemplates.delete" call.
6843// Exactly one of *Empty or error will be non-nil. Any non-2xx status
6844// code is an error. Response headers are in either
6845// *Empty.ServerResponse.Header or (if a response was returned at all)
6846// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
6847// check whether the returned error was because http.StatusNotModified
6848// was returned.
6849func (c *ProjectsLocationsTagTemplatesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
6850	gensupport.SetOptions(c.urlParams_, opts...)
6851	res, err := c.doRequest("json")
6852	if res != nil && res.StatusCode == http.StatusNotModified {
6853		if res.Body != nil {
6854			res.Body.Close()
6855		}
6856		return nil, &googleapi.Error{
6857			Code:   res.StatusCode,
6858			Header: res.Header,
6859		}
6860	}
6861	if err != nil {
6862		return nil, err
6863	}
6864	defer googleapi.CloseBody(res)
6865	if err := googleapi.CheckResponse(res); err != nil {
6866		return nil, err
6867	}
6868	ret := &Empty{
6869		ServerResponse: googleapi.ServerResponse{
6870			Header:         res.Header,
6871			HTTPStatusCode: res.StatusCode,
6872		},
6873	}
6874	target := &ret
6875	if err := gensupport.DecodeResponse(target, res); err != nil {
6876		return nil, err
6877	}
6878	return ret, nil
6879	// {
6880	//   "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).",
6881	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}",
6882	//   "httpMethod": "DELETE",
6883	//   "id": "datacatalog.projects.locations.tagTemplates.delete",
6884	//   "parameterOrder": [
6885	//     "name"
6886	//   ],
6887	//   "parameters": {
6888	//     "force": {
6889	//       "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.",
6890	//       "location": "query",
6891	//       "type": "boolean"
6892	//     },
6893	//     "name": {
6894	//       "description": "Required. The name of the tag template to delete. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}",
6895	//       "location": "path",
6896	//       "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$",
6897	//       "required": true,
6898	//       "type": "string"
6899	//     }
6900	//   },
6901	//   "path": "v1beta1/{+name}",
6902	//   "response": {
6903	//     "$ref": "Empty"
6904	//   },
6905	//   "scopes": [
6906	//     "https://www.googleapis.com/auth/cloud-platform"
6907	//   ]
6908	// }
6909
6910}
6911
6912// method id "datacatalog.projects.locations.tagTemplates.get":
6913
6914type ProjectsLocationsTagTemplatesGetCall struct {
6915	s            *Service
6916	name         string
6917	urlParams_   gensupport.URLParams
6918	ifNoneMatch_ string
6919	ctx_         context.Context
6920	header_      http.Header
6921}
6922
6923// Get: Gets a tag template.
6924//
6925// - name: The name of the tag template. Example: *
6926//   projects/{project_id}/locations/{location}/tagTemplates/{tag_templat
6927//   e_id}.
6928func (r *ProjectsLocationsTagTemplatesService) Get(name string) *ProjectsLocationsTagTemplatesGetCall {
6929	c := &ProjectsLocationsTagTemplatesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6930	c.name = name
6931	return c
6932}
6933
6934// Fields allows partial responses to be retrieved. See
6935// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6936// for more information.
6937func (c *ProjectsLocationsTagTemplatesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsTagTemplatesGetCall {
6938	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6939	return c
6940}
6941
6942// IfNoneMatch sets the optional parameter which makes the operation
6943// fail if the object's ETag matches the given value. This is useful for
6944// getting updates only after the object has changed since the last
6945// request. Use googleapi.IsNotModified to check whether the response
6946// error from Do is the result of In-None-Match.
6947func (c *ProjectsLocationsTagTemplatesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsTagTemplatesGetCall {
6948	c.ifNoneMatch_ = entityTag
6949	return c
6950}
6951
6952// Context sets the context to be used in this call's Do method. Any
6953// pending HTTP request will be aborted if the provided context is
6954// canceled.
6955func (c *ProjectsLocationsTagTemplatesGetCall) Context(ctx context.Context) *ProjectsLocationsTagTemplatesGetCall {
6956	c.ctx_ = ctx
6957	return c
6958}
6959
6960// Header returns an http.Header that can be modified by the caller to
6961// add HTTP headers to the request.
6962func (c *ProjectsLocationsTagTemplatesGetCall) Header() http.Header {
6963	if c.header_ == nil {
6964		c.header_ = make(http.Header)
6965	}
6966	return c.header_
6967}
6968
6969func (c *ProjectsLocationsTagTemplatesGetCall) doRequest(alt string) (*http.Response, error) {
6970	reqHeaders := make(http.Header)
6971	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210830")
6972	for k, v := range c.header_ {
6973		reqHeaders[k] = v
6974	}
6975	reqHeaders.Set("User-Agent", c.s.userAgent())
6976	if c.ifNoneMatch_ != "" {
6977		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
6978	}
6979	var body io.Reader = nil
6980	c.urlParams_.Set("alt", alt)
6981	c.urlParams_.Set("prettyPrint", "false")
6982	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
6983	urls += "?" + c.urlParams_.Encode()
6984	req, err := http.NewRequest("GET", urls, body)
6985	if err != nil {
6986		return nil, err
6987	}
6988	req.Header = reqHeaders
6989	googleapi.Expand(req.URL, map[string]string{
6990		"name": c.name,
6991	})
6992	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6993}
6994
6995// Do executes the "datacatalog.projects.locations.tagTemplates.get" call.
6996// Exactly one of *GoogleCloudDatacatalogV1beta1TagTemplate or error
6997// will be non-nil. Any non-2xx status code is an error. Response
6998// headers are in either
6999// *GoogleCloudDatacatalogV1beta1TagTemplate.ServerResponse.Header or
7000// (if a response was returned at all) in
7001// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
7002// whether the returned error was because http.StatusNotModified was
7003// returned.
7004func (c *ProjectsLocationsTagTemplatesGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1TagTemplate, error) {
7005	gensupport.SetOptions(c.urlParams_, opts...)
7006	res, err := c.doRequest("json")
7007	if res != nil && res.StatusCode == http.StatusNotModified {
7008		if res.Body != nil {
7009			res.Body.Close()
7010		}
7011		return nil, &googleapi.Error{
7012			Code:   res.StatusCode,
7013			Header: res.Header,
7014		}
7015	}
7016	if err != nil {
7017		return nil, err
7018	}
7019	defer googleapi.CloseBody(res)
7020	if err := googleapi.CheckResponse(res); err != nil {
7021		return nil, err
7022	}
7023	ret := &GoogleCloudDatacatalogV1beta1TagTemplate{
7024		ServerResponse: googleapi.ServerResponse{
7025			Header:         res.Header,
7026			HTTPStatusCode: res.StatusCode,
7027		},
7028	}
7029	target := &ret
7030	if err := gensupport.DecodeResponse(target, res); err != nil {
7031		return nil, err
7032	}
7033	return ret, nil
7034	// {
7035	//   "description": "Gets a tag template.",
7036	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}",
7037	//   "httpMethod": "GET",
7038	//   "id": "datacatalog.projects.locations.tagTemplates.get",
7039	//   "parameterOrder": [
7040	//     "name"
7041	//   ],
7042	//   "parameters": {
7043	//     "name": {
7044	//       "description": "Required. The name of the tag template. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}",
7045	//       "location": "path",
7046	//       "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$",
7047	//       "required": true,
7048	//       "type": "string"
7049	//     }
7050	//   },
7051	//   "path": "v1beta1/{+name}",
7052	//   "response": {
7053	//     "$ref": "GoogleCloudDatacatalogV1beta1TagTemplate"
7054	//   },
7055	//   "scopes": [
7056	//     "https://www.googleapis.com/auth/cloud-platform"
7057	//   ]
7058	// }
7059
7060}
7061
7062// method id "datacatalog.projects.locations.tagTemplates.getIamPolicy":
7063
7064type ProjectsLocationsTagTemplatesGetIamPolicyCall struct {
7065	s                   *Service
7066	resource            string
7067	getiampolicyrequest *GetIamPolicyRequest
7068	urlParams_          gensupport.URLParams
7069	ctx_                context.Context
7070	header_             http.Header
7071}
7072
7073// GetIamPolicy: Gets the access control policy for a resource. A
7074// `NOT_FOUND` error is returned if the resource does not exist. An
7075// empty policy is returned if the resource exists but does not have a
7076// policy set on it. Supported resources are: - Tag templates. -
7077// Entries. - Entry groups. Note, this method cannot be used to manage
7078// policies for BigQuery, Pub/Sub and any external Google Cloud Platform
7079// resources synced to Data Catalog. Callers must have following Google
7080// IAM permission - `datacatalog.tagTemplates.getIamPolicy` to get
7081// policies on tag templates. - `datacatalog.entries.getIamPolicy` to
7082// get policies on entries. - `datacatalog.entryGroups.getIamPolicy` to
7083// get policies on entry groups.
7084//
7085// - resource: REQUIRED: The resource for which the policy is being
7086//   requested. See the operation documentation for the appropriate
7087//   value for this field.
7088func (r *ProjectsLocationsTagTemplatesService) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *ProjectsLocationsTagTemplatesGetIamPolicyCall {
7089	c := &ProjectsLocationsTagTemplatesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7090	c.resource = resource
7091	c.getiampolicyrequest = getiampolicyrequest
7092	return c
7093}
7094
7095// Fields allows partial responses to be retrieved. See
7096// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7097// for more information.
7098func (c *ProjectsLocationsTagTemplatesGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsTagTemplatesGetIamPolicyCall {
7099	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7100	return c
7101}
7102
7103// Context sets the context to be used in this call's Do method. Any
7104// pending HTTP request will be aborted if the provided context is
7105// canceled.
7106func (c *ProjectsLocationsTagTemplatesGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsTagTemplatesGetIamPolicyCall {
7107	c.ctx_ = ctx
7108	return c
7109}
7110
7111// Header returns an http.Header that can be modified by the caller to
7112// add HTTP headers to the request.
7113func (c *ProjectsLocationsTagTemplatesGetIamPolicyCall) Header() http.Header {
7114	if c.header_ == nil {
7115		c.header_ = make(http.Header)
7116	}
7117	return c.header_
7118}
7119
7120func (c *ProjectsLocationsTagTemplatesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
7121	reqHeaders := make(http.Header)
7122	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210830")
7123	for k, v := range c.header_ {
7124		reqHeaders[k] = v
7125	}
7126	reqHeaders.Set("User-Agent", c.s.userAgent())
7127	var body io.Reader = nil
7128	body, err := googleapi.WithoutDataWrapper.JSONReader(c.getiampolicyrequest)
7129	if err != nil {
7130		return nil, err
7131	}
7132	reqHeaders.Set("Content-Type", "application/json")
7133	c.urlParams_.Set("alt", alt)
7134	c.urlParams_.Set("prettyPrint", "false")
7135	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:getIamPolicy")
7136	urls += "?" + c.urlParams_.Encode()
7137	req, err := http.NewRequest("POST", urls, body)
7138	if err != nil {
7139		return nil, err
7140	}
7141	req.Header = reqHeaders
7142	googleapi.Expand(req.URL, map[string]string{
7143		"resource": c.resource,
7144	})
7145	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7146}
7147
7148// Do executes the "datacatalog.projects.locations.tagTemplates.getIamPolicy" call.
7149// Exactly one of *Policy or error will be non-nil. Any non-2xx status
7150// code is an error. Response headers are in either
7151// *Policy.ServerResponse.Header or (if a response was returned at all)
7152// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
7153// check whether the returned error was because http.StatusNotModified
7154// was returned.
7155func (c *ProjectsLocationsTagTemplatesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
7156	gensupport.SetOptions(c.urlParams_, opts...)
7157	res, err := c.doRequest("json")
7158	if res != nil && res.StatusCode == http.StatusNotModified {
7159		if res.Body != nil {
7160			res.Body.Close()
7161		}
7162		return nil, &googleapi.Error{
7163			Code:   res.StatusCode,
7164			Header: res.Header,
7165		}
7166	}
7167	if err != nil {
7168		return nil, err
7169	}
7170	defer googleapi.CloseBody(res)
7171	if err := googleapi.CheckResponse(res); err != nil {
7172		return nil, err
7173	}
7174	ret := &Policy{
7175		ServerResponse: googleapi.ServerResponse{
7176			Header:         res.Header,
7177			HTTPStatusCode: res.StatusCode,
7178		},
7179	}
7180	target := &ret
7181	if err := gensupport.DecodeResponse(target, res); err != nil {
7182		return nil, err
7183	}
7184	return ret, nil
7185	// {
7186	//   "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.",
7187	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}:getIamPolicy",
7188	//   "httpMethod": "POST",
7189	//   "id": "datacatalog.projects.locations.tagTemplates.getIamPolicy",
7190	//   "parameterOrder": [
7191	//     "resource"
7192	//   ],
7193	//   "parameters": {
7194	//     "resource": {
7195	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
7196	//       "location": "path",
7197	//       "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$",
7198	//       "required": true,
7199	//       "type": "string"
7200	//     }
7201	//   },
7202	//   "path": "v1beta1/{+resource}:getIamPolicy",
7203	//   "request": {
7204	//     "$ref": "GetIamPolicyRequest"
7205	//   },
7206	//   "response": {
7207	//     "$ref": "Policy"
7208	//   },
7209	//   "scopes": [
7210	//     "https://www.googleapis.com/auth/cloud-platform"
7211	//   ]
7212	// }
7213
7214}
7215
7216// method id "datacatalog.projects.locations.tagTemplates.patch":
7217
7218type ProjectsLocationsTagTemplatesPatchCall struct {
7219	s                                        *Service
7220	name                                     string
7221	googleclouddatacatalogv1beta1tagtemplate *GoogleCloudDatacatalogV1beta1TagTemplate
7222	urlParams_                               gensupport.URLParams
7223	ctx_                                     context.Context
7224	header_                                  http.Header
7225}
7226
7227// Patch: Updates a tag template. This method cannot be used to update
7228// the fields of a template. The tag template fields are represented as
7229// separate resources and should be updated using their own
7230// create/update/delete methods. Users should enable the Data Catalog
7231// API in the project identified by the `tag_template.name` parameter
7232// (see [Data Catalog Resource Project]
7233// (https://cloud.google.com/data-catalog/docs/concepts/resource-project)
7234// for more information).
7235//
7236// - name: The resource name of the tag template in URL format. Example:
7237//   *
7238//   projects/{project_id}/locations/{location}/tagTemplates/{tag_templat
7239//   e_id} Note that this TagTemplate and its child resources may not
7240//   actually be stored in the location in this name.
7241func (r *ProjectsLocationsTagTemplatesService) Patch(name string, googleclouddatacatalogv1beta1tagtemplate *GoogleCloudDatacatalogV1beta1TagTemplate) *ProjectsLocationsTagTemplatesPatchCall {
7242	c := &ProjectsLocationsTagTemplatesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7243	c.name = name
7244	c.googleclouddatacatalogv1beta1tagtemplate = googleclouddatacatalogv1beta1tagtemplate
7245	return c
7246}
7247
7248// UpdateMask sets the optional parameter "updateMask": Names of fields
7249// whose values to overwrite on a tag template. Currently, only
7250// `display_name` can be overwritten. In general, if this parameter is
7251// absent or empty, all modifiable fields are overwritten. If such
7252// fields are non-required and omitted in the request body, their values
7253// are emptied.
7254func (c *ProjectsLocationsTagTemplatesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsTagTemplatesPatchCall {
7255	c.urlParams_.Set("updateMask", updateMask)
7256	return c
7257}
7258
7259// Fields allows partial responses to be retrieved. See
7260// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7261// for more information.
7262func (c *ProjectsLocationsTagTemplatesPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsTagTemplatesPatchCall {
7263	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7264	return c
7265}
7266
7267// Context sets the context to be used in this call's Do method. Any
7268// pending HTTP request will be aborted if the provided context is
7269// canceled.
7270func (c *ProjectsLocationsTagTemplatesPatchCall) Context(ctx context.Context) *ProjectsLocationsTagTemplatesPatchCall {
7271	c.ctx_ = ctx
7272	return c
7273}
7274
7275// Header returns an http.Header that can be modified by the caller to
7276// add HTTP headers to the request.
7277func (c *ProjectsLocationsTagTemplatesPatchCall) Header() http.Header {
7278	if c.header_ == nil {
7279		c.header_ = make(http.Header)
7280	}
7281	return c.header_
7282}
7283
7284func (c *ProjectsLocationsTagTemplatesPatchCall) doRequest(alt string) (*http.Response, error) {
7285	reqHeaders := make(http.Header)
7286	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210830")
7287	for k, v := range c.header_ {
7288		reqHeaders[k] = v
7289	}
7290	reqHeaders.Set("User-Agent", c.s.userAgent())
7291	var body io.Reader = nil
7292	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddatacatalogv1beta1tagtemplate)
7293	if err != nil {
7294		return nil, err
7295	}
7296	reqHeaders.Set("Content-Type", "application/json")
7297	c.urlParams_.Set("alt", alt)
7298	c.urlParams_.Set("prettyPrint", "false")
7299	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
7300	urls += "?" + c.urlParams_.Encode()
7301	req, err := http.NewRequest("PATCH", urls, body)
7302	if err != nil {
7303		return nil, err
7304	}
7305	req.Header = reqHeaders
7306	googleapi.Expand(req.URL, map[string]string{
7307		"name": c.name,
7308	})
7309	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7310}
7311
7312// Do executes the "datacatalog.projects.locations.tagTemplates.patch" call.
7313// Exactly one of *GoogleCloudDatacatalogV1beta1TagTemplate or error
7314// will be non-nil. Any non-2xx status code is an error. Response
7315// headers are in either
7316// *GoogleCloudDatacatalogV1beta1TagTemplate.ServerResponse.Header or
7317// (if a response was returned at all) in
7318// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
7319// whether the returned error was because http.StatusNotModified was
7320// returned.
7321func (c *ProjectsLocationsTagTemplatesPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1TagTemplate, error) {
7322	gensupport.SetOptions(c.urlParams_, opts...)
7323	res, err := c.doRequest("json")
7324	if res != nil && res.StatusCode == http.StatusNotModified {
7325		if res.Body != nil {
7326			res.Body.Close()
7327		}
7328		return nil, &googleapi.Error{
7329			Code:   res.StatusCode,
7330			Header: res.Header,
7331		}
7332	}
7333	if err != nil {
7334		return nil, err
7335	}
7336	defer googleapi.CloseBody(res)
7337	if err := googleapi.CheckResponse(res); err != nil {
7338		return nil, err
7339	}
7340	ret := &GoogleCloudDatacatalogV1beta1TagTemplate{
7341		ServerResponse: googleapi.ServerResponse{
7342			Header:         res.Header,
7343			HTTPStatusCode: res.StatusCode,
7344		},
7345	}
7346	target := &ret
7347	if err := gensupport.DecodeResponse(target, res); err != nil {
7348		return nil, err
7349	}
7350	return ret, nil
7351	// {
7352	//   "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).",
7353	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}",
7354	//   "httpMethod": "PATCH",
7355	//   "id": "datacatalog.projects.locations.tagTemplates.patch",
7356	//   "parameterOrder": [
7357	//     "name"
7358	//   ],
7359	//   "parameters": {
7360	//     "name": {
7361	//       "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.",
7362	//       "location": "path",
7363	//       "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$",
7364	//       "required": true,
7365	//       "type": "string"
7366	//     },
7367	//     "updateMask": {
7368	//       "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.",
7369	//       "format": "google-fieldmask",
7370	//       "location": "query",
7371	//       "type": "string"
7372	//     }
7373	//   },
7374	//   "path": "v1beta1/{+name}",
7375	//   "request": {
7376	//     "$ref": "GoogleCloudDatacatalogV1beta1TagTemplate"
7377	//   },
7378	//   "response": {
7379	//     "$ref": "GoogleCloudDatacatalogV1beta1TagTemplate"
7380	//   },
7381	//   "scopes": [
7382	//     "https://www.googleapis.com/auth/cloud-platform"
7383	//   ]
7384	// }
7385
7386}
7387
7388// method id "datacatalog.projects.locations.tagTemplates.setIamPolicy":
7389
7390type ProjectsLocationsTagTemplatesSetIamPolicyCall struct {
7391	s                   *Service
7392	resource            string
7393	setiampolicyrequest *SetIamPolicyRequest
7394	urlParams_          gensupport.URLParams
7395	ctx_                context.Context
7396	header_             http.Header
7397}
7398
7399// SetIamPolicy: Sets the access control policy for a resource. Replaces
7400// any existing policy. Supported resources are: - Tag templates. -
7401// Entries. - Entry groups. Note, this method cannot be used to manage
7402// policies for BigQuery, Pub/Sub and any external Google Cloud Platform
7403// resources synced to Data Catalog. Callers must have following Google
7404// IAM permission - `datacatalog.tagTemplates.setIamPolicy` to set
7405// policies on tag templates. - `datacatalog.entries.setIamPolicy` to
7406// set policies on entries. - `datacatalog.entryGroups.setIamPolicy` to
7407// set policies on entry groups.
7408//
7409// - resource: REQUIRED: The resource for which the policy is being
7410//   specified. See the operation documentation for the appropriate
7411//   value for this field.
7412func (r *ProjectsLocationsTagTemplatesService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsTagTemplatesSetIamPolicyCall {
7413	c := &ProjectsLocationsTagTemplatesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7414	c.resource = resource
7415	c.setiampolicyrequest = setiampolicyrequest
7416	return c
7417}
7418
7419// Fields allows partial responses to be retrieved. See
7420// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7421// for more information.
7422func (c *ProjectsLocationsTagTemplatesSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsTagTemplatesSetIamPolicyCall {
7423	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7424	return c
7425}
7426
7427// Context sets the context to be used in this call's Do method. Any
7428// pending HTTP request will be aborted if the provided context is
7429// canceled.
7430func (c *ProjectsLocationsTagTemplatesSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsTagTemplatesSetIamPolicyCall {
7431	c.ctx_ = ctx
7432	return c
7433}
7434
7435// Header returns an http.Header that can be modified by the caller to
7436// add HTTP headers to the request.
7437func (c *ProjectsLocationsTagTemplatesSetIamPolicyCall) Header() http.Header {
7438	if c.header_ == nil {
7439		c.header_ = make(http.Header)
7440	}
7441	return c.header_
7442}
7443
7444func (c *ProjectsLocationsTagTemplatesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
7445	reqHeaders := make(http.Header)
7446	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210830")
7447	for k, v := range c.header_ {
7448		reqHeaders[k] = v
7449	}
7450	reqHeaders.Set("User-Agent", c.s.userAgent())
7451	var body io.Reader = nil
7452	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
7453	if err != nil {
7454		return nil, err
7455	}
7456	reqHeaders.Set("Content-Type", "application/json")
7457	c.urlParams_.Set("alt", alt)
7458	c.urlParams_.Set("prettyPrint", "false")
7459	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:setIamPolicy")
7460	urls += "?" + c.urlParams_.Encode()
7461	req, err := http.NewRequest("POST", urls, body)
7462	if err != nil {
7463		return nil, err
7464	}
7465	req.Header = reqHeaders
7466	googleapi.Expand(req.URL, map[string]string{
7467		"resource": c.resource,
7468	})
7469	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7470}
7471
7472// Do executes the "datacatalog.projects.locations.tagTemplates.setIamPolicy" call.
7473// Exactly one of *Policy or error will be non-nil. Any non-2xx status
7474// code is an error. Response headers are in either
7475// *Policy.ServerResponse.Header or (if a response was returned at all)
7476// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
7477// check whether the returned error was because http.StatusNotModified
7478// was returned.
7479func (c *ProjectsLocationsTagTemplatesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
7480	gensupport.SetOptions(c.urlParams_, opts...)
7481	res, err := c.doRequest("json")
7482	if res != nil && res.StatusCode == http.StatusNotModified {
7483		if res.Body != nil {
7484			res.Body.Close()
7485		}
7486		return nil, &googleapi.Error{
7487			Code:   res.StatusCode,
7488			Header: res.Header,
7489		}
7490	}
7491	if err != nil {
7492		return nil, err
7493	}
7494	defer googleapi.CloseBody(res)
7495	if err := googleapi.CheckResponse(res); err != nil {
7496		return nil, err
7497	}
7498	ret := &Policy{
7499		ServerResponse: googleapi.ServerResponse{
7500			Header:         res.Header,
7501			HTTPStatusCode: res.StatusCode,
7502		},
7503	}
7504	target := &ret
7505	if err := gensupport.DecodeResponse(target, res); err != nil {
7506		return nil, err
7507	}
7508	return ret, nil
7509	// {
7510	//   "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.",
7511	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}:setIamPolicy",
7512	//   "httpMethod": "POST",
7513	//   "id": "datacatalog.projects.locations.tagTemplates.setIamPolicy",
7514	//   "parameterOrder": [
7515	//     "resource"
7516	//   ],
7517	//   "parameters": {
7518	//     "resource": {
7519	//       "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
7520	//       "location": "path",
7521	//       "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$",
7522	//       "required": true,
7523	//       "type": "string"
7524	//     }
7525	//   },
7526	//   "path": "v1beta1/{+resource}:setIamPolicy",
7527	//   "request": {
7528	//     "$ref": "SetIamPolicyRequest"
7529	//   },
7530	//   "response": {
7531	//     "$ref": "Policy"
7532	//   },
7533	//   "scopes": [
7534	//     "https://www.googleapis.com/auth/cloud-platform"
7535	//   ]
7536	// }
7537
7538}
7539
7540// method id "datacatalog.projects.locations.tagTemplates.testIamPermissions":
7541
7542type ProjectsLocationsTagTemplatesTestIamPermissionsCall struct {
7543	s                         *Service
7544	resource                  string
7545	testiampermissionsrequest *TestIamPermissionsRequest
7546	urlParams_                gensupport.URLParams
7547	ctx_                      context.Context
7548	header_                   http.Header
7549}
7550
7551// TestIamPermissions: Returns the caller's permissions on a resource.
7552// If the resource does not exist, an empty set of permissions is
7553// returned (We don't return a `NOT_FOUND` error). Supported resources
7554// are: - Tag templates. - Entries. - Entry groups. Note, this method
7555// cannot be used to manage policies for BigQuery, Pub/Sub and any
7556// external Google Cloud Platform resources synced to Data Catalog. A
7557// caller is not required to have Google IAM permission to make this
7558// request.
7559//
7560// - resource: REQUIRED: The resource for which the policy detail is
7561//   being requested. See the operation documentation for the
7562//   appropriate value for this field.
7563func (r *ProjectsLocationsTagTemplatesService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsTagTemplatesTestIamPermissionsCall {
7564	c := &ProjectsLocationsTagTemplatesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7565	c.resource = resource
7566	c.testiampermissionsrequest = testiampermissionsrequest
7567	return c
7568}
7569
7570// Fields allows partial responses to be retrieved. See
7571// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7572// for more information.
7573func (c *ProjectsLocationsTagTemplatesTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsTagTemplatesTestIamPermissionsCall {
7574	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7575	return c
7576}
7577
7578// Context sets the context to be used in this call's Do method. Any
7579// pending HTTP request will be aborted if the provided context is
7580// canceled.
7581func (c *ProjectsLocationsTagTemplatesTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsTagTemplatesTestIamPermissionsCall {
7582	c.ctx_ = ctx
7583	return c
7584}
7585
7586// Header returns an http.Header that can be modified by the caller to
7587// add HTTP headers to the request.
7588func (c *ProjectsLocationsTagTemplatesTestIamPermissionsCall) Header() http.Header {
7589	if c.header_ == nil {
7590		c.header_ = make(http.Header)
7591	}
7592	return c.header_
7593}
7594
7595func (c *ProjectsLocationsTagTemplatesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
7596	reqHeaders := make(http.Header)
7597	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210830")
7598	for k, v := range c.header_ {
7599		reqHeaders[k] = v
7600	}
7601	reqHeaders.Set("User-Agent", c.s.userAgent())
7602	var body io.Reader = nil
7603	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
7604	if err != nil {
7605		return nil, err
7606	}
7607	reqHeaders.Set("Content-Type", "application/json")
7608	c.urlParams_.Set("alt", alt)
7609	c.urlParams_.Set("prettyPrint", "false")
7610	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:testIamPermissions")
7611	urls += "?" + c.urlParams_.Encode()
7612	req, err := http.NewRequest("POST", urls, body)
7613	if err != nil {
7614		return nil, err
7615	}
7616	req.Header = reqHeaders
7617	googleapi.Expand(req.URL, map[string]string{
7618		"resource": c.resource,
7619	})
7620	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7621}
7622
7623// Do executes the "datacatalog.projects.locations.tagTemplates.testIamPermissions" call.
7624// Exactly one of *TestIamPermissionsResponse or error will be non-nil.
7625// Any non-2xx status code is an error. Response headers are in either
7626// *TestIamPermissionsResponse.ServerResponse.Header or (if a response
7627// was returned at all) in error.(*googleapi.Error).Header. Use
7628// googleapi.IsNotModified to check whether the returned error was
7629// because http.StatusNotModified was returned.
7630func (c *ProjectsLocationsTagTemplatesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
7631	gensupport.SetOptions(c.urlParams_, opts...)
7632	res, err := c.doRequest("json")
7633	if res != nil && res.StatusCode == http.StatusNotModified {
7634		if res.Body != nil {
7635			res.Body.Close()
7636		}
7637		return nil, &googleapi.Error{
7638			Code:   res.StatusCode,
7639			Header: res.Header,
7640		}
7641	}
7642	if err != nil {
7643		return nil, err
7644	}
7645	defer googleapi.CloseBody(res)
7646	if err := googleapi.CheckResponse(res); err != nil {
7647		return nil, err
7648	}
7649	ret := &TestIamPermissionsResponse{
7650		ServerResponse: googleapi.ServerResponse{
7651			Header:         res.Header,
7652			HTTPStatusCode: res.StatusCode,
7653		},
7654	}
7655	target := &ret
7656	if err := gensupport.DecodeResponse(target, res); err != nil {
7657		return nil, err
7658	}
7659	return ret, nil
7660	// {
7661	//   "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.",
7662	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}:testIamPermissions",
7663	//   "httpMethod": "POST",
7664	//   "id": "datacatalog.projects.locations.tagTemplates.testIamPermissions",
7665	//   "parameterOrder": [
7666	//     "resource"
7667	//   ],
7668	//   "parameters": {
7669	//     "resource": {
7670	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
7671	//       "location": "path",
7672	//       "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$",
7673	//       "required": true,
7674	//       "type": "string"
7675	//     }
7676	//   },
7677	//   "path": "v1beta1/{+resource}:testIamPermissions",
7678	//   "request": {
7679	//     "$ref": "TestIamPermissionsRequest"
7680	//   },
7681	//   "response": {
7682	//     "$ref": "TestIamPermissionsResponse"
7683	//   },
7684	//   "scopes": [
7685	//     "https://www.googleapis.com/auth/cloud-platform"
7686	//   ]
7687	// }
7688
7689}
7690
7691// method id "datacatalog.projects.locations.tagTemplates.fields.create":
7692
7693type ProjectsLocationsTagTemplatesFieldsCreateCall struct {
7694	s                                             *Service
7695	parent                                        string
7696	googleclouddatacatalogv1beta1tagtemplatefield *GoogleCloudDatacatalogV1beta1TagTemplateField
7697	urlParams_                                    gensupport.URLParams
7698	ctx_                                          context.Context
7699	header_                                       http.Header
7700}
7701
7702// Create: Creates a field in a tag template. The user should enable the
7703// Data Catalog API in the project identified by the `parent` parameter
7704// (see Data Catalog Resource Project
7705// (https://cloud.google.com/data-catalog/docs/concepts/resource-project)
7706// for more information).
7707//
7708// - parent: The name of the project and the template location region
7709//   (https://cloud.google.com/data-catalog/docs/concepts/regions).
7710//   Example: *
7711//   projects/{project_id}/locations/us-central1/tagTemplates/{tag_templa
7712//   te_id}.
7713func (r *ProjectsLocationsTagTemplatesFieldsService) Create(parent string, googleclouddatacatalogv1beta1tagtemplatefield *GoogleCloudDatacatalogV1beta1TagTemplateField) *ProjectsLocationsTagTemplatesFieldsCreateCall {
7714	c := &ProjectsLocationsTagTemplatesFieldsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7715	c.parent = parent
7716	c.googleclouddatacatalogv1beta1tagtemplatefield = googleclouddatacatalogv1beta1tagtemplatefield
7717	return c
7718}
7719
7720// TagTemplateFieldId sets the optional parameter "tagTemplateFieldId":
7721// Required. The ID of the tag template field to create. Field ids can
7722// contain letters (both uppercase and lowercase), numbers (0-9),
7723// underscores (_) and dashes (-). Field IDs must be at least 1
7724// character long and at most 128 characters long. Field IDs must also
7725// be unique within their template.
7726func (c *ProjectsLocationsTagTemplatesFieldsCreateCall) TagTemplateFieldId(tagTemplateFieldId string) *ProjectsLocationsTagTemplatesFieldsCreateCall {
7727	c.urlParams_.Set("tagTemplateFieldId", tagTemplateFieldId)
7728	return c
7729}
7730
7731// Fields allows partial responses to be retrieved. See
7732// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7733// for more information.
7734func (c *ProjectsLocationsTagTemplatesFieldsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsTagTemplatesFieldsCreateCall {
7735	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7736	return c
7737}
7738
7739// Context sets the context to be used in this call's Do method. Any
7740// pending HTTP request will be aborted if the provided context is
7741// canceled.
7742func (c *ProjectsLocationsTagTemplatesFieldsCreateCall) Context(ctx context.Context) *ProjectsLocationsTagTemplatesFieldsCreateCall {
7743	c.ctx_ = ctx
7744	return c
7745}
7746
7747// Header returns an http.Header that can be modified by the caller to
7748// add HTTP headers to the request.
7749func (c *ProjectsLocationsTagTemplatesFieldsCreateCall) Header() http.Header {
7750	if c.header_ == nil {
7751		c.header_ = make(http.Header)
7752	}
7753	return c.header_
7754}
7755
7756func (c *ProjectsLocationsTagTemplatesFieldsCreateCall) doRequest(alt string) (*http.Response, error) {
7757	reqHeaders := make(http.Header)
7758	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210830")
7759	for k, v := range c.header_ {
7760		reqHeaders[k] = v
7761	}
7762	reqHeaders.Set("User-Agent", c.s.userAgent())
7763	var body io.Reader = nil
7764	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddatacatalogv1beta1tagtemplatefield)
7765	if err != nil {
7766		return nil, err
7767	}
7768	reqHeaders.Set("Content-Type", "application/json")
7769	c.urlParams_.Set("alt", alt)
7770	c.urlParams_.Set("prettyPrint", "false")
7771	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/fields")
7772	urls += "?" + c.urlParams_.Encode()
7773	req, err := http.NewRequest("POST", urls, body)
7774	if err != nil {
7775		return nil, err
7776	}
7777	req.Header = reqHeaders
7778	googleapi.Expand(req.URL, map[string]string{
7779		"parent": c.parent,
7780	})
7781	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7782}
7783
7784// Do executes the "datacatalog.projects.locations.tagTemplates.fields.create" call.
7785// Exactly one of *GoogleCloudDatacatalogV1beta1TagTemplateField or
7786// error will be non-nil. Any non-2xx status code is an error. Response
7787// headers are in either
7788// *GoogleCloudDatacatalogV1beta1TagTemplateField.ServerResponse.Header
7789// or (if a response was returned at all) in
7790// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
7791// whether the returned error was because http.StatusNotModified was
7792// returned.
7793func (c *ProjectsLocationsTagTemplatesFieldsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1TagTemplateField, error) {
7794	gensupport.SetOptions(c.urlParams_, opts...)
7795	res, err := c.doRequest("json")
7796	if res != nil && res.StatusCode == http.StatusNotModified {
7797		if res.Body != nil {
7798			res.Body.Close()
7799		}
7800		return nil, &googleapi.Error{
7801			Code:   res.StatusCode,
7802			Header: res.Header,
7803		}
7804	}
7805	if err != nil {
7806		return nil, err
7807	}
7808	defer googleapi.CloseBody(res)
7809	if err := googleapi.CheckResponse(res); err != nil {
7810		return nil, err
7811	}
7812	ret := &GoogleCloudDatacatalogV1beta1TagTemplateField{
7813		ServerResponse: googleapi.ServerResponse{
7814			Header:         res.Header,
7815			HTTPStatusCode: res.StatusCode,
7816		},
7817	}
7818	target := &ret
7819	if err := gensupport.DecodeResponse(target, res); err != nil {
7820		return nil, err
7821	}
7822	return ret, nil
7823	// {
7824	//   "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).",
7825	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}/fields",
7826	//   "httpMethod": "POST",
7827	//   "id": "datacatalog.projects.locations.tagTemplates.fields.create",
7828	//   "parameterOrder": [
7829	//     "parent"
7830	//   ],
7831	//   "parameters": {
7832	//     "parent": {
7833	//       "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}",
7834	//       "location": "path",
7835	//       "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$",
7836	//       "required": true,
7837	//       "type": "string"
7838	//     },
7839	//     "tagTemplateFieldId": {
7840	//       "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.",
7841	//       "location": "query",
7842	//       "type": "string"
7843	//     }
7844	//   },
7845	//   "path": "v1beta1/{+parent}/fields",
7846	//   "request": {
7847	//     "$ref": "GoogleCloudDatacatalogV1beta1TagTemplateField"
7848	//   },
7849	//   "response": {
7850	//     "$ref": "GoogleCloudDatacatalogV1beta1TagTemplateField"
7851	//   },
7852	//   "scopes": [
7853	//     "https://www.googleapis.com/auth/cloud-platform"
7854	//   ]
7855	// }
7856
7857}
7858
7859// method id "datacatalog.projects.locations.tagTemplates.fields.delete":
7860
7861type ProjectsLocationsTagTemplatesFieldsDeleteCall struct {
7862	s          *Service
7863	name       string
7864	urlParams_ gensupport.URLParams
7865	ctx_       context.Context
7866	header_    http.Header
7867}
7868
7869// Delete: Deletes a field in a tag template and all uses of that field.
7870// Users should enable the Data Catalog API in the project identified by
7871// the `name` parameter (see [Data Catalog Resource Project]
7872// (https://cloud.google.com/data-catalog/docs/concepts/resource-project)
7873// for more information).
7874//
7875// - name: The name of the tag template field to delete. Example: *
7876//   projects/{project_id}/locations/{location}/tagTemplates/{tag_templat
7877//   e_id}/fields/{tag_template_field_id}.
7878func (r *ProjectsLocationsTagTemplatesFieldsService) Delete(name string) *ProjectsLocationsTagTemplatesFieldsDeleteCall {
7879	c := &ProjectsLocationsTagTemplatesFieldsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7880	c.name = name
7881	return c
7882}
7883
7884// Force sets the optional parameter "force": Required. Currently, this
7885// field must always be set to `true`. This confirms the deletion of
7886// this field from any tags using this field. `force = false` will be
7887// supported in the future.
7888func (c *ProjectsLocationsTagTemplatesFieldsDeleteCall) Force(force bool) *ProjectsLocationsTagTemplatesFieldsDeleteCall {
7889	c.urlParams_.Set("force", fmt.Sprint(force))
7890	return c
7891}
7892
7893// Fields allows partial responses to be retrieved. See
7894// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7895// for more information.
7896func (c *ProjectsLocationsTagTemplatesFieldsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsTagTemplatesFieldsDeleteCall {
7897	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7898	return c
7899}
7900
7901// Context sets the context to be used in this call's Do method. Any
7902// pending HTTP request will be aborted if the provided context is
7903// canceled.
7904func (c *ProjectsLocationsTagTemplatesFieldsDeleteCall) Context(ctx context.Context) *ProjectsLocationsTagTemplatesFieldsDeleteCall {
7905	c.ctx_ = ctx
7906	return c
7907}
7908
7909// Header returns an http.Header that can be modified by the caller to
7910// add HTTP headers to the request.
7911func (c *ProjectsLocationsTagTemplatesFieldsDeleteCall) Header() http.Header {
7912	if c.header_ == nil {
7913		c.header_ = make(http.Header)
7914	}
7915	return c.header_
7916}
7917
7918func (c *ProjectsLocationsTagTemplatesFieldsDeleteCall) doRequest(alt string) (*http.Response, error) {
7919	reqHeaders := make(http.Header)
7920	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210830")
7921	for k, v := range c.header_ {
7922		reqHeaders[k] = v
7923	}
7924	reqHeaders.Set("User-Agent", c.s.userAgent())
7925	var body io.Reader = nil
7926	c.urlParams_.Set("alt", alt)
7927	c.urlParams_.Set("prettyPrint", "false")
7928	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
7929	urls += "?" + c.urlParams_.Encode()
7930	req, err := http.NewRequest("DELETE", urls, body)
7931	if err != nil {
7932		return nil, err
7933	}
7934	req.Header = reqHeaders
7935	googleapi.Expand(req.URL, map[string]string{
7936		"name": c.name,
7937	})
7938	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7939}
7940
7941// Do executes the "datacatalog.projects.locations.tagTemplates.fields.delete" call.
7942// Exactly one of *Empty or error will be non-nil. Any non-2xx status
7943// code is an error. Response headers are in either
7944// *Empty.ServerResponse.Header or (if a response was returned at all)
7945// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
7946// check whether the returned error was because http.StatusNotModified
7947// was returned.
7948func (c *ProjectsLocationsTagTemplatesFieldsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
7949	gensupport.SetOptions(c.urlParams_, opts...)
7950	res, err := c.doRequest("json")
7951	if res != nil && res.StatusCode == http.StatusNotModified {
7952		if res.Body != nil {
7953			res.Body.Close()
7954		}
7955		return nil, &googleapi.Error{
7956			Code:   res.StatusCode,
7957			Header: res.Header,
7958		}
7959	}
7960	if err != nil {
7961		return nil, err
7962	}
7963	defer googleapi.CloseBody(res)
7964	if err := googleapi.CheckResponse(res); err != nil {
7965		return nil, err
7966	}
7967	ret := &Empty{
7968		ServerResponse: googleapi.ServerResponse{
7969			Header:         res.Header,
7970			HTTPStatusCode: res.StatusCode,
7971		},
7972	}
7973	target := &ret
7974	if err := gensupport.DecodeResponse(target, res); err != nil {
7975		return nil, err
7976	}
7977	return ret, nil
7978	// {
7979	//   "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).",
7980	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}/fields/{fieldsId}",
7981	//   "httpMethod": "DELETE",
7982	//   "id": "datacatalog.projects.locations.tagTemplates.fields.delete",
7983	//   "parameterOrder": [
7984	//     "name"
7985	//   ],
7986	//   "parameters": {
7987	//     "force": {
7988	//       "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.",
7989	//       "location": "query",
7990	//       "type": "boolean"
7991	//     },
7992	//     "name": {
7993	//       "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}",
7994	//       "location": "path",
7995	//       "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+/fields/[^/]+$",
7996	//       "required": true,
7997	//       "type": "string"
7998	//     }
7999	//   },
8000	//   "path": "v1beta1/{+name}",
8001	//   "response": {
8002	//     "$ref": "Empty"
8003	//   },
8004	//   "scopes": [
8005	//     "https://www.googleapis.com/auth/cloud-platform"
8006	//   ]
8007	// }
8008
8009}
8010
8011// method id "datacatalog.projects.locations.tagTemplates.fields.patch":
8012
8013type ProjectsLocationsTagTemplatesFieldsPatchCall struct {
8014	s                                             *Service
8015	name                                          string
8016	googleclouddatacatalogv1beta1tagtemplatefield *GoogleCloudDatacatalogV1beta1TagTemplateField
8017	urlParams_                                    gensupport.URLParams
8018	ctx_                                          context.Context
8019	header_                                       http.Header
8020}
8021
8022// Patch: Updates a field in a tag template. This method cannot be used
8023// to update the field type. Users should enable the Data Catalog API in
8024// the project identified by the `name` parameter (see [Data Catalog
8025// Resource Project]
8026// (https://cloud.google.com/data-catalog/docs/concepts/resource-project)
8027// for more information).
8028//
8029// - name: The name of the tag template field. Example: *
8030//   projects/{project_id}/locations/{location}/tagTemplates/{tag_templat
8031//   e_id}/fields/{tag_template_field_id}.
8032func (r *ProjectsLocationsTagTemplatesFieldsService) Patch(name string, googleclouddatacatalogv1beta1tagtemplatefield *GoogleCloudDatacatalogV1beta1TagTemplateField) *ProjectsLocationsTagTemplatesFieldsPatchCall {
8033	c := &ProjectsLocationsTagTemplatesFieldsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8034	c.name = name
8035	c.googleclouddatacatalogv1beta1tagtemplatefield = googleclouddatacatalogv1beta1tagtemplatefield
8036	return c
8037}
8038
8039// UpdateMask sets the optional parameter "updateMask": Names of fields
8040// whose values to overwrite on an individual field of a tag template.
8041// The following fields are modifiable: * `display_name` *
8042// `type.enum_type` * `is_required` If this parameter is absent or
8043// empty, all modifiable fields are overwritten. If such fields are
8044// non-required and omitted in the request body, their values are
8045// emptied with one exception: when updating an enum type, the provided
8046// values are merged with the existing values. Therefore, enum values
8047// can only be added, existing enum values cannot be deleted or renamed.
8048// Additionally, updating a template field from optional to required is
8049// *not* allowed.
8050func (c *ProjectsLocationsTagTemplatesFieldsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsTagTemplatesFieldsPatchCall {
8051	c.urlParams_.Set("updateMask", updateMask)
8052	return c
8053}
8054
8055// Fields allows partial responses to be retrieved. See
8056// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8057// for more information.
8058func (c *ProjectsLocationsTagTemplatesFieldsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsTagTemplatesFieldsPatchCall {
8059	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8060	return c
8061}
8062
8063// Context sets the context to be used in this call's Do method. Any
8064// pending HTTP request will be aborted if the provided context is
8065// canceled.
8066func (c *ProjectsLocationsTagTemplatesFieldsPatchCall) Context(ctx context.Context) *ProjectsLocationsTagTemplatesFieldsPatchCall {
8067	c.ctx_ = ctx
8068	return c
8069}
8070
8071// Header returns an http.Header that can be modified by the caller to
8072// add HTTP headers to the request.
8073func (c *ProjectsLocationsTagTemplatesFieldsPatchCall) Header() http.Header {
8074	if c.header_ == nil {
8075		c.header_ = make(http.Header)
8076	}
8077	return c.header_
8078}
8079
8080func (c *ProjectsLocationsTagTemplatesFieldsPatchCall) doRequest(alt string) (*http.Response, error) {
8081	reqHeaders := make(http.Header)
8082	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210830")
8083	for k, v := range c.header_ {
8084		reqHeaders[k] = v
8085	}
8086	reqHeaders.Set("User-Agent", c.s.userAgent())
8087	var body io.Reader = nil
8088	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddatacatalogv1beta1tagtemplatefield)
8089	if err != nil {
8090		return nil, err
8091	}
8092	reqHeaders.Set("Content-Type", "application/json")
8093	c.urlParams_.Set("alt", alt)
8094	c.urlParams_.Set("prettyPrint", "false")
8095	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
8096	urls += "?" + c.urlParams_.Encode()
8097	req, err := http.NewRequest("PATCH", urls, body)
8098	if err != nil {
8099		return nil, err
8100	}
8101	req.Header = reqHeaders
8102	googleapi.Expand(req.URL, map[string]string{
8103		"name": c.name,
8104	})
8105	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8106}
8107
8108// Do executes the "datacatalog.projects.locations.tagTemplates.fields.patch" call.
8109// Exactly one of *GoogleCloudDatacatalogV1beta1TagTemplateField or
8110// error will be non-nil. Any non-2xx status code is an error. Response
8111// headers are in either
8112// *GoogleCloudDatacatalogV1beta1TagTemplateField.ServerResponse.Header
8113// or (if a response was returned at all) in
8114// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
8115// whether the returned error was because http.StatusNotModified was
8116// returned.
8117func (c *ProjectsLocationsTagTemplatesFieldsPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1TagTemplateField, error) {
8118	gensupport.SetOptions(c.urlParams_, opts...)
8119	res, err := c.doRequest("json")
8120	if res != nil && res.StatusCode == http.StatusNotModified {
8121		if res.Body != nil {
8122			res.Body.Close()
8123		}
8124		return nil, &googleapi.Error{
8125			Code:   res.StatusCode,
8126			Header: res.Header,
8127		}
8128	}
8129	if err != nil {
8130		return nil, err
8131	}
8132	defer googleapi.CloseBody(res)
8133	if err := googleapi.CheckResponse(res); err != nil {
8134		return nil, err
8135	}
8136	ret := &GoogleCloudDatacatalogV1beta1TagTemplateField{
8137		ServerResponse: googleapi.ServerResponse{
8138			Header:         res.Header,
8139			HTTPStatusCode: res.StatusCode,
8140		},
8141	}
8142	target := &ret
8143	if err := gensupport.DecodeResponse(target, res); err != nil {
8144		return nil, err
8145	}
8146	return ret, nil
8147	// {
8148	//   "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).",
8149	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}/fields/{fieldsId}",
8150	//   "httpMethod": "PATCH",
8151	//   "id": "datacatalog.projects.locations.tagTemplates.fields.patch",
8152	//   "parameterOrder": [
8153	//     "name"
8154	//   ],
8155	//   "parameters": {
8156	//     "name": {
8157	//       "description": "Required. The name of the tag template field. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}/fields/{tag_template_field_id}",
8158	//       "location": "path",
8159	//       "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+/fields/[^/]+$",
8160	//       "required": true,
8161	//       "type": "string"
8162	//     },
8163	//     "updateMask": {
8164	//       "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.",
8165	//       "format": "google-fieldmask",
8166	//       "location": "query",
8167	//       "type": "string"
8168	//     }
8169	//   },
8170	//   "path": "v1beta1/{+name}",
8171	//   "request": {
8172	//     "$ref": "GoogleCloudDatacatalogV1beta1TagTemplateField"
8173	//   },
8174	//   "response": {
8175	//     "$ref": "GoogleCloudDatacatalogV1beta1TagTemplateField"
8176	//   },
8177	//   "scopes": [
8178	//     "https://www.googleapis.com/auth/cloud-platform"
8179	//   ]
8180	// }
8181
8182}
8183
8184// method id "datacatalog.projects.locations.tagTemplates.fields.rename":
8185
8186type ProjectsLocationsTagTemplatesFieldsRenameCall struct {
8187	s                                                          *Service
8188	name                                                       string
8189	googleclouddatacatalogv1beta1renametagtemplatefieldrequest *GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldRequest
8190	urlParams_                                                 gensupport.URLParams
8191	ctx_                                                       context.Context
8192	header_                                                    http.Header
8193}
8194
8195// Rename: Renames a field in a tag template. The user should enable the
8196// Data Catalog API in the project identified by the `name` parameter
8197// (see Data Catalog Resource Project
8198// (https://cloud.google.com/data-catalog/docs/concepts/resource-project)
8199// for more information).
8200//
8201// - name: The name of the tag template. Example: *
8202//   projects/{project_id}/locations/{location}/tagTemplates/{tag_templat
8203//   e_id}/fields/{tag_template_field_id}.
8204func (r *ProjectsLocationsTagTemplatesFieldsService) Rename(name string, googleclouddatacatalogv1beta1renametagtemplatefieldrequest *GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldRequest) *ProjectsLocationsTagTemplatesFieldsRenameCall {
8205	c := &ProjectsLocationsTagTemplatesFieldsRenameCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8206	c.name = name
8207	c.googleclouddatacatalogv1beta1renametagtemplatefieldrequest = googleclouddatacatalogv1beta1renametagtemplatefieldrequest
8208	return c
8209}
8210
8211// Fields allows partial responses to be retrieved. See
8212// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8213// for more information.
8214func (c *ProjectsLocationsTagTemplatesFieldsRenameCall) Fields(s ...googleapi.Field) *ProjectsLocationsTagTemplatesFieldsRenameCall {
8215	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8216	return c
8217}
8218
8219// Context sets the context to be used in this call's Do method. Any
8220// pending HTTP request will be aborted if the provided context is
8221// canceled.
8222func (c *ProjectsLocationsTagTemplatesFieldsRenameCall) Context(ctx context.Context) *ProjectsLocationsTagTemplatesFieldsRenameCall {
8223	c.ctx_ = ctx
8224	return c
8225}
8226
8227// Header returns an http.Header that can be modified by the caller to
8228// add HTTP headers to the request.
8229func (c *ProjectsLocationsTagTemplatesFieldsRenameCall) Header() http.Header {
8230	if c.header_ == nil {
8231		c.header_ = make(http.Header)
8232	}
8233	return c.header_
8234}
8235
8236func (c *ProjectsLocationsTagTemplatesFieldsRenameCall) doRequest(alt string) (*http.Response, error) {
8237	reqHeaders := make(http.Header)
8238	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210830")
8239	for k, v := range c.header_ {
8240		reqHeaders[k] = v
8241	}
8242	reqHeaders.Set("User-Agent", c.s.userAgent())
8243	var body io.Reader = nil
8244	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddatacatalogv1beta1renametagtemplatefieldrequest)
8245	if err != nil {
8246		return nil, err
8247	}
8248	reqHeaders.Set("Content-Type", "application/json")
8249	c.urlParams_.Set("alt", alt)
8250	c.urlParams_.Set("prettyPrint", "false")
8251	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:rename")
8252	urls += "?" + c.urlParams_.Encode()
8253	req, err := http.NewRequest("POST", urls, body)
8254	if err != nil {
8255		return nil, err
8256	}
8257	req.Header = reqHeaders
8258	googleapi.Expand(req.URL, map[string]string{
8259		"name": c.name,
8260	})
8261	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8262}
8263
8264// Do executes the "datacatalog.projects.locations.tagTemplates.fields.rename" call.
8265// Exactly one of *GoogleCloudDatacatalogV1beta1TagTemplateField or
8266// error will be non-nil. Any non-2xx status code is an error. Response
8267// headers are in either
8268// *GoogleCloudDatacatalogV1beta1TagTemplateField.ServerResponse.Header
8269// or (if a response was returned at all) in
8270// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
8271// whether the returned error was because http.StatusNotModified was
8272// returned.
8273func (c *ProjectsLocationsTagTemplatesFieldsRenameCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1TagTemplateField, error) {
8274	gensupport.SetOptions(c.urlParams_, opts...)
8275	res, err := c.doRequest("json")
8276	if res != nil && res.StatusCode == http.StatusNotModified {
8277		if res.Body != nil {
8278			res.Body.Close()
8279		}
8280		return nil, &googleapi.Error{
8281			Code:   res.StatusCode,
8282			Header: res.Header,
8283		}
8284	}
8285	if err != nil {
8286		return nil, err
8287	}
8288	defer googleapi.CloseBody(res)
8289	if err := googleapi.CheckResponse(res); err != nil {
8290		return nil, err
8291	}
8292	ret := &GoogleCloudDatacatalogV1beta1TagTemplateField{
8293		ServerResponse: googleapi.ServerResponse{
8294			Header:         res.Header,
8295			HTTPStatusCode: res.StatusCode,
8296		},
8297	}
8298	target := &ret
8299	if err := gensupport.DecodeResponse(target, res); err != nil {
8300		return nil, err
8301	}
8302	return ret, nil
8303	// {
8304	//   "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).",
8305	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}/fields/{fieldsId}:rename",
8306	//   "httpMethod": "POST",
8307	//   "id": "datacatalog.projects.locations.tagTemplates.fields.rename",
8308	//   "parameterOrder": [
8309	//     "name"
8310	//   ],
8311	//   "parameters": {
8312	//     "name": {
8313	//       "description": "Required. The name of the tag template. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}/fields/{tag_template_field_id}",
8314	//       "location": "path",
8315	//       "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+/fields/[^/]+$",
8316	//       "required": true,
8317	//       "type": "string"
8318	//     }
8319	//   },
8320	//   "path": "v1beta1/{+name}:rename",
8321	//   "request": {
8322	//     "$ref": "GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldRequest"
8323	//   },
8324	//   "response": {
8325	//     "$ref": "GoogleCloudDatacatalogV1beta1TagTemplateField"
8326	//   },
8327	//   "scopes": [
8328	//     "https://www.googleapis.com/auth/cloud-platform"
8329	//   ]
8330	// }
8331
8332}
8333
8334// method id "datacatalog.projects.locations.tagTemplates.fields.enumValues.rename":
8335
8336type ProjectsLocationsTagTemplatesFieldsEnumValuesRenameCall struct {
8337	s                                                                   *Service
8338	name                                                                string
8339	googleclouddatacatalogv1beta1renametagtemplatefieldenumvaluerequest *GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldEnumValueRequest
8340	urlParams_                                                          gensupport.URLParams
8341	ctx_                                                                context.Context
8342	header_                                                             http.Header
8343}
8344
8345// Rename: Renames an enum value in a tag template. The enum values have
8346// to be unique within one enum field. Thus, an enum value cannot be
8347// renamed with a name used in any other enum value within the same enum
8348// field.
8349//
8350// - name: The name of the enum field value. Example: *
8351//   projects/{project_id}/locations/{location}/tagTemplates/{tag_templat
8352//   e_id}/fields/{tag_template_field_id}/enumValues/{enum_value_display_
8353//   name}.
8354func (r *ProjectsLocationsTagTemplatesFieldsEnumValuesService) Rename(name string, googleclouddatacatalogv1beta1renametagtemplatefieldenumvaluerequest *GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldEnumValueRequest) *ProjectsLocationsTagTemplatesFieldsEnumValuesRenameCall {
8355	c := &ProjectsLocationsTagTemplatesFieldsEnumValuesRenameCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8356	c.name = name
8357	c.googleclouddatacatalogv1beta1renametagtemplatefieldenumvaluerequest = googleclouddatacatalogv1beta1renametagtemplatefieldenumvaluerequest
8358	return c
8359}
8360
8361// Fields allows partial responses to be retrieved. See
8362// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8363// for more information.
8364func (c *ProjectsLocationsTagTemplatesFieldsEnumValuesRenameCall) Fields(s ...googleapi.Field) *ProjectsLocationsTagTemplatesFieldsEnumValuesRenameCall {
8365	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8366	return c
8367}
8368
8369// Context sets the context to be used in this call's Do method. Any
8370// pending HTTP request will be aborted if the provided context is
8371// canceled.
8372func (c *ProjectsLocationsTagTemplatesFieldsEnumValuesRenameCall) Context(ctx context.Context) *ProjectsLocationsTagTemplatesFieldsEnumValuesRenameCall {
8373	c.ctx_ = ctx
8374	return c
8375}
8376
8377// Header returns an http.Header that can be modified by the caller to
8378// add HTTP headers to the request.
8379func (c *ProjectsLocationsTagTemplatesFieldsEnumValuesRenameCall) Header() http.Header {
8380	if c.header_ == nil {
8381		c.header_ = make(http.Header)
8382	}
8383	return c.header_
8384}
8385
8386func (c *ProjectsLocationsTagTemplatesFieldsEnumValuesRenameCall) doRequest(alt string) (*http.Response, error) {
8387	reqHeaders := make(http.Header)
8388	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210830")
8389	for k, v := range c.header_ {
8390		reqHeaders[k] = v
8391	}
8392	reqHeaders.Set("User-Agent", c.s.userAgent())
8393	var body io.Reader = nil
8394	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddatacatalogv1beta1renametagtemplatefieldenumvaluerequest)
8395	if err != nil {
8396		return nil, err
8397	}
8398	reqHeaders.Set("Content-Type", "application/json")
8399	c.urlParams_.Set("alt", alt)
8400	c.urlParams_.Set("prettyPrint", "false")
8401	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:rename")
8402	urls += "?" + c.urlParams_.Encode()
8403	req, err := http.NewRequest("POST", urls, body)
8404	if err != nil {
8405		return nil, err
8406	}
8407	req.Header = reqHeaders
8408	googleapi.Expand(req.URL, map[string]string{
8409		"name": c.name,
8410	})
8411	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8412}
8413
8414// Do executes the "datacatalog.projects.locations.tagTemplates.fields.enumValues.rename" call.
8415// Exactly one of *GoogleCloudDatacatalogV1beta1TagTemplateField or
8416// error will be non-nil. Any non-2xx status code is an error. Response
8417// headers are in either
8418// *GoogleCloudDatacatalogV1beta1TagTemplateField.ServerResponse.Header
8419// or (if a response was returned at all) in
8420// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
8421// whether the returned error was because http.StatusNotModified was
8422// returned.
8423func (c *ProjectsLocationsTagTemplatesFieldsEnumValuesRenameCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1TagTemplateField, error) {
8424	gensupport.SetOptions(c.urlParams_, opts...)
8425	res, err := c.doRequest("json")
8426	if res != nil && res.StatusCode == http.StatusNotModified {
8427		if res.Body != nil {
8428			res.Body.Close()
8429		}
8430		return nil, &googleapi.Error{
8431			Code:   res.StatusCode,
8432			Header: res.Header,
8433		}
8434	}
8435	if err != nil {
8436		return nil, err
8437	}
8438	defer googleapi.CloseBody(res)
8439	if err := googleapi.CheckResponse(res); err != nil {
8440		return nil, err
8441	}
8442	ret := &GoogleCloudDatacatalogV1beta1TagTemplateField{
8443		ServerResponse: googleapi.ServerResponse{
8444			Header:         res.Header,
8445			HTTPStatusCode: res.StatusCode,
8446		},
8447	}
8448	target := &ret
8449	if err := gensupport.DecodeResponse(target, res); err != nil {
8450		return nil, err
8451	}
8452	return ret, nil
8453	// {
8454	//   "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.",
8455	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}/fields/{fieldsId}/enumValues/{enumValuesId}:rename",
8456	//   "httpMethod": "POST",
8457	//   "id": "datacatalog.projects.locations.tagTemplates.fields.enumValues.rename",
8458	//   "parameterOrder": [
8459	//     "name"
8460	//   ],
8461	//   "parameters": {
8462	//     "name": {
8463	//       "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}",
8464	//       "location": "path",
8465	//       "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+/fields/[^/]+/enumValues/[^/]+$",
8466	//       "required": true,
8467	//       "type": "string"
8468	//     }
8469	//   },
8470	//   "path": "v1beta1/{+name}:rename",
8471	//   "request": {
8472	//     "$ref": "GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldEnumValueRequest"
8473	//   },
8474	//   "response": {
8475	//     "$ref": "GoogleCloudDatacatalogV1beta1TagTemplateField"
8476	//   },
8477	//   "scopes": [
8478	//     "https://www.googleapis.com/auth/cloud-platform"
8479	//   ]
8480	// }
8481
8482}
8483
8484// method id "datacatalog.projects.locations.taxonomies.create":
8485
8486type ProjectsLocationsTaxonomiesCreateCall struct {
8487	s                                     *Service
8488	parent                                string
8489	googleclouddatacatalogv1beta1taxonomy *GoogleCloudDatacatalogV1beta1Taxonomy
8490	urlParams_                            gensupport.URLParams
8491	ctx_                                  context.Context
8492	header_                               http.Header
8493}
8494
8495// Create: Creates a taxonomy in the specified project.
8496//
8497// - parent: Resource name of the project that the taxonomy will belong
8498//   to.
8499func (r *ProjectsLocationsTaxonomiesService) Create(parent string, googleclouddatacatalogv1beta1taxonomy *GoogleCloudDatacatalogV1beta1Taxonomy) *ProjectsLocationsTaxonomiesCreateCall {
8500	c := &ProjectsLocationsTaxonomiesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8501	c.parent = parent
8502	c.googleclouddatacatalogv1beta1taxonomy = googleclouddatacatalogv1beta1taxonomy
8503	return c
8504}
8505
8506// Fields allows partial responses to be retrieved. See
8507// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8508// for more information.
8509func (c *ProjectsLocationsTaxonomiesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsTaxonomiesCreateCall {
8510	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8511	return c
8512}
8513
8514// Context sets the context to be used in this call's Do method. Any
8515// pending HTTP request will be aborted if the provided context is
8516// canceled.
8517func (c *ProjectsLocationsTaxonomiesCreateCall) Context(ctx context.Context) *ProjectsLocationsTaxonomiesCreateCall {
8518	c.ctx_ = ctx
8519	return c
8520}
8521
8522// Header returns an http.Header that can be modified by the caller to
8523// add HTTP headers to the request.
8524func (c *ProjectsLocationsTaxonomiesCreateCall) Header() http.Header {
8525	if c.header_ == nil {
8526		c.header_ = make(http.Header)
8527	}
8528	return c.header_
8529}
8530
8531func (c *ProjectsLocationsTaxonomiesCreateCall) doRequest(alt string) (*http.Response, error) {
8532	reqHeaders := make(http.Header)
8533	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210830")
8534	for k, v := range c.header_ {
8535		reqHeaders[k] = v
8536	}
8537	reqHeaders.Set("User-Agent", c.s.userAgent())
8538	var body io.Reader = nil
8539	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddatacatalogv1beta1taxonomy)
8540	if err != nil {
8541		return nil, err
8542	}
8543	reqHeaders.Set("Content-Type", "application/json")
8544	c.urlParams_.Set("alt", alt)
8545	c.urlParams_.Set("prettyPrint", "false")
8546	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/taxonomies")
8547	urls += "?" + c.urlParams_.Encode()
8548	req, err := http.NewRequest("POST", urls, body)
8549	if err != nil {
8550		return nil, err
8551	}
8552	req.Header = reqHeaders
8553	googleapi.Expand(req.URL, map[string]string{
8554		"parent": c.parent,
8555	})
8556	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8557}
8558
8559// Do executes the "datacatalog.projects.locations.taxonomies.create" call.
8560// Exactly one of *GoogleCloudDatacatalogV1beta1Taxonomy or error will
8561// be non-nil. Any non-2xx status code is an error. Response headers are
8562// in either
8563// *GoogleCloudDatacatalogV1beta1Taxonomy.ServerResponse.Header or (if a
8564// response was returned at all) in error.(*googleapi.Error).Header. Use
8565// googleapi.IsNotModified to check whether the returned error was
8566// because http.StatusNotModified was returned.
8567func (c *ProjectsLocationsTaxonomiesCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1Taxonomy, error) {
8568	gensupport.SetOptions(c.urlParams_, opts...)
8569	res, err := c.doRequest("json")
8570	if res != nil && res.StatusCode == http.StatusNotModified {
8571		if res.Body != nil {
8572			res.Body.Close()
8573		}
8574		return nil, &googleapi.Error{
8575			Code:   res.StatusCode,
8576			Header: res.Header,
8577		}
8578	}
8579	if err != nil {
8580		return nil, err
8581	}
8582	defer googleapi.CloseBody(res)
8583	if err := googleapi.CheckResponse(res); err != nil {
8584		return nil, err
8585	}
8586	ret := &GoogleCloudDatacatalogV1beta1Taxonomy{
8587		ServerResponse: googleapi.ServerResponse{
8588			Header:         res.Header,
8589			HTTPStatusCode: res.StatusCode,
8590		},
8591	}
8592	target := &ret
8593	if err := gensupport.DecodeResponse(target, res); err != nil {
8594		return nil, err
8595	}
8596	return ret, nil
8597	// {
8598	//   "description": "Creates a taxonomy in the specified project.",
8599	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies",
8600	//   "httpMethod": "POST",
8601	//   "id": "datacatalog.projects.locations.taxonomies.create",
8602	//   "parameterOrder": [
8603	//     "parent"
8604	//   ],
8605	//   "parameters": {
8606	//     "parent": {
8607	//       "description": "Required. Resource name of the project that the taxonomy will belong to.",
8608	//       "location": "path",
8609	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
8610	//       "required": true,
8611	//       "type": "string"
8612	//     }
8613	//   },
8614	//   "path": "v1beta1/{+parent}/taxonomies",
8615	//   "request": {
8616	//     "$ref": "GoogleCloudDatacatalogV1beta1Taxonomy"
8617	//   },
8618	//   "response": {
8619	//     "$ref": "GoogleCloudDatacatalogV1beta1Taxonomy"
8620	//   },
8621	//   "scopes": [
8622	//     "https://www.googleapis.com/auth/cloud-platform"
8623	//   ]
8624	// }
8625
8626}
8627
8628// method id "datacatalog.projects.locations.taxonomies.delete":
8629
8630type ProjectsLocationsTaxonomiesDeleteCall struct {
8631	s          *Service
8632	name       string
8633	urlParams_ gensupport.URLParams
8634	ctx_       context.Context
8635	header_    http.Header
8636}
8637
8638// Delete: Deletes a taxonomy. This operation will also delete all
8639// policy tags in this taxonomy along with their associated policies.
8640//
8641// - name: Resource name of the taxonomy to be deleted. All policy tags
8642//   in this taxonomy will also be deleted.
8643func (r *ProjectsLocationsTaxonomiesService) Delete(name string) *ProjectsLocationsTaxonomiesDeleteCall {
8644	c := &ProjectsLocationsTaxonomiesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8645	c.name = name
8646	return c
8647}
8648
8649// Fields allows partial responses to be retrieved. See
8650// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8651// for more information.
8652func (c *ProjectsLocationsTaxonomiesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsTaxonomiesDeleteCall {
8653	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8654	return c
8655}
8656
8657// Context sets the context to be used in this call's Do method. Any
8658// pending HTTP request will be aborted if the provided context is
8659// canceled.
8660func (c *ProjectsLocationsTaxonomiesDeleteCall) Context(ctx context.Context) *ProjectsLocationsTaxonomiesDeleteCall {
8661	c.ctx_ = ctx
8662	return c
8663}
8664
8665// Header returns an http.Header that can be modified by the caller to
8666// add HTTP headers to the request.
8667func (c *ProjectsLocationsTaxonomiesDeleteCall) Header() http.Header {
8668	if c.header_ == nil {
8669		c.header_ = make(http.Header)
8670	}
8671	return c.header_
8672}
8673
8674func (c *ProjectsLocationsTaxonomiesDeleteCall) doRequest(alt string) (*http.Response, error) {
8675	reqHeaders := make(http.Header)
8676	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210830")
8677	for k, v := range c.header_ {
8678		reqHeaders[k] = v
8679	}
8680	reqHeaders.Set("User-Agent", c.s.userAgent())
8681	var body io.Reader = nil
8682	c.urlParams_.Set("alt", alt)
8683	c.urlParams_.Set("prettyPrint", "false")
8684	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
8685	urls += "?" + c.urlParams_.Encode()
8686	req, err := http.NewRequest("DELETE", urls, body)
8687	if err != nil {
8688		return nil, err
8689	}
8690	req.Header = reqHeaders
8691	googleapi.Expand(req.URL, map[string]string{
8692		"name": c.name,
8693	})
8694	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8695}
8696
8697// Do executes the "datacatalog.projects.locations.taxonomies.delete" call.
8698// Exactly one of *Empty or error will be non-nil. Any non-2xx status
8699// code is an error. Response headers are in either
8700// *Empty.ServerResponse.Header or (if a response was returned at all)
8701// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
8702// check whether the returned error was because http.StatusNotModified
8703// was returned.
8704func (c *ProjectsLocationsTaxonomiesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
8705	gensupport.SetOptions(c.urlParams_, opts...)
8706	res, err := c.doRequest("json")
8707	if res != nil && res.StatusCode == http.StatusNotModified {
8708		if res.Body != nil {
8709			res.Body.Close()
8710		}
8711		return nil, &googleapi.Error{
8712			Code:   res.StatusCode,
8713			Header: res.Header,
8714		}
8715	}
8716	if err != nil {
8717		return nil, err
8718	}
8719	defer googleapi.CloseBody(res)
8720	if err := googleapi.CheckResponse(res); err != nil {
8721		return nil, err
8722	}
8723	ret := &Empty{
8724		ServerResponse: googleapi.ServerResponse{
8725			Header:         res.Header,
8726			HTTPStatusCode: res.StatusCode,
8727		},
8728	}
8729	target := &ret
8730	if err := gensupport.DecodeResponse(target, res); err != nil {
8731		return nil, err
8732	}
8733	return ret, nil
8734	// {
8735	//   "description": "Deletes a taxonomy. This operation will also delete all policy tags in this taxonomy along with their associated policies.",
8736	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}",
8737	//   "httpMethod": "DELETE",
8738	//   "id": "datacatalog.projects.locations.taxonomies.delete",
8739	//   "parameterOrder": [
8740	//     "name"
8741	//   ],
8742	//   "parameters": {
8743	//     "name": {
8744	//       "description": "Required. Resource name of the taxonomy to be deleted. All policy tags in this taxonomy will also be deleted.",
8745	//       "location": "path",
8746	//       "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+$",
8747	//       "required": true,
8748	//       "type": "string"
8749	//     }
8750	//   },
8751	//   "path": "v1beta1/{+name}",
8752	//   "response": {
8753	//     "$ref": "Empty"
8754	//   },
8755	//   "scopes": [
8756	//     "https://www.googleapis.com/auth/cloud-platform"
8757	//   ]
8758	// }
8759
8760}
8761
8762// method id "datacatalog.projects.locations.taxonomies.export":
8763
8764type ProjectsLocationsTaxonomiesExportCall struct {
8765	s            *Service
8766	parent       string
8767	urlParams_   gensupport.URLParams
8768	ifNoneMatch_ string
8769	ctx_         context.Context
8770	header_      http.Header
8771}
8772
8773// Export: Exports all taxonomies and their policy tags in a project.
8774// This method generates SerializedTaxonomy protos with nested policy
8775// tags that can be used as an input for future ImportTaxonomies calls.
8776//
8777// - parent: Resource name of the project that taxonomies to be exported
8778//   will share.
8779func (r *ProjectsLocationsTaxonomiesService) Export(parent string) *ProjectsLocationsTaxonomiesExportCall {
8780	c := &ProjectsLocationsTaxonomiesExportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8781	c.parent = parent
8782	return c
8783}
8784
8785// SerializedTaxonomies sets the optional parameter
8786// "serializedTaxonomies": Export taxonomies as serialized taxonomies.
8787func (c *ProjectsLocationsTaxonomiesExportCall) SerializedTaxonomies(serializedTaxonomies bool) *ProjectsLocationsTaxonomiesExportCall {
8788	c.urlParams_.Set("serializedTaxonomies", fmt.Sprint(serializedTaxonomies))
8789	return c
8790}
8791
8792// Taxonomies sets the optional parameter "taxonomies": Required.
8793// Resource names of the taxonomies to be exported.
8794func (c *ProjectsLocationsTaxonomiesExportCall) Taxonomies(taxonomies ...string) *ProjectsLocationsTaxonomiesExportCall {
8795	c.urlParams_.SetMulti("taxonomies", append([]string{}, taxonomies...))
8796	return c
8797}
8798
8799// Fields allows partial responses to be retrieved. See
8800// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8801// for more information.
8802func (c *ProjectsLocationsTaxonomiesExportCall) Fields(s ...googleapi.Field) *ProjectsLocationsTaxonomiesExportCall {
8803	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8804	return c
8805}
8806
8807// IfNoneMatch sets the optional parameter which makes the operation
8808// fail if the object's ETag matches the given value. This is useful for
8809// getting updates only after the object has changed since the last
8810// request. Use googleapi.IsNotModified to check whether the response
8811// error from Do is the result of In-None-Match.
8812func (c *ProjectsLocationsTaxonomiesExportCall) IfNoneMatch(entityTag string) *ProjectsLocationsTaxonomiesExportCall {
8813	c.ifNoneMatch_ = entityTag
8814	return c
8815}
8816
8817// Context sets the context to be used in this call's Do method. Any
8818// pending HTTP request will be aborted if the provided context is
8819// canceled.
8820func (c *ProjectsLocationsTaxonomiesExportCall) Context(ctx context.Context) *ProjectsLocationsTaxonomiesExportCall {
8821	c.ctx_ = ctx
8822	return c
8823}
8824
8825// Header returns an http.Header that can be modified by the caller to
8826// add HTTP headers to the request.
8827func (c *ProjectsLocationsTaxonomiesExportCall) Header() http.Header {
8828	if c.header_ == nil {
8829		c.header_ = make(http.Header)
8830	}
8831	return c.header_
8832}
8833
8834func (c *ProjectsLocationsTaxonomiesExportCall) doRequest(alt string) (*http.Response, error) {
8835	reqHeaders := make(http.Header)
8836	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210830")
8837	for k, v := range c.header_ {
8838		reqHeaders[k] = v
8839	}
8840	reqHeaders.Set("User-Agent", c.s.userAgent())
8841	if c.ifNoneMatch_ != "" {
8842		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
8843	}
8844	var body io.Reader = nil
8845	c.urlParams_.Set("alt", alt)
8846	c.urlParams_.Set("prettyPrint", "false")
8847	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/taxonomies:export")
8848	urls += "?" + c.urlParams_.Encode()
8849	req, err := http.NewRequest("GET", urls, body)
8850	if err != nil {
8851		return nil, err
8852	}
8853	req.Header = reqHeaders
8854	googleapi.Expand(req.URL, map[string]string{
8855		"parent": c.parent,
8856	})
8857	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8858}
8859
8860// Do executes the "datacatalog.projects.locations.taxonomies.export" call.
8861// Exactly one of *GoogleCloudDatacatalogV1beta1ExportTaxonomiesResponse
8862// or error will be non-nil. Any non-2xx status code is an error.
8863// Response headers are in either
8864// *GoogleCloudDatacatalogV1beta1ExportTaxonomiesResponse.ServerResponse.
8865// Header or (if a response was returned at all) in
8866// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
8867// whether the returned error was because http.StatusNotModified was
8868// returned.
8869func (c *ProjectsLocationsTaxonomiesExportCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1ExportTaxonomiesResponse, error) {
8870	gensupport.SetOptions(c.urlParams_, opts...)
8871	res, err := c.doRequest("json")
8872	if res != nil && res.StatusCode == http.StatusNotModified {
8873		if res.Body != nil {
8874			res.Body.Close()
8875		}
8876		return nil, &googleapi.Error{
8877			Code:   res.StatusCode,
8878			Header: res.Header,
8879		}
8880	}
8881	if err != nil {
8882		return nil, err
8883	}
8884	defer googleapi.CloseBody(res)
8885	if err := googleapi.CheckResponse(res); err != nil {
8886		return nil, err
8887	}
8888	ret := &GoogleCloudDatacatalogV1beta1ExportTaxonomiesResponse{
8889		ServerResponse: googleapi.ServerResponse{
8890			Header:         res.Header,
8891			HTTPStatusCode: res.StatusCode,
8892		},
8893	}
8894	target := &ret
8895	if err := gensupport.DecodeResponse(target, res); err != nil {
8896		return nil, err
8897	}
8898	return ret, nil
8899	// {
8900	//   "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.",
8901	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies:export",
8902	//   "httpMethod": "GET",
8903	//   "id": "datacatalog.projects.locations.taxonomies.export",
8904	//   "parameterOrder": [
8905	//     "parent"
8906	//   ],
8907	//   "parameters": {
8908	//     "parent": {
8909	//       "description": "Required. Resource name of the project that taxonomies to be exported will share.",
8910	//       "location": "path",
8911	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
8912	//       "required": true,
8913	//       "type": "string"
8914	//     },
8915	//     "serializedTaxonomies": {
8916	//       "description": "Export taxonomies as serialized taxonomies.",
8917	//       "location": "query",
8918	//       "type": "boolean"
8919	//     },
8920	//     "taxonomies": {
8921	//       "description": "Required. Resource names of the taxonomies to be exported.",
8922	//       "location": "query",
8923	//       "repeated": true,
8924	//       "type": "string"
8925	//     }
8926	//   },
8927	//   "path": "v1beta1/{+parent}/taxonomies:export",
8928	//   "response": {
8929	//     "$ref": "GoogleCloudDatacatalogV1beta1ExportTaxonomiesResponse"
8930	//   },
8931	//   "scopes": [
8932	//     "https://www.googleapis.com/auth/cloud-platform"
8933	//   ]
8934	// }
8935
8936}
8937
8938// method id "datacatalog.projects.locations.taxonomies.get":
8939
8940type ProjectsLocationsTaxonomiesGetCall struct {
8941	s            *Service
8942	name         string
8943	urlParams_   gensupport.URLParams
8944	ifNoneMatch_ string
8945	ctx_         context.Context
8946	header_      http.Header
8947}
8948
8949// Get: Gets a taxonomy.
8950//
8951// - name: Resource name of the requested taxonomy.
8952func (r *ProjectsLocationsTaxonomiesService) Get(name string) *ProjectsLocationsTaxonomiesGetCall {
8953	c := &ProjectsLocationsTaxonomiesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8954	c.name = name
8955	return c
8956}
8957
8958// Fields allows partial responses to be retrieved. See
8959// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8960// for more information.
8961func (c *ProjectsLocationsTaxonomiesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsTaxonomiesGetCall {
8962	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8963	return c
8964}
8965
8966// IfNoneMatch sets the optional parameter which makes the operation
8967// fail if the object's ETag matches the given value. This is useful for
8968// getting updates only after the object has changed since the last
8969// request. Use googleapi.IsNotModified to check whether the response
8970// error from Do is the result of In-None-Match.
8971func (c *ProjectsLocationsTaxonomiesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsTaxonomiesGetCall {
8972	c.ifNoneMatch_ = entityTag
8973	return c
8974}
8975
8976// Context sets the context to be used in this call's Do method. Any
8977// pending HTTP request will be aborted if the provided context is
8978// canceled.
8979func (c *ProjectsLocationsTaxonomiesGetCall) Context(ctx context.Context) *ProjectsLocationsTaxonomiesGetCall {
8980	c.ctx_ = ctx
8981	return c
8982}
8983
8984// Header returns an http.Header that can be modified by the caller to
8985// add HTTP headers to the request.
8986func (c *ProjectsLocationsTaxonomiesGetCall) Header() http.Header {
8987	if c.header_ == nil {
8988		c.header_ = make(http.Header)
8989	}
8990	return c.header_
8991}
8992
8993func (c *ProjectsLocationsTaxonomiesGetCall) doRequest(alt string) (*http.Response, error) {
8994	reqHeaders := make(http.Header)
8995	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210830")
8996	for k, v := range c.header_ {
8997		reqHeaders[k] = v
8998	}
8999	reqHeaders.Set("User-Agent", c.s.userAgent())
9000	if c.ifNoneMatch_ != "" {
9001		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
9002	}
9003	var body io.Reader = nil
9004	c.urlParams_.Set("alt", alt)
9005	c.urlParams_.Set("prettyPrint", "false")
9006	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
9007	urls += "?" + c.urlParams_.Encode()
9008	req, err := http.NewRequest("GET", urls, body)
9009	if err != nil {
9010		return nil, err
9011	}
9012	req.Header = reqHeaders
9013	googleapi.Expand(req.URL, map[string]string{
9014		"name": c.name,
9015	})
9016	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9017}
9018
9019// Do executes the "datacatalog.projects.locations.taxonomies.get" call.
9020// Exactly one of *GoogleCloudDatacatalogV1beta1Taxonomy or error will
9021// be non-nil. Any non-2xx status code is an error. Response headers are
9022// in either
9023// *GoogleCloudDatacatalogV1beta1Taxonomy.ServerResponse.Header or (if a
9024// response was returned at all) in error.(*googleapi.Error).Header. Use
9025// googleapi.IsNotModified to check whether the returned error was
9026// because http.StatusNotModified was returned.
9027func (c *ProjectsLocationsTaxonomiesGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1Taxonomy, error) {
9028	gensupport.SetOptions(c.urlParams_, opts...)
9029	res, err := c.doRequest("json")
9030	if res != nil && res.StatusCode == http.StatusNotModified {
9031		if res.Body != nil {
9032			res.Body.Close()
9033		}
9034		return nil, &googleapi.Error{
9035			Code:   res.StatusCode,
9036			Header: res.Header,
9037		}
9038	}
9039	if err != nil {
9040		return nil, err
9041	}
9042	defer googleapi.CloseBody(res)
9043	if err := googleapi.CheckResponse(res); err != nil {
9044		return nil, err
9045	}
9046	ret := &GoogleCloudDatacatalogV1beta1Taxonomy{
9047		ServerResponse: googleapi.ServerResponse{
9048			Header:         res.Header,
9049			HTTPStatusCode: res.StatusCode,
9050		},
9051	}
9052	target := &ret
9053	if err := gensupport.DecodeResponse(target, res); err != nil {
9054		return nil, err
9055	}
9056	return ret, nil
9057	// {
9058	//   "description": "Gets a taxonomy.",
9059	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}",
9060	//   "httpMethod": "GET",
9061	//   "id": "datacatalog.projects.locations.taxonomies.get",
9062	//   "parameterOrder": [
9063	//     "name"
9064	//   ],
9065	//   "parameters": {
9066	//     "name": {
9067	//       "description": "Required. Resource name of the requested taxonomy.",
9068	//       "location": "path",
9069	//       "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+$",
9070	//       "required": true,
9071	//       "type": "string"
9072	//     }
9073	//   },
9074	//   "path": "v1beta1/{+name}",
9075	//   "response": {
9076	//     "$ref": "GoogleCloudDatacatalogV1beta1Taxonomy"
9077	//   },
9078	//   "scopes": [
9079	//     "https://www.googleapis.com/auth/cloud-platform"
9080	//   ]
9081	// }
9082
9083}
9084
9085// method id "datacatalog.projects.locations.taxonomies.getIamPolicy":
9086
9087type ProjectsLocationsTaxonomiesGetIamPolicyCall struct {
9088	s                   *Service
9089	resource            string
9090	getiampolicyrequest *GetIamPolicyRequest
9091	urlParams_          gensupport.URLParams
9092	ctx_                context.Context
9093	header_             http.Header
9094}
9095
9096// GetIamPolicy: Gets the IAM policy for a taxonomy or a policy tag.
9097//
9098// - resource: REQUIRED: The resource for which the policy is being
9099//   requested. See the operation documentation for the appropriate
9100//   value for this field.
9101func (r *ProjectsLocationsTaxonomiesService) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *ProjectsLocationsTaxonomiesGetIamPolicyCall {
9102	c := &ProjectsLocationsTaxonomiesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9103	c.resource = resource
9104	c.getiampolicyrequest = getiampolicyrequest
9105	return c
9106}
9107
9108// Fields allows partial responses to be retrieved. See
9109// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9110// for more information.
9111func (c *ProjectsLocationsTaxonomiesGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsTaxonomiesGetIamPolicyCall {
9112	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9113	return c
9114}
9115
9116// Context sets the context to be used in this call's Do method. Any
9117// pending HTTP request will be aborted if the provided context is
9118// canceled.
9119func (c *ProjectsLocationsTaxonomiesGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsTaxonomiesGetIamPolicyCall {
9120	c.ctx_ = ctx
9121	return c
9122}
9123
9124// Header returns an http.Header that can be modified by the caller to
9125// add HTTP headers to the request.
9126func (c *ProjectsLocationsTaxonomiesGetIamPolicyCall) Header() http.Header {
9127	if c.header_ == nil {
9128		c.header_ = make(http.Header)
9129	}
9130	return c.header_
9131}
9132
9133func (c *ProjectsLocationsTaxonomiesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
9134	reqHeaders := make(http.Header)
9135	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210830")
9136	for k, v := range c.header_ {
9137		reqHeaders[k] = v
9138	}
9139	reqHeaders.Set("User-Agent", c.s.userAgent())
9140	var body io.Reader = nil
9141	body, err := googleapi.WithoutDataWrapper.JSONReader(c.getiampolicyrequest)
9142	if err != nil {
9143		return nil, err
9144	}
9145	reqHeaders.Set("Content-Type", "application/json")
9146	c.urlParams_.Set("alt", alt)
9147	c.urlParams_.Set("prettyPrint", "false")
9148	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:getIamPolicy")
9149	urls += "?" + c.urlParams_.Encode()
9150	req, err := http.NewRequest("POST", urls, body)
9151	if err != nil {
9152		return nil, err
9153	}
9154	req.Header = reqHeaders
9155	googleapi.Expand(req.URL, map[string]string{
9156		"resource": c.resource,
9157	})
9158	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9159}
9160
9161// Do executes the "datacatalog.projects.locations.taxonomies.getIamPolicy" call.
9162// Exactly one of *Policy or error will be non-nil. Any non-2xx status
9163// code is an error. Response headers are in either
9164// *Policy.ServerResponse.Header or (if a response was returned at all)
9165// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
9166// check whether the returned error was because http.StatusNotModified
9167// was returned.
9168func (c *ProjectsLocationsTaxonomiesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
9169	gensupport.SetOptions(c.urlParams_, opts...)
9170	res, err := c.doRequest("json")
9171	if res != nil && res.StatusCode == http.StatusNotModified {
9172		if res.Body != nil {
9173			res.Body.Close()
9174		}
9175		return nil, &googleapi.Error{
9176			Code:   res.StatusCode,
9177			Header: res.Header,
9178		}
9179	}
9180	if err != nil {
9181		return nil, err
9182	}
9183	defer googleapi.CloseBody(res)
9184	if err := googleapi.CheckResponse(res); err != nil {
9185		return nil, err
9186	}
9187	ret := &Policy{
9188		ServerResponse: googleapi.ServerResponse{
9189			Header:         res.Header,
9190			HTTPStatusCode: res.StatusCode,
9191		},
9192	}
9193	target := &ret
9194	if err := gensupport.DecodeResponse(target, res); err != nil {
9195		return nil, err
9196	}
9197	return ret, nil
9198	// {
9199	//   "description": "Gets the IAM policy for a taxonomy or a policy tag.",
9200	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}:getIamPolicy",
9201	//   "httpMethod": "POST",
9202	//   "id": "datacatalog.projects.locations.taxonomies.getIamPolicy",
9203	//   "parameterOrder": [
9204	//     "resource"
9205	//   ],
9206	//   "parameters": {
9207	//     "resource": {
9208	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
9209	//       "location": "path",
9210	//       "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+$",
9211	//       "required": true,
9212	//       "type": "string"
9213	//     }
9214	//   },
9215	//   "path": "v1beta1/{+resource}:getIamPolicy",
9216	//   "request": {
9217	//     "$ref": "GetIamPolicyRequest"
9218	//   },
9219	//   "response": {
9220	//     "$ref": "Policy"
9221	//   },
9222	//   "scopes": [
9223	//     "https://www.googleapis.com/auth/cloud-platform"
9224	//   ]
9225	// }
9226
9227}
9228
9229// method id "datacatalog.projects.locations.taxonomies.import":
9230
9231type ProjectsLocationsTaxonomiesImportCall struct {
9232	s                                                    *Service
9233	parent                                               string
9234	googleclouddatacatalogv1beta1importtaxonomiesrequest *GoogleCloudDatacatalogV1beta1ImportTaxonomiesRequest
9235	urlParams_                                           gensupport.URLParams
9236	ctx_                                                 context.Context
9237	header_                                              http.Header
9238}
9239
9240// Import: Imports all taxonomies and their policy tags to a project as
9241// new taxonomies. This method provides a bulk taxonomy / policy tag
9242// creation using nested proto structure.
9243//
9244// - parent: Resource name of project that the imported taxonomies will
9245//   belong to.
9246func (r *ProjectsLocationsTaxonomiesService) Import(parent string, googleclouddatacatalogv1beta1importtaxonomiesrequest *GoogleCloudDatacatalogV1beta1ImportTaxonomiesRequest) *ProjectsLocationsTaxonomiesImportCall {
9247	c := &ProjectsLocationsTaxonomiesImportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9248	c.parent = parent
9249	c.googleclouddatacatalogv1beta1importtaxonomiesrequest = googleclouddatacatalogv1beta1importtaxonomiesrequest
9250	return c
9251}
9252
9253// Fields allows partial responses to be retrieved. See
9254// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9255// for more information.
9256func (c *ProjectsLocationsTaxonomiesImportCall) Fields(s ...googleapi.Field) *ProjectsLocationsTaxonomiesImportCall {
9257	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9258	return c
9259}
9260
9261// Context sets the context to be used in this call's Do method. Any
9262// pending HTTP request will be aborted if the provided context is
9263// canceled.
9264func (c *ProjectsLocationsTaxonomiesImportCall) Context(ctx context.Context) *ProjectsLocationsTaxonomiesImportCall {
9265	c.ctx_ = ctx
9266	return c
9267}
9268
9269// Header returns an http.Header that can be modified by the caller to
9270// add HTTP headers to the request.
9271func (c *ProjectsLocationsTaxonomiesImportCall) Header() http.Header {
9272	if c.header_ == nil {
9273		c.header_ = make(http.Header)
9274	}
9275	return c.header_
9276}
9277
9278func (c *ProjectsLocationsTaxonomiesImportCall) doRequest(alt string) (*http.Response, error) {
9279	reqHeaders := make(http.Header)
9280	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210830")
9281	for k, v := range c.header_ {
9282		reqHeaders[k] = v
9283	}
9284	reqHeaders.Set("User-Agent", c.s.userAgent())
9285	var body io.Reader = nil
9286	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddatacatalogv1beta1importtaxonomiesrequest)
9287	if err != nil {
9288		return nil, err
9289	}
9290	reqHeaders.Set("Content-Type", "application/json")
9291	c.urlParams_.Set("alt", alt)
9292	c.urlParams_.Set("prettyPrint", "false")
9293	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/taxonomies:import")
9294	urls += "?" + c.urlParams_.Encode()
9295	req, err := http.NewRequest("POST", urls, body)
9296	if err != nil {
9297		return nil, err
9298	}
9299	req.Header = reqHeaders
9300	googleapi.Expand(req.URL, map[string]string{
9301		"parent": c.parent,
9302	})
9303	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9304}
9305
9306// Do executes the "datacatalog.projects.locations.taxonomies.import" call.
9307// Exactly one of *GoogleCloudDatacatalogV1beta1ImportTaxonomiesResponse
9308// or error will be non-nil. Any non-2xx status code is an error.
9309// Response headers are in either
9310// *GoogleCloudDatacatalogV1beta1ImportTaxonomiesResponse.ServerResponse.
9311// Header or (if a response was returned at all) in
9312// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
9313// whether the returned error was because http.StatusNotModified was
9314// returned.
9315func (c *ProjectsLocationsTaxonomiesImportCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1ImportTaxonomiesResponse, error) {
9316	gensupport.SetOptions(c.urlParams_, opts...)
9317	res, err := c.doRequest("json")
9318	if res != nil && res.StatusCode == http.StatusNotModified {
9319		if res.Body != nil {
9320			res.Body.Close()
9321		}
9322		return nil, &googleapi.Error{
9323			Code:   res.StatusCode,
9324			Header: res.Header,
9325		}
9326	}
9327	if err != nil {
9328		return nil, err
9329	}
9330	defer googleapi.CloseBody(res)
9331	if err := googleapi.CheckResponse(res); err != nil {
9332		return nil, err
9333	}
9334	ret := &GoogleCloudDatacatalogV1beta1ImportTaxonomiesResponse{
9335		ServerResponse: googleapi.ServerResponse{
9336			Header:         res.Header,
9337			HTTPStatusCode: res.StatusCode,
9338		},
9339	}
9340	target := &ret
9341	if err := gensupport.DecodeResponse(target, res); err != nil {
9342		return nil, err
9343	}
9344	return ret, nil
9345	// {
9346	//   "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.",
9347	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies:import",
9348	//   "httpMethod": "POST",
9349	//   "id": "datacatalog.projects.locations.taxonomies.import",
9350	//   "parameterOrder": [
9351	//     "parent"
9352	//   ],
9353	//   "parameters": {
9354	//     "parent": {
9355	//       "description": "Required. Resource name of project that the imported taxonomies will belong to.",
9356	//       "location": "path",
9357	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
9358	//       "required": true,
9359	//       "type": "string"
9360	//     }
9361	//   },
9362	//   "path": "v1beta1/{+parent}/taxonomies:import",
9363	//   "request": {
9364	//     "$ref": "GoogleCloudDatacatalogV1beta1ImportTaxonomiesRequest"
9365	//   },
9366	//   "response": {
9367	//     "$ref": "GoogleCloudDatacatalogV1beta1ImportTaxonomiesResponse"
9368	//   },
9369	//   "scopes": [
9370	//     "https://www.googleapis.com/auth/cloud-platform"
9371	//   ]
9372	// }
9373
9374}
9375
9376// method id "datacatalog.projects.locations.taxonomies.list":
9377
9378type ProjectsLocationsTaxonomiesListCall struct {
9379	s            *Service
9380	parent       string
9381	urlParams_   gensupport.URLParams
9382	ifNoneMatch_ string
9383	ctx_         context.Context
9384	header_      http.Header
9385}
9386
9387// List: Lists all taxonomies in a project in a particular location that
9388// the caller has permission to view.
9389//
9390// - parent: Resource name of the project to list the taxonomies of.
9391func (r *ProjectsLocationsTaxonomiesService) List(parent string) *ProjectsLocationsTaxonomiesListCall {
9392	c := &ProjectsLocationsTaxonomiesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9393	c.parent = parent
9394	return c
9395}
9396
9397// PageSize sets the optional parameter "pageSize": The maximum number
9398// of items to return. Must be a value between 1 and 1000. If not set,
9399// defaults to 50.
9400func (c *ProjectsLocationsTaxonomiesListCall) PageSize(pageSize int64) *ProjectsLocationsTaxonomiesListCall {
9401	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
9402	return c
9403}
9404
9405// PageToken sets the optional parameter "pageToken": The
9406// next_page_token value returned from a previous list request, if any.
9407// If not set, defaults to an empty string.
9408func (c *ProjectsLocationsTaxonomiesListCall) PageToken(pageToken string) *ProjectsLocationsTaxonomiesListCall {
9409	c.urlParams_.Set("pageToken", pageToken)
9410	return c
9411}
9412
9413// Fields allows partial responses to be retrieved. See
9414// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9415// for more information.
9416func (c *ProjectsLocationsTaxonomiesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsTaxonomiesListCall {
9417	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9418	return c
9419}
9420
9421// IfNoneMatch sets the optional parameter which makes the operation
9422// fail if the object's ETag matches the given value. This is useful for
9423// getting updates only after the object has changed since the last
9424// request. Use googleapi.IsNotModified to check whether the response
9425// error from Do is the result of In-None-Match.
9426func (c *ProjectsLocationsTaxonomiesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsTaxonomiesListCall {
9427	c.ifNoneMatch_ = entityTag
9428	return c
9429}
9430
9431// Context sets the context to be used in this call's Do method. Any
9432// pending HTTP request will be aborted if the provided context is
9433// canceled.
9434func (c *ProjectsLocationsTaxonomiesListCall) Context(ctx context.Context) *ProjectsLocationsTaxonomiesListCall {
9435	c.ctx_ = ctx
9436	return c
9437}
9438
9439// Header returns an http.Header that can be modified by the caller to
9440// add HTTP headers to the request.
9441func (c *ProjectsLocationsTaxonomiesListCall) Header() http.Header {
9442	if c.header_ == nil {
9443		c.header_ = make(http.Header)
9444	}
9445	return c.header_
9446}
9447
9448func (c *ProjectsLocationsTaxonomiesListCall) doRequest(alt string) (*http.Response, error) {
9449	reqHeaders := make(http.Header)
9450	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210830")
9451	for k, v := range c.header_ {
9452		reqHeaders[k] = v
9453	}
9454	reqHeaders.Set("User-Agent", c.s.userAgent())
9455	if c.ifNoneMatch_ != "" {
9456		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
9457	}
9458	var body io.Reader = nil
9459	c.urlParams_.Set("alt", alt)
9460	c.urlParams_.Set("prettyPrint", "false")
9461	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/taxonomies")
9462	urls += "?" + c.urlParams_.Encode()
9463	req, err := http.NewRequest("GET", urls, body)
9464	if err != nil {
9465		return nil, err
9466	}
9467	req.Header = reqHeaders
9468	googleapi.Expand(req.URL, map[string]string{
9469		"parent": c.parent,
9470	})
9471	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9472}
9473
9474// Do executes the "datacatalog.projects.locations.taxonomies.list" call.
9475// Exactly one of *GoogleCloudDatacatalogV1beta1ListTaxonomiesResponse
9476// or error will be non-nil. Any non-2xx status code is an error.
9477// Response headers are in either
9478// *GoogleCloudDatacatalogV1beta1ListTaxonomiesResponse.ServerResponse.He
9479// ader or (if a response was returned at all) in
9480// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
9481// whether the returned error was because http.StatusNotModified was
9482// returned.
9483func (c *ProjectsLocationsTaxonomiesListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1ListTaxonomiesResponse, error) {
9484	gensupport.SetOptions(c.urlParams_, opts...)
9485	res, err := c.doRequest("json")
9486	if res != nil && res.StatusCode == http.StatusNotModified {
9487		if res.Body != nil {
9488			res.Body.Close()
9489		}
9490		return nil, &googleapi.Error{
9491			Code:   res.StatusCode,
9492			Header: res.Header,
9493		}
9494	}
9495	if err != nil {
9496		return nil, err
9497	}
9498	defer googleapi.CloseBody(res)
9499	if err := googleapi.CheckResponse(res); err != nil {
9500		return nil, err
9501	}
9502	ret := &GoogleCloudDatacatalogV1beta1ListTaxonomiesResponse{
9503		ServerResponse: googleapi.ServerResponse{
9504			Header:         res.Header,
9505			HTTPStatusCode: res.StatusCode,
9506		},
9507	}
9508	target := &ret
9509	if err := gensupport.DecodeResponse(target, res); err != nil {
9510		return nil, err
9511	}
9512	return ret, nil
9513	// {
9514	//   "description": "Lists all taxonomies in a project in a particular location that the caller has permission to view.",
9515	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies",
9516	//   "httpMethod": "GET",
9517	//   "id": "datacatalog.projects.locations.taxonomies.list",
9518	//   "parameterOrder": [
9519	//     "parent"
9520	//   ],
9521	//   "parameters": {
9522	//     "pageSize": {
9523	//       "description": "The maximum number of items to return. Must be a value between 1 and 1000. If not set, defaults to 50.",
9524	//       "format": "int32",
9525	//       "location": "query",
9526	//       "type": "integer"
9527	//     },
9528	//     "pageToken": {
9529	//       "description": "The next_page_token value returned from a previous list request, if any. If not set, defaults to an empty string.",
9530	//       "location": "query",
9531	//       "type": "string"
9532	//     },
9533	//     "parent": {
9534	//       "description": "Required. Resource name of the project to list the taxonomies of.",
9535	//       "location": "path",
9536	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
9537	//       "required": true,
9538	//       "type": "string"
9539	//     }
9540	//   },
9541	//   "path": "v1beta1/{+parent}/taxonomies",
9542	//   "response": {
9543	//     "$ref": "GoogleCloudDatacatalogV1beta1ListTaxonomiesResponse"
9544	//   },
9545	//   "scopes": [
9546	//     "https://www.googleapis.com/auth/cloud-platform"
9547	//   ]
9548	// }
9549
9550}
9551
9552// Pages invokes f for each page of results.
9553// A non-nil error returned from f will halt the iteration.
9554// The provided context supersedes any context provided to the Context method.
9555func (c *ProjectsLocationsTaxonomiesListCall) Pages(ctx context.Context, f func(*GoogleCloudDatacatalogV1beta1ListTaxonomiesResponse) error) error {
9556	c.ctx_ = ctx
9557	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
9558	for {
9559		x, err := c.Do()
9560		if err != nil {
9561			return err
9562		}
9563		if err := f(x); err != nil {
9564			return err
9565		}
9566		if x.NextPageToken == "" {
9567			return nil
9568		}
9569		c.PageToken(x.NextPageToken)
9570	}
9571}
9572
9573// method id "datacatalog.projects.locations.taxonomies.patch":
9574
9575type ProjectsLocationsTaxonomiesPatchCall struct {
9576	s                                     *Service
9577	name                                  string
9578	googleclouddatacatalogv1beta1taxonomy *GoogleCloudDatacatalogV1beta1Taxonomy
9579	urlParams_                            gensupport.URLParams
9580	ctx_                                  context.Context
9581	header_                               http.Header
9582}
9583
9584// Patch: Updates a taxonomy.
9585//
9586// - name: Output only. Resource name of this taxonomy, whose format is:
9587//   "projects/{project_number}/locations/{location_id}/taxonomies/{id}".
9588func (r *ProjectsLocationsTaxonomiesService) Patch(name string, googleclouddatacatalogv1beta1taxonomy *GoogleCloudDatacatalogV1beta1Taxonomy) *ProjectsLocationsTaxonomiesPatchCall {
9589	c := &ProjectsLocationsTaxonomiesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9590	c.name = name
9591	c.googleclouddatacatalogv1beta1taxonomy = googleclouddatacatalogv1beta1taxonomy
9592	return c
9593}
9594
9595// UpdateMask sets the optional parameter "updateMask": The update mask
9596// applies to the resource. For the `FieldMask` definition, see
9597// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask
9598// If not set, defaults to all of the fields that are allowed to update.
9599func (c *ProjectsLocationsTaxonomiesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsTaxonomiesPatchCall {
9600	c.urlParams_.Set("updateMask", updateMask)
9601	return c
9602}
9603
9604// Fields allows partial responses to be retrieved. See
9605// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9606// for more information.
9607func (c *ProjectsLocationsTaxonomiesPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsTaxonomiesPatchCall {
9608	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9609	return c
9610}
9611
9612// Context sets the context to be used in this call's Do method. Any
9613// pending HTTP request will be aborted if the provided context is
9614// canceled.
9615func (c *ProjectsLocationsTaxonomiesPatchCall) Context(ctx context.Context) *ProjectsLocationsTaxonomiesPatchCall {
9616	c.ctx_ = ctx
9617	return c
9618}
9619
9620// Header returns an http.Header that can be modified by the caller to
9621// add HTTP headers to the request.
9622func (c *ProjectsLocationsTaxonomiesPatchCall) Header() http.Header {
9623	if c.header_ == nil {
9624		c.header_ = make(http.Header)
9625	}
9626	return c.header_
9627}
9628
9629func (c *ProjectsLocationsTaxonomiesPatchCall) doRequest(alt string) (*http.Response, error) {
9630	reqHeaders := make(http.Header)
9631	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210830")
9632	for k, v := range c.header_ {
9633		reqHeaders[k] = v
9634	}
9635	reqHeaders.Set("User-Agent", c.s.userAgent())
9636	var body io.Reader = nil
9637	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddatacatalogv1beta1taxonomy)
9638	if err != nil {
9639		return nil, err
9640	}
9641	reqHeaders.Set("Content-Type", "application/json")
9642	c.urlParams_.Set("alt", alt)
9643	c.urlParams_.Set("prettyPrint", "false")
9644	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
9645	urls += "?" + c.urlParams_.Encode()
9646	req, err := http.NewRequest("PATCH", urls, body)
9647	if err != nil {
9648		return nil, err
9649	}
9650	req.Header = reqHeaders
9651	googleapi.Expand(req.URL, map[string]string{
9652		"name": c.name,
9653	})
9654	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9655}
9656
9657// Do executes the "datacatalog.projects.locations.taxonomies.patch" call.
9658// Exactly one of *GoogleCloudDatacatalogV1beta1Taxonomy or error will
9659// be non-nil. Any non-2xx status code is an error. Response headers are
9660// in either
9661// *GoogleCloudDatacatalogV1beta1Taxonomy.ServerResponse.Header or (if a
9662// response was returned at all) in error.(*googleapi.Error).Header. Use
9663// googleapi.IsNotModified to check whether the returned error was
9664// because http.StatusNotModified was returned.
9665func (c *ProjectsLocationsTaxonomiesPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1Taxonomy, error) {
9666	gensupport.SetOptions(c.urlParams_, opts...)
9667	res, err := c.doRequest("json")
9668	if res != nil && res.StatusCode == http.StatusNotModified {
9669		if res.Body != nil {
9670			res.Body.Close()
9671		}
9672		return nil, &googleapi.Error{
9673			Code:   res.StatusCode,
9674			Header: res.Header,
9675		}
9676	}
9677	if err != nil {
9678		return nil, err
9679	}
9680	defer googleapi.CloseBody(res)
9681	if err := googleapi.CheckResponse(res); err != nil {
9682		return nil, err
9683	}
9684	ret := &GoogleCloudDatacatalogV1beta1Taxonomy{
9685		ServerResponse: googleapi.ServerResponse{
9686			Header:         res.Header,
9687			HTTPStatusCode: res.StatusCode,
9688		},
9689	}
9690	target := &ret
9691	if err := gensupport.DecodeResponse(target, res); err != nil {
9692		return nil, err
9693	}
9694	return ret, nil
9695	// {
9696	//   "description": "Updates a taxonomy.",
9697	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}",
9698	//   "httpMethod": "PATCH",
9699	//   "id": "datacatalog.projects.locations.taxonomies.patch",
9700	//   "parameterOrder": [
9701	//     "name"
9702	//   ],
9703	//   "parameters": {
9704	//     "name": {
9705	//       "description": "Output only. Resource name of this taxonomy, whose format is: \"projects/{project_number}/locations/{location_id}/taxonomies/{id}\".",
9706	//       "location": "path",
9707	//       "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+$",
9708	//       "required": true,
9709	//       "type": "string"
9710	//     },
9711	//     "updateMask": {
9712	//       "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.",
9713	//       "format": "google-fieldmask",
9714	//       "location": "query",
9715	//       "type": "string"
9716	//     }
9717	//   },
9718	//   "path": "v1beta1/{+name}",
9719	//   "request": {
9720	//     "$ref": "GoogleCloudDatacatalogV1beta1Taxonomy"
9721	//   },
9722	//   "response": {
9723	//     "$ref": "GoogleCloudDatacatalogV1beta1Taxonomy"
9724	//   },
9725	//   "scopes": [
9726	//     "https://www.googleapis.com/auth/cloud-platform"
9727	//   ]
9728	// }
9729
9730}
9731
9732// method id "datacatalog.projects.locations.taxonomies.setIamPolicy":
9733
9734type ProjectsLocationsTaxonomiesSetIamPolicyCall struct {
9735	s                   *Service
9736	resource            string
9737	setiampolicyrequest *SetIamPolicyRequest
9738	urlParams_          gensupport.URLParams
9739	ctx_                context.Context
9740	header_             http.Header
9741}
9742
9743// SetIamPolicy: Sets the IAM policy for a taxonomy or a policy tag.
9744//
9745// - resource: REQUIRED: The resource for which the policy is being
9746//   specified. See the operation documentation for the appropriate
9747//   value for this field.
9748func (r *ProjectsLocationsTaxonomiesService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsTaxonomiesSetIamPolicyCall {
9749	c := &ProjectsLocationsTaxonomiesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9750	c.resource = resource
9751	c.setiampolicyrequest = setiampolicyrequest
9752	return c
9753}
9754
9755// Fields allows partial responses to be retrieved. See
9756// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9757// for more information.
9758func (c *ProjectsLocationsTaxonomiesSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsTaxonomiesSetIamPolicyCall {
9759	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9760	return c
9761}
9762
9763// Context sets the context to be used in this call's Do method. Any
9764// pending HTTP request will be aborted if the provided context is
9765// canceled.
9766func (c *ProjectsLocationsTaxonomiesSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsTaxonomiesSetIamPolicyCall {
9767	c.ctx_ = ctx
9768	return c
9769}
9770
9771// Header returns an http.Header that can be modified by the caller to
9772// add HTTP headers to the request.
9773func (c *ProjectsLocationsTaxonomiesSetIamPolicyCall) Header() http.Header {
9774	if c.header_ == nil {
9775		c.header_ = make(http.Header)
9776	}
9777	return c.header_
9778}
9779
9780func (c *ProjectsLocationsTaxonomiesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
9781	reqHeaders := make(http.Header)
9782	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210830")
9783	for k, v := range c.header_ {
9784		reqHeaders[k] = v
9785	}
9786	reqHeaders.Set("User-Agent", c.s.userAgent())
9787	var body io.Reader = nil
9788	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
9789	if err != nil {
9790		return nil, err
9791	}
9792	reqHeaders.Set("Content-Type", "application/json")
9793	c.urlParams_.Set("alt", alt)
9794	c.urlParams_.Set("prettyPrint", "false")
9795	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:setIamPolicy")
9796	urls += "?" + c.urlParams_.Encode()
9797	req, err := http.NewRequest("POST", urls, body)
9798	if err != nil {
9799		return nil, err
9800	}
9801	req.Header = reqHeaders
9802	googleapi.Expand(req.URL, map[string]string{
9803		"resource": c.resource,
9804	})
9805	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9806}
9807
9808// Do executes the "datacatalog.projects.locations.taxonomies.setIamPolicy" call.
9809// Exactly one of *Policy or error will be non-nil. Any non-2xx status
9810// code is an error. Response headers are in either
9811// *Policy.ServerResponse.Header or (if a response was returned at all)
9812// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
9813// check whether the returned error was because http.StatusNotModified
9814// was returned.
9815func (c *ProjectsLocationsTaxonomiesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
9816	gensupport.SetOptions(c.urlParams_, opts...)
9817	res, err := c.doRequest("json")
9818	if res != nil && res.StatusCode == http.StatusNotModified {
9819		if res.Body != nil {
9820			res.Body.Close()
9821		}
9822		return nil, &googleapi.Error{
9823			Code:   res.StatusCode,
9824			Header: res.Header,
9825		}
9826	}
9827	if err != nil {
9828		return nil, err
9829	}
9830	defer googleapi.CloseBody(res)
9831	if err := googleapi.CheckResponse(res); err != nil {
9832		return nil, err
9833	}
9834	ret := &Policy{
9835		ServerResponse: googleapi.ServerResponse{
9836			Header:         res.Header,
9837			HTTPStatusCode: res.StatusCode,
9838		},
9839	}
9840	target := &ret
9841	if err := gensupport.DecodeResponse(target, res); err != nil {
9842		return nil, err
9843	}
9844	return ret, nil
9845	// {
9846	//   "description": "Sets the IAM policy for a taxonomy or a policy tag.",
9847	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}:setIamPolicy",
9848	//   "httpMethod": "POST",
9849	//   "id": "datacatalog.projects.locations.taxonomies.setIamPolicy",
9850	//   "parameterOrder": [
9851	//     "resource"
9852	//   ],
9853	//   "parameters": {
9854	//     "resource": {
9855	//       "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
9856	//       "location": "path",
9857	//       "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+$",
9858	//       "required": true,
9859	//       "type": "string"
9860	//     }
9861	//   },
9862	//   "path": "v1beta1/{+resource}:setIamPolicy",
9863	//   "request": {
9864	//     "$ref": "SetIamPolicyRequest"
9865	//   },
9866	//   "response": {
9867	//     "$ref": "Policy"
9868	//   },
9869	//   "scopes": [
9870	//     "https://www.googleapis.com/auth/cloud-platform"
9871	//   ]
9872	// }
9873
9874}
9875
9876// method id "datacatalog.projects.locations.taxonomies.testIamPermissions":
9877
9878type ProjectsLocationsTaxonomiesTestIamPermissionsCall struct {
9879	s                         *Service
9880	resource                  string
9881	testiampermissionsrequest *TestIamPermissionsRequest
9882	urlParams_                gensupport.URLParams
9883	ctx_                      context.Context
9884	header_                   http.Header
9885}
9886
9887// TestIamPermissions: Returns the permissions that a caller has on the
9888// specified taxonomy or policy tag.
9889//
9890// - resource: REQUIRED: The resource for which the policy detail is
9891//   being requested. See the operation documentation for the
9892//   appropriate value for this field.
9893func (r *ProjectsLocationsTaxonomiesService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsTaxonomiesTestIamPermissionsCall {
9894	c := &ProjectsLocationsTaxonomiesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9895	c.resource = resource
9896	c.testiampermissionsrequest = testiampermissionsrequest
9897	return c
9898}
9899
9900// Fields allows partial responses to be retrieved. See
9901// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9902// for more information.
9903func (c *ProjectsLocationsTaxonomiesTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsTaxonomiesTestIamPermissionsCall {
9904	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9905	return c
9906}
9907
9908// Context sets the context to be used in this call's Do method. Any
9909// pending HTTP request will be aborted if the provided context is
9910// canceled.
9911func (c *ProjectsLocationsTaxonomiesTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsTaxonomiesTestIamPermissionsCall {
9912	c.ctx_ = ctx
9913	return c
9914}
9915
9916// Header returns an http.Header that can be modified by the caller to
9917// add HTTP headers to the request.
9918func (c *ProjectsLocationsTaxonomiesTestIamPermissionsCall) Header() http.Header {
9919	if c.header_ == nil {
9920		c.header_ = make(http.Header)
9921	}
9922	return c.header_
9923}
9924
9925func (c *ProjectsLocationsTaxonomiesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
9926	reqHeaders := make(http.Header)
9927	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210830")
9928	for k, v := range c.header_ {
9929		reqHeaders[k] = v
9930	}
9931	reqHeaders.Set("User-Agent", c.s.userAgent())
9932	var body io.Reader = nil
9933	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
9934	if err != nil {
9935		return nil, err
9936	}
9937	reqHeaders.Set("Content-Type", "application/json")
9938	c.urlParams_.Set("alt", alt)
9939	c.urlParams_.Set("prettyPrint", "false")
9940	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:testIamPermissions")
9941	urls += "?" + c.urlParams_.Encode()
9942	req, err := http.NewRequest("POST", urls, body)
9943	if err != nil {
9944		return nil, err
9945	}
9946	req.Header = reqHeaders
9947	googleapi.Expand(req.URL, map[string]string{
9948		"resource": c.resource,
9949	})
9950	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9951}
9952
9953// Do executes the "datacatalog.projects.locations.taxonomies.testIamPermissions" call.
9954// Exactly one of *TestIamPermissionsResponse or error will be non-nil.
9955// Any non-2xx status code is an error. Response headers are in either
9956// *TestIamPermissionsResponse.ServerResponse.Header or (if a response
9957// was returned at all) in error.(*googleapi.Error).Header. Use
9958// googleapi.IsNotModified to check whether the returned error was
9959// because http.StatusNotModified was returned.
9960func (c *ProjectsLocationsTaxonomiesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
9961	gensupport.SetOptions(c.urlParams_, opts...)
9962	res, err := c.doRequest("json")
9963	if res != nil && res.StatusCode == http.StatusNotModified {
9964		if res.Body != nil {
9965			res.Body.Close()
9966		}
9967		return nil, &googleapi.Error{
9968			Code:   res.StatusCode,
9969			Header: res.Header,
9970		}
9971	}
9972	if err != nil {
9973		return nil, err
9974	}
9975	defer googleapi.CloseBody(res)
9976	if err := googleapi.CheckResponse(res); err != nil {
9977		return nil, err
9978	}
9979	ret := &TestIamPermissionsResponse{
9980		ServerResponse: googleapi.ServerResponse{
9981			Header:         res.Header,
9982			HTTPStatusCode: res.StatusCode,
9983		},
9984	}
9985	target := &ret
9986	if err := gensupport.DecodeResponse(target, res); err != nil {
9987		return nil, err
9988	}
9989	return ret, nil
9990	// {
9991	//   "description": "Returns the permissions that a caller has on the specified taxonomy or policy tag.",
9992	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}:testIamPermissions",
9993	//   "httpMethod": "POST",
9994	//   "id": "datacatalog.projects.locations.taxonomies.testIamPermissions",
9995	//   "parameterOrder": [
9996	//     "resource"
9997	//   ],
9998	//   "parameters": {
9999	//     "resource": {
10000	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
10001	//       "location": "path",
10002	//       "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+$",
10003	//       "required": true,
10004	//       "type": "string"
10005	//     }
10006	//   },
10007	//   "path": "v1beta1/{+resource}:testIamPermissions",
10008	//   "request": {
10009	//     "$ref": "TestIamPermissionsRequest"
10010	//   },
10011	//   "response": {
10012	//     "$ref": "TestIamPermissionsResponse"
10013	//   },
10014	//   "scopes": [
10015	//     "https://www.googleapis.com/auth/cloud-platform"
10016	//   ]
10017	// }
10018
10019}
10020
10021// method id "datacatalog.projects.locations.taxonomies.policyTags.create":
10022
10023type ProjectsLocationsTaxonomiesPolicyTagsCreateCall struct {
10024	s                                      *Service
10025	parent                                 string
10026	googleclouddatacatalogv1beta1policytag *GoogleCloudDatacatalogV1beta1PolicyTag
10027	urlParams_                             gensupport.URLParams
10028	ctx_                                   context.Context
10029	header_                                http.Header
10030}
10031
10032// Create: Creates a policy tag in the specified taxonomy.
10033//
10034// - parent: Resource name of the taxonomy that the policy tag will
10035//   belong to.
10036func (r *ProjectsLocationsTaxonomiesPolicyTagsService) Create(parent string, googleclouddatacatalogv1beta1policytag *GoogleCloudDatacatalogV1beta1PolicyTag) *ProjectsLocationsTaxonomiesPolicyTagsCreateCall {
10037	c := &ProjectsLocationsTaxonomiesPolicyTagsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10038	c.parent = parent
10039	c.googleclouddatacatalogv1beta1policytag = googleclouddatacatalogv1beta1policytag
10040	return c
10041}
10042
10043// Fields allows partial responses to be retrieved. See
10044// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10045// for more information.
10046func (c *ProjectsLocationsTaxonomiesPolicyTagsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsTaxonomiesPolicyTagsCreateCall {
10047	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10048	return c
10049}
10050
10051// Context sets the context to be used in this call's Do method. Any
10052// pending HTTP request will be aborted if the provided context is
10053// canceled.
10054func (c *ProjectsLocationsTaxonomiesPolicyTagsCreateCall) Context(ctx context.Context) *ProjectsLocationsTaxonomiesPolicyTagsCreateCall {
10055	c.ctx_ = ctx
10056	return c
10057}
10058
10059// Header returns an http.Header that can be modified by the caller to
10060// add HTTP headers to the request.
10061func (c *ProjectsLocationsTaxonomiesPolicyTagsCreateCall) Header() http.Header {
10062	if c.header_ == nil {
10063		c.header_ = make(http.Header)
10064	}
10065	return c.header_
10066}
10067
10068func (c *ProjectsLocationsTaxonomiesPolicyTagsCreateCall) doRequest(alt string) (*http.Response, error) {
10069	reqHeaders := make(http.Header)
10070	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210830")
10071	for k, v := range c.header_ {
10072		reqHeaders[k] = v
10073	}
10074	reqHeaders.Set("User-Agent", c.s.userAgent())
10075	var body io.Reader = nil
10076	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddatacatalogv1beta1policytag)
10077	if err != nil {
10078		return nil, err
10079	}
10080	reqHeaders.Set("Content-Type", "application/json")
10081	c.urlParams_.Set("alt", alt)
10082	c.urlParams_.Set("prettyPrint", "false")
10083	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/policyTags")
10084	urls += "?" + c.urlParams_.Encode()
10085	req, err := http.NewRequest("POST", urls, body)
10086	if err != nil {
10087		return nil, err
10088	}
10089	req.Header = reqHeaders
10090	googleapi.Expand(req.URL, map[string]string{
10091		"parent": c.parent,
10092	})
10093	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10094}
10095
10096// Do executes the "datacatalog.projects.locations.taxonomies.policyTags.create" call.
10097// Exactly one of *GoogleCloudDatacatalogV1beta1PolicyTag or error will
10098// be non-nil. Any non-2xx status code is an error. Response headers are
10099// in either
10100// *GoogleCloudDatacatalogV1beta1PolicyTag.ServerResponse.Header or (if
10101// a response was returned at all) in error.(*googleapi.Error).Header.
10102// Use googleapi.IsNotModified to check whether the returned error was
10103// because http.StatusNotModified was returned.
10104func (c *ProjectsLocationsTaxonomiesPolicyTagsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1PolicyTag, error) {
10105	gensupport.SetOptions(c.urlParams_, opts...)
10106	res, err := c.doRequest("json")
10107	if res != nil && res.StatusCode == http.StatusNotModified {
10108		if res.Body != nil {
10109			res.Body.Close()
10110		}
10111		return nil, &googleapi.Error{
10112			Code:   res.StatusCode,
10113			Header: res.Header,
10114		}
10115	}
10116	if err != nil {
10117		return nil, err
10118	}
10119	defer googleapi.CloseBody(res)
10120	if err := googleapi.CheckResponse(res); err != nil {
10121		return nil, err
10122	}
10123	ret := &GoogleCloudDatacatalogV1beta1PolicyTag{
10124		ServerResponse: googleapi.ServerResponse{
10125			Header:         res.Header,
10126			HTTPStatusCode: res.StatusCode,
10127		},
10128	}
10129	target := &ret
10130	if err := gensupport.DecodeResponse(target, res); err != nil {
10131		return nil, err
10132	}
10133	return ret, nil
10134	// {
10135	//   "description": "Creates a policy tag in the specified taxonomy.",
10136	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}/policyTags",
10137	//   "httpMethod": "POST",
10138	//   "id": "datacatalog.projects.locations.taxonomies.policyTags.create",
10139	//   "parameterOrder": [
10140	//     "parent"
10141	//   ],
10142	//   "parameters": {
10143	//     "parent": {
10144	//       "description": "Required. Resource name of the taxonomy that the policy tag will belong to.",
10145	//       "location": "path",
10146	//       "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+$",
10147	//       "required": true,
10148	//       "type": "string"
10149	//     }
10150	//   },
10151	//   "path": "v1beta1/{+parent}/policyTags",
10152	//   "request": {
10153	//     "$ref": "GoogleCloudDatacatalogV1beta1PolicyTag"
10154	//   },
10155	//   "response": {
10156	//     "$ref": "GoogleCloudDatacatalogV1beta1PolicyTag"
10157	//   },
10158	//   "scopes": [
10159	//     "https://www.googleapis.com/auth/cloud-platform"
10160	//   ]
10161	// }
10162
10163}
10164
10165// method id "datacatalog.projects.locations.taxonomies.policyTags.delete":
10166
10167type ProjectsLocationsTaxonomiesPolicyTagsDeleteCall struct {
10168	s          *Service
10169	name       string
10170	urlParams_ gensupport.URLParams
10171	ctx_       context.Context
10172	header_    http.Header
10173}
10174
10175// Delete: Deletes a policy tag. Also deletes all of its descendant
10176// policy tags.
10177//
10178// - name: Resource name of the policy tag to be deleted. All of its
10179//   descendant policy tags will also be deleted.
10180func (r *ProjectsLocationsTaxonomiesPolicyTagsService) Delete(name string) *ProjectsLocationsTaxonomiesPolicyTagsDeleteCall {
10181	c := &ProjectsLocationsTaxonomiesPolicyTagsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10182	c.name = name
10183	return c
10184}
10185
10186// Fields allows partial responses to be retrieved. See
10187// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10188// for more information.
10189func (c *ProjectsLocationsTaxonomiesPolicyTagsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsTaxonomiesPolicyTagsDeleteCall {
10190	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10191	return c
10192}
10193
10194// Context sets the context to be used in this call's Do method. Any
10195// pending HTTP request will be aborted if the provided context is
10196// canceled.
10197func (c *ProjectsLocationsTaxonomiesPolicyTagsDeleteCall) Context(ctx context.Context) *ProjectsLocationsTaxonomiesPolicyTagsDeleteCall {
10198	c.ctx_ = ctx
10199	return c
10200}
10201
10202// Header returns an http.Header that can be modified by the caller to
10203// add HTTP headers to the request.
10204func (c *ProjectsLocationsTaxonomiesPolicyTagsDeleteCall) Header() http.Header {
10205	if c.header_ == nil {
10206		c.header_ = make(http.Header)
10207	}
10208	return c.header_
10209}
10210
10211func (c *ProjectsLocationsTaxonomiesPolicyTagsDeleteCall) doRequest(alt string) (*http.Response, error) {
10212	reqHeaders := make(http.Header)
10213	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210830")
10214	for k, v := range c.header_ {
10215		reqHeaders[k] = v
10216	}
10217	reqHeaders.Set("User-Agent", c.s.userAgent())
10218	var body io.Reader = nil
10219	c.urlParams_.Set("alt", alt)
10220	c.urlParams_.Set("prettyPrint", "false")
10221	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
10222	urls += "?" + c.urlParams_.Encode()
10223	req, err := http.NewRequest("DELETE", urls, body)
10224	if err != nil {
10225		return nil, err
10226	}
10227	req.Header = reqHeaders
10228	googleapi.Expand(req.URL, map[string]string{
10229		"name": c.name,
10230	})
10231	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10232}
10233
10234// Do executes the "datacatalog.projects.locations.taxonomies.policyTags.delete" call.
10235// Exactly one of *Empty or error will be non-nil. Any non-2xx status
10236// code is an error. Response headers are in either
10237// *Empty.ServerResponse.Header or (if a response was returned at all)
10238// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
10239// check whether the returned error was because http.StatusNotModified
10240// was returned.
10241func (c *ProjectsLocationsTaxonomiesPolicyTagsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
10242	gensupport.SetOptions(c.urlParams_, opts...)
10243	res, err := c.doRequest("json")
10244	if res != nil && res.StatusCode == http.StatusNotModified {
10245		if res.Body != nil {
10246			res.Body.Close()
10247		}
10248		return nil, &googleapi.Error{
10249			Code:   res.StatusCode,
10250			Header: res.Header,
10251		}
10252	}
10253	if err != nil {
10254		return nil, err
10255	}
10256	defer googleapi.CloseBody(res)
10257	if err := googleapi.CheckResponse(res); err != nil {
10258		return nil, err
10259	}
10260	ret := &Empty{
10261		ServerResponse: googleapi.ServerResponse{
10262			Header:         res.Header,
10263			HTTPStatusCode: res.StatusCode,
10264		},
10265	}
10266	target := &ret
10267	if err := gensupport.DecodeResponse(target, res); err != nil {
10268		return nil, err
10269	}
10270	return ret, nil
10271	// {
10272	//   "description": "Deletes a policy tag. Also deletes all of its descendant policy tags.",
10273	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}/policyTags/{policyTagsId}",
10274	//   "httpMethod": "DELETE",
10275	//   "id": "datacatalog.projects.locations.taxonomies.policyTags.delete",
10276	//   "parameterOrder": [
10277	//     "name"
10278	//   ],
10279	//   "parameters": {
10280	//     "name": {
10281	//       "description": "Required. Resource name of the policy tag to be deleted. All of its descendant policy tags will also be deleted.",
10282	//       "location": "path",
10283	//       "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+/policyTags/[^/]+$",
10284	//       "required": true,
10285	//       "type": "string"
10286	//     }
10287	//   },
10288	//   "path": "v1beta1/{+name}",
10289	//   "response": {
10290	//     "$ref": "Empty"
10291	//   },
10292	//   "scopes": [
10293	//     "https://www.googleapis.com/auth/cloud-platform"
10294	//   ]
10295	// }
10296
10297}
10298
10299// method id "datacatalog.projects.locations.taxonomies.policyTags.get":
10300
10301type ProjectsLocationsTaxonomiesPolicyTagsGetCall struct {
10302	s            *Service
10303	name         string
10304	urlParams_   gensupport.URLParams
10305	ifNoneMatch_ string
10306	ctx_         context.Context
10307	header_      http.Header
10308}
10309
10310// Get: Gets a policy tag.
10311//
10312// - name: Resource name of the requested policy tag.
10313func (r *ProjectsLocationsTaxonomiesPolicyTagsService) Get(name string) *ProjectsLocationsTaxonomiesPolicyTagsGetCall {
10314	c := &ProjectsLocationsTaxonomiesPolicyTagsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10315	c.name = name
10316	return c
10317}
10318
10319// Fields allows partial responses to be retrieved. See
10320// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10321// for more information.
10322func (c *ProjectsLocationsTaxonomiesPolicyTagsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsTaxonomiesPolicyTagsGetCall {
10323	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10324	return c
10325}
10326
10327// IfNoneMatch sets the optional parameter which makes the operation
10328// fail if the object's ETag matches the given value. This is useful for
10329// getting updates only after the object has changed since the last
10330// request. Use googleapi.IsNotModified to check whether the response
10331// error from Do is the result of In-None-Match.
10332func (c *ProjectsLocationsTaxonomiesPolicyTagsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsTaxonomiesPolicyTagsGetCall {
10333	c.ifNoneMatch_ = entityTag
10334	return c
10335}
10336
10337// Context sets the context to be used in this call's Do method. Any
10338// pending HTTP request will be aborted if the provided context is
10339// canceled.
10340func (c *ProjectsLocationsTaxonomiesPolicyTagsGetCall) Context(ctx context.Context) *ProjectsLocationsTaxonomiesPolicyTagsGetCall {
10341	c.ctx_ = ctx
10342	return c
10343}
10344
10345// Header returns an http.Header that can be modified by the caller to
10346// add HTTP headers to the request.
10347func (c *ProjectsLocationsTaxonomiesPolicyTagsGetCall) Header() http.Header {
10348	if c.header_ == nil {
10349		c.header_ = make(http.Header)
10350	}
10351	return c.header_
10352}
10353
10354func (c *ProjectsLocationsTaxonomiesPolicyTagsGetCall) doRequest(alt string) (*http.Response, error) {
10355	reqHeaders := make(http.Header)
10356	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210830")
10357	for k, v := range c.header_ {
10358		reqHeaders[k] = v
10359	}
10360	reqHeaders.Set("User-Agent", c.s.userAgent())
10361	if c.ifNoneMatch_ != "" {
10362		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
10363	}
10364	var body io.Reader = nil
10365	c.urlParams_.Set("alt", alt)
10366	c.urlParams_.Set("prettyPrint", "false")
10367	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
10368	urls += "?" + c.urlParams_.Encode()
10369	req, err := http.NewRequest("GET", urls, body)
10370	if err != nil {
10371		return nil, err
10372	}
10373	req.Header = reqHeaders
10374	googleapi.Expand(req.URL, map[string]string{
10375		"name": c.name,
10376	})
10377	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10378}
10379
10380// Do executes the "datacatalog.projects.locations.taxonomies.policyTags.get" call.
10381// Exactly one of *GoogleCloudDatacatalogV1beta1PolicyTag or error will
10382// be non-nil. Any non-2xx status code is an error. Response headers are
10383// in either
10384// *GoogleCloudDatacatalogV1beta1PolicyTag.ServerResponse.Header or (if
10385// a response was returned at all) in error.(*googleapi.Error).Header.
10386// Use googleapi.IsNotModified to check whether the returned error was
10387// because http.StatusNotModified was returned.
10388func (c *ProjectsLocationsTaxonomiesPolicyTagsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1PolicyTag, error) {
10389	gensupport.SetOptions(c.urlParams_, opts...)
10390	res, err := c.doRequest("json")
10391	if res != nil && res.StatusCode == http.StatusNotModified {
10392		if res.Body != nil {
10393			res.Body.Close()
10394		}
10395		return nil, &googleapi.Error{
10396			Code:   res.StatusCode,
10397			Header: res.Header,
10398		}
10399	}
10400	if err != nil {
10401		return nil, err
10402	}
10403	defer googleapi.CloseBody(res)
10404	if err := googleapi.CheckResponse(res); err != nil {
10405		return nil, err
10406	}
10407	ret := &GoogleCloudDatacatalogV1beta1PolicyTag{
10408		ServerResponse: googleapi.ServerResponse{
10409			Header:         res.Header,
10410			HTTPStatusCode: res.StatusCode,
10411		},
10412	}
10413	target := &ret
10414	if err := gensupport.DecodeResponse(target, res); err != nil {
10415		return nil, err
10416	}
10417	return ret, nil
10418	// {
10419	//   "description": "Gets a policy tag.",
10420	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}/policyTags/{policyTagsId}",
10421	//   "httpMethod": "GET",
10422	//   "id": "datacatalog.projects.locations.taxonomies.policyTags.get",
10423	//   "parameterOrder": [
10424	//     "name"
10425	//   ],
10426	//   "parameters": {
10427	//     "name": {
10428	//       "description": "Required. Resource name of the requested policy tag.",
10429	//       "location": "path",
10430	//       "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+/policyTags/[^/]+$",
10431	//       "required": true,
10432	//       "type": "string"
10433	//     }
10434	//   },
10435	//   "path": "v1beta1/{+name}",
10436	//   "response": {
10437	//     "$ref": "GoogleCloudDatacatalogV1beta1PolicyTag"
10438	//   },
10439	//   "scopes": [
10440	//     "https://www.googleapis.com/auth/cloud-platform"
10441	//   ]
10442	// }
10443
10444}
10445
10446// method id "datacatalog.projects.locations.taxonomies.policyTags.getIamPolicy":
10447
10448type ProjectsLocationsTaxonomiesPolicyTagsGetIamPolicyCall struct {
10449	s                   *Service
10450	resource            string
10451	getiampolicyrequest *GetIamPolicyRequest
10452	urlParams_          gensupport.URLParams
10453	ctx_                context.Context
10454	header_             http.Header
10455}
10456
10457// GetIamPolicy: Gets the IAM policy for a taxonomy or a policy tag.
10458//
10459// - resource: REQUIRED: The resource for which the policy is being
10460//   requested. See the operation documentation for the appropriate
10461//   value for this field.
10462func (r *ProjectsLocationsTaxonomiesPolicyTagsService) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *ProjectsLocationsTaxonomiesPolicyTagsGetIamPolicyCall {
10463	c := &ProjectsLocationsTaxonomiesPolicyTagsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10464	c.resource = resource
10465	c.getiampolicyrequest = getiampolicyrequest
10466	return c
10467}
10468
10469// Fields allows partial responses to be retrieved. See
10470// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10471// for more information.
10472func (c *ProjectsLocationsTaxonomiesPolicyTagsGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsTaxonomiesPolicyTagsGetIamPolicyCall {
10473	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10474	return c
10475}
10476
10477// Context sets the context to be used in this call's Do method. Any
10478// pending HTTP request will be aborted if the provided context is
10479// canceled.
10480func (c *ProjectsLocationsTaxonomiesPolicyTagsGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsTaxonomiesPolicyTagsGetIamPolicyCall {
10481	c.ctx_ = ctx
10482	return c
10483}
10484
10485// Header returns an http.Header that can be modified by the caller to
10486// add HTTP headers to the request.
10487func (c *ProjectsLocationsTaxonomiesPolicyTagsGetIamPolicyCall) Header() http.Header {
10488	if c.header_ == nil {
10489		c.header_ = make(http.Header)
10490	}
10491	return c.header_
10492}
10493
10494func (c *ProjectsLocationsTaxonomiesPolicyTagsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
10495	reqHeaders := make(http.Header)
10496	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210830")
10497	for k, v := range c.header_ {
10498		reqHeaders[k] = v
10499	}
10500	reqHeaders.Set("User-Agent", c.s.userAgent())
10501	var body io.Reader = nil
10502	body, err := googleapi.WithoutDataWrapper.JSONReader(c.getiampolicyrequest)
10503	if err != nil {
10504		return nil, err
10505	}
10506	reqHeaders.Set("Content-Type", "application/json")
10507	c.urlParams_.Set("alt", alt)
10508	c.urlParams_.Set("prettyPrint", "false")
10509	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:getIamPolicy")
10510	urls += "?" + c.urlParams_.Encode()
10511	req, err := http.NewRequest("POST", urls, body)
10512	if err != nil {
10513		return nil, err
10514	}
10515	req.Header = reqHeaders
10516	googleapi.Expand(req.URL, map[string]string{
10517		"resource": c.resource,
10518	})
10519	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10520}
10521
10522// Do executes the "datacatalog.projects.locations.taxonomies.policyTags.getIamPolicy" call.
10523// Exactly one of *Policy or error will be non-nil. Any non-2xx status
10524// code is an error. Response headers are in either
10525// *Policy.ServerResponse.Header or (if a response was returned at all)
10526// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
10527// check whether the returned error was because http.StatusNotModified
10528// was returned.
10529func (c *ProjectsLocationsTaxonomiesPolicyTagsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
10530	gensupport.SetOptions(c.urlParams_, opts...)
10531	res, err := c.doRequest("json")
10532	if res != nil && res.StatusCode == http.StatusNotModified {
10533		if res.Body != nil {
10534			res.Body.Close()
10535		}
10536		return nil, &googleapi.Error{
10537			Code:   res.StatusCode,
10538			Header: res.Header,
10539		}
10540	}
10541	if err != nil {
10542		return nil, err
10543	}
10544	defer googleapi.CloseBody(res)
10545	if err := googleapi.CheckResponse(res); err != nil {
10546		return nil, err
10547	}
10548	ret := &Policy{
10549		ServerResponse: googleapi.ServerResponse{
10550			Header:         res.Header,
10551			HTTPStatusCode: res.StatusCode,
10552		},
10553	}
10554	target := &ret
10555	if err := gensupport.DecodeResponse(target, res); err != nil {
10556		return nil, err
10557	}
10558	return ret, nil
10559	// {
10560	//   "description": "Gets the IAM policy for a taxonomy or a policy tag.",
10561	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}/policyTags/{policyTagsId}:getIamPolicy",
10562	//   "httpMethod": "POST",
10563	//   "id": "datacatalog.projects.locations.taxonomies.policyTags.getIamPolicy",
10564	//   "parameterOrder": [
10565	//     "resource"
10566	//   ],
10567	//   "parameters": {
10568	//     "resource": {
10569	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
10570	//       "location": "path",
10571	//       "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+/policyTags/[^/]+$",
10572	//       "required": true,
10573	//       "type": "string"
10574	//     }
10575	//   },
10576	//   "path": "v1beta1/{+resource}:getIamPolicy",
10577	//   "request": {
10578	//     "$ref": "GetIamPolicyRequest"
10579	//   },
10580	//   "response": {
10581	//     "$ref": "Policy"
10582	//   },
10583	//   "scopes": [
10584	//     "https://www.googleapis.com/auth/cloud-platform"
10585	//   ]
10586	// }
10587
10588}
10589
10590// method id "datacatalog.projects.locations.taxonomies.policyTags.list":
10591
10592type ProjectsLocationsTaxonomiesPolicyTagsListCall struct {
10593	s            *Service
10594	parent       string
10595	urlParams_   gensupport.URLParams
10596	ifNoneMatch_ string
10597	ctx_         context.Context
10598	header_      http.Header
10599}
10600
10601// List: Lists all policy tags in a taxonomy.
10602//
10603// - parent: Resource name of the taxonomy to list the policy tags of.
10604func (r *ProjectsLocationsTaxonomiesPolicyTagsService) List(parent string) *ProjectsLocationsTaxonomiesPolicyTagsListCall {
10605	c := &ProjectsLocationsTaxonomiesPolicyTagsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10606	c.parent = parent
10607	return c
10608}
10609
10610// PageSize sets the optional parameter "pageSize": The maximum number
10611// of items to return. Must be a value between 1 and 1000. If not set,
10612// defaults to 50.
10613func (c *ProjectsLocationsTaxonomiesPolicyTagsListCall) PageSize(pageSize int64) *ProjectsLocationsTaxonomiesPolicyTagsListCall {
10614	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
10615	return c
10616}
10617
10618// PageToken sets the optional parameter "pageToken": The
10619// next_page_token value returned from a previous List request, if any.
10620// If not set, defaults to an empty string.
10621func (c *ProjectsLocationsTaxonomiesPolicyTagsListCall) PageToken(pageToken string) *ProjectsLocationsTaxonomiesPolicyTagsListCall {
10622	c.urlParams_.Set("pageToken", pageToken)
10623	return c
10624}
10625
10626// Fields allows partial responses to be retrieved. See
10627// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10628// for more information.
10629func (c *ProjectsLocationsTaxonomiesPolicyTagsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsTaxonomiesPolicyTagsListCall {
10630	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10631	return c
10632}
10633
10634// IfNoneMatch sets the optional parameter which makes the operation
10635// fail if the object's ETag matches the given value. This is useful for
10636// getting updates only after the object has changed since the last
10637// request. Use googleapi.IsNotModified to check whether the response
10638// error from Do is the result of In-None-Match.
10639func (c *ProjectsLocationsTaxonomiesPolicyTagsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsTaxonomiesPolicyTagsListCall {
10640	c.ifNoneMatch_ = entityTag
10641	return c
10642}
10643
10644// Context sets the context to be used in this call's Do method. Any
10645// pending HTTP request will be aborted if the provided context is
10646// canceled.
10647func (c *ProjectsLocationsTaxonomiesPolicyTagsListCall) Context(ctx context.Context) *ProjectsLocationsTaxonomiesPolicyTagsListCall {
10648	c.ctx_ = ctx
10649	return c
10650}
10651
10652// Header returns an http.Header that can be modified by the caller to
10653// add HTTP headers to the request.
10654func (c *ProjectsLocationsTaxonomiesPolicyTagsListCall) Header() http.Header {
10655	if c.header_ == nil {
10656		c.header_ = make(http.Header)
10657	}
10658	return c.header_
10659}
10660
10661func (c *ProjectsLocationsTaxonomiesPolicyTagsListCall) doRequest(alt string) (*http.Response, error) {
10662	reqHeaders := make(http.Header)
10663	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210830")
10664	for k, v := range c.header_ {
10665		reqHeaders[k] = v
10666	}
10667	reqHeaders.Set("User-Agent", c.s.userAgent())
10668	if c.ifNoneMatch_ != "" {
10669		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
10670	}
10671	var body io.Reader = nil
10672	c.urlParams_.Set("alt", alt)
10673	c.urlParams_.Set("prettyPrint", "false")
10674	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/policyTags")
10675	urls += "?" + c.urlParams_.Encode()
10676	req, err := http.NewRequest("GET", urls, body)
10677	if err != nil {
10678		return nil, err
10679	}
10680	req.Header = reqHeaders
10681	googleapi.Expand(req.URL, map[string]string{
10682		"parent": c.parent,
10683	})
10684	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10685}
10686
10687// Do executes the "datacatalog.projects.locations.taxonomies.policyTags.list" call.
10688// Exactly one of *GoogleCloudDatacatalogV1beta1ListPolicyTagsResponse
10689// or error will be non-nil. Any non-2xx status code is an error.
10690// Response headers are in either
10691// *GoogleCloudDatacatalogV1beta1ListPolicyTagsResponse.ServerResponse.He
10692// ader or (if a response was returned at all) in
10693// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
10694// whether the returned error was because http.StatusNotModified was
10695// returned.
10696func (c *ProjectsLocationsTaxonomiesPolicyTagsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1ListPolicyTagsResponse, error) {
10697	gensupport.SetOptions(c.urlParams_, opts...)
10698	res, err := c.doRequest("json")
10699	if res != nil && res.StatusCode == http.StatusNotModified {
10700		if res.Body != nil {
10701			res.Body.Close()
10702		}
10703		return nil, &googleapi.Error{
10704			Code:   res.StatusCode,
10705			Header: res.Header,
10706		}
10707	}
10708	if err != nil {
10709		return nil, err
10710	}
10711	defer googleapi.CloseBody(res)
10712	if err := googleapi.CheckResponse(res); err != nil {
10713		return nil, err
10714	}
10715	ret := &GoogleCloudDatacatalogV1beta1ListPolicyTagsResponse{
10716		ServerResponse: googleapi.ServerResponse{
10717			Header:         res.Header,
10718			HTTPStatusCode: res.StatusCode,
10719		},
10720	}
10721	target := &ret
10722	if err := gensupport.DecodeResponse(target, res); err != nil {
10723		return nil, err
10724	}
10725	return ret, nil
10726	// {
10727	//   "description": "Lists all policy tags in a taxonomy.",
10728	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}/policyTags",
10729	//   "httpMethod": "GET",
10730	//   "id": "datacatalog.projects.locations.taxonomies.policyTags.list",
10731	//   "parameterOrder": [
10732	//     "parent"
10733	//   ],
10734	//   "parameters": {
10735	//     "pageSize": {
10736	//       "description": "The maximum number of items to return. Must be a value between 1 and 1000. If not set, defaults to 50.",
10737	//       "format": "int32",
10738	//       "location": "query",
10739	//       "type": "integer"
10740	//     },
10741	//     "pageToken": {
10742	//       "description": "The next_page_token value returned from a previous List request, if any. If not set, defaults to an empty string.",
10743	//       "location": "query",
10744	//       "type": "string"
10745	//     },
10746	//     "parent": {
10747	//       "description": "Required. Resource name of the taxonomy to list the policy tags of.",
10748	//       "location": "path",
10749	//       "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+$",
10750	//       "required": true,
10751	//       "type": "string"
10752	//     }
10753	//   },
10754	//   "path": "v1beta1/{+parent}/policyTags",
10755	//   "response": {
10756	//     "$ref": "GoogleCloudDatacatalogV1beta1ListPolicyTagsResponse"
10757	//   },
10758	//   "scopes": [
10759	//     "https://www.googleapis.com/auth/cloud-platform"
10760	//   ]
10761	// }
10762
10763}
10764
10765// Pages invokes f for each page of results.
10766// A non-nil error returned from f will halt the iteration.
10767// The provided context supersedes any context provided to the Context method.
10768func (c *ProjectsLocationsTaxonomiesPolicyTagsListCall) Pages(ctx context.Context, f func(*GoogleCloudDatacatalogV1beta1ListPolicyTagsResponse) error) error {
10769	c.ctx_ = ctx
10770	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
10771	for {
10772		x, err := c.Do()
10773		if err != nil {
10774			return err
10775		}
10776		if err := f(x); err != nil {
10777			return err
10778		}
10779		if x.NextPageToken == "" {
10780			return nil
10781		}
10782		c.PageToken(x.NextPageToken)
10783	}
10784}
10785
10786// method id "datacatalog.projects.locations.taxonomies.policyTags.patch":
10787
10788type ProjectsLocationsTaxonomiesPolicyTagsPatchCall struct {
10789	s                                      *Service
10790	name                                   string
10791	googleclouddatacatalogv1beta1policytag *GoogleCloudDatacatalogV1beta1PolicyTag
10792	urlParams_                             gensupport.URLParams
10793	ctx_                                   context.Context
10794	header_                                http.Header
10795}
10796
10797// Patch: Updates a policy tag.
10798//
10799// - name: Output only. Resource name of this policy tag, whose format
10800//   is:
10801//   "projects/{project_number}/locations/{location_id}/taxonomies/{taxon
10802//   omy_id}/policyTags/{id}".
10803func (r *ProjectsLocationsTaxonomiesPolicyTagsService) Patch(name string, googleclouddatacatalogv1beta1policytag *GoogleCloudDatacatalogV1beta1PolicyTag) *ProjectsLocationsTaxonomiesPolicyTagsPatchCall {
10804	c := &ProjectsLocationsTaxonomiesPolicyTagsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10805	c.name = name
10806	c.googleclouddatacatalogv1beta1policytag = googleclouddatacatalogv1beta1policytag
10807	return c
10808}
10809
10810// UpdateMask sets the optional parameter "updateMask": The update mask
10811// applies to the resource. Only display_name, description and
10812// parent_policy_tag can be updated and thus can be listed in the mask.
10813// If update_mask is not provided, all allowed fields (i.e.
10814// display_name, description and parent) will be updated. For more
10815// information including the `FieldMask` definition, see
10816// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask
10817// If not set, defaults to all of the fields that are allowed to update.
10818func (c *ProjectsLocationsTaxonomiesPolicyTagsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsTaxonomiesPolicyTagsPatchCall {
10819	c.urlParams_.Set("updateMask", updateMask)
10820	return c
10821}
10822
10823// Fields allows partial responses to be retrieved. See
10824// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10825// for more information.
10826func (c *ProjectsLocationsTaxonomiesPolicyTagsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsTaxonomiesPolicyTagsPatchCall {
10827	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10828	return c
10829}
10830
10831// Context sets the context to be used in this call's Do method. Any
10832// pending HTTP request will be aborted if the provided context is
10833// canceled.
10834func (c *ProjectsLocationsTaxonomiesPolicyTagsPatchCall) Context(ctx context.Context) *ProjectsLocationsTaxonomiesPolicyTagsPatchCall {
10835	c.ctx_ = ctx
10836	return c
10837}
10838
10839// Header returns an http.Header that can be modified by the caller to
10840// add HTTP headers to the request.
10841func (c *ProjectsLocationsTaxonomiesPolicyTagsPatchCall) Header() http.Header {
10842	if c.header_ == nil {
10843		c.header_ = make(http.Header)
10844	}
10845	return c.header_
10846}
10847
10848func (c *ProjectsLocationsTaxonomiesPolicyTagsPatchCall) doRequest(alt string) (*http.Response, error) {
10849	reqHeaders := make(http.Header)
10850	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210830")
10851	for k, v := range c.header_ {
10852		reqHeaders[k] = v
10853	}
10854	reqHeaders.Set("User-Agent", c.s.userAgent())
10855	var body io.Reader = nil
10856	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddatacatalogv1beta1policytag)
10857	if err != nil {
10858		return nil, err
10859	}
10860	reqHeaders.Set("Content-Type", "application/json")
10861	c.urlParams_.Set("alt", alt)
10862	c.urlParams_.Set("prettyPrint", "false")
10863	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
10864	urls += "?" + c.urlParams_.Encode()
10865	req, err := http.NewRequest("PATCH", urls, body)
10866	if err != nil {
10867		return nil, err
10868	}
10869	req.Header = reqHeaders
10870	googleapi.Expand(req.URL, map[string]string{
10871		"name": c.name,
10872	})
10873	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10874}
10875
10876// Do executes the "datacatalog.projects.locations.taxonomies.policyTags.patch" call.
10877// Exactly one of *GoogleCloudDatacatalogV1beta1PolicyTag or error will
10878// be non-nil. Any non-2xx status code is an error. Response headers are
10879// in either
10880// *GoogleCloudDatacatalogV1beta1PolicyTag.ServerResponse.Header or (if
10881// a response was returned at all) in error.(*googleapi.Error).Header.
10882// Use googleapi.IsNotModified to check whether the returned error was
10883// because http.StatusNotModified was returned.
10884func (c *ProjectsLocationsTaxonomiesPolicyTagsPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1PolicyTag, error) {
10885	gensupport.SetOptions(c.urlParams_, opts...)
10886	res, err := c.doRequest("json")
10887	if res != nil && res.StatusCode == http.StatusNotModified {
10888		if res.Body != nil {
10889			res.Body.Close()
10890		}
10891		return nil, &googleapi.Error{
10892			Code:   res.StatusCode,
10893			Header: res.Header,
10894		}
10895	}
10896	if err != nil {
10897		return nil, err
10898	}
10899	defer googleapi.CloseBody(res)
10900	if err := googleapi.CheckResponse(res); err != nil {
10901		return nil, err
10902	}
10903	ret := &GoogleCloudDatacatalogV1beta1PolicyTag{
10904		ServerResponse: googleapi.ServerResponse{
10905			Header:         res.Header,
10906			HTTPStatusCode: res.StatusCode,
10907		},
10908	}
10909	target := &ret
10910	if err := gensupport.DecodeResponse(target, res); err != nil {
10911		return nil, err
10912	}
10913	return ret, nil
10914	// {
10915	//   "description": "Updates a policy tag.",
10916	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}/policyTags/{policyTagsId}",
10917	//   "httpMethod": "PATCH",
10918	//   "id": "datacatalog.projects.locations.taxonomies.policyTags.patch",
10919	//   "parameterOrder": [
10920	//     "name"
10921	//   ],
10922	//   "parameters": {
10923	//     "name": {
10924	//       "description": "Output only. Resource name of this policy tag, whose format is: \"projects/{project_number}/locations/{location_id}/taxonomies/{taxonomy_id}/policyTags/{id}\".",
10925	//       "location": "path",
10926	//       "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+/policyTags/[^/]+$",
10927	//       "required": true,
10928	//       "type": "string"
10929	//     },
10930	//     "updateMask": {
10931	//       "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.",
10932	//       "format": "google-fieldmask",
10933	//       "location": "query",
10934	//       "type": "string"
10935	//     }
10936	//   },
10937	//   "path": "v1beta1/{+name}",
10938	//   "request": {
10939	//     "$ref": "GoogleCloudDatacatalogV1beta1PolicyTag"
10940	//   },
10941	//   "response": {
10942	//     "$ref": "GoogleCloudDatacatalogV1beta1PolicyTag"
10943	//   },
10944	//   "scopes": [
10945	//     "https://www.googleapis.com/auth/cloud-platform"
10946	//   ]
10947	// }
10948
10949}
10950
10951// method id "datacatalog.projects.locations.taxonomies.policyTags.setIamPolicy":
10952
10953type ProjectsLocationsTaxonomiesPolicyTagsSetIamPolicyCall struct {
10954	s                   *Service
10955	resource            string
10956	setiampolicyrequest *SetIamPolicyRequest
10957	urlParams_          gensupport.URLParams
10958	ctx_                context.Context
10959	header_             http.Header
10960}
10961
10962// SetIamPolicy: Sets the IAM policy for a taxonomy or a policy tag.
10963//
10964// - resource: REQUIRED: The resource for which the policy is being
10965//   specified. See the operation documentation for the appropriate
10966//   value for this field.
10967func (r *ProjectsLocationsTaxonomiesPolicyTagsService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsTaxonomiesPolicyTagsSetIamPolicyCall {
10968	c := &ProjectsLocationsTaxonomiesPolicyTagsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10969	c.resource = resource
10970	c.setiampolicyrequest = setiampolicyrequest
10971	return c
10972}
10973
10974// Fields allows partial responses to be retrieved. See
10975// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10976// for more information.
10977func (c *ProjectsLocationsTaxonomiesPolicyTagsSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsTaxonomiesPolicyTagsSetIamPolicyCall {
10978	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10979	return c
10980}
10981
10982// Context sets the context to be used in this call's Do method. Any
10983// pending HTTP request will be aborted if the provided context is
10984// canceled.
10985func (c *ProjectsLocationsTaxonomiesPolicyTagsSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsTaxonomiesPolicyTagsSetIamPolicyCall {
10986	c.ctx_ = ctx
10987	return c
10988}
10989
10990// Header returns an http.Header that can be modified by the caller to
10991// add HTTP headers to the request.
10992func (c *ProjectsLocationsTaxonomiesPolicyTagsSetIamPolicyCall) Header() http.Header {
10993	if c.header_ == nil {
10994		c.header_ = make(http.Header)
10995	}
10996	return c.header_
10997}
10998
10999func (c *ProjectsLocationsTaxonomiesPolicyTagsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
11000	reqHeaders := make(http.Header)
11001	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210830")
11002	for k, v := range c.header_ {
11003		reqHeaders[k] = v
11004	}
11005	reqHeaders.Set("User-Agent", c.s.userAgent())
11006	var body io.Reader = nil
11007	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
11008	if err != nil {
11009		return nil, err
11010	}
11011	reqHeaders.Set("Content-Type", "application/json")
11012	c.urlParams_.Set("alt", alt)
11013	c.urlParams_.Set("prettyPrint", "false")
11014	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:setIamPolicy")
11015	urls += "?" + c.urlParams_.Encode()
11016	req, err := http.NewRequest("POST", urls, body)
11017	if err != nil {
11018		return nil, err
11019	}
11020	req.Header = reqHeaders
11021	googleapi.Expand(req.URL, map[string]string{
11022		"resource": c.resource,
11023	})
11024	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11025}
11026
11027// Do executes the "datacatalog.projects.locations.taxonomies.policyTags.setIamPolicy" call.
11028// Exactly one of *Policy or error will be non-nil. Any non-2xx status
11029// code is an error. Response headers are in either
11030// *Policy.ServerResponse.Header or (if a response was returned at all)
11031// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
11032// check whether the returned error was because http.StatusNotModified
11033// was returned.
11034func (c *ProjectsLocationsTaxonomiesPolicyTagsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
11035	gensupport.SetOptions(c.urlParams_, opts...)
11036	res, err := c.doRequest("json")
11037	if res != nil && res.StatusCode == http.StatusNotModified {
11038		if res.Body != nil {
11039			res.Body.Close()
11040		}
11041		return nil, &googleapi.Error{
11042			Code:   res.StatusCode,
11043			Header: res.Header,
11044		}
11045	}
11046	if err != nil {
11047		return nil, err
11048	}
11049	defer googleapi.CloseBody(res)
11050	if err := googleapi.CheckResponse(res); err != nil {
11051		return nil, err
11052	}
11053	ret := &Policy{
11054		ServerResponse: googleapi.ServerResponse{
11055			Header:         res.Header,
11056			HTTPStatusCode: res.StatusCode,
11057		},
11058	}
11059	target := &ret
11060	if err := gensupport.DecodeResponse(target, res); err != nil {
11061		return nil, err
11062	}
11063	return ret, nil
11064	// {
11065	//   "description": "Sets the IAM policy for a taxonomy or a policy tag.",
11066	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}/policyTags/{policyTagsId}:setIamPolicy",
11067	//   "httpMethod": "POST",
11068	//   "id": "datacatalog.projects.locations.taxonomies.policyTags.setIamPolicy",
11069	//   "parameterOrder": [
11070	//     "resource"
11071	//   ],
11072	//   "parameters": {
11073	//     "resource": {
11074	//       "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
11075	//       "location": "path",
11076	//       "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+/policyTags/[^/]+$",
11077	//       "required": true,
11078	//       "type": "string"
11079	//     }
11080	//   },
11081	//   "path": "v1beta1/{+resource}:setIamPolicy",
11082	//   "request": {
11083	//     "$ref": "SetIamPolicyRequest"
11084	//   },
11085	//   "response": {
11086	//     "$ref": "Policy"
11087	//   },
11088	//   "scopes": [
11089	//     "https://www.googleapis.com/auth/cloud-platform"
11090	//   ]
11091	// }
11092
11093}
11094
11095// method id "datacatalog.projects.locations.taxonomies.policyTags.testIamPermissions":
11096
11097type ProjectsLocationsTaxonomiesPolicyTagsTestIamPermissionsCall struct {
11098	s                         *Service
11099	resource                  string
11100	testiampermissionsrequest *TestIamPermissionsRequest
11101	urlParams_                gensupport.URLParams
11102	ctx_                      context.Context
11103	header_                   http.Header
11104}
11105
11106// TestIamPermissions: Returns the permissions that a caller has on the
11107// specified taxonomy or policy tag.
11108//
11109// - resource: REQUIRED: The resource for which the policy detail is
11110//   being requested. See the operation documentation for the
11111//   appropriate value for this field.
11112func (r *ProjectsLocationsTaxonomiesPolicyTagsService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsTaxonomiesPolicyTagsTestIamPermissionsCall {
11113	c := &ProjectsLocationsTaxonomiesPolicyTagsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11114	c.resource = resource
11115	c.testiampermissionsrequest = testiampermissionsrequest
11116	return c
11117}
11118
11119// Fields allows partial responses to be retrieved. See
11120// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
11121// for more information.
11122func (c *ProjectsLocationsTaxonomiesPolicyTagsTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsTaxonomiesPolicyTagsTestIamPermissionsCall {
11123	c.urlParams_.Set("fields", googleapi.CombineFields(s))
11124	return c
11125}
11126
11127// Context sets the context to be used in this call's Do method. Any
11128// pending HTTP request will be aborted if the provided context is
11129// canceled.
11130func (c *ProjectsLocationsTaxonomiesPolicyTagsTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsTaxonomiesPolicyTagsTestIamPermissionsCall {
11131	c.ctx_ = ctx
11132	return c
11133}
11134
11135// Header returns an http.Header that can be modified by the caller to
11136// add HTTP headers to the request.
11137func (c *ProjectsLocationsTaxonomiesPolicyTagsTestIamPermissionsCall) Header() http.Header {
11138	if c.header_ == nil {
11139		c.header_ = make(http.Header)
11140	}
11141	return c.header_
11142}
11143
11144func (c *ProjectsLocationsTaxonomiesPolicyTagsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
11145	reqHeaders := make(http.Header)
11146	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210830")
11147	for k, v := range c.header_ {
11148		reqHeaders[k] = v
11149	}
11150	reqHeaders.Set("User-Agent", c.s.userAgent())
11151	var body io.Reader = nil
11152	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
11153	if err != nil {
11154		return nil, err
11155	}
11156	reqHeaders.Set("Content-Type", "application/json")
11157	c.urlParams_.Set("alt", alt)
11158	c.urlParams_.Set("prettyPrint", "false")
11159	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:testIamPermissions")
11160	urls += "?" + c.urlParams_.Encode()
11161	req, err := http.NewRequest("POST", urls, body)
11162	if err != nil {
11163		return nil, err
11164	}
11165	req.Header = reqHeaders
11166	googleapi.Expand(req.URL, map[string]string{
11167		"resource": c.resource,
11168	})
11169	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11170}
11171
11172// Do executes the "datacatalog.projects.locations.taxonomies.policyTags.testIamPermissions" call.
11173// Exactly one of *TestIamPermissionsResponse or error will be non-nil.
11174// Any non-2xx status code is an error. Response headers are in either
11175// *TestIamPermissionsResponse.ServerResponse.Header or (if a response
11176// was returned at all) in error.(*googleapi.Error).Header. Use
11177// googleapi.IsNotModified to check whether the returned error was
11178// because http.StatusNotModified was returned.
11179func (c *ProjectsLocationsTaxonomiesPolicyTagsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
11180	gensupport.SetOptions(c.urlParams_, opts...)
11181	res, err := c.doRequest("json")
11182	if res != nil && res.StatusCode == http.StatusNotModified {
11183		if res.Body != nil {
11184			res.Body.Close()
11185		}
11186		return nil, &googleapi.Error{
11187			Code:   res.StatusCode,
11188			Header: res.Header,
11189		}
11190	}
11191	if err != nil {
11192		return nil, err
11193	}
11194	defer googleapi.CloseBody(res)
11195	if err := googleapi.CheckResponse(res); err != nil {
11196		return nil, err
11197	}
11198	ret := &TestIamPermissionsResponse{
11199		ServerResponse: googleapi.ServerResponse{
11200			Header:         res.Header,
11201			HTTPStatusCode: res.StatusCode,
11202		},
11203	}
11204	target := &ret
11205	if err := gensupport.DecodeResponse(target, res); err != nil {
11206		return nil, err
11207	}
11208	return ret, nil
11209	// {
11210	//   "description": "Returns the permissions that a caller has on the specified taxonomy or policy tag.",
11211	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}/policyTags/{policyTagsId}:testIamPermissions",
11212	//   "httpMethod": "POST",
11213	//   "id": "datacatalog.projects.locations.taxonomies.policyTags.testIamPermissions",
11214	//   "parameterOrder": [
11215	//     "resource"
11216	//   ],
11217	//   "parameters": {
11218	//     "resource": {
11219	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
11220	//       "location": "path",
11221	//       "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+/policyTags/[^/]+$",
11222	//       "required": true,
11223	//       "type": "string"
11224	//     }
11225	//   },
11226	//   "path": "v1beta1/{+resource}:testIamPermissions",
11227	//   "request": {
11228	//     "$ref": "TestIamPermissionsRequest"
11229	//   },
11230	//   "response": {
11231	//     "$ref": "TestIamPermissionsResponse"
11232	//   },
11233	//   "scopes": [
11234	//     "https://www.googleapis.com/auth/cloud-platform"
11235	//   ]
11236	// }
11237
11238}
11239