1// Copyright 2019 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 dialogflow provides access to the Dialogflow API.
8//
9// This package is DEPRECATED. Use package cloud.google.com/go/dialogflow/apiv2 instead.
10//
11// For product documentation, see: https://cloud.google.com/dialogflow/
12//
13// Creating a client
14//
15// Usage example:
16//
17//   import "google.golang.org/api/dialogflow/v2"
18//   ...
19//   ctx := context.Background()
20//   dialogflowService, err := dialogflow.NewService(ctx)
21//
22// In this example, Google Application Default Credentials are used for authentication.
23//
24// For information on how to create and obtain Application Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials.
25//
26// Other authentication options
27//
28// By default, all available scopes (see "Constants") are used to authenticate. To restrict scopes, use option.WithScopes:
29//
30//   dialogflowService, err := dialogflow.NewService(ctx, option.WithScopes(dialogflow.DialogflowScope))
31//
32// To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey:
33//
34//   dialogflowService, err := dialogflow.NewService(ctx, option.WithAPIKey("AIza..."))
35//
36// To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource:
37//
38//   config := &oauth2.Config{...}
39//   // ...
40//   token, err := config.Exchange(ctx, ...)
41//   dialogflowService, err := dialogflow.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
42//
43// See https://godoc.org/google.golang.org/api/option/ for details on options.
44package dialogflow // import "google.golang.org/api/dialogflow/v2"
45
46import (
47	"bytes"
48	"context"
49	"encoding/json"
50	"errors"
51	"fmt"
52	"io"
53	"net/http"
54	"net/url"
55	"strconv"
56	"strings"
57
58	googleapi "google.golang.org/api/googleapi"
59	gensupport "google.golang.org/api/internal/gensupport"
60	option "google.golang.org/api/option"
61	htransport "google.golang.org/api/transport/http"
62)
63
64// Always reference these packages, just in case the auto-generated code
65// below doesn't.
66var _ = bytes.NewBuffer
67var _ = strconv.Itoa
68var _ = fmt.Sprintf
69var _ = json.NewDecoder
70var _ = io.Copy
71var _ = url.Parse
72var _ = gensupport.MarshalJSON
73var _ = googleapi.Version
74var _ = errors.New
75var _ = strings.Replace
76var _ = context.Canceled
77
78const apiId = "dialogflow:v2"
79const apiName = "dialogflow"
80const apiVersion = "v2"
81const basePath = "https://dialogflow.googleapis.com/"
82
83// OAuth2 scopes used by this API.
84const (
85	// View and manage your data across Google Cloud Platform services
86	CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"
87
88	// View, manage and query your Dialogflow agents
89	DialogflowScope = "https://www.googleapis.com/auth/dialogflow"
90)
91
92// NewService creates a new Service.
93func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
94	scopesOption := option.WithScopes(
95		"https://www.googleapis.com/auth/cloud-platform",
96		"https://www.googleapis.com/auth/dialogflow",
97	)
98	// NOTE: prepend, so we don't override user-specified scopes.
99	opts = append([]option.ClientOption{scopesOption}, opts...)
100	client, endpoint, err := htransport.NewClient(ctx, opts...)
101	if err != nil {
102		return nil, err
103	}
104	s, err := New(client)
105	if err != nil {
106		return nil, err
107	}
108	if endpoint != "" {
109		s.BasePath = endpoint
110	}
111	return s, nil
112}
113
114// New creates a new Service. It uses the provided http.Client for requests.
115//
116// Deprecated: please use NewService instead.
117// To provide a custom HTTP client, use option.WithHTTPClient.
118// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
119func New(client *http.Client) (*Service, error) {
120	if client == nil {
121		return nil, errors.New("client is nil")
122	}
123	s := &Service{client: client, BasePath: basePath}
124	s.Projects = NewProjectsService(s)
125	return s, nil
126}
127
128type Service struct {
129	client    *http.Client
130	BasePath  string // API endpoint base URL
131	UserAgent string // optional additional User-Agent fragment
132
133	Projects *ProjectsService
134}
135
136func (s *Service) userAgent() string {
137	if s.UserAgent == "" {
138		return googleapi.UserAgent
139	}
140	return googleapi.UserAgent + " " + s.UserAgent
141}
142
143func NewProjectsService(s *Service) *ProjectsService {
144	rs := &ProjectsService{s: s}
145	rs.Agent_ = NewProjectsAgentService(s)
146	rs.Locations = NewProjectsLocationsService(s)
147	rs.Operations = NewProjectsOperationsService(s)
148	return rs
149}
150
151type ProjectsService struct {
152	s *Service
153
154	Agent_ *ProjectsAgentService
155
156	Locations *ProjectsLocationsService
157
158	Operations *ProjectsOperationsService
159}
160
161func NewProjectsAgentService(s *Service) *ProjectsAgentService {
162	rs := &ProjectsAgentService{s: s}
163	rs.EntityTypes = NewProjectsAgentEntityTypesService(s)
164	rs.Intents = NewProjectsAgentIntentsService(s)
165	rs.Sessions = NewProjectsAgentSessionsService(s)
166	return rs
167}
168
169type ProjectsAgentService struct {
170	s *Service
171
172	EntityTypes *ProjectsAgentEntityTypesService
173
174	Intents *ProjectsAgentIntentsService
175
176	Sessions *ProjectsAgentSessionsService
177}
178
179func NewProjectsAgentEntityTypesService(s *Service) *ProjectsAgentEntityTypesService {
180	rs := &ProjectsAgentEntityTypesService{s: s}
181	rs.Entities = NewProjectsAgentEntityTypesEntitiesService(s)
182	return rs
183}
184
185type ProjectsAgentEntityTypesService struct {
186	s *Service
187
188	Entities *ProjectsAgentEntityTypesEntitiesService
189}
190
191func NewProjectsAgentEntityTypesEntitiesService(s *Service) *ProjectsAgentEntityTypesEntitiesService {
192	rs := &ProjectsAgentEntityTypesEntitiesService{s: s}
193	return rs
194}
195
196type ProjectsAgentEntityTypesEntitiesService struct {
197	s *Service
198}
199
200func NewProjectsAgentIntentsService(s *Service) *ProjectsAgentIntentsService {
201	rs := &ProjectsAgentIntentsService{s: s}
202	return rs
203}
204
205type ProjectsAgentIntentsService struct {
206	s *Service
207}
208
209func NewProjectsAgentSessionsService(s *Service) *ProjectsAgentSessionsService {
210	rs := &ProjectsAgentSessionsService{s: s}
211	rs.Contexts = NewProjectsAgentSessionsContextsService(s)
212	rs.EntityTypes = NewProjectsAgentSessionsEntityTypesService(s)
213	return rs
214}
215
216type ProjectsAgentSessionsService struct {
217	s *Service
218
219	Contexts *ProjectsAgentSessionsContextsService
220
221	EntityTypes *ProjectsAgentSessionsEntityTypesService
222}
223
224func NewProjectsAgentSessionsContextsService(s *Service) *ProjectsAgentSessionsContextsService {
225	rs := &ProjectsAgentSessionsContextsService{s: s}
226	return rs
227}
228
229type ProjectsAgentSessionsContextsService struct {
230	s *Service
231}
232
233func NewProjectsAgentSessionsEntityTypesService(s *Service) *ProjectsAgentSessionsEntityTypesService {
234	rs := &ProjectsAgentSessionsEntityTypesService{s: s}
235	return rs
236}
237
238type ProjectsAgentSessionsEntityTypesService struct {
239	s *Service
240}
241
242func NewProjectsLocationsService(s *Service) *ProjectsLocationsService {
243	rs := &ProjectsLocationsService{s: s}
244	rs.Operations = NewProjectsLocationsOperationsService(s)
245	return rs
246}
247
248type ProjectsLocationsService struct {
249	s *Service
250
251	Operations *ProjectsLocationsOperationsService
252}
253
254func NewProjectsLocationsOperationsService(s *Service) *ProjectsLocationsOperationsService {
255	rs := &ProjectsLocationsOperationsService{s: s}
256	return rs
257}
258
259type ProjectsLocationsOperationsService struct {
260	s *Service
261}
262
263func NewProjectsOperationsService(s *Service) *ProjectsOperationsService {
264	rs := &ProjectsOperationsService{s: s}
265	return rs
266}
267
268type ProjectsOperationsService struct {
269	s *Service
270}
271
272// GoogleCloudDialogflowV2Agent: Represents a conversational agent.
273type GoogleCloudDialogflowV2Agent struct {
274	// ApiVersion: Optional. API version displayed in Dialogflow console. If
275	// not specified,
276	// V2 API is assumed. Clients are free to query different service
277	// endpoints
278	// for different API versions. However, bots connectors and webhook
279	// calls will
280	// follow the specified API version.
281	//
282	// Possible values:
283	//   "API_VERSION_UNSPECIFIED" - Not specified.
284	//   "API_VERSION_V1" - Legacy V1 API.
285	//   "API_VERSION_V2" - V2 API.
286	//   "API_VERSION_V2_BETA_1" - V2beta1 API.
287	ApiVersion string `json:"apiVersion,omitempty"`
288
289	// AvatarUri: Optional. The URI of the agent's avatar.
290	// Avatars are used throughout the Dialogflow console and in the
291	// self-hosted
292	// [Web
293	// Demo](https://cloud.google.com/dialogflow/docs/integr
294	// ations/web-demo)
295	// integration.
296	AvatarUri string `json:"avatarUri,omitempty"`
297
298	// ClassificationThreshold: Optional. To filter out false positive
299	// results and still get variety in
300	// matched natural language inputs for your agent, you can tune the
301	// machine
302	// learning classification threshold. If the returned score value is
303	// less than
304	// the threshold value, then a fallback intent will be triggered or, if
305	// there
306	// are no fallback intents defined, no intent will be triggered. The
307	// score
308	// values range from 0.0 (completely uncertain) to 1.0 (completely
309	// certain).
310	// If set to 0.0, the default of 0.3 is used.
311	ClassificationThreshold float64 `json:"classificationThreshold,omitempty"`
312
313	// DefaultLanguageCode: Required. The default language of the agent as a
314	// language tag.
315	// See
316	// [Language
317	// Support](https://cloud.google.com/dialogflow/docs/refere
318	// nce/language)
319	// for a list of the currently supported language codes. This field
320	// cannot be
321	// set by the `Update` method.
322	DefaultLanguageCode string `json:"defaultLanguageCode,omitempty"`
323
324	// Description: Optional. The description of this agent.
325	// The maximum length is 500 characters. If exceeded, the request is
326	// rejected.
327	Description string `json:"description,omitempty"`
328
329	// DisplayName: Required. The name of this agent.
330	DisplayName string `json:"displayName,omitempty"`
331
332	// EnableLogging: Optional. Determines whether this agent should log
333	// conversation queries.
334	EnableLogging bool `json:"enableLogging,omitempty"`
335
336	// MatchMode: Optional. Determines how intents are detected from user
337	// queries.
338	//
339	// Possible values:
340	//   "MATCH_MODE_UNSPECIFIED" - Not specified.
341	//   "MATCH_MODE_HYBRID" - Best for agents with a small number of
342	// examples in intents and/or wide
343	// use of templates syntax and composite entities.
344	//   "MATCH_MODE_ML_ONLY" - Can be used for agents with a large number
345	// of examples in intents,
346	// especially the ones using @sys.any or very large developer entities.
347	MatchMode string `json:"matchMode,omitempty"`
348
349	// Parent: Required. The project of this agent.
350	// Format: `projects/<Project ID>`.
351	Parent string `json:"parent,omitempty"`
352
353	// SupportedLanguageCodes: Optional. The list of all languages supported
354	// by this agent (except for the
355	// `default_language_code`).
356	SupportedLanguageCodes []string `json:"supportedLanguageCodes,omitempty"`
357
358	// Tier: Optional. The agent tier. If not specified, TIER_STANDARD is
359	// assumed.
360	//
361	// Possible values:
362	//   "TIER_UNSPECIFIED" - Not specified. This value should never be
363	// used.
364	//   "TIER_STANDARD" - Standard tier.
365	//   "TIER_ENTERPRISE" - Enterprise tier (Essentials).
366	//   "TIER_ENTERPRISE_PLUS" - Enterprise tier (Plus).
367	Tier string `json:"tier,omitempty"`
368
369	// TimeZone: Required. The time zone of this agent from the
370	// [time zone database](https://www.iana.org/time-zones),
371	// e.g.,
372	// America/New_York, Europe/Paris.
373	TimeZone string `json:"timeZone,omitempty"`
374
375	// ServerResponse contains the HTTP response code and headers from the
376	// server.
377	googleapi.ServerResponse `json:"-"`
378
379	// ForceSendFields is a list of field names (e.g. "ApiVersion") to
380	// unconditionally include in API requests. By default, fields with
381	// empty values are omitted from API requests. However, any non-pointer,
382	// non-interface field appearing in ForceSendFields will be sent to the
383	// server regardless of whether the field is empty or not. This may be
384	// used to include empty fields in Patch requests.
385	ForceSendFields []string `json:"-"`
386
387	// NullFields is a list of field names (e.g. "ApiVersion") to include in
388	// API requests with the JSON null value. By default, fields with empty
389	// values are omitted from API requests. However, any field with an
390	// empty value appearing in NullFields will be sent to the server as
391	// null. It is an error if a field in this list has a non-empty value.
392	// This may be used to include null fields in Patch requests.
393	NullFields []string `json:"-"`
394}
395
396func (s *GoogleCloudDialogflowV2Agent) MarshalJSON() ([]byte, error) {
397	type NoMethod GoogleCloudDialogflowV2Agent
398	raw := NoMethod(*s)
399	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
400}
401
402func (s *GoogleCloudDialogflowV2Agent) UnmarshalJSON(data []byte) error {
403	type NoMethod GoogleCloudDialogflowV2Agent
404	var s1 struct {
405		ClassificationThreshold gensupport.JSONFloat64 `json:"classificationThreshold"`
406		*NoMethod
407	}
408	s1.NoMethod = (*NoMethod)(s)
409	if err := json.Unmarshal(data, &s1); err != nil {
410		return err
411	}
412	s.ClassificationThreshold = float64(s1.ClassificationThreshold)
413	return nil
414}
415
416// GoogleCloudDialogflowV2AnnotatedMessagePart: Represents a part of a
417// message possibly annotated with an entity. The part
418// can be an entity or purely a part of the message between two entities
419// or
420// message start/end.
421type GoogleCloudDialogflowV2AnnotatedMessagePart struct {
422	// EntityType: The [Dialogflow system
423	// entity
424	// type](https://cloud.google.com/dialogflow/docs/reference/system
425	// -entities)
426	// of this message part. If this is empty, Dialogflow could not annotate
427	// the
428	// phrase part with a system entity.
429	EntityType string `json:"entityType,omitempty"`
430
431	// FormattedValue: The [Dialogflow system entity formatted
432	// value
433	// ](https://cloud.google.com/dialogflow/docs/reference/system-enti
434	// ties) of
435	// this message part. For example for a system entity of
436	// type
437	// `@sys.unit-currency`, this may contain:
438	// <pre>
439	// {
440	//   "amount": 5,
441	//   "currency": "USD"
442	// }
443	// </pre>
444	FormattedValue interface{} `json:"formattedValue,omitempty"`
445
446	// Text: A part of a message possibly annotated with an entity.
447	Text string `json:"text,omitempty"`
448
449	// ForceSendFields is a list of field names (e.g. "EntityType") to
450	// unconditionally include in API requests. By default, fields with
451	// empty values are omitted from API requests. However, any non-pointer,
452	// non-interface field appearing in ForceSendFields will be sent to the
453	// server regardless of whether the field is empty or not. This may be
454	// used to include empty fields in Patch requests.
455	ForceSendFields []string `json:"-"`
456
457	// NullFields is a list of field names (e.g. "EntityType") to include in
458	// API requests with the JSON null value. By default, fields with empty
459	// values are omitted from API requests. However, any field with an
460	// empty value appearing in NullFields will be sent to the server as
461	// null. It is an error if a field in this list has a non-empty value.
462	// This may be used to include null fields in Patch requests.
463	NullFields []string `json:"-"`
464}
465
466func (s *GoogleCloudDialogflowV2AnnotatedMessagePart) MarshalJSON() ([]byte, error) {
467	type NoMethod GoogleCloudDialogflowV2AnnotatedMessagePart
468	raw := NoMethod(*s)
469	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
470}
471
472// GoogleCloudDialogflowV2BatchCreateEntitiesRequest: The request
473// message for EntityTypes.BatchCreateEntities.
474type GoogleCloudDialogflowV2BatchCreateEntitiesRequest struct {
475	// Entities: Required. The entities to create.
476	Entities []*GoogleCloudDialogflowV2EntityTypeEntity `json:"entities,omitempty"`
477
478	// LanguageCode: Optional. The language of entity synonyms defined in
479	// `entities`. If not
480	// specified, the agent's default language is
481	// used.
482	// [Many
483	// languages](https://cloud.google.com/dialogflow/docs/refere
484	// nce/language)
485	// are supported. Note: languages must be enabled in the agent before
486	// they can
487	// be used.
488	LanguageCode string `json:"languageCode,omitempty"`
489
490	// ForceSendFields is a list of field names (e.g. "Entities") to
491	// unconditionally include in API requests. By default, fields with
492	// empty values are omitted from API requests. However, any non-pointer,
493	// non-interface field appearing in ForceSendFields will be sent to the
494	// server regardless of whether the field is empty or not. This may be
495	// used to include empty fields in Patch requests.
496	ForceSendFields []string `json:"-"`
497
498	// NullFields is a list of field names (e.g. "Entities") to include in
499	// API requests with the JSON null value. By default, fields with empty
500	// values are omitted from API requests. However, any field with an
501	// empty value appearing in NullFields will be sent to the server as
502	// null. It is an error if a field in this list has a non-empty value.
503	// This may be used to include null fields in Patch requests.
504	NullFields []string `json:"-"`
505}
506
507func (s *GoogleCloudDialogflowV2BatchCreateEntitiesRequest) MarshalJSON() ([]byte, error) {
508	type NoMethod GoogleCloudDialogflowV2BatchCreateEntitiesRequest
509	raw := NoMethod(*s)
510	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
511}
512
513// GoogleCloudDialogflowV2BatchDeleteEntitiesRequest: The request
514// message for EntityTypes.BatchDeleteEntities.
515type GoogleCloudDialogflowV2BatchDeleteEntitiesRequest struct {
516	// EntityValues: Required. The canonical `values` of the entities to
517	// delete. Note that
518	// these are not fully-qualified names, i.e. they don't start
519	// with
520	// `projects/<Project ID>`.
521	EntityValues []string `json:"entityValues,omitempty"`
522
523	// LanguageCode: Optional. The language of entity synonyms defined in
524	// `entities`. If not
525	// specified, the agent's default language is
526	// used.
527	// [Many
528	// languages](https://cloud.google.com/dialogflow/docs/refere
529	// nce/language)
530	// are supported. Note: languages must be enabled in the agent before
531	// they can
532	// be used.
533	LanguageCode string `json:"languageCode,omitempty"`
534
535	// ForceSendFields is a list of field names (e.g. "EntityValues") to
536	// unconditionally include in API requests. By default, fields with
537	// empty values are omitted from API requests. However, any non-pointer,
538	// non-interface field appearing in ForceSendFields will be sent to the
539	// server regardless of whether the field is empty or not. This may be
540	// used to include empty fields in Patch requests.
541	ForceSendFields []string `json:"-"`
542
543	// NullFields is a list of field names (e.g. "EntityValues") to include
544	// in API requests with the JSON null value. By default, fields with
545	// empty values are omitted from API requests. However, any field with
546	// an empty value appearing in NullFields will be sent to the server as
547	// null. It is an error if a field in this list has a non-empty value.
548	// This may be used to include null fields in Patch requests.
549	NullFields []string `json:"-"`
550}
551
552func (s *GoogleCloudDialogflowV2BatchDeleteEntitiesRequest) MarshalJSON() ([]byte, error) {
553	type NoMethod GoogleCloudDialogflowV2BatchDeleteEntitiesRequest
554	raw := NoMethod(*s)
555	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
556}
557
558// GoogleCloudDialogflowV2BatchDeleteEntityTypesRequest: The request
559// message for EntityTypes.BatchDeleteEntityTypes.
560type GoogleCloudDialogflowV2BatchDeleteEntityTypesRequest struct {
561	// EntityTypeNames: Required. The names entity types to delete. All
562	// names must point to the
563	// same agent as `parent`.
564	EntityTypeNames []string `json:"entityTypeNames,omitempty"`
565
566	// ForceSendFields is a list of field names (e.g. "EntityTypeNames") to
567	// unconditionally include in API requests. By default, fields with
568	// empty values are omitted from API requests. However, any non-pointer,
569	// non-interface field appearing in ForceSendFields will be sent to the
570	// server regardless of whether the field is empty or not. This may be
571	// used to include empty fields in Patch requests.
572	ForceSendFields []string `json:"-"`
573
574	// NullFields is a list of field names (e.g. "EntityTypeNames") to
575	// include in API requests with the JSON null value. By default, fields
576	// with empty values are omitted from API requests. However, any field
577	// with an empty value appearing in NullFields will be sent to the
578	// server as null. It is an error if a field in this list has a
579	// non-empty value. This may be used to include null fields in Patch
580	// requests.
581	NullFields []string `json:"-"`
582}
583
584func (s *GoogleCloudDialogflowV2BatchDeleteEntityTypesRequest) MarshalJSON() ([]byte, error) {
585	type NoMethod GoogleCloudDialogflowV2BatchDeleteEntityTypesRequest
586	raw := NoMethod(*s)
587	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
588}
589
590// GoogleCloudDialogflowV2BatchDeleteIntentsRequest: The request message
591// for Intents.BatchDeleteIntents.
592type GoogleCloudDialogflowV2BatchDeleteIntentsRequest struct {
593	// Intents: Required. The collection of intents to delete. Only intent
594	// `name` must be
595	// filled in.
596	Intents []*GoogleCloudDialogflowV2Intent `json:"intents,omitempty"`
597
598	// ForceSendFields is a list of field names (e.g. "Intents") to
599	// unconditionally include in API requests. By default, fields with
600	// empty values are omitted from API requests. However, any non-pointer,
601	// non-interface field appearing in ForceSendFields will be sent to the
602	// server regardless of whether the field is empty or not. This may be
603	// used to include empty fields in Patch requests.
604	ForceSendFields []string `json:"-"`
605
606	// NullFields is a list of field names (e.g. "Intents") to include in
607	// API requests with the JSON null value. By default, fields with empty
608	// values are omitted from API requests. However, any field with an
609	// empty value appearing in NullFields will be sent to the server as
610	// null. It is an error if a field in this list has a non-empty value.
611	// This may be used to include null fields in Patch requests.
612	NullFields []string `json:"-"`
613}
614
615func (s *GoogleCloudDialogflowV2BatchDeleteIntentsRequest) MarshalJSON() ([]byte, error) {
616	type NoMethod GoogleCloudDialogflowV2BatchDeleteIntentsRequest
617	raw := NoMethod(*s)
618	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
619}
620
621// GoogleCloudDialogflowV2BatchUpdateEntitiesRequest: The request
622// message for EntityTypes.BatchUpdateEntities.
623type GoogleCloudDialogflowV2BatchUpdateEntitiesRequest struct {
624	// Entities: Required. The entities to update or create.
625	Entities []*GoogleCloudDialogflowV2EntityTypeEntity `json:"entities,omitempty"`
626
627	// LanguageCode: Optional. The language of entity synonyms defined in
628	// `entities`. If not
629	// specified, the agent's default language is
630	// used.
631	// [Many
632	// languages](https://cloud.google.com/dialogflow/docs/refere
633	// nce/language)
634	// are supported. Note: languages must be enabled in the agent before
635	// they can
636	// be used.
637	LanguageCode string `json:"languageCode,omitempty"`
638
639	// UpdateMask: Optional. The mask to control which fields get updated.
640	UpdateMask string `json:"updateMask,omitempty"`
641
642	// ForceSendFields is a list of field names (e.g. "Entities") to
643	// unconditionally include in API requests. By default, fields with
644	// empty values are omitted from API requests. However, any non-pointer,
645	// non-interface field appearing in ForceSendFields will be sent to the
646	// server regardless of whether the field is empty or not. This may be
647	// used to include empty fields in Patch requests.
648	ForceSendFields []string `json:"-"`
649
650	// NullFields is a list of field names (e.g. "Entities") to include in
651	// API requests with the JSON null value. By default, fields with empty
652	// values are omitted from API requests. However, any field with an
653	// empty value appearing in NullFields will be sent to the server as
654	// null. It is an error if a field in this list has a non-empty value.
655	// This may be used to include null fields in Patch requests.
656	NullFields []string `json:"-"`
657}
658
659func (s *GoogleCloudDialogflowV2BatchUpdateEntitiesRequest) MarshalJSON() ([]byte, error) {
660	type NoMethod GoogleCloudDialogflowV2BatchUpdateEntitiesRequest
661	raw := NoMethod(*s)
662	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
663}
664
665// GoogleCloudDialogflowV2BatchUpdateEntityTypesRequest: The request
666// message for EntityTypes.BatchUpdateEntityTypes.
667type GoogleCloudDialogflowV2BatchUpdateEntityTypesRequest struct {
668	// EntityTypeBatchInline: The collection of entity types to update or
669	// create.
670	EntityTypeBatchInline *GoogleCloudDialogflowV2EntityTypeBatch `json:"entityTypeBatchInline,omitempty"`
671
672	// EntityTypeBatchUri: The URI to a Google Cloud Storage file containing
673	// entity types to update
674	// or create. The file format can either be a serialized proto
675	// (of
676	// EntityBatch type) or a JSON object. Note: The URI must start
677	// with
678	// "gs://".
679	EntityTypeBatchUri string `json:"entityTypeBatchUri,omitempty"`
680
681	// LanguageCode: Optional. The language of entity synonyms defined in
682	// `entity_types`. If not
683	// specified, the agent's default language is
684	// used.
685	// [Many
686	// languages](https://cloud.google.com/dialogflow/docs/refere
687	// nce/language)
688	// are supported. Note: languages must be enabled in the agent before
689	// they can
690	// be used.
691	LanguageCode string `json:"languageCode,omitempty"`
692
693	// UpdateMask: Optional. The mask to control which fields get updated.
694	UpdateMask string `json:"updateMask,omitempty"`
695
696	// ForceSendFields is a list of field names (e.g.
697	// "EntityTypeBatchInline") to unconditionally include in API requests.
698	// By default, fields with empty values are omitted from API requests.
699	// However, any non-pointer, non-interface field appearing in
700	// ForceSendFields will be sent to the server regardless of whether the
701	// field is empty or not. This may be used to include empty fields in
702	// Patch requests.
703	ForceSendFields []string `json:"-"`
704
705	// NullFields is a list of field names (e.g. "EntityTypeBatchInline") to
706	// include in API requests with the JSON null value. By default, fields
707	// with empty values are omitted from API requests. However, any field
708	// with an empty value appearing in NullFields will be sent to the
709	// server as null. It is an error if a field in this list has a
710	// non-empty value. This may be used to include null fields in Patch
711	// requests.
712	NullFields []string `json:"-"`
713}
714
715func (s *GoogleCloudDialogflowV2BatchUpdateEntityTypesRequest) MarshalJSON() ([]byte, error) {
716	type NoMethod GoogleCloudDialogflowV2BatchUpdateEntityTypesRequest
717	raw := NoMethod(*s)
718	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
719}
720
721// GoogleCloudDialogflowV2BatchUpdateEntityTypesResponse: The response
722// message for EntityTypes.BatchUpdateEntityTypes.
723type GoogleCloudDialogflowV2BatchUpdateEntityTypesResponse struct {
724	// EntityTypes: The collection of updated or created entity types.
725	EntityTypes []*GoogleCloudDialogflowV2EntityType `json:"entityTypes,omitempty"`
726
727	// ForceSendFields is a list of field names (e.g. "EntityTypes") to
728	// unconditionally include in API requests. By default, fields with
729	// empty values are omitted from API requests. However, any non-pointer,
730	// non-interface field appearing in ForceSendFields will be sent to the
731	// server regardless of whether the field is empty or not. This may be
732	// used to include empty fields in Patch requests.
733	ForceSendFields []string `json:"-"`
734
735	// NullFields is a list of field names (e.g. "EntityTypes") to include
736	// in API requests with the JSON null value. By default, fields with
737	// empty values are omitted from API requests. However, any field with
738	// an empty value appearing in NullFields will be sent to the server as
739	// null. It is an error if a field in this list has a non-empty value.
740	// This may be used to include null fields in Patch requests.
741	NullFields []string `json:"-"`
742}
743
744func (s *GoogleCloudDialogflowV2BatchUpdateEntityTypesResponse) MarshalJSON() ([]byte, error) {
745	type NoMethod GoogleCloudDialogflowV2BatchUpdateEntityTypesResponse
746	raw := NoMethod(*s)
747	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
748}
749
750// GoogleCloudDialogflowV2BatchUpdateIntentsRequest: The request message
751// for Intents.BatchUpdateIntents.
752type GoogleCloudDialogflowV2BatchUpdateIntentsRequest struct {
753	// IntentBatchInline: The collection of intents to update or create.
754	IntentBatchInline *GoogleCloudDialogflowV2IntentBatch `json:"intentBatchInline,omitempty"`
755
756	// IntentBatchUri: The URI to a Google Cloud Storage file containing
757	// intents to update or
758	// create. The file format can either be a serialized proto (of
759	// IntentBatch
760	// type) or JSON object. Note: The URI must start with "gs://".
761	IntentBatchUri string `json:"intentBatchUri,omitempty"`
762
763	// IntentView: Optional. The resource view to apply to the returned
764	// intent.
765	//
766	// Possible values:
767	//   "INTENT_VIEW_UNSPECIFIED" - Training phrases field is not populated
768	// in the response.
769	//   "INTENT_VIEW_FULL" - All fields are populated.
770	IntentView string `json:"intentView,omitempty"`
771
772	// LanguageCode: Optional. The language of training phrases, parameters
773	// and rich messages
774	// defined in `intents`. If not specified, the agent's default language
775	// is
776	// used.
777	// [Many
778	// languages](https://cloud.google.com/dialogflow/docs/reference/la
779	// nguage)
780	// are supported. Note: languages must be enabled in the agent before
781	// they can
782	// be used.
783	LanguageCode string `json:"languageCode,omitempty"`
784
785	// UpdateMask: Optional. The mask to control which fields get updated.
786	UpdateMask string `json:"updateMask,omitempty"`
787
788	// ForceSendFields is a list of field names (e.g. "IntentBatchInline")
789	// to unconditionally include in API requests. By default, fields with
790	// empty values are omitted from API requests. However, any non-pointer,
791	// non-interface field appearing in ForceSendFields will be sent to the
792	// server regardless of whether the field is empty or not. This may be
793	// used to include empty fields in Patch requests.
794	ForceSendFields []string `json:"-"`
795
796	// NullFields is a list of field names (e.g. "IntentBatchInline") to
797	// include in API requests with the JSON null value. By default, fields
798	// with empty values are omitted from API requests. However, any field
799	// with an empty value appearing in NullFields will be sent to the
800	// server as null. It is an error if a field in this list has a
801	// non-empty value. This may be used to include null fields in Patch
802	// requests.
803	NullFields []string `json:"-"`
804}
805
806func (s *GoogleCloudDialogflowV2BatchUpdateIntentsRequest) MarshalJSON() ([]byte, error) {
807	type NoMethod GoogleCloudDialogflowV2BatchUpdateIntentsRequest
808	raw := NoMethod(*s)
809	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
810}
811
812// GoogleCloudDialogflowV2BatchUpdateIntentsResponse: The response
813// message for Intents.BatchUpdateIntents.
814type GoogleCloudDialogflowV2BatchUpdateIntentsResponse struct {
815	// Intents: The collection of updated or created intents.
816	Intents []*GoogleCloudDialogflowV2Intent `json:"intents,omitempty"`
817
818	// ForceSendFields is a list of field names (e.g. "Intents") to
819	// unconditionally include in API requests. By default, fields with
820	// empty values are omitted from API requests. However, any non-pointer,
821	// non-interface field appearing in ForceSendFields will be sent to the
822	// server regardless of whether the field is empty or not. This may be
823	// used to include empty fields in Patch requests.
824	ForceSendFields []string `json:"-"`
825
826	// NullFields is a list of field names (e.g. "Intents") to include in
827	// API requests with the JSON null value. By default, fields with empty
828	// values are omitted from API requests. However, any field with an
829	// empty value appearing in NullFields will be sent to the server as
830	// null. It is an error if a field in this list has a non-empty value.
831	// This may be used to include null fields in Patch requests.
832	NullFields []string `json:"-"`
833}
834
835func (s *GoogleCloudDialogflowV2BatchUpdateIntentsResponse) MarshalJSON() ([]byte, error) {
836	type NoMethod GoogleCloudDialogflowV2BatchUpdateIntentsResponse
837	raw := NoMethod(*s)
838	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
839}
840
841// GoogleCloudDialogflowV2Context: Represents a context.
842type GoogleCloudDialogflowV2Context struct {
843	// LifespanCount: Optional. The number of conversational query requests
844	// after which the
845	// context expires. If set to `0` (the default) the context
846	// expires
847	// immediately. Contexts expire automatically after 20 minutes if
848	// there
849	// are no matching queries.
850	LifespanCount int64 `json:"lifespanCount,omitempty"`
851
852	// Name: Required. The unique identifier of the context.
853	// Format:
854	// `projects/<Project ID>/agent/sessions/<Session ID>/contexts/<Context
855	// ID>`.
856	//
857	// The `Context ID` is always converted to lowercase, may only
858	// contain
859	// characters in [a-zA-Z0-9_-%] and may be at most 250 bytes long.
860	Name string `json:"name,omitempty"`
861
862	// Parameters: Optional. The collection of parameters associated with
863	// this context.
864	// Refer to
865	// [this
866	// doc](https://cloud.google.com/dialogflow/docs/intents-actions-pa
867	// rameters)
868	// for syntax.
869	Parameters googleapi.RawMessage `json:"parameters,omitempty"`
870
871	// ServerResponse contains the HTTP response code and headers from the
872	// server.
873	googleapi.ServerResponse `json:"-"`
874
875	// ForceSendFields is a list of field names (e.g. "LifespanCount") to
876	// unconditionally include in API requests. By default, fields with
877	// empty values are omitted from API requests. However, any non-pointer,
878	// non-interface field appearing in ForceSendFields will be sent to the
879	// server regardless of whether the field is empty or not. This may be
880	// used to include empty fields in Patch requests.
881	ForceSendFields []string `json:"-"`
882
883	// NullFields is a list of field names (e.g. "LifespanCount") to include
884	// in API requests with the JSON null value. By default, fields with
885	// empty values are omitted from API requests. However, any field with
886	// an empty value appearing in NullFields will be sent to the server as
887	// null. It is an error if a field in this list has a non-empty value.
888	// This may be used to include null fields in Patch requests.
889	NullFields []string `json:"-"`
890}
891
892func (s *GoogleCloudDialogflowV2Context) MarshalJSON() ([]byte, error) {
893	type NoMethod GoogleCloudDialogflowV2Context
894	raw := NoMethod(*s)
895	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
896}
897
898// GoogleCloudDialogflowV2ConversationEvent: Represents a notification
899// sent to Cloud Pub/Sub subscribers for conversation
900// lifecycle events.
901type GoogleCloudDialogflowV2ConversationEvent struct {
902	// Conversation: The unique identifier of the conversation this
903	// notification
904	// refers to.
905	// Format: `projects/<Project ID>/conversations/<Conversation ID>`.
906	Conversation string `json:"conversation,omitempty"`
907
908	// ErrorStatus: More detailed information about an error. Only set for
909	// type
910	// UNRECOVERABLE_ERROR_IN_PHONE_CALL.
911	ErrorStatus *GoogleRpcStatus `json:"errorStatus,omitempty"`
912
913	// NewMessagePayload: Payload of NEW_MESSAGE event.
914	NewMessagePayload *GoogleCloudDialogflowV2Message `json:"newMessagePayload,omitempty"`
915
916	// Type: The type of the event that this notification refers to.
917	//
918	// Possible values:
919	//   "TYPE_UNSPECIFIED" - Type not set.
920	//   "CONVERSATION_STARTED" - A new conversation has been opened. This
921	// is fired when a telephone call
922	// is answered, or a conversation is created via the API.
923	//   "CONVERSATION_FINISHED" - An existing conversation has closed. This
924	// is fired when a telephone call
925	// is terminated, or a conversation is closed via the API.
926	//   "HUMAN_INTERVENTION_NEEDED" - An existing conversation has received
927	// notification from Dialogflow that
928	// human intervention is required.
929	//   "NEW_MESSAGE" - An existing conversation has received a new
930	// message, either from API or
931	// telephony. It is configured
932	// in
933	// ConversationProfile.new_message_event_notification_config
934	//   "UNRECOVERABLE_ERROR" - Unrecoverable error during a telephone
935	// call.
936	//
937	// In general non-recoverable errors only occur if something
938	// was
939	// misconfigured in the ConversationProfile corresponding to the call.
940	// After
941	// a non-recoverable error, Dialogflow may stop responding.
942	//
943	// We don't fire this event:
944	// * in an API call because we can directly return the error, or,
945	// * when we can recover from an error.
946	Type string `json:"type,omitempty"`
947
948	// ForceSendFields is a list of field names (e.g. "Conversation") to
949	// unconditionally include in API requests. By default, fields with
950	// empty values are omitted from API requests. However, any non-pointer,
951	// non-interface field appearing in ForceSendFields will be sent to the
952	// server regardless of whether the field is empty or not. This may be
953	// used to include empty fields in Patch requests.
954	ForceSendFields []string `json:"-"`
955
956	// NullFields is a list of field names (e.g. "Conversation") to include
957	// in API requests with the JSON null value. By default, fields with
958	// empty values are omitted from API requests. However, any field with
959	// an empty value appearing in NullFields will be sent to the server as
960	// null. It is an error if a field in this list has a non-empty value.
961	// This may be used to include null fields in Patch requests.
962	NullFields []string `json:"-"`
963}
964
965func (s *GoogleCloudDialogflowV2ConversationEvent) MarshalJSON() ([]byte, error) {
966	type NoMethod GoogleCloudDialogflowV2ConversationEvent
967	raw := NoMethod(*s)
968	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
969}
970
971// GoogleCloudDialogflowV2DetectIntentRequest: The request to detect
972// user's intent.
973type GoogleCloudDialogflowV2DetectIntentRequest struct {
974	// InputAudio: Optional. The natural language speech audio to be
975	// processed. This field
976	// should be populated iff `query_input` is set to an input audio
977	// config.
978	// A single request can contain up to 1 minute of speech audio data.
979	InputAudio string `json:"inputAudio,omitempty"`
980
981	// OutputAudioConfig: Optional. Instructs the speech synthesizer how to
982	// generate the output
983	// audio. If this field is not set and agent-level speech synthesizer is
984	// not
985	// configured, no output audio is generated.
986	OutputAudioConfig *GoogleCloudDialogflowV2OutputAudioConfig `json:"outputAudioConfig,omitempty"`
987
988	// QueryInput: Required. The input specification. It can be set to:
989	//
990	// 1.  an audio config
991	//     which instructs the speech recognizer how to process the speech
992	// audio,
993	//
994	// 2.  a conversational query in the form of text, or
995	//
996	// 3.  an event that specifies which intent to trigger.
997	QueryInput *GoogleCloudDialogflowV2QueryInput `json:"queryInput,omitempty"`
998
999	// QueryParams: Optional. The parameters of this query.
1000	QueryParams *GoogleCloudDialogflowV2QueryParameters `json:"queryParams,omitempty"`
1001
1002	// ForceSendFields is a list of field names (e.g. "InputAudio") to
1003	// unconditionally include in API requests. By default, fields with
1004	// empty values are omitted from API requests. However, any non-pointer,
1005	// non-interface field appearing in ForceSendFields will be sent to the
1006	// server regardless of whether the field is empty or not. This may be
1007	// used to include empty fields in Patch requests.
1008	ForceSendFields []string `json:"-"`
1009
1010	// NullFields is a list of field names (e.g. "InputAudio") to include in
1011	// API requests with the JSON null value. By default, fields with empty
1012	// values are omitted from API requests. However, any field with an
1013	// empty value appearing in NullFields will be sent to the server as
1014	// null. It is an error if a field in this list has a non-empty value.
1015	// This may be used to include null fields in Patch requests.
1016	NullFields []string `json:"-"`
1017}
1018
1019func (s *GoogleCloudDialogflowV2DetectIntentRequest) MarshalJSON() ([]byte, error) {
1020	type NoMethod GoogleCloudDialogflowV2DetectIntentRequest
1021	raw := NoMethod(*s)
1022	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1023}
1024
1025// GoogleCloudDialogflowV2DetectIntentResponse: The message returned
1026// from the DetectIntent method.
1027type GoogleCloudDialogflowV2DetectIntentResponse struct {
1028	// OutputAudio: The audio data bytes encoded as specified in the
1029	// request.
1030	// Note: The output audio is generated based on the values of default
1031	// platform
1032	// text responses found in the `query_result.fulfillment_messages`
1033	// field. If
1034	// multiple default text responses exist, they will be concatenated
1035	// when
1036	// generating audio. If no default platform text responses exist,
1037	// the
1038	// generated audio content will be empty.
1039	OutputAudio string `json:"outputAudio,omitempty"`
1040
1041	// OutputAudioConfig: The config used by the speech synthesizer to
1042	// generate the output audio.
1043	OutputAudioConfig *GoogleCloudDialogflowV2OutputAudioConfig `json:"outputAudioConfig,omitempty"`
1044
1045	// QueryResult: The selected results of the conversational query or
1046	// event processing.
1047	// See `alternative_query_results` for additional potential results.
1048	QueryResult *GoogleCloudDialogflowV2QueryResult `json:"queryResult,omitempty"`
1049
1050	// ResponseId: The unique identifier of the response. It can be used
1051	// to
1052	// locate a response in the training example set or for reporting
1053	// issues.
1054	ResponseId string `json:"responseId,omitempty"`
1055
1056	// WebhookStatus: Specifies the status of the webhook request.
1057	WebhookStatus *GoogleRpcStatus `json:"webhookStatus,omitempty"`
1058
1059	// ServerResponse contains the HTTP response code and headers from the
1060	// server.
1061	googleapi.ServerResponse `json:"-"`
1062
1063	// ForceSendFields is a list of field names (e.g. "OutputAudio") to
1064	// unconditionally include in API requests. By default, fields with
1065	// empty values are omitted from API requests. However, any non-pointer,
1066	// non-interface field appearing in ForceSendFields will be sent to the
1067	// server regardless of whether the field is empty or not. This may be
1068	// used to include empty fields in Patch requests.
1069	ForceSendFields []string `json:"-"`
1070
1071	// NullFields is a list of field names (e.g. "OutputAudio") to include
1072	// in API requests with the JSON null value. By default, fields with
1073	// empty values are omitted from API requests. However, any field with
1074	// an empty value appearing in NullFields will be sent to the server as
1075	// null. It is an error if a field in this list has a non-empty value.
1076	// This may be used to include null fields in Patch requests.
1077	NullFields []string `json:"-"`
1078}
1079
1080func (s *GoogleCloudDialogflowV2DetectIntentResponse) MarshalJSON() ([]byte, error) {
1081	type NoMethod GoogleCloudDialogflowV2DetectIntentResponse
1082	raw := NoMethod(*s)
1083	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1084}
1085
1086// GoogleCloudDialogflowV2EntityType: Represents an entity type.
1087// Entity types serve as a tool for extracting parameter values from
1088// natural
1089// language queries.
1090type GoogleCloudDialogflowV2EntityType struct {
1091	// AutoExpansionMode: Optional. Indicates whether the entity type can be
1092	// automatically
1093	// expanded.
1094	//
1095	// Possible values:
1096	//   "AUTO_EXPANSION_MODE_UNSPECIFIED" - Auto expansion disabled for the
1097	// entity.
1098	//   "AUTO_EXPANSION_MODE_DEFAULT" - Allows an agent to recognize values
1099	// that have not been explicitly
1100	// listed in the entity.
1101	AutoExpansionMode string `json:"autoExpansionMode,omitempty"`
1102
1103	// DisplayName: Required. The name of the entity type.
1104	DisplayName string `json:"displayName,omitempty"`
1105
1106	// EnableFuzzyExtraction: Optional. Enables fuzzy entity extraction
1107	// during classification.
1108	EnableFuzzyExtraction bool `json:"enableFuzzyExtraction,omitempty"`
1109
1110	// Entities: Optional. The collection of entity entries associated with
1111	// the entity type.
1112	Entities []*GoogleCloudDialogflowV2EntityTypeEntity `json:"entities,omitempty"`
1113
1114	// Kind: Required. Indicates the kind of entity type.
1115	//
1116	// Possible values:
1117	//   "KIND_UNSPECIFIED" - Not specified. This value should be never
1118	// used.
1119	//   "KIND_MAP" - Map entity types allow mapping of a group of synonyms
1120	// to a canonical
1121	// value.
1122	//   "KIND_LIST" - List entity types contain a set of entries that do
1123	// not map to canonical
1124	// values. However, list entity types can contain references to other
1125	// entity
1126	// types (with or without aliases).
1127	//   "KIND_REGEXP" - Regexp entity types allow to specify regular
1128	// expressions in entries
1129	// values.
1130	Kind string `json:"kind,omitempty"`
1131
1132	// Name: The unique identifier of the entity type.
1133	// Required for EntityTypes.UpdateEntityType
1134	// and
1135	// EntityTypes.BatchUpdateEntityTypes methods.
1136	// Format: `projects/<Project ID>/agent/entityTypes/<Entity Type ID>`.
1137	Name string `json:"name,omitempty"`
1138
1139	// ServerResponse contains the HTTP response code and headers from the
1140	// server.
1141	googleapi.ServerResponse `json:"-"`
1142
1143	// ForceSendFields is a list of field names (e.g. "AutoExpansionMode")
1144	// to unconditionally include in API requests. By default, fields with
1145	// empty values are omitted from API requests. However, any non-pointer,
1146	// non-interface field appearing in ForceSendFields will be sent to the
1147	// server regardless of whether the field is empty or not. This may be
1148	// used to include empty fields in Patch requests.
1149	ForceSendFields []string `json:"-"`
1150
1151	// NullFields is a list of field names (e.g. "AutoExpansionMode") to
1152	// include in API requests with the JSON null value. By default, fields
1153	// with empty values are omitted from API requests. However, any field
1154	// with an empty value appearing in NullFields will be sent to the
1155	// server as null. It is an error if a field in this list has a
1156	// non-empty value. This may be used to include null fields in Patch
1157	// requests.
1158	NullFields []string `json:"-"`
1159}
1160
1161func (s *GoogleCloudDialogflowV2EntityType) MarshalJSON() ([]byte, error) {
1162	type NoMethod GoogleCloudDialogflowV2EntityType
1163	raw := NoMethod(*s)
1164	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1165}
1166
1167// GoogleCloudDialogflowV2EntityTypeBatch: This message is a wrapper
1168// around a collection of entity types.
1169type GoogleCloudDialogflowV2EntityTypeBatch struct {
1170	// EntityTypes: A collection of entity types.
1171	EntityTypes []*GoogleCloudDialogflowV2EntityType `json:"entityTypes,omitempty"`
1172
1173	// ForceSendFields is a list of field names (e.g. "EntityTypes") to
1174	// unconditionally include in API requests. By default, fields with
1175	// empty values are omitted from API requests. However, any non-pointer,
1176	// non-interface field appearing in ForceSendFields will be sent to the
1177	// server regardless of whether the field is empty or not. This may be
1178	// used to include empty fields in Patch requests.
1179	ForceSendFields []string `json:"-"`
1180
1181	// NullFields is a list of field names (e.g. "EntityTypes") to include
1182	// in API requests with the JSON null value. By default, fields with
1183	// empty values are omitted from API requests. However, any field with
1184	// an empty value appearing in NullFields will be sent to the server as
1185	// null. It is an error if a field in this list has a non-empty value.
1186	// This may be used to include null fields in Patch requests.
1187	NullFields []string `json:"-"`
1188}
1189
1190func (s *GoogleCloudDialogflowV2EntityTypeBatch) MarshalJSON() ([]byte, error) {
1191	type NoMethod GoogleCloudDialogflowV2EntityTypeBatch
1192	raw := NoMethod(*s)
1193	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1194}
1195
1196// GoogleCloudDialogflowV2EntityTypeEntity: An **entity entry** for an
1197// associated entity type.
1198type GoogleCloudDialogflowV2EntityTypeEntity struct {
1199	// Synonyms: Required. A collection of value synonyms. For example, if
1200	// the entity type
1201	// is *vegetable*, and `value` is *scallions*, a synonym could be
1202	// *green
1203	// onions*.
1204	//
1205	// For `KIND_LIST` entity types:
1206	//
1207	// *   This collection must contain exactly one synonym equal to
1208	// `value`.
1209	Synonyms []string `json:"synonyms,omitempty"`
1210
1211	// Value: Required. The primary value associated with this entity
1212	// entry.
1213	// For example, if the entity type is *vegetable*, the value could
1214	// be
1215	// *scallions*.
1216	//
1217	// For `KIND_MAP` entity types:
1218	//
1219	// *   A canonical value to be used in place of synonyms.
1220	//
1221	// For `KIND_LIST` entity types:
1222	//
1223	// *   A string that can contain references to other entity types (with
1224	// or
1225	//     without aliases).
1226	Value string `json:"value,omitempty"`
1227
1228	// ForceSendFields is a list of field names (e.g. "Synonyms") to
1229	// unconditionally include in API requests. By default, fields with
1230	// empty values are omitted from API requests. However, any non-pointer,
1231	// non-interface field appearing in ForceSendFields will be sent to the
1232	// server regardless of whether the field is empty or not. This may be
1233	// used to include empty fields in Patch requests.
1234	ForceSendFields []string `json:"-"`
1235
1236	// NullFields is a list of field names (e.g. "Synonyms") to include in
1237	// API requests with the JSON null value. By default, fields with empty
1238	// values are omitted from API requests. However, any field with an
1239	// empty value appearing in NullFields will be sent to the server as
1240	// null. It is an error if a field in this list has a non-empty value.
1241	// This may be used to include null fields in Patch requests.
1242	NullFields []string `json:"-"`
1243}
1244
1245func (s *GoogleCloudDialogflowV2EntityTypeEntity) MarshalJSON() ([]byte, error) {
1246	type NoMethod GoogleCloudDialogflowV2EntityTypeEntity
1247	raw := NoMethod(*s)
1248	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1249}
1250
1251// GoogleCloudDialogflowV2EventInput: Events allow for matching intents
1252// by event name instead of the natural
1253// language input. For instance, input `<event: { name:
1254// "welcome_event",
1255// parameters: { name: "Sam" } }>` can trigger a personalized welcome
1256// response.
1257// The parameter `name` may be used by the agent in the
1258// response:
1259// "Hello #welcome_event.name! What can I do for you today?".
1260type GoogleCloudDialogflowV2EventInput struct {
1261	// LanguageCode: Required. The language of this query. See
1262	// [Language
1263	// Support](https://cloud.google.com/dialogflow/docs/reference/
1264	// language)
1265	// for a list of the currently supported language codes. Note that
1266	// queries in
1267	// the same session do not necessarily need to specify the same
1268	// language.
1269	LanguageCode string `json:"languageCode,omitempty"`
1270
1271	// Name: Required. The unique identifier of the event.
1272	Name string `json:"name,omitempty"`
1273
1274	// Parameters: Optional. The collection of parameters associated with
1275	// the event.
1276	Parameters googleapi.RawMessage `json:"parameters,omitempty"`
1277
1278	// ForceSendFields is a list of field names (e.g. "LanguageCode") to
1279	// unconditionally include in API requests. By default, fields with
1280	// empty values are omitted from API requests. However, any non-pointer,
1281	// non-interface field appearing in ForceSendFields will be sent to the
1282	// server regardless of whether the field is empty or not. This may be
1283	// used to include empty fields in Patch requests.
1284	ForceSendFields []string `json:"-"`
1285
1286	// NullFields is a list of field names (e.g. "LanguageCode") to include
1287	// in API requests with the JSON null value. By default, fields with
1288	// empty values are omitted from API requests. However, any field with
1289	// an empty value appearing in NullFields will be sent to the server as
1290	// null. It is an error if a field in this list has a non-empty value.
1291	// This may be used to include null fields in Patch requests.
1292	NullFields []string `json:"-"`
1293}
1294
1295func (s *GoogleCloudDialogflowV2EventInput) MarshalJSON() ([]byte, error) {
1296	type NoMethod GoogleCloudDialogflowV2EventInput
1297	raw := NoMethod(*s)
1298	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1299}
1300
1301// GoogleCloudDialogflowV2ExportAgentRequest: The request message for
1302// Agents.ExportAgent.
1303type GoogleCloudDialogflowV2ExportAgentRequest struct {
1304	// AgentUri: Required. The [Google Cloud
1305	// Storage](https://cloud.google.com/storage/docs/)
1306	// URI to export the agent to.
1307	// The format of this URI must be `gs://<bucket-name>/<object-name>`.
1308	// If left unspecified, the serialized agent is returned inline.
1309	AgentUri string `json:"agentUri,omitempty"`
1310
1311	// ForceSendFields is a list of field names (e.g. "AgentUri") to
1312	// unconditionally include in API requests. By default, fields with
1313	// empty values are omitted from API requests. However, any non-pointer,
1314	// non-interface field appearing in ForceSendFields will be sent to the
1315	// server regardless of whether the field is empty or not. This may be
1316	// used to include empty fields in Patch requests.
1317	ForceSendFields []string `json:"-"`
1318
1319	// NullFields is a list of field names (e.g. "AgentUri") to include in
1320	// API requests with the JSON null value. By default, fields with empty
1321	// values are omitted from API requests. However, any field with an
1322	// empty value appearing in NullFields will be sent to the server as
1323	// null. It is an error if a field in this list has a non-empty value.
1324	// This may be used to include null fields in Patch requests.
1325	NullFields []string `json:"-"`
1326}
1327
1328func (s *GoogleCloudDialogflowV2ExportAgentRequest) MarshalJSON() ([]byte, error) {
1329	type NoMethod GoogleCloudDialogflowV2ExportAgentRequest
1330	raw := NoMethod(*s)
1331	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1332}
1333
1334// GoogleCloudDialogflowV2ExportAgentResponse: The response message for
1335// Agents.ExportAgent.
1336type GoogleCloudDialogflowV2ExportAgentResponse struct {
1337	// AgentContent: Zip compressed raw byte content for agent.
1338	AgentContent string `json:"agentContent,omitempty"`
1339
1340	// AgentUri: The URI to a file containing the exported agent. This field
1341	// is populated
1342	// only if `agent_uri` is specified in `ExportAgentRequest`.
1343	AgentUri string `json:"agentUri,omitempty"`
1344
1345	// ForceSendFields is a list of field names (e.g. "AgentContent") to
1346	// unconditionally include in API requests. By default, fields with
1347	// empty values are omitted from API requests. However, any non-pointer,
1348	// non-interface field appearing in ForceSendFields will be sent to the
1349	// server regardless of whether the field is empty or not. This may be
1350	// used to include empty fields in Patch requests.
1351	ForceSendFields []string `json:"-"`
1352
1353	// NullFields is a list of field names (e.g. "AgentContent") to include
1354	// in API requests with the JSON null value. By default, fields with
1355	// empty values are omitted from API requests. However, any field with
1356	// an empty value appearing in NullFields will be sent to the server as
1357	// null. It is an error if a field in this list has a non-empty value.
1358	// This may be used to include null fields in Patch requests.
1359	NullFields []string `json:"-"`
1360}
1361
1362func (s *GoogleCloudDialogflowV2ExportAgentResponse) MarshalJSON() ([]byte, error) {
1363	type NoMethod GoogleCloudDialogflowV2ExportAgentResponse
1364	raw := NoMethod(*s)
1365	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1366}
1367
1368// GoogleCloudDialogflowV2ImportAgentRequest: The request message for
1369// Agents.ImportAgent.
1370type GoogleCloudDialogflowV2ImportAgentRequest struct {
1371	// AgentContent: Zip compressed raw byte content for agent.
1372	AgentContent string `json:"agentContent,omitempty"`
1373
1374	// AgentUri: The URI to a Google Cloud Storage file containing the agent
1375	// to import.
1376	// Note: The URI must start with "gs://".
1377	AgentUri string `json:"agentUri,omitempty"`
1378
1379	// ForceSendFields is a list of field names (e.g. "AgentContent") to
1380	// unconditionally include in API requests. By default, fields with
1381	// empty values are omitted from API requests. However, any non-pointer,
1382	// non-interface field appearing in ForceSendFields will be sent to the
1383	// server regardless of whether the field is empty or not. This may be
1384	// used to include empty fields in Patch requests.
1385	ForceSendFields []string `json:"-"`
1386
1387	// NullFields is a list of field names (e.g. "AgentContent") to include
1388	// in API requests with the JSON null value. By default, fields with
1389	// empty values are omitted from API requests. However, any field with
1390	// an empty value appearing in NullFields will be sent to the server as
1391	// null. It is an error if a field in this list has a non-empty value.
1392	// This may be used to include null fields in Patch requests.
1393	NullFields []string `json:"-"`
1394}
1395
1396func (s *GoogleCloudDialogflowV2ImportAgentRequest) MarshalJSON() ([]byte, error) {
1397	type NoMethod GoogleCloudDialogflowV2ImportAgentRequest
1398	raw := NoMethod(*s)
1399	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1400}
1401
1402// GoogleCloudDialogflowV2InputAudioConfig: Instructs the speech
1403// recognizer how to process the audio content.
1404type GoogleCloudDialogflowV2InputAudioConfig struct {
1405	// AudioEncoding: Required. Audio encoding of the audio content to
1406	// process.
1407	//
1408	// Possible values:
1409	//   "AUDIO_ENCODING_UNSPECIFIED" - Not specified.
1410	//   "AUDIO_ENCODING_LINEAR_16" - Uncompressed 16-bit signed
1411	// little-endian samples (Linear PCM).
1412	//   "AUDIO_ENCODING_FLAC" -
1413	// [`FLAC`](https://xiph.org/flac/documentation.html) (Free Lossless
1414	// Audio
1415	// Codec) is the recommended encoding because it is lossless
1416	// (therefore
1417	// recognition is not compromised) and requires only about half
1418	// the
1419	// bandwidth of `LINEAR16`. `FLAC` stream encoding supports 16-bit
1420	// and
1421	// 24-bit samples, however, not all fields in `STREAMINFO` are
1422	// supported.
1423	//   "AUDIO_ENCODING_MULAW" - 8-bit samples that compand 14-bit audio
1424	// samples using G.711 PCMU/mu-law.
1425	//   "AUDIO_ENCODING_AMR" - Adaptive Multi-Rate Narrowband codec.
1426	// `sample_rate_hertz` must be 8000.
1427	//   "AUDIO_ENCODING_AMR_WB" - Adaptive Multi-Rate Wideband codec.
1428	// `sample_rate_hertz` must be 16000.
1429	//   "AUDIO_ENCODING_OGG_OPUS" - Opus encoded audio frames in Ogg
1430	// container
1431	// ([OggOpus](https://wiki.xiph.org/OggOpus)).
1432	// `sample_rate_her
1433	// tz` must be 16000.
1434	//   "AUDIO_ENCODING_SPEEX_WITH_HEADER_BYTE" - Although the use of lossy
1435	// encodings is not recommended, if a very low
1436	// bitrate encoding is required, `OGG_OPUS` is highly preferred
1437	// over
1438	// Speex encoding. The [Speex](https://speex.org/) encoding supported
1439	// by
1440	// Dialogflow API has a header byte in each block, as in MIME
1441	// type
1442	// `audio/x-speex-with-header-byte`.
1443	// It is a variant of the RTP Speex encoding defined in
1444	// [RFC 5574](https://tools.ietf.org/html/rfc5574).
1445	// The stream is a sequence of blocks, one block per RTP packet. Each
1446	// block
1447	// starts with a byte containing the length of the block, in bytes,
1448	// followed
1449	// by one or more frames of Speex data, padded to an integral number
1450	// of
1451	// bytes (octets) as specified in RFC 5574. In other words, each RTP
1452	// header
1453	// is replaced with a single byte containing the block length. Only
1454	// Speex
1455	// wideband is supported. `sample_rate_hertz` must be 16000.
1456	AudioEncoding string `json:"audioEncoding,omitempty"`
1457
1458	// LanguageCode: Required. The language of the supplied audio.
1459	// Dialogflow does not do
1460	// translations. See
1461	// [Language
1462	// Support](https://cloud.google.com/dialogflow/docs/reference/
1463	// language)
1464	// for a list of the currently supported language codes. Note that
1465	// queries in
1466	// the same session do not necessarily need to specify the same
1467	// language.
1468	LanguageCode string `json:"languageCode,omitempty"`
1469
1470	// ModelVariant: Optional. Which variant of the Speech model to use.
1471	//
1472	// Possible values:
1473	//   "SPEECH_MODEL_VARIANT_UNSPECIFIED" - No model variant specified. In
1474	// this case Dialogflow defaults to
1475	// USE_BEST_AVAILABLE.
1476	//   "USE_BEST_AVAILABLE" - Use the best available variant of the
1477	// Speech
1478	// model that the caller is eligible for.
1479	//
1480	// Please see the
1481	// [Dialogflow
1482	// docs](https://cloud.google.com/dialogflow/docs/data-loggin
1483	// g) for
1484	// how to make your project eligible for enhanced models.
1485	//   "USE_STANDARD" - Use standard model variant even if an enhanced
1486	// model is available.  See the
1487	// [Cloud
1488	// Speech
1489	// documentation](https://cloud.google.com/speech-to-text/docs/enh
1490	// anced-models)
1491	// for details about enhanced models.
1492	//   "USE_ENHANCED" - Use an enhanced model variant:
1493	//
1494	// * If an enhanced variant does not exist for the given
1495	//   model and request language, Dialogflow falls
1496	//   back to the standard variant.
1497	//
1498	//   The [Cloud Speech
1499	//
1500	// documentation](https://cloud.google.com/speech-to-text/docs/enhanced-m
1501	// odels)
1502	//   describes which models have enhanced variants.
1503	//
1504	// * If the API caller isn't eligible for enhanced models, Dialogflow
1505	// returns
1506	//   an error. Please see the [Dialogflow
1507	//   docs](https://cloud.google.com/dialogflow/docs/data-logging)
1508	//   for how to make your project eligible.
1509	ModelVariant string `json:"modelVariant,omitempty"`
1510
1511	// PhraseHints: Optional. A list of strings containing words and phrases
1512	// that the speech
1513	// recognizer should recognize with higher likelihood.
1514	//
1515	// See [the Cloud
1516	// Speech
1517	// documentation](https://cloud.google.com/speech-to-text/docs/bas
1518	// ics#phrase-hints)
1519	// for more details.
1520	PhraseHints []string `json:"phraseHints,omitempty"`
1521
1522	// SampleRateHertz: Required. Sample rate (in Hertz) of the audio
1523	// content sent in the query.
1524	// Refer to
1525	// [Cloud Speech
1526	// API
1527	// documentation](https://cloud.google.com/speech-to-text/docs/basics
1528	// ) for
1529	// more details.
1530	SampleRateHertz int64 `json:"sampleRateHertz,omitempty"`
1531
1532	// SingleUtterance: Optional. If `false` (default), recognition does not
1533	// cease until the
1534	// client closes the stream.
1535	// If `true`, the recognizer will detect a single spoken utterance in
1536	// input
1537	// audio. Recognition ceases when it detects the audio's voice
1538	// has
1539	// stopped or paused. In this case, once a detected intent is received,
1540	// the
1541	// client should close the stream and start a new request with a new
1542	// stream as
1543	// needed.
1544	// Note: This setting is relevant only for streaming methods.
1545	// Note: When specified, InputAudioConfig.single_utterance takes
1546	// precedence
1547	// over StreamingDetectIntentRequest.single_utterance.
1548	SingleUtterance bool `json:"singleUtterance,omitempty"`
1549
1550	// ForceSendFields is a list of field names (e.g. "AudioEncoding") to
1551	// unconditionally include in API requests. By default, fields with
1552	// empty values are omitted from API requests. However, any non-pointer,
1553	// non-interface field appearing in ForceSendFields will be sent to the
1554	// server regardless of whether the field is empty or not. This may be
1555	// used to include empty fields in Patch requests.
1556	ForceSendFields []string `json:"-"`
1557
1558	// NullFields is a list of field names (e.g. "AudioEncoding") to include
1559	// in API requests with the JSON null value. By default, fields with
1560	// empty values are omitted from API requests. However, any field with
1561	// an empty value appearing in NullFields will be sent to the server as
1562	// null. It is an error if a field in this list has a non-empty value.
1563	// This may be used to include null fields in Patch requests.
1564	NullFields []string `json:"-"`
1565}
1566
1567func (s *GoogleCloudDialogflowV2InputAudioConfig) MarshalJSON() ([]byte, error) {
1568	type NoMethod GoogleCloudDialogflowV2InputAudioConfig
1569	raw := NoMethod(*s)
1570	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1571}
1572
1573// GoogleCloudDialogflowV2Intent: Represents an intent.
1574// Intents convert a number of user expressions or patterns into an
1575// action. An
1576// action is an extraction of a user command or sentence semantics.
1577type GoogleCloudDialogflowV2Intent struct {
1578	// Action: Optional. The name of the action associated with the
1579	// intent.
1580	// Note: The action name must not contain whitespaces.
1581	Action string `json:"action,omitempty"`
1582
1583	// DefaultResponsePlatforms: Optional. The list of platforms for which
1584	// the first responses will be
1585	// copied from the messages in PLATFORM_UNSPECIFIED (i.e. default
1586	// platform).
1587	//
1588	// Possible values:
1589	//   "PLATFORM_UNSPECIFIED" - Not specified.
1590	//   "FACEBOOK" - Facebook.
1591	//   "SLACK" - Slack.
1592	//   "TELEGRAM" - Telegram.
1593	//   "KIK" - Kik.
1594	//   "SKYPE" - Skype.
1595	//   "LINE" - Line.
1596	//   "VIBER" - Viber.
1597	//   "ACTIONS_ON_GOOGLE" - Actions on Google.
1598	// When using Actions on Google, you can choose one of the
1599	// specific
1600	// Intent.Message types that mention support for Actions on Google,
1601	// or you can use the advanced Intent.Message.payload field.
1602	// The payload field provides access to AoG features not available in
1603	// the
1604	// specific message types.
1605	// If using the Intent.Message.payload field, it should have a
1606	// structure
1607	// similar to the JSON message shown here. For more information,
1608	// see
1609	// [Actions on Google
1610	// Webhook
1611	// Format](https://developers.google.com/actions/dialogflow/webho
1612	// ok)
1613	// <pre>{
1614	//   "expectUserResponse": true,
1615	//   "isSsml": false,
1616	//   "noInputPrompts": [],
1617	//   "richResponse": {
1618	//     "items": [
1619	//       {
1620	//         "simpleResponse": {
1621	//           "displayText": "hi",
1622	//           "textToSpeech": "hello"
1623	//         }
1624	//       }
1625	//     ],
1626	//     "suggestions": [
1627	//       {
1628	//         "title": "Say this"
1629	//       },
1630	//       {
1631	//         "title": "or this"
1632	//       }
1633	//     ]
1634	//   },
1635	//   "systemIntent": {
1636	//     "data": {
1637	//       "@type":
1638	// "type.googleapis.com/google.actions.v2.OptionValueSpec",
1639	//       "listSelect": {
1640	//         "items": [
1641	//           {
1642	//             "optionInfo": {
1643	//               "key": "key1",
1644	//               "synonyms": [
1645	//                 "key one"
1646	//               ]
1647	//             },
1648	//             "title": "must not be empty, but unique"
1649	//           },
1650	//           {
1651	//             "optionInfo": {
1652	//               "key": "key2",
1653	//               "synonyms": [
1654	//                 "key two"
1655	//               ]
1656	//             },
1657	//             "title": "must not be empty, but unique"
1658	//           }
1659	//         ]
1660	//       }
1661	//     },
1662	//     "intent": "actions.intent.OPTION"
1663	//   }
1664	// }</pre>
1665	//   "GOOGLE_HANGOUTS" - Google Hangouts.
1666	DefaultResponsePlatforms []string `json:"defaultResponsePlatforms,omitempty"`
1667
1668	// DisplayName: Required. The name of this intent.
1669	DisplayName string `json:"displayName,omitempty"`
1670
1671	// Events: Optional. The collection of event names that trigger the
1672	// intent.
1673	// If the collection of input contexts is not empty, all of the contexts
1674	// must
1675	// be present in the active user session for an event to trigger this
1676	// intent.
1677	Events []string `json:"events,omitempty"`
1678
1679	// FollowupIntentInfo: Read-only. Information about all followup intents
1680	// that have this intent as
1681	// a direct or indirect parent. We populate this field only in the
1682	// output.
1683	FollowupIntentInfo []*GoogleCloudDialogflowV2IntentFollowupIntentInfo `json:"followupIntentInfo,omitempty"`
1684
1685	// InputContextNames: Optional. The list of context names required for
1686	// this intent to be
1687	// triggered.
1688	// Format: `projects/<Project ID>/agent/sessions/-/contexts/<Context
1689	// ID>`.
1690	InputContextNames []string `json:"inputContextNames,omitempty"`
1691
1692	// IsFallback: Optional. Indicates whether this is a fallback intent.
1693	IsFallback bool `json:"isFallback,omitempty"`
1694
1695	// Messages: Optional. The collection of rich messages corresponding to
1696	// the
1697	// `Response` field in the Dialogflow console.
1698	Messages []*GoogleCloudDialogflowV2IntentMessage `json:"messages,omitempty"`
1699
1700	// MlDisabled: Optional. Indicates whether Machine Learning is disabled
1701	// for the intent.
1702	// Note: If `ml_disabled` setting is set to true, then this intent is
1703	// not
1704	// taken into account during inference in `ML ONLY` match mode.
1705	// Also,
1706	// auto-markup in the UI is turned off.
1707	MlDisabled bool `json:"mlDisabled,omitempty"`
1708
1709	// Name: The unique identifier of this intent.
1710	// Required for Intents.UpdateIntent and
1711	// Intents.BatchUpdateIntents
1712	// methods.
1713	// Format: `projects/<Project ID>/agent/intents/<Intent ID>`.
1714	Name string `json:"name,omitempty"`
1715
1716	// OutputContexts: Optional. The collection of contexts that are
1717	// activated when the intent
1718	// is matched. Context messages in this collection should not set
1719	// the
1720	// parameters field. Setting the `lifespan_count` to 0 will reset the
1721	// context
1722	// when the intent is matched.
1723	// Format: `projects/<Project ID>/agent/sessions/-/contexts/<Context
1724	// ID>`.
1725	OutputContexts []*GoogleCloudDialogflowV2Context `json:"outputContexts,omitempty"`
1726
1727	// Parameters: Optional. The collection of parameters associated with
1728	// the intent.
1729	Parameters []*GoogleCloudDialogflowV2IntentParameter `json:"parameters,omitempty"`
1730
1731	// ParentFollowupIntentName: Read-only after creation. The unique
1732	// identifier of the parent intent in the
1733	// chain of followup intents. You can set this field when creating an
1734	// intent,
1735	// for example with CreateIntent or BatchUpdateIntents, in order to
1736	// make this intent a followup intent.
1737	//
1738	// It identifies the parent followup intent.
1739	// Format: `projects/<Project ID>/agent/intents/<Intent ID>`.
1740	ParentFollowupIntentName string `json:"parentFollowupIntentName,omitempty"`
1741
1742	// Priority: Optional. The priority of this intent. Higher numbers
1743	// represent higher
1744	// priorities.
1745	//
1746	// - If the supplied value is unspecified or 0, the service
1747	//   translates the value to 500,000, which corresponds to the
1748	//   `Normal` priority in the console.
1749	// - If the supplied value is negative, the intent is ignored
1750	//   in runtime detect intent requests.
1751	Priority int64 `json:"priority,omitempty"`
1752
1753	// ResetContexts: Optional. Indicates whether to delete all contexts in
1754	// the current
1755	// session when this intent is matched.
1756	ResetContexts bool `json:"resetContexts,omitempty"`
1757
1758	// RootFollowupIntentName: Read-only. The unique identifier of the root
1759	// intent in the chain of
1760	// followup intents. It identifies the correct followup intents chain
1761	// for
1762	// this intent. We populate this field only in the output.
1763	//
1764	// Format: `projects/<Project ID>/agent/intents/<Intent ID>`.
1765	RootFollowupIntentName string `json:"rootFollowupIntentName,omitempty"`
1766
1767	// TrainingPhrases: Optional. The collection of examples that the agent
1768	// is
1769	// trained on.
1770	TrainingPhrases []*GoogleCloudDialogflowV2IntentTrainingPhrase `json:"trainingPhrases,omitempty"`
1771
1772	// WebhookState: Optional. Indicates whether webhooks are enabled for
1773	// the intent.
1774	//
1775	// Possible values:
1776	//   "WEBHOOK_STATE_UNSPECIFIED" - Webhook is disabled in the agent and
1777	// in the intent.
1778	//   "WEBHOOK_STATE_ENABLED" - Webhook is enabled in the agent and in
1779	// the intent.
1780	//   "WEBHOOK_STATE_ENABLED_FOR_SLOT_FILLING" - Webhook is enabled in
1781	// the agent and in the intent. Also, each slot
1782	// filling prompt is forwarded to the webhook.
1783	WebhookState string `json:"webhookState,omitempty"`
1784
1785	// ServerResponse contains the HTTP response code and headers from the
1786	// server.
1787	googleapi.ServerResponse `json:"-"`
1788
1789	// ForceSendFields is a list of field names (e.g. "Action") to
1790	// unconditionally include in API requests. By default, fields with
1791	// empty values are omitted from API requests. However, any non-pointer,
1792	// non-interface field appearing in ForceSendFields will be sent to the
1793	// server regardless of whether the field is empty or not. This may be
1794	// used to include empty fields in Patch requests.
1795	ForceSendFields []string `json:"-"`
1796
1797	// NullFields is a list of field names (e.g. "Action") to include in API
1798	// requests with the JSON null value. By default, fields with empty
1799	// values are omitted from API requests. However, any field with an
1800	// empty value appearing in NullFields will be sent to the server as
1801	// null. It is an error if a field in this list has a non-empty value.
1802	// This may be used to include null fields in Patch requests.
1803	NullFields []string `json:"-"`
1804}
1805
1806func (s *GoogleCloudDialogflowV2Intent) MarshalJSON() ([]byte, error) {
1807	type NoMethod GoogleCloudDialogflowV2Intent
1808	raw := NoMethod(*s)
1809	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1810}
1811
1812// GoogleCloudDialogflowV2IntentBatch: This message is a wrapper around
1813// a collection of intents.
1814type GoogleCloudDialogflowV2IntentBatch struct {
1815	// Intents: A collection of intents.
1816	Intents []*GoogleCloudDialogflowV2Intent `json:"intents,omitempty"`
1817
1818	// ForceSendFields is a list of field names (e.g. "Intents") to
1819	// unconditionally include in API requests. By default, fields with
1820	// empty values are omitted from API requests. However, any non-pointer,
1821	// non-interface field appearing in ForceSendFields will be sent to the
1822	// server regardless of whether the field is empty or not. This may be
1823	// used to include empty fields in Patch requests.
1824	ForceSendFields []string `json:"-"`
1825
1826	// NullFields is a list of field names (e.g. "Intents") to include in
1827	// API requests with the JSON null value. By default, fields with empty
1828	// values are omitted from API requests. However, any field with an
1829	// empty value appearing in NullFields will be sent to the server as
1830	// null. It is an error if a field in this list has a non-empty value.
1831	// This may be used to include null fields in Patch requests.
1832	NullFields []string `json:"-"`
1833}
1834
1835func (s *GoogleCloudDialogflowV2IntentBatch) MarshalJSON() ([]byte, error) {
1836	type NoMethod GoogleCloudDialogflowV2IntentBatch
1837	raw := NoMethod(*s)
1838	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1839}
1840
1841// GoogleCloudDialogflowV2IntentFollowupIntentInfo: Represents a single
1842// followup intent in the chain.
1843type GoogleCloudDialogflowV2IntentFollowupIntentInfo struct {
1844	// FollowupIntentName: The unique identifier of the followup
1845	// intent.
1846	// Format: `projects/<Project ID>/agent/intents/<Intent ID>`.
1847	FollowupIntentName string `json:"followupIntentName,omitempty"`
1848
1849	// ParentFollowupIntentName: The unique identifier of the followup
1850	// intent's parent.
1851	// Format: `projects/<Project ID>/agent/intents/<Intent ID>`.
1852	ParentFollowupIntentName string `json:"parentFollowupIntentName,omitempty"`
1853
1854	// ForceSendFields is a list of field names (e.g. "FollowupIntentName")
1855	// to unconditionally include in API requests. By default, fields with
1856	// empty values are omitted from API requests. However, any non-pointer,
1857	// non-interface field appearing in ForceSendFields will be sent to the
1858	// server regardless of whether the field is empty or not. This may be
1859	// used to include empty fields in Patch requests.
1860	ForceSendFields []string `json:"-"`
1861
1862	// NullFields is a list of field names (e.g. "FollowupIntentName") to
1863	// include in API requests with the JSON null value. By default, fields
1864	// with empty values are omitted from API requests. However, any field
1865	// with an empty value appearing in NullFields will be sent to the
1866	// server as null. It is an error if a field in this list has a
1867	// non-empty value. This may be used to include null fields in Patch
1868	// requests.
1869	NullFields []string `json:"-"`
1870}
1871
1872func (s *GoogleCloudDialogflowV2IntentFollowupIntentInfo) MarshalJSON() ([]byte, error) {
1873	type NoMethod GoogleCloudDialogflowV2IntentFollowupIntentInfo
1874	raw := NoMethod(*s)
1875	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1876}
1877
1878// GoogleCloudDialogflowV2IntentMessage: Corresponds to the `Response`
1879// field in the Dialogflow console.
1880type GoogleCloudDialogflowV2IntentMessage struct {
1881	// BasicCard: The basic card response for Actions on Google.
1882	BasicCard *GoogleCloudDialogflowV2IntentMessageBasicCard `json:"basicCard,omitempty"`
1883
1884	// BrowseCarouselCard: Browse carousel card for Actions on Google.
1885	BrowseCarouselCard *GoogleCloudDialogflowV2IntentMessageBrowseCarouselCard `json:"browseCarouselCard,omitempty"`
1886
1887	// Card: The card response.
1888	Card *GoogleCloudDialogflowV2IntentMessageCard `json:"card,omitempty"`
1889
1890	// CarouselSelect: The carousel card response for Actions on Google.
1891	CarouselSelect *GoogleCloudDialogflowV2IntentMessageCarouselSelect `json:"carouselSelect,omitempty"`
1892
1893	// Image: The image response.
1894	Image *GoogleCloudDialogflowV2IntentMessageImage `json:"image,omitempty"`
1895
1896	// LinkOutSuggestion: The link out suggestion chip for Actions on
1897	// Google.
1898	LinkOutSuggestion *GoogleCloudDialogflowV2IntentMessageLinkOutSuggestion `json:"linkOutSuggestion,omitempty"`
1899
1900	// ListSelect: The list card response for Actions on Google.
1901	ListSelect *GoogleCloudDialogflowV2IntentMessageListSelect `json:"listSelect,omitempty"`
1902
1903	// MediaContent: The media content card for Actions on Google.
1904	MediaContent *GoogleCloudDialogflowV2IntentMessageMediaContent `json:"mediaContent,omitempty"`
1905
1906	// Payload: Returns a response containing a custom, platform-specific
1907	// payload.
1908	// See the Intent.Message.Platform type for a description of
1909	// the
1910	// structure that may be required for your platform.
1911	Payload googleapi.RawMessage `json:"payload,omitempty"`
1912
1913	// Platform: Optional. The platform that this message is intended for.
1914	//
1915	// Possible values:
1916	//   "PLATFORM_UNSPECIFIED" - Not specified.
1917	//   "FACEBOOK" - Facebook.
1918	//   "SLACK" - Slack.
1919	//   "TELEGRAM" - Telegram.
1920	//   "KIK" - Kik.
1921	//   "SKYPE" - Skype.
1922	//   "LINE" - Line.
1923	//   "VIBER" - Viber.
1924	//   "ACTIONS_ON_GOOGLE" - Actions on Google.
1925	// When using Actions on Google, you can choose one of the
1926	// specific
1927	// Intent.Message types that mention support for Actions on Google,
1928	// or you can use the advanced Intent.Message.payload field.
1929	// The payload field provides access to AoG features not available in
1930	// the
1931	// specific message types.
1932	// If using the Intent.Message.payload field, it should have a
1933	// structure
1934	// similar to the JSON message shown here. For more information,
1935	// see
1936	// [Actions on Google
1937	// Webhook
1938	// Format](https://developers.google.com/actions/dialogflow/webho
1939	// ok)
1940	// <pre>{
1941	//   "expectUserResponse": true,
1942	//   "isSsml": false,
1943	//   "noInputPrompts": [],
1944	//   "richResponse": {
1945	//     "items": [
1946	//       {
1947	//         "simpleResponse": {
1948	//           "displayText": "hi",
1949	//           "textToSpeech": "hello"
1950	//         }
1951	//       }
1952	//     ],
1953	//     "suggestions": [
1954	//       {
1955	//         "title": "Say this"
1956	//       },
1957	//       {
1958	//         "title": "or this"
1959	//       }
1960	//     ]
1961	//   },
1962	//   "systemIntent": {
1963	//     "data": {
1964	//       "@type":
1965	// "type.googleapis.com/google.actions.v2.OptionValueSpec",
1966	//       "listSelect": {
1967	//         "items": [
1968	//           {
1969	//             "optionInfo": {
1970	//               "key": "key1",
1971	//               "synonyms": [
1972	//                 "key one"
1973	//               ]
1974	//             },
1975	//             "title": "must not be empty, but unique"
1976	//           },
1977	//           {
1978	//             "optionInfo": {
1979	//               "key": "key2",
1980	//               "synonyms": [
1981	//                 "key two"
1982	//               ]
1983	//             },
1984	//             "title": "must not be empty, but unique"
1985	//           }
1986	//         ]
1987	//       }
1988	//     },
1989	//     "intent": "actions.intent.OPTION"
1990	//   }
1991	// }</pre>
1992	//   "GOOGLE_HANGOUTS" - Google Hangouts.
1993	Platform string `json:"platform,omitempty"`
1994
1995	// QuickReplies: The quick replies response.
1996	QuickReplies *GoogleCloudDialogflowV2IntentMessageQuickReplies `json:"quickReplies,omitempty"`
1997
1998	// SimpleResponses: The voice and text-only responses for Actions on
1999	// Google.
2000	SimpleResponses *GoogleCloudDialogflowV2IntentMessageSimpleResponses `json:"simpleResponses,omitempty"`
2001
2002	// Suggestions: The suggestion chips for Actions on Google.
2003	Suggestions *GoogleCloudDialogflowV2IntentMessageSuggestions `json:"suggestions,omitempty"`
2004
2005	// TableCard: Table card for Actions on Google.
2006	TableCard *GoogleCloudDialogflowV2IntentMessageTableCard `json:"tableCard,omitempty"`
2007
2008	// Text: The text response.
2009	Text *GoogleCloudDialogflowV2IntentMessageText `json:"text,omitempty"`
2010
2011	// ForceSendFields is a list of field names (e.g. "BasicCard") to
2012	// unconditionally include in API requests. By default, fields with
2013	// empty values are omitted from API requests. However, any non-pointer,
2014	// non-interface field appearing in ForceSendFields will be sent to the
2015	// server regardless of whether the field is empty or not. This may be
2016	// used to include empty fields in Patch requests.
2017	ForceSendFields []string `json:"-"`
2018
2019	// NullFields is a list of field names (e.g. "BasicCard") to include in
2020	// API requests with the JSON null value. By default, fields with empty
2021	// values are omitted from API requests. However, any field with an
2022	// empty value appearing in NullFields will be sent to the server as
2023	// null. It is an error if a field in this list has a non-empty value.
2024	// This may be used to include null fields in Patch requests.
2025	NullFields []string `json:"-"`
2026}
2027
2028func (s *GoogleCloudDialogflowV2IntentMessage) MarshalJSON() ([]byte, error) {
2029	type NoMethod GoogleCloudDialogflowV2IntentMessage
2030	raw := NoMethod(*s)
2031	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2032}
2033
2034// GoogleCloudDialogflowV2IntentMessageBasicCard: The basic card
2035// message. Useful for displaying information.
2036type GoogleCloudDialogflowV2IntentMessageBasicCard struct {
2037	// Buttons: Optional. The collection of card buttons.
2038	Buttons []*GoogleCloudDialogflowV2IntentMessageBasicCardButton `json:"buttons,omitempty"`
2039
2040	// FormattedText: Required, unless image is present. The body text of
2041	// the card.
2042	FormattedText string `json:"formattedText,omitempty"`
2043
2044	// Image: Optional. The image for the card.
2045	Image *GoogleCloudDialogflowV2IntentMessageImage `json:"image,omitempty"`
2046
2047	// Subtitle: Optional. The subtitle of the card.
2048	Subtitle string `json:"subtitle,omitempty"`
2049
2050	// Title: Optional. The title of the card.
2051	Title string `json:"title,omitempty"`
2052
2053	// ForceSendFields is a list of field names (e.g. "Buttons") to
2054	// unconditionally include in API requests. By default, fields with
2055	// empty values are omitted from API requests. However, any non-pointer,
2056	// non-interface field appearing in ForceSendFields will be sent to the
2057	// server regardless of whether the field is empty or not. This may be
2058	// used to include empty fields in Patch requests.
2059	ForceSendFields []string `json:"-"`
2060
2061	// NullFields is a list of field names (e.g. "Buttons") to include in
2062	// API requests with the JSON null value. By default, fields with empty
2063	// values are omitted from API requests. However, any field with an
2064	// 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 *GoogleCloudDialogflowV2IntentMessageBasicCard) MarshalJSON() ([]byte, error) {
2071	type NoMethod GoogleCloudDialogflowV2IntentMessageBasicCard
2072	raw := NoMethod(*s)
2073	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2074}
2075
2076// GoogleCloudDialogflowV2IntentMessageBasicCardButton: The button
2077// object that appears at the bottom of a card.
2078type GoogleCloudDialogflowV2IntentMessageBasicCardButton struct {
2079	// OpenUriAction: Required. Action to take when a user taps on the
2080	// button.
2081	OpenUriAction *GoogleCloudDialogflowV2IntentMessageBasicCardButtonOpenUriAction `json:"openUriAction,omitempty"`
2082
2083	// Title: Required. The title of the button.
2084	Title string `json:"title,omitempty"`
2085
2086	// ForceSendFields is a list of field names (e.g. "OpenUriAction") to
2087	// unconditionally include in API requests. By default, fields with
2088	// empty values are omitted from API requests. However, any non-pointer,
2089	// non-interface field appearing in ForceSendFields will be sent to the
2090	// server regardless of whether the field is empty or not. This may be
2091	// used to include empty fields in Patch requests.
2092	ForceSendFields []string `json:"-"`
2093
2094	// NullFields is a list of field names (e.g. "OpenUriAction") to include
2095	// in API requests with the JSON null value. By default, fields with
2096	// empty values are omitted from API requests. However, any field with
2097	// an empty value appearing in NullFields will be sent to the server as
2098	// null. It is an error if a field in this list has a non-empty value.
2099	// This may be used to include null fields in Patch requests.
2100	NullFields []string `json:"-"`
2101}
2102
2103func (s *GoogleCloudDialogflowV2IntentMessageBasicCardButton) MarshalJSON() ([]byte, error) {
2104	type NoMethod GoogleCloudDialogflowV2IntentMessageBasicCardButton
2105	raw := NoMethod(*s)
2106	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2107}
2108
2109// GoogleCloudDialogflowV2IntentMessageBasicCardButtonOpenUriAction:
2110// Opens the given URI.
2111type GoogleCloudDialogflowV2IntentMessageBasicCardButtonOpenUriAction struct {
2112	// Uri: Required. The HTTP or HTTPS scheme URI.
2113	Uri string `json:"uri,omitempty"`
2114
2115	// ForceSendFields is a list of field names (e.g. "Uri") to
2116	// unconditionally include in API requests. By default, fields with
2117	// empty values are omitted from API requests. However, any non-pointer,
2118	// non-interface field appearing in ForceSendFields will be sent to the
2119	// server regardless of whether the field is empty or not. This may be
2120	// used to include empty fields in Patch requests.
2121	ForceSendFields []string `json:"-"`
2122
2123	// NullFields is a list of field names (e.g. "Uri") to include in API
2124	// requests with the JSON null value. By default, fields with empty
2125	// values are omitted from API requests. However, any field with an
2126	// empty value appearing in NullFields will be sent to the server as
2127	// null. It is an error if a field in this list has a non-empty value.
2128	// This may be used to include null fields in Patch requests.
2129	NullFields []string `json:"-"`
2130}
2131
2132func (s *GoogleCloudDialogflowV2IntentMessageBasicCardButtonOpenUriAction) MarshalJSON() ([]byte, error) {
2133	type NoMethod GoogleCloudDialogflowV2IntentMessageBasicCardButtonOpenUriAction
2134	raw := NoMethod(*s)
2135	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2136}
2137
2138// GoogleCloudDialogflowV2IntentMessageBrowseCarouselCard: Browse
2139// Carousel Card for Actions on
2140// Google.
2141// https://developers.google.com/actions/assistant/responses#brow
2142// sing_carousel
2143type GoogleCloudDialogflowV2IntentMessageBrowseCarouselCard struct {
2144	// ImageDisplayOptions: Optional. Settings for displaying the image.
2145	// Applies to every image in
2146	// items.
2147	//
2148	// Possible values:
2149	//   "IMAGE_DISPLAY_OPTIONS_UNSPECIFIED" - Fill the gaps between the
2150	// image and the image container with gray
2151	// bars.
2152	//   "GRAY" - Fill the gaps between the image and the image container
2153	// with gray
2154	// bars.
2155	//   "WHITE" - Fill the gaps between the image and the image container
2156	// with white
2157	// bars.
2158	//   "CROPPED" - Image is scaled such that the image width and height
2159	// match or exceed
2160	// the container dimensions. This may crop the top and bottom of
2161	// the
2162	// image if the scaled image height is greater than the
2163	// container
2164	// height, or crop the left and right of the image if the scaled
2165	// image
2166	// width is greater than the container width. This is similar to
2167	// "Zoom
2168	// Mode" on a widescreen TV when playing a 4:3 video.
2169	//   "BLURRED_BACKGROUND" - Pad the gaps between image and image frame
2170	// with a blurred copy of the
2171	// same image.
2172	ImageDisplayOptions string `json:"imageDisplayOptions,omitempty"`
2173
2174	// Items: Required. List of items in the Browse Carousel Card. Minimum
2175	// of two
2176	// items, maximum of ten.
2177	Items []*GoogleCloudDialogflowV2IntentMessageBrowseCarouselCardBrowseCarouselCardItem `json:"items,omitempty"`
2178
2179	// ForceSendFields is a list of field names (e.g. "ImageDisplayOptions")
2180	// to unconditionally include in API requests. By default, fields with
2181	// empty values are omitted from API requests. However, any non-pointer,
2182	// non-interface field appearing in ForceSendFields will be sent to the
2183	// server regardless of whether the field is empty or not. This may be
2184	// used to include empty fields in Patch requests.
2185	ForceSendFields []string `json:"-"`
2186
2187	// NullFields is a list of field names (e.g. "ImageDisplayOptions") to
2188	// include in API requests with the JSON null value. By default, fields
2189	// with empty values are omitted from API requests. However, any field
2190	// with an empty value appearing in NullFields will be sent to the
2191	// server as null. It is an error if a field in this list has a
2192	// non-empty value. This may be used to include null fields in Patch
2193	// requests.
2194	NullFields []string `json:"-"`
2195}
2196
2197func (s *GoogleCloudDialogflowV2IntentMessageBrowseCarouselCard) MarshalJSON() ([]byte, error) {
2198	type NoMethod GoogleCloudDialogflowV2IntentMessageBrowseCarouselCard
2199	raw := NoMethod(*s)
2200	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2201}
2202
2203// GoogleCloudDialogflowV2IntentMessageBrowseCarouselCardBrowseCarouselCa
2204// rdItem: Browsing carousel tile
2205type GoogleCloudDialogflowV2IntentMessageBrowseCarouselCardBrowseCarouselCardItem struct {
2206	// Description: Optional. Description of the carousel item. Maximum of
2207	// four lines of
2208	// text.
2209	Description string `json:"description,omitempty"`
2210
2211	// Footer: Optional. Text that appears at the bottom of the Browse
2212	// Carousel
2213	// Card. Maximum of one line of text.
2214	Footer string `json:"footer,omitempty"`
2215
2216	// Image: Optional. Hero image for the carousel item.
2217	Image *GoogleCloudDialogflowV2IntentMessageImage `json:"image,omitempty"`
2218
2219	// OpenUriAction: Required. Action to present to the user.
2220	OpenUriAction *GoogleCloudDialogflowV2IntentMessageBrowseCarouselCardBrowseCarouselCardItemOpenUrlAction `json:"openUriAction,omitempty"`
2221
2222	// Title: Required. Title of the carousel item. Maximum of two lines of
2223	// text.
2224	Title string `json:"title,omitempty"`
2225
2226	// ForceSendFields is a list of field names (e.g. "Description") to
2227	// unconditionally include in API requests. By default, fields with
2228	// empty values are omitted from API requests. However, any non-pointer,
2229	// non-interface field appearing in ForceSendFields will be sent to the
2230	// server regardless of whether the field is empty or not. This may be
2231	// used to include empty fields in Patch requests.
2232	ForceSendFields []string `json:"-"`
2233
2234	// NullFields is a list of field names (e.g. "Description") to include
2235	// in API requests with the JSON null value. By default, fields with
2236	// empty values are omitted from API requests. However, any field with
2237	// an empty value appearing in NullFields will be sent to the server as
2238	// null. It is an error if a field in this list has a non-empty value.
2239	// This may be used to include null fields in Patch requests.
2240	NullFields []string `json:"-"`
2241}
2242
2243func (s *GoogleCloudDialogflowV2IntentMessageBrowseCarouselCardBrowseCarouselCardItem) MarshalJSON() ([]byte, error) {
2244	type NoMethod GoogleCloudDialogflowV2IntentMessageBrowseCarouselCardBrowseCarouselCardItem
2245	raw := NoMethod(*s)
2246	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2247}
2248
2249// GoogleCloudDialogflowV2IntentMessageBrowseCarouselCardBrowseCarouselCa
2250// rdItemOpenUrlAction: Actions on Google action to open a given url.
2251type GoogleCloudDialogflowV2IntentMessageBrowseCarouselCardBrowseCarouselCardItemOpenUrlAction struct {
2252	// Url: Required. URL
2253	Url string `json:"url,omitempty"`
2254
2255	// UrlTypeHint: Optional. Specifies the type of viewer that is used when
2256	// opening
2257	// the URL. Defaults to opening via web browser.
2258	//
2259	// Possible values:
2260	//   "URL_TYPE_HINT_UNSPECIFIED" - Unspecified
2261	//   "AMP_ACTION" - Url would be an amp action
2262	//   "AMP_CONTENT" - URL that points directly to AMP content, or to a
2263	// canonical URL
2264	// which refers to AMP content via <link rel="amphtml">.
2265	UrlTypeHint string `json:"urlTypeHint,omitempty"`
2266
2267	// ForceSendFields is a list of field names (e.g. "Url") to
2268	// unconditionally include in API requests. By default, fields with
2269	// empty values are omitted from API requests. However, any non-pointer,
2270	// non-interface field appearing in ForceSendFields will be sent to the
2271	// server regardless of whether the field is empty or not. This may be
2272	// used to include empty fields in Patch requests.
2273	ForceSendFields []string `json:"-"`
2274
2275	// NullFields is a list of field names (e.g. "Url") to include in API
2276	// requests with the JSON null value. By default, fields with empty
2277	// values are omitted from API requests. However, any field with an
2278	// empty value appearing in NullFields will be sent to the server as
2279	// null. It is an error if a field in this list has a non-empty value.
2280	// This may be used to include null fields in Patch requests.
2281	NullFields []string `json:"-"`
2282}
2283
2284func (s *GoogleCloudDialogflowV2IntentMessageBrowseCarouselCardBrowseCarouselCardItemOpenUrlAction) MarshalJSON() ([]byte, error) {
2285	type NoMethod GoogleCloudDialogflowV2IntentMessageBrowseCarouselCardBrowseCarouselCardItemOpenUrlAction
2286	raw := NoMethod(*s)
2287	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2288}
2289
2290// GoogleCloudDialogflowV2IntentMessageCard: The card response message.
2291type GoogleCloudDialogflowV2IntentMessageCard struct {
2292	// Buttons: Optional. The collection of card buttons.
2293	Buttons []*GoogleCloudDialogflowV2IntentMessageCardButton `json:"buttons,omitempty"`
2294
2295	// ImageUri: Optional. The public URI to an image file for the card.
2296	ImageUri string `json:"imageUri,omitempty"`
2297
2298	// Subtitle: Optional. The subtitle of the card.
2299	Subtitle string `json:"subtitle,omitempty"`
2300
2301	// Title: Optional. The title of the card.
2302	Title string `json:"title,omitempty"`
2303
2304	// ForceSendFields is a list of field names (e.g. "Buttons") to
2305	// unconditionally include in API requests. By default, fields with
2306	// empty values are omitted from API requests. However, any non-pointer,
2307	// non-interface field appearing in ForceSendFields will be sent to the
2308	// server regardless of whether the field is empty or not. This may be
2309	// used to include empty fields in Patch requests.
2310	ForceSendFields []string `json:"-"`
2311
2312	// NullFields is a list of field names (e.g. "Buttons") to include in
2313	// API requests with the JSON null value. By default, fields with empty
2314	// values are omitted from API requests. However, any field with an
2315	// empty value appearing in NullFields will be sent to the server as
2316	// null. It is an error if a field in this list has a non-empty value.
2317	// This may be used to include null fields in Patch requests.
2318	NullFields []string `json:"-"`
2319}
2320
2321func (s *GoogleCloudDialogflowV2IntentMessageCard) MarshalJSON() ([]byte, error) {
2322	type NoMethod GoogleCloudDialogflowV2IntentMessageCard
2323	raw := NoMethod(*s)
2324	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2325}
2326
2327// GoogleCloudDialogflowV2IntentMessageCardButton: Contains information
2328// about a button.
2329type GoogleCloudDialogflowV2IntentMessageCardButton struct {
2330	// Postback: Optional. The text to send back to the Dialogflow API or a
2331	// URI to
2332	// open.
2333	Postback string `json:"postback,omitempty"`
2334
2335	// Text: Optional. The text to show on the button.
2336	Text string `json:"text,omitempty"`
2337
2338	// ForceSendFields is a list of field names (e.g. "Postback") to
2339	// unconditionally include in API requests. By default, fields with
2340	// empty values are omitted from API requests. However, any non-pointer,
2341	// non-interface field appearing in ForceSendFields will be sent to the
2342	// server regardless of whether the field is empty or not. This may be
2343	// used to include empty fields in Patch requests.
2344	ForceSendFields []string `json:"-"`
2345
2346	// NullFields is a list of field names (e.g. "Postback") to include in
2347	// API requests with the JSON null value. By default, fields with empty
2348	// values are omitted from API requests. However, any field with an
2349	// empty value appearing in NullFields will be sent to the server as
2350	// null. It is an error if a field in this list has a non-empty value.
2351	// This may be used to include null fields in Patch requests.
2352	NullFields []string `json:"-"`
2353}
2354
2355func (s *GoogleCloudDialogflowV2IntentMessageCardButton) MarshalJSON() ([]byte, error) {
2356	type NoMethod GoogleCloudDialogflowV2IntentMessageCardButton
2357	raw := NoMethod(*s)
2358	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2359}
2360
2361// GoogleCloudDialogflowV2IntentMessageCarouselSelect: The card for
2362// presenting a carousel of options to select from.
2363type GoogleCloudDialogflowV2IntentMessageCarouselSelect struct {
2364	// Items: Required. Carousel items.
2365	Items []*GoogleCloudDialogflowV2IntentMessageCarouselSelectItem `json:"items,omitempty"`
2366
2367	// ForceSendFields is a list of field names (e.g. "Items") to
2368	// unconditionally include in API requests. By default, fields with
2369	// empty values are omitted from API requests. However, any non-pointer,
2370	// non-interface field appearing in ForceSendFields will be sent to the
2371	// server regardless of whether the field is empty or not. This may be
2372	// used to include empty fields in Patch requests.
2373	ForceSendFields []string `json:"-"`
2374
2375	// NullFields is a list of field names (e.g. "Items") to include in API
2376	// requests with the JSON null value. By default, fields with empty
2377	// values are omitted from API requests. However, any field with an
2378	// empty value appearing in NullFields will be sent to the server as
2379	// null. It is an error if a field in this list has a non-empty value.
2380	// This may be used to include null fields in Patch requests.
2381	NullFields []string `json:"-"`
2382}
2383
2384func (s *GoogleCloudDialogflowV2IntentMessageCarouselSelect) MarshalJSON() ([]byte, error) {
2385	type NoMethod GoogleCloudDialogflowV2IntentMessageCarouselSelect
2386	raw := NoMethod(*s)
2387	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2388}
2389
2390// GoogleCloudDialogflowV2IntentMessageCarouselSelectItem: An item in
2391// the carousel.
2392type GoogleCloudDialogflowV2IntentMessageCarouselSelectItem struct {
2393	// Description: Optional. The body text of the card.
2394	Description string `json:"description,omitempty"`
2395
2396	// Image: Optional. The image to display.
2397	Image *GoogleCloudDialogflowV2IntentMessageImage `json:"image,omitempty"`
2398
2399	// Info: Required. Additional info about the option item.
2400	Info *GoogleCloudDialogflowV2IntentMessageSelectItemInfo `json:"info,omitempty"`
2401
2402	// Title: Required. Title of the carousel item.
2403	Title string `json:"title,omitempty"`
2404
2405	// ForceSendFields is a list of field names (e.g. "Description") to
2406	// unconditionally include in API requests. By default, fields with
2407	// empty values are omitted from API requests. However, any non-pointer,
2408	// non-interface field appearing in ForceSendFields will be sent to the
2409	// server regardless of whether the field is empty or not. This may be
2410	// used to include empty fields in Patch requests.
2411	ForceSendFields []string `json:"-"`
2412
2413	// NullFields is a list of field names (e.g. "Description") to include
2414	// in API requests with the JSON null value. By default, fields with
2415	// empty values are omitted from API requests. However, any field with
2416	// an empty value appearing in NullFields will be sent to the server as
2417	// null. It is an error if a field in this list has a non-empty value.
2418	// This may be used to include null fields in Patch requests.
2419	NullFields []string `json:"-"`
2420}
2421
2422func (s *GoogleCloudDialogflowV2IntentMessageCarouselSelectItem) MarshalJSON() ([]byte, error) {
2423	type NoMethod GoogleCloudDialogflowV2IntentMessageCarouselSelectItem
2424	raw := NoMethod(*s)
2425	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2426}
2427
2428// GoogleCloudDialogflowV2IntentMessageColumnProperties: Column
2429// properties for TableCard.
2430type GoogleCloudDialogflowV2IntentMessageColumnProperties struct {
2431	// Header: Required. Column heading.
2432	Header string `json:"header,omitempty"`
2433
2434	// HorizontalAlignment: Optional. Defines text alignment for all cells
2435	// in this column.
2436	//
2437	// Possible values:
2438	//   "HORIZONTAL_ALIGNMENT_UNSPECIFIED" - Text is aligned to the leading
2439	// edge of the column.
2440	//   "LEADING" - Text is aligned to the leading edge of the column.
2441	//   "CENTER" - Text is centered in the column.
2442	//   "TRAILING" - Text is aligned to the trailing edge of the column.
2443	HorizontalAlignment string `json:"horizontalAlignment,omitempty"`
2444
2445	// ForceSendFields is a list of field names (e.g. "Header") to
2446	// unconditionally include in API requests. By default, fields with
2447	// empty values are omitted from API requests. However, any non-pointer,
2448	// non-interface field appearing in ForceSendFields will be sent to the
2449	// server regardless of whether the field is empty or not. This may be
2450	// used to include empty fields in Patch requests.
2451	ForceSendFields []string `json:"-"`
2452
2453	// NullFields is a list of field names (e.g. "Header") to include in API
2454	// requests with the JSON null value. By default, fields with empty
2455	// values are omitted from API requests. However, any field with an
2456	// empty value appearing in NullFields will be sent to the server as
2457	// null. It is an error if a field in this list has a non-empty value.
2458	// This may be used to include null fields in Patch requests.
2459	NullFields []string `json:"-"`
2460}
2461
2462func (s *GoogleCloudDialogflowV2IntentMessageColumnProperties) MarshalJSON() ([]byte, error) {
2463	type NoMethod GoogleCloudDialogflowV2IntentMessageColumnProperties
2464	raw := NoMethod(*s)
2465	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2466}
2467
2468// GoogleCloudDialogflowV2IntentMessageImage: The image response
2469// message.
2470type GoogleCloudDialogflowV2IntentMessageImage struct {
2471	// AccessibilityText: Optional. A text description of the image to be
2472	// used for accessibility,
2473	// e.g., screen readers.
2474	AccessibilityText string `json:"accessibilityText,omitempty"`
2475
2476	// ImageUri: Optional. The public URI to an image file.
2477	ImageUri string `json:"imageUri,omitempty"`
2478
2479	// ForceSendFields is a list of field names (e.g. "AccessibilityText")
2480	// to unconditionally include in API requests. By default, fields with
2481	// empty values are omitted from API requests. However, any non-pointer,
2482	// non-interface field appearing in ForceSendFields will be sent to the
2483	// server regardless of whether the field is empty or not. This may be
2484	// used to include empty fields in Patch requests.
2485	ForceSendFields []string `json:"-"`
2486
2487	// NullFields is a list of field names (e.g. "AccessibilityText") to
2488	// include in API requests with the JSON null value. By default, fields
2489	// with empty values are omitted from API requests. However, any field
2490	// with an empty value appearing in NullFields will be sent to the
2491	// server as null. It is an error if a field in this list has a
2492	// non-empty value. This may be used to include null fields in Patch
2493	// requests.
2494	NullFields []string `json:"-"`
2495}
2496
2497func (s *GoogleCloudDialogflowV2IntentMessageImage) MarshalJSON() ([]byte, error) {
2498	type NoMethod GoogleCloudDialogflowV2IntentMessageImage
2499	raw := NoMethod(*s)
2500	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2501}
2502
2503// GoogleCloudDialogflowV2IntentMessageLinkOutSuggestion: The suggestion
2504// chip message that allows the user to jump out to the app
2505// or website associated with this agent.
2506type GoogleCloudDialogflowV2IntentMessageLinkOutSuggestion struct {
2507	// DestinationName: Required. The name of the app or site this chip is
2508	// linking to.
2509	DestinationName string `json:"destinationName,omitempty"`
2510
2511	// Uri: Required. The URI of the app or site to open when the user taps
2512	// the
2513	// suggestion chip.
2514	Uri string `json:"uri,omitempty"`
2515
2516	// ForceSendFields is a list of field names (e.g. "DestinationName") to
2517	// unconditionally include in API requests. By default, fields with
2518	// empty values are omitted from API requests. However, any non-pointer,
2519	// non-interface field appearing in ForceSendFields will be sent to the
2520	// server regardless of whether the field is empty or not. This may be
2521	// used to include empty fields in Patch requests.
2522	ForceSendFields []string `json:"-"`
2523
2524	// NullFields is a list of field names (e.g. "DestinationName") to
2525	// include in API requests with the JSON null value. By default, fields
2526	// with empty values are omitted from API requests. However, any field
2527	// with an empty value appearing in NullFields will be sent to the
2528	// server as null. It is an error if a field in this list has a
2529	// non-empty value. This may be used to include null fields in Patch
2530	// requests.
2531	NullFields []string `json:"-"`
2532}
2533
2534func (s *GoogleCloudDialogflowV2IntentMessageLinkOutSuggestion) MarshalJSON() ([]byte, error) {
2535	type NoMethod GoogleCloudDialogflowV2IntentMessageLinkOutSuggestion
2536	raw := NoMethod(*s)
2537	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2538}
2539
2540// GoogleCloudDialogflowV2IntentMessageListSelect: The card for
2541// presenting a list of options to select from.
2542type GoogleCloudDialogflowV2IntentMessageListSelect struct {
2543	// Items: Required. List items.
2544	Items []*GoogleCloudDialogflowV2IntentMessageListSelectItem `json:"items,omitempty"`
2545
2546	// Subtitle: Optional. Subtitle of the list.
2547	Subtitle string `json:"subtitle,omitempty"`
2548
2549	// Title: Optional. The overall title of the list.
2550	Title string `json:"title,omitempty"`
2551
2552	// ForceSendFields is a list of field names (e.g. "Items") to
2553	// unconditionally include in API requests. By default, fields with
2554	// empty values are omitted from API requests. However, any non-pointer,
2555	// non-interface field appearing in ForceSendFields will be sent to the
2556	// server regardless of whether the field is empty or not. This may be
2557	// used to include empty fields in Patch requests.
2558	ForceSendFields []string `json:"-"`
2559
2560	// NullFields is a list of field names (e.g. "Items") to include in API
2561	// requests with the JSON null value. By default, fields with empty
2562	// values are omitted from API requests. However, any field with an
2563	// empty value appearing in NullFields will be sent to the server as
2564	// null. It is an error if a field in this list has a non-empty value.
2565	// This may be used to include null fields in Patch requests.
2566	NullFields []string `json:"-"`
2567}
2568
2569func (s *GoogleCloudDialogflowV2IntentMessageListSelect) MarshalJSON() ([]byte, error) {
2570	type NoMethod GoogleCloudDialogflowV2IntentMessageListSelect
2571	raw := NoMethod(*s)
2572	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2573}
2574
2575// GoogleCloudDialogflowV2IntentMessageListSelectItem: An item in the
2576// list.
2577type GoogleCloudDialogflowV2IntentMessageListSelectItem struct {
2578	// Description: Optional. The main text describing the item.
2579	Description string `json:"description,omitempty"`
2580
2581	// Image: Optional. The image to display.
2582	Image *GoogleCloudDialogflowV2IntentMessageImage `json:"image,omitempty"`
2583
2584	// Info: Required. Additional information about this option.
2585	Info *GoogleCloudDialogflowV2IntentMessageSelectItemInfo `json:"info,omitempty"`
2586
2587	// Title: Required. The title of the list item.
2588	Title string `json:"title,omitempty"`
2589
2590	// ForceSendFields is a list of field names (e.g. "Description") to
2591	// unconditionally include in API requests. By default, fields with
2592	// empty values are omitted from API requests. However, any non-pointer,
2593	// non-interface field appearing in ForceSendFields will be sent to the
2594	// server regardless of whether the field is empty or not. This may be
2595	// used to include empty fields in Patch requests.
2596	ForceSendFields []string `json:"-"`
2597
2598	// NullFields is a list of field names (e.g. "Description") to include
2599	// in API requests with the JSON null value. By default, fields with
2600	// empty values are omitted from API requests. However, any field with
2601	// an empty value appearing in NullFields will be sent to the server as
2602	// null. It is an error if a field in this list has a non-empty value.
2603	// This may be used to include null fields in Patch requests.
2604	NullFields []string `json:"-"`
2605}
2606
2607func (s *GoogleCloudDialogflowV2IntentMessageListSelectItem) MarshalJSON() ([]byte, error) {
2608	type NoMethod GoogleCloudDialogflowV2IntentMessageListSelectItem
2609	raw := NoMethod(*s)
2610	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2611}
2612
2613// GoogleCloudDialogflowV2IntentMessageMediaContent: The media content
2614// card for Actions on Google.
2615type GoogleCloudDialogflowV2IntentMessageMediaContent struct {
2616	// MediaObjects: Required. List of media objects.
2617	MediaObjects []*GoogleCloudDialogflowV2IntentMessageMediaContentResponseMediaObject `json:"mediaObjects,omitempty"`
2618
2619	// MediaType: Optional. What type of media is the content (ie "audio").
2620	//
2621	// Possible values:
2622	//   "RESPONSE_MEDIA_TYPE_UNSPECIFIED" - Unspecified.
2623	//   "AUDIO" - Response media type is audio.
2624	MediaType string `json:"mediaType,omitempty"`
2625
2626	// ForceSendFields is a list of field names (e.g. "MediaObjects") to
2627	// unconditionally include in API requests. By default, fields with
2628	// empty values are omitted from API requests. However, any non-pointer,
2629	// non-interface field appearing in ForceSendFields will be sent to the
2630	// server regardless of whether the field is empty or not. This may be
2631	// used to include empty fields in Patch requests.
2632	ForceSendFields []string `json:"-"`
2633
2634	// NullFields is a list of field names (e.g. "MediaObjects") to include
2635	// in API requests with the JSON null value. By default, fields with
2636	// empty values are omitted from API requests. However, any field with
2637	// an empty value appearing in NullFields will be sent to the server as
2638	// null. It is an error if a field in this list has a non-empty value.
2639	// This may be used to include null fields in Patch requests.
2640	NullFields []string `json:"-"`
2641}
2642
2643func (s *GoogleCloudDialogflowV2IntentMessageMediaContent) MarshalJSON() ([]byte, error) {
2644	type NoMethod GoogleCloudDialogflowV2IntentMessageMediaContent
2645	raw := NoMethod(*s)
2646	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2647}
2648
2649// GoogleCloudDialogflowV2IntentMessageMediaContentResponseMediaObject:
2650// Response media object for media content card.
2651type GoogleCloudDialogflowV2IntentMessageMediaContentResponseMediaObject struct {
2652	// ContentUrl: Required. Url where the media is stored.
2653	ContentUrl string `json:"contentUrl,omitempty"`
2654
2655	// Description: Optional. Description of media card.
2656	Description string `json:"description,omitempty"`
2657
2658	// Icon: Optional. Icon to display above media content.
2659	Icon *GoogleCloudDialogflowV2IntentMessageImage `json:"icon,omitempty"`
2660
2661	// LargeImage: Optional. Image to display above media content.
2662	LargeImage *GoogleCloudDialogflowV2IntentMessageImage `json:"largeImage,omitempty"`
2663
2664	// Name: Required. Name of media card.
2665	Name string `json:"name,omitempty"`
2666
2667	// ForceSendFields is a list of field names (e.g. "ContentUrl") to
2668	// unconditionally include in API requests. By default, fields with
2669	// empty values are omitted from API requests. However, any non-pointer,
2670	// non-interface field appearing in ForceSendFields will be sent to the
2671	// server regardless of whether the field is empty or not. This may be
2672	// used to include empty fields in Patch requests.
2673	ForceSendFields []string `json:"-"`
2674
2675	// NullFields is a list of field names (e.g. "ContentUrl") to include in
2676	// API requests with the JSON null value. By default, fields with empty
2677	// values are omitted from API requests. However, any field with an
2678	// empty value appearing in NullFields will be sent to the server as
2679	// null. It is an error if a field in this list has a non-empty value.
2680	// This may be used to include null fields in Patch requests.
2681	NullFields []string `json:"-"`
2682}
2683
2684func (s *GoogleCloudDialogflowV2IntentMessageMediaContentResponseMediaObject) MarshalJSON() ([]byte, error) {
2685	type NoMethod GoogleCloudDialogflowV2IntentMessageMediaContentResponseMediaObject
2686	raw := NoMethod(*s)
2687	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2688}
2689
2690// GoogleCloudDialogflowV2IntentMessageQuickReplies: The quick replies
2691// response message.
2692type GoogleCloudDialogflowV2IntentMessageQuickReplies struct {
2693	// QuickReplies: Optional. The collection of quick replies.
2694	QuickReplies []string `json:"quickReplies,omitempty"`
2695
2696	// Title: Optional. The title of the collection of quick replies.
2697	Title string `json:"title,omitempty"`
2698
2699	// ForceSendFields is a list of field names (e.g. "QuickReplies") to
2700	// unconditionally include in API requests. By default, fields with
2701	// empty values are omitted from API requests. However, any non-pointer,
2702	// non-interface field appearing in ForceSendFields will be sent to the
2703	// server regardless of whether the field is empty or not. This may be
2704	// used to include empty fields in Patch requests.
2705	ForceSendFields []string `json:"-"`
2706
2707	// NullFields is a list of field names (e.g. "QuickReplies") to include
2708	// in API requests with the JSON null value. By default, fields with
2709	// empty values are omitted from API requests. However, any field with
2710	// an empty value appearing in NullFields will be sent to the server as
2711	// null. It is an error if a field in this list has a non-empty value.
2712	// This may be used to include null fields in Patch requests.
2713	NullFields []string `json:"-"`
2714}
2715
2716func (s *GoogleCloudDialogflowV2IntentMessageQuickReplies) MarshalJSON() ([]byte, error) {
2717	type NoMethod GoogleCloudDialogflowV2IntentMessageQuickReplies
2718	raw := NoMethod(*s)
2719	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2720}
2721
2722// GoogleCloudDialogflowV2IntentMessageSelectItemInfo: Additional info
2723// about the select item for when it is triggered in a
2724// dialog.
2725type GoogleCloudDialogflowV2IntentMessageSelectItemInfo struct {
2726	// Key: Required. A unique key that will be sent back to the agent if
2727	// this
2728	// response is given.
2729	Key string `json:"key,omitempty"`
2730
2731	// Synonyms: Optional. A list of synonyms that can also be used to
2732	// trigger this
2733	// item in dialog.
2734	Synonyms []string `json:"synonyms,omitempty"`
2735
2736	// ForceSendFields is a list of field names (e.g. "Key") to
2737	// unconditionally include in API requests. By default, fields with
2738	// empty values are omitted from API requests. However, any non-pointer,
2739	// non-interface field appearing in ForceSendFields will be sent to the
2740	// server regardless of whether the field is empty or not. This may be
2741	// used to include empty fields in Patch requests.
2742	ForceSendFields []string `json:"-"`
2743
2744	// NullFields is a list of field names (e.g. "Key") to include in API
2745	// requests with the JSON null value. By default, fields with empty
2746	// values are omitted from API requests. However, any field with an
2747	// empty value appearing in NullFields will be sent to the server as
2748	// null. It is an error if a field in this list has a non-empty value.
2749	// This may be used to include null fields in Patch requests.
2750	NullFields []string `json:"-"`
2751}
2752
2753func (s *GoogleCloudDialogflowV2IntentMessageSelectItemInfo) MarshalJSON() ([]byte, error) {
2754	type NoMethod GoogleCloudDialogflowV2IntentMessageSelectItemInfo
2755	raw := NoMethod(*s)
2756	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2757}
2758
2759// GoogleCloudDialogflowV2IntentMessageSimpleResponse: The simple
2760// response message containing speech or text.
2761type GoogleCloudDialogflowV2IntentMessageSimpleResponse struct {
2762	// DisplayText: Optional. The text to display.
2763	DisplayText string `json:"displayText,omitempty"`
2764
2765	// Ssml: One of text_to_speech or ssml must be provided. Structured
2766	// spoken
2767	// response to the user in the SSML format. Mutually exclusive
2768	// with
2769	// text_to_speech.
2770	Ssml string `json:"ssml,omitempty"`
2771
2772	// TextToSpeech: One of text_to_speech or ssml must be provided. The
2773	// plain text of the
2774	// speech output. Mutually exclusive with ssml.
2775	TextToSpeech string `json:"textToSpeech,omitempty"`
2776
2777	// ForceSendFields is a list of field names (e.g. "DisplayText") to
2778	// unconditionally include in API requests. By default, fields with
2779	// empty values are omitted from API requests. However, any non-pointer,
2780	// non-interface field appearing in ForceSendFields will be sent to the
2781	// server regardless of whether the field is empty or not. This may be
2782	// used to include empty fields in Patch requests.
2783	ForceSendFields []string `json:"-"`
2784
2785	// NullFields is a list of field names (e.g. "DisplayText") to include
2786	// in API requests with the JSON null value. By default, fields with
2787	// empty values are omitted from API requests. However, any field with
2788	// an empty value appearing in NullFields will be sent to the server as
2789	// null. It is an error if a field in this list has a non-empty value.
2790	// This may be used to include null fields in Patch requests.
2791	NullFields []string `json:"-"`
2792}
2793
2794func (s *GoogleCloudDialogflowV2IntentMessageSimpleResponse) MarshalJSON() ([]byte, error) {
2795	type NoMethod GoogleCloudDialogflowV2IntentMessageSimpleResponse
2796	raw := NoMethod(*s)
2797	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2798}
2799
2800// GoogleCloudDialogflowV2IntentMessageSimpleResponses: The collection
2801// of simple response candidates.
2802// This message in `QueryResult.fulfillment_messages`
2803// and
2804// `WebhookResponse.fulfillment_messages` should contain only
2805// one
2806// `SimpleResponse`.
2807type GoogleCloudDialogflowV2IntentMessageSimpleResponses struct {
2808	// SimpleResponses: Required. The list of simple responses.
2809	SimpleResponses []*GoogleCloudDialogflowV2IntentMessageSimpleResponse `json:"simpleResponses,omitempty"`
2810
2811	// ForceSendFields is a list of field names (e.g. "SimpleResponses") to
2812	// unconditionally include in API requests. By default, fields with
2813	// empty values are omitted from API requests. However, any non-pointer,
2814	// non-interface field appearing in ForceSendFields will be sent to the
2815	// server regardless of whether the field is empty or not. This may be
2816	// used to include empty fields in Patch requests.
2817	ForceSendFields []string `json:"-"`
2818
2819	// NullFields is a list of field names (e.g. "SimpleResponses") to
2820	// include in API requests with the JSON null value. By default, fields
2821	// with empty values are omitted from API requests. However, any field
2822	// with an empty value appearing in NullFields will be sent to the
2823	// server as null. It is an error if a field in this list has a
2824	// non-empty value. This may be used to include null fields in Patch
2825	// requests.
2826	NullFields []string `json:"-"`
2827}
2828
2829func (s *GoogleCloudDialogflowV2IntentMessageSimpleResponses) MarshalJSON() ([]byte, error) {
2830	type NoMethod GoogleCloudDialogflowV2IntentMessageSimpleResponses
2831	raw := NoMethod(*s)
2832	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2833}
2834
2835// GoogleCloudDialogflowV2IntentMessageSuggestion: The suggestion chip
2836// message that the user can tap to quickly post a reply
2837// to the conversation.
2838type GoogleCloudDialogflowV2IntentMessageSuggestion struct {
2839	// Title: Required. The text shown the in the suggestion chip.
2840	Title string `json:"title,omitempty"`
2841
2842	// ForceSendFields is a list of field names (e.g. "Title") to
2843	// unconditionally include in API requests. By default, fields with
2844	// empty values are omitted from API requests. However, any non-pointer,
2845	// non-interface field appearing in ForceSendFields will be sent to the
2846	// server regardless of whether the field is empty or not. This may be
2847	// used to include empty fields in Patch requests.
2848	ForceSendFields []string `json:"-"`
2849
2850	// NullFields is a list of field names (e.g. "Title") to include in API
2851	// requests with the JSON null value. By default, fields with empty
2852	// values are omitted from API requests. However, any field with an
2853	// empty value appearing in NullFields will be sent to the server as
2854	// null. It is an error if a field in this list has a non-empty value.
2855	// This may be used to include null fields in Patch requests.
2856	NullFields []string `json:"-"`
2857}
2858
2859func (s *GoogleCloudDialogflowV2IntentMessageSuggestion) MarshalJSON() ([]byte, error) {
2860	type NoMethod GoogleCloudDialogflowV2IntentMessageSuggestion
2861	raw := NoMethod(*s)
2862	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2863}
2864
2865// GoogleCloudDialogflowV2IntentMessageSuggestions: The collection of
2866// suggestions.
2867type GoogleCloudDialogflowV2IntentMessageSuggestions struct {
2868	// Suggestions: Required. The list of suggested replies.
2869	Suggestions []*GoogleCloudDialogflowV2IntentMessageSuggestion `json:"suggestions,omitempty"`
2870
2871	// ForceSendFields is a list of field names (e.g. "Suggestions") to
2872	// unconditionally include in API requests. By default, fields with
2873	// empty values are omitted from API requests. However, any non-pointer,
2874	// non-interface field appearing in ForceSendFields will be sent to the
2875	// server regardless of whether the field is empty or not. This may be
2876	// used to include empty fields in Patch requests.
2877	ForceSendFields []string `json:"-"`
2878
2879	// NullFields is a list of field names (e.g. "Suggestions") to include
2880	// in API requests with the JSON null value. By default, fields with
2881	// empty values are omitted from API requests. However, any field with
2882	// an empty value appearing in NullFields will be sent to the server as
2883	// null. It is an error if a field in this list has a non-empty value.
2884	// This may be used to include null fields in Patch requests.
2885	NullFields []string `json:"-"`
2886}
2887
2888func (s *GoogleCloudDialogflowV2IntentMessageSuggestions) MarshalJSON() ([]byte, error) {
2889	type NoMethod GoogleCloudDialogflowV2IntentMessageSuggestions
2890	raw := NoMethod(*s)
2891	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2892}
2893
2894// GoogleCloudDialogflowV2IntentMessageTableCard: Table card for Actions
2895// on Google.
2896type GoogleCloudDialogflowV2IntentMessageTableCard struct {
2897	// Buttons: Optional. List of buttons for the card.
2898	Buttons []*GoogleCloudDialogflowV2IntentMessageBasicCardButton `json:"buttons,omitempty"`
2899
2900	// ColumnProperties: Optional. Display properties for the columns in
2901	// this table.
2902	ColumnProperties []*GoogleCloudDialogflowV2IntentMessageColumnProperties `json:"columnProperties,omitempty"`
2903
2904	// Image: Optional. Image which should be displayed on the card.
2905	Image *GoogleCloudDialogflowV2IntentMessageImage `json:"image,omitempty"`
2906
2907	// Rows: Optional. Rows in this table of data.
2908	Rows []*GoogleCloudDialogflowV2IntentMessageTableCardRow `json:"rows,omitempty"`
2909
2910	// Subtitle: Optional. Subtitle to the title.
2911	Subtitle string `json:"subtitle,omitempty"`
2912
2913	// Title: Required. Title of the card.
2914	Title string `json:"title,omitempty"`
2915
2916	// ForceSendFields is a list of field names (e.g. "Buttons") to
2917	// unconditionally include in API requests. By default, fields with
2918	// empty values are omitted from API requests. However, any non-pointer,
2919	// non-interface field appearing in ForceSendFields will be sent to the
2920	// server regardless of whether the field is empty or not. This may be
2921	// used to include empty fields in Patch requests.
2922	ForceSendFields []string `json:"-"`
2923
2924	// NullFields is a list of field names (e.g. "Buttons") to include in
2925	// API requests with the JSON null value. By default, fields with empty
2926	// values are omitted from API requests. However, any field with an
2927	// empty value appearing in NullFields will be sent to the server as
2928	// null. It is an error if a field in this list has a non-empty value.
2929	// This may be used to include null fields in Patch requests.
2930	NullFields []string `json:"-"`
2931}
2932
2933func (s *GoogleCloudDialogflowV2IntentMessageTableCard) MarshalJSON() ([]byte, error) {
2934	type NoMethod GoogleCloudDialogflowV2IntentMessageTableCard
2935	raw := NoMethod(*s)
2936	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2937}
2938
2939// GoogleCloudDialogflowV2IntentMessageTableCardCell: Cell of
2940// TableCardRow.
2941type GoogleCloudDialogflowV2IntentMessageTableCardCell struct {
2942	// Text: Required. Text in this cell.
2943	Text string `json:"text,omitempty"`
2944
2945	// ForceSendFields is a list of field names (e.g. "Text") to
2946	// unconditionally include in API requests. By default, fields with
2947	// empty values are omitted from API requests. However, any non-pointer,
2948	// non-interface field appearing in ForceSendFields will be sent to the
2949	// server regardless of whether the field is empty or not. This may be
2950	// used to include empty fields in Patch requests.
2951	ForceSendFields []string `json:"-"`
2952
2953	// NullFields is a list of field names (e.g. "Text") to include in API
2954	// requests with the JSON null value. By default, fields with empty
2955	// values are omitted from API requests. However, any field with an
2956	// empty value appearing in NullFields will be sent to the server as
2957	// null. It is an error if a field in this list has a non-empty value.
2958	// This may be used to include null fields in Patch requests.
2959	NullFields []string `json:"-"`
2960}
2961
2962func (s *GoogleCloudDialogflowV2IntentMessageTableCardCell) MarshalJSON() ([]byte, error) {
2963	type NoMethod GoogleCloudDialogflowV2IntentMessageTableCardCell
2964	raw := NoMethod(*s)
2965	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2966}
2967
2968// GoogleCloudDialogflowV2IntentMessageTableCardRow: Row of TableCard.
2969type GoogleCloudDialogflowV2IntentMessageTableCardRow struct {
2970	// Cells: Optional. List of cells that make up this row.
2971	Cells []*GoogleCloudDialogflowV2IntentMessageTableCardCell `json:"cells,omitempty"`
2972
2973	// DividerAfter: Optional. Whether to add a visual divider after this
2974	// row.
2975	DividerAfter bool `json:"dividerAfter,omitempty"`
2976
2977	// ForceSendFields is a list of field names (e.g. "Cells") to
2978	// unconditionally include in API requests. By default, fields with
2979	// empty values are omitted from API requests. However, any non-pointer,
2980	// non-interface field appearing in ForceSendFields will be sent to the
2981	// server regardless of whether the field is empty or not. This may be
2982	// used to include empty fields in Patch requests.
2983	ForceSendFields []string `json:"-"`
2984
2985	// NullFields is a list of field names (e.g. "Cells") to include in API
2986	// requests with the JSON null value. By default, fields with empty
2987	// values are omitted from API requests. However, any field with an
2988	// empty value appearing in NullFields will be sent to the server as
2989	// null. It is an error if a field in this list has a non-empty value.
2990	// This may be used to include null fields in Patch requests.
2991	NullFields []string `json:"-"`
2992}
2993
2994func (s *GoogleCloudDialogflowV2IntentMessageTableCardRow) MarshalJSON() ([]byte, error) {
2995	type NoMethod GoogleCloudDialogflowV2IntentMessageTableCardRow
2996	raw := NoMethod(*s)
2997	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2998}
2999
3000// GoogleCloudDialogflowV2IntentMessageText: The text response message.
3001type GoogleCloudDialogflowV2IntentMessageText struct {
3002	// Text: Optional. The collection of the agent's responses.
3003	Text []string `json:"text,omitempty"`
3004
3005	// ForceSendFields is a list of field names (e.g. "Text") to
3006	// unconditionally include in API requests. By default, fields with
3007	// empty values are omitted from API requests. However, any non-pointer,
3008	// non-interface field appearing in ForceSendFields will be sent to the
3009	// server regardless of whether the field is empty or not. This may be
3010	// used to include empty fields in Patch requests.
3011	ForceSendFields []string `json:"-"`
3012
3013	// NullFields is a list of field names (e.g. "Text") to include in API
3014	// requests with the JSON null value. By default, fields with empty
3015	// values are omitted from API requests. However, any field with an
3016	// empty value appearing in NullFields will be sent to the server as
3017	// null. It is an error if a field in this list has a non-empty value.
3018	// This may be used to include null fields in Patch requests.
3019	NullFields []string `json:"-"`
3020}
3021
3022func (s *GoogleCloudDialogflowV2IntentMessageText) MarshalJSON() ([]byte, error) {
3023	type NoMethod GoogleCloudDialogflowV2IntentMessageText
3024	raw := NoMethod(*s)
3025	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3026}
3027
3028// GoogleCloudDialogflowV2IntentParameter: Represents intent parameters.
3029type GoogleCloudDialogflowV2IntentParameter struct {
3030	// DefaultValue: Optional. The default value to use when the `value`
3031	// yields an empty
3032	// result.
3033	// Default values can be extracted from contexts by using the
3034	// following
3035	// syntax: `#context_name.parameter_name`.
3036	DefaultValue string `json:"defaultValue,omitempty"`
3037
3038	// DisplayName: Required. The name of the parameter.
3039	DisplayName string `json:"displayName,omitempty"`
3040
3041	// EntityTypeDisplayName: Optional. The name of the entity type,
3042	// prefixed with `@`, that
3043	// describes values of the parameter. If the parameter is
3044	// required, this must be provided.
3045	EntityTypeDisplayName string `json:"entityTypeDisplayName,omitempty"`
3046
3047	// IsList: Optional. Indicates whether the parameter represents a list
3048	// of values.
3049	IsList bool `json:"isList,omitempty"`
3050
3051	// Mandatory: Optional. Indicates whether the parameter is required.
3052	// That is,
3053	// whether the intent cannot be completed without collecting the
3054	// parameter
3055	// value.
3056	Mandatory bool `json:"mandatory,omitempty"`
3057
3058	// Name: The unique identifier of this parameter.
3059	Name string `json:"name,omitempty"`
3060
3061	// Prompts: Optional. The collection of prompts that the agent can
3062	// present to the
3063	// user in order to collect a value for the parameter.
3064	Prompts []string `json:"prompts,omitempty"`
3065
3066	// Value: Optional. The definition of the parameter value. It can be:
3067	// - a constant string,
3068	// - a parameter value defined as `$parameter_name`,
3069	// - an original parameter value defined as
3070	// `$parameter_name.original`,
3071	// - a parameter value from some context defined as
3072	//   `#context_name.parameter_name`.
3073	Value string `json:"value,omitempty"`
3074
3075	// ForceSendFields is a list of field names (e.g. "DefaultValue") to
3076	// unconditionally include in API requests. By default, fields with
3077	// empty values are omitted from API requests. However, any non-pointer,
3078	// non-interface field appearing in ForceSendFields will be sent to the
3079	// server regardless of whether the field is empty or not. This may be
3080	// used to include empty fields in Patch requests.
3081	ForceSendFields []string `json:"-"`
3082
3083	// NullFields is a list of field names (e.g. "DefaultValue") to include
3084	// in API requests with the JSON null value. By default, fields with
3085	// empty values are omitted from API requests. However, any field with
3086	// an empty value appearing in NullFields will be sent to the server as
3087	// null. It is an error if a field in this list has a non-empty value.
3088	// This may be used to include null fields in Patch requests.
3089	NullFields []string `json:"-"`
3090}
3091
3092func (s *GoogleCloudDialogflowV2IntentParameter) MarshalJSON() ([]byte, error) {
3093	type NoMethod GoogleCloudDialogflowV2IntentParameter
3094	raw := NoMethod(*s)
3095	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3096}
3097
3098// GoogleCloudDialogflowV2IntentTrainingPhrase: Represents an example
3099// that the agent is trained on.
3100type GoogleCloudDialogflowV2IntentTrainingPhrase struct {
3101	// Name: Output only. The unique identifier of this training phrase.
3102	Name string `json:"name,omitempty"`
3103
3104	// Parts: Required. The ordered list of training phrase parts.
3105	// The parts are concatenated in order to form the training
3106	// phrase.
3107	//
3108	// Note: The API does not automatically annotate training phrases like
3109	// the
3110	// Dialogflow Console does.
3111	//
3112	// Note: Do not forget to include whitespace at part boundaries,
3113	// so the training phrase is well formatted when the parts are
3114	// concatenated.
3115	//
3116	// If the training phrase does not need to be annotated with
3117	// parameters,
3118	// you just need a single part with only the Part.text field set.
3119	//
3120	// If you want to annotate the training phrase, you must create
3121	// multiple
3122	// parts, where the fields of each part are populated in one of two
3123	// ways:
3124	//
3125	// -   `Part.text` is set to a part of the phrase that has no
3126	// parameters.
3127	// -   `Part.text` is set to a part of the phrase that you want to
3128	// annotate,
3129	//     and the `entity_type`, `alias`, and `user_defined` fields are
3130	// all
3131	//     set.
3132	Parts []*GoogleCloudDialogflowV2IntentTrainingPhrasePart `json:"parts,omitempty"`
3133
3134	// TimesAddedCount: Optional. Indicates how many times this example was
3135	// added to
3136	// the intent. Each time a developer adds an existing sample by editing
3137	// an
3138	// intent or training, this counter is increased.
3139	TimesAddedCount int64 `json:"timesAddedCount,omitempty"`
3140
3141	// Type: Required. The type of the training phrase.
3142	//
3143	// Possible values:
3144	//   "TYPE_UNSPECIFIED" - Not specified. This value should never be
3145	// used.
3146	//   "EXAMPLE" - Examples do not contain @-prefixed entity type names,
3147	// but example parts
3148	// can be annotated with entity types.
3149	//   "TEMPLATE" - Templates are not annotated with entity types, but
3150	// they can contain
3151	// @-prefixed entity type names as substrings.
3152	// Template mode has been deprecated. Example mode is the only
3153	// supported
3154	// way to create new training phrases. If you have existing
3155	// training
3156	// phrases that you've created in template mode, those will continue
3157	// to
3158	// work.
3159	Type string `json:"type,omitempty"`
3160
3161	// ForceSendFields is a list of field names (e.g. "Name") to
3162	// unconditionally include in API requests. By default, fields with
3163	// empty values are omitted from API requests. However, any non-pointer,
3164	// non-interface field appearing in ForceSendFields will be sent to the
3165	// server regardless of whether the field is empty or not. This may be
3166	// used to include empty fields in Patch requests.
3167	ForceSendFields []string `json:"-"`
3168
3169	// NullFields is a list of field names (e.g. "Name") to include in API
3170	// requests with the JSON null value. By default, fields with empty
3171	// values are omitted from API requests. However, any field with an
3172	// empty value appearing in NullFields will be sent to the server as
3173	// null. It is an error if a field in this list has a non-empty value.
3174	// This may be used to include null fields in Patch requests.
3175	NullFields []string `json:"-"`
3176}
3177
3178func (s *GoogleCloudDialogflowV2IntentTrainingPhrase) MarshalJSON() ([]byte, error) {
3179	type NoMethod GoogleCloudDialogflowV2IntentTrainingPhrase
3180	raw := NoMethod(*s)
3181	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3182}
3183
3184// GoogleCloudDialogflowV2IntentTrainingPhrasePart: Represents a part of
3185// a training phrase.
3186type GoogleCloudDialogflowV2IntentTrainingPhrasePart struct {
3187	// Alias: Optional. The parameter name for the value extracted from
3188	// the
3189	// annotated part of the example.
3190	// This field is required for annotated parts of the training phrase.
3191	Alias string `json:"alias,omitempty"`
3192
3193	// EntityType: Optional. The entity type name prefixed with `@`.
3194	// This field is required for annotated parts of the training phrase.
3195	EntityType string `json:"entityType,omitempty"`
3196
3197	// Text: Required. The text for this part.
3198	Text string `json:"text,omitempty"`
3199
3200	// UserDefined: Optional. Indicates whether the text was manually
3201	// annotated.
3202	// This field is set to true when the Dialogflow Console is used
3203	// to
3204	// manually annotate the part. When creating an annotated part with
3205	// the
3206	// API, you must set this to true.
3207	UserDefined bool `json:"userDefined,omitempty"`
3208
3209	// ForceSendFields is a list of field names (e.g. "Alias") to
3210	// unconditionally include in API requests. By default, fields with
3211	// empty values are omitted from API requests. However, any non-pointer,
3212	// non-interface field appearing in ForceSendFields will be sent to the
3213	// server regardless of whether the field is empty or not. This may be
3214	// used to include empty fields in Patch requests.
3215	ForceSendFields []string `json:"-"`
3216
3217	// NullFields is a list of field names (e.g. "Alias") to include in API
3218	// requests with the JSON null value. By default, fields with empty
3219	// values are omitted from API requests. However, any field with an
3220	// empty value appearing in NullFields will be sent to the server as
3221	// null. It is an error if a field in this list has a non-empty value.
3222	// This may be used to include null fields in Patch requests.
3223	NullFields []string `json:"-"`
3224}
3225
3226func (s *GoogleCloudDialogflowV2IntentTrainingPhrasePart) MarshalJSON() ([]byte, error) {
3227	type NoMethod GoogleCloudDialogflowV2IntentTrainingPhrasePart
3228	raw := NoMethod(*s)
3229	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3230}
3231
3232// GoogleCloudDialogflowV2ListContextsResponse: The response message for
3233// Contexts.ListContexts.
3234type GoogleCloudDialogflowV2ListContextsResponse struct {
3235	// Contexts: The list of contexts. There will be a maximum number of
3236	// items
3237	// returned based on the page_size field in the request.
3238	Contexts []*GoogleCloudDialogflowV2Context `json:"contexts,omitempty"`
3239
3240	// NextPageToken: Token to retrieve the next page of results, or empty
3241	// if there are no
3242	// more results in the list.
3243	NextPageToken string `json:"nextPageToken,omitempty"`
3244
3245	// ServerResponse contains the HTTP response code and headers from the
3246	// server.
3247	googleapi.ServerResponse `json:"-"`
3248
3249	// ForceSendFields is a list of field names (e.g. "Contexts") to
3250	// unconditionally include in API requests. By default, fields with
3251	// empty values are omitted from API requests. However, any non-pointer,
3252	// non-interface field appearing in ForceSendFields will be sent to the
3253	// server regardless of whether the field is empty or not. This may be
3254	// used to include empty fields in Patch requests.
3255	ForceSendFields []string `json:"-"`
3256
3257	// NullFields is a list of field names (e.g. "Contexts") to include in
3258	// API requests with the JSON null value. By default, fields with empty
3259	// values are omitted from API requests. However, any field with an
3260	// empty value appearing in NullFields will be sent to the server as
3261	// null. It is an error if a field in this list has a non-empty value.
3262	// This may be used to include null fields in Patch requests.
3263	NullFields []string `json:"-"`
3264}
3265
3266func (s *GoogleCloudDialogflowV2ListContextsResponse) MarshalJSON() ([]byte, error) {
3267	type NoMethod GoogleCloudDialogflowV2ListContextsResponse
3268	raw := NoMethod(*s)
3269	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3270}
3271
3272// GoogleCloudDialogflowV2ListEntityTypesResponse: The response message
3273// for EntityTypes.ListEntityTypes.
3274type GoogleCloudDialogflowV2ListEntityTypesResponse struct {
3275	// EntityTypes: The list of agent entity types. There will be a maximum
3276	// number of items
3277	// returned based on the page_size field in the request.
3278	EntityTypes []*GoogleCloudDialogflowV2EntityType `json:"entityTypes,omitempty"`
3279
3280	// NextPageToken: Token to retrieve the next page of results, or empty
3281	// if there are no
3282	// more results in the list.
3283	NextPageToken string `json:"nextPageToken,omitempty"`
3284
3285	// ServerResponse contains the HTTP response code and headers from the
3286	// server.
3287	googleapi.ServerResponse `json:"-"`
3288
3289	// ForceSendFields is a list of field names (e.g. "EntityTypes") to
3290	// unconditionally include in API requests. By default, fields with
3291	// empty values are omitted from API requests. However, any non-pointer,
3292	// non-interface field appearing in ForceSendFields will be sent to the
3293	// server regardless of whether the field is empty or not. This may be
3294	// used to include empty fields in Patch requests.
3295	ForceSendFields []string `json:"-"`
3296
3297	// NullFields is a list of field names (e.g. "EntityTypes") to include
3298	// in API requests with the JSON null value. By default, fields with
3299	// empty values are omitted from API requests. However, any field with
3300	// an empty value appearing in NullFields will be sent to the server as
3301	// null. It is an error if a field in this list has a non-empty value.
3302	// This may be used to include null fields in Patch requests.
3303	NullFields []string `json:"-"`
3304}
3305
3306func (s *GoogleCloudDialogflowV2ListEntityTypesResponse) MarshalJSON() ([]byte, error) {
3307	type NoMethod GoogleCloudDialogflowV2ListEntityTypesResponse
3308	raw := NoMethod(*s)
3309	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3310}
3311
3312// GoogleCloudDialogflowV2ListIntentsResponse: The response message for
3313// Intents.ListIntents.
3314type GoogleCloudDialogflowV2ListIntentsResponse struct {
3315	// Intents: The list of agent intents. There will be a maximum number of
3316	// items
3317	// returned based on the page_size field in the request.
3318	Intents []*GoogleCloudDialogflowV2Intent `json:"intents,omitempty"`
3319
3320	// NextPageToken: Token to retrieve the next page of results, or empty
3321	// if there are no
3322	// more results in the list.
3323	NextPageToken string `json:"nextPageToken,omitempty"`
3324
3325	// ServerResponse contains the HTTP response code and headers from the
3326	// server.
3327	googleapi.ServerResponse `json:"-"`
3328
3329	// ForceSendFields is a list of field names (e.g. "Intents") to
3330	// unconditionally include in API requests. By default, fields with
3331	// empty values are omitted from API requests. However, any non-pointer,
3332	// non-interface field appearing in ForceSendFields will be sent to the
3333	// server regardless of whether the field is empty or not. This may be
3334	// used to include empty fields in Patch requests.
3335	ForceSendFields []string `json:"-"`
3336
3337	// NullFields is a list of field names (e.g. "Intents") to include in
3338	// API requests with the JSON null value. By default, fields with empty
3339	// values are omitted from API requests. However, any field with an
3340	// empty value appearing in NullFields will be sent to the server as
3341	// null. It is an error if a field in this list has a non-empty value.
3342	// This may be used to include null fields in Patch requests.
3343	NullFields []string `json:"-"`
3344}
3345
3346func (s *GoogleCloudDialogflowV2ListIntentsResponse) MarshalJSON() ([]byte, error) {
3347	type NoMethod GoogleCloudDialogflowV2ListIntentsResponse
3348	raw := NoMethod(*s)
3349	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3350}
3351
3352// GoogleCloudDialogflowV2ListSessionEntityTypesResponse: The response
3353// message for SessionEntityTypes.ListSessionEntityTypes.
3354type GoogleCloudDialogflowV2ListSessionEntityTypesResponse struct {
3355	// NextPageToken: Token to retrieve the next page of results, or empty
3356	// if there are no
3357	// more results in the list.
3358	NextPageToken string `json:"nextPageToken,omitempty"`
3359
3360	// SessionEntityTypes: The list of session entity types. There will be a
3361	// maximum number of items
3362	// returned based on the page_size field in the request.
3363	SessionEntityTypes []*GoogleCloudDialogflowV2SessionEntityType `json:"sessionEntityTypes,omitempty"`
3364
3365	// ServerResponse contains the HTTP response code and headers from the
3366	// server.
3367	googleapi.ServerResponse `json:"-"`
3368
3369	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
3370	// unconditionally include in API requests. By default, fields with
3371	// empty values are omitted from API requests. However, any non-pointer,
3372	// non-interface field appearing in ForceSendFields will be sent to the
3373	// server regardless of whether the field is empty or not. This may be
3374	// used to include empty fields in Patch requests.
3375	ForceSendFields []string `json:"-"`
3376
3377	// NullFields is a list of field names (e.g. "NextPageToken") to include
3378	// in API requests with the JSON null value. By default, fields with
3379	// empty values are omitted from API requests. However, any field with
3380	// an empty value appearing in NullFields will be sent to the server as
3381	// null. It is an error if a field in this list has a non-empty value.
3382	// This may be used to include null fields in Patch requests.
3383	NullFields []string `json:"-"`
3384}
3385
3386func (s *GoogleCloudDialogflowV2ListSessionEntityTypesResponse) MarshalJSON() ([]byte, error) {
3387	type NoMethod GoogleCloudDialogflowV2ListSessionEntityTypesResponse
3388	raw := NoMethod(*s)
3389	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3390}
3391
3392// GoogleCloudDialogflowV2Message: Represents a message posted into a
3393// conversation.
3394type GoogleCloudDialogflowV2Message struct {
3395	// Content: Required. The message content.
3396	Content string `json:"content,omitempty"`
3397
3398	// CreateTime: Output only. The time when the message was created.
3399	CreateTime string `json:"createTime,omitempty"`
3400
3401	// LanguageCode: Optional. The message language.
3402	// This should be a
3403	// [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt)
3404	// language tag. Example: "en-US".
3405	LanguageCode string `json:"languageCode,omitempty"`
3406
3407	// MessageAnnotation: Output only. The annotation for the message.
3408	MessageAnnotation *GoogleCloudDialogflowV2MessageAnnotation `json:"messageAnnotation,omitempty"`
3409
3410	// Name: The unique identifier of the message.
3411	// Format: `projects/<Project
3412	// ID>/conversations/<Conversation
3413	// ID>/messages/<Message ID>`.
3414	Name string `json:"name,omitempty"`
3415
3416	// Participant: Output only. The participant that sends this message.
3417	Participant string `json:"participant,omitempty"`
3418
3419	// ParticipantRole: Output only. The role of the participant.
3420	//
3421	// Possible values:
3422	//   "ROLE_UNSPECIFIED" - Participant role not set.
3423	//   "HUMAN_AGENT" - Participant is a human agent.
3424	//   "AUTOMATED_AGENT" - Participant is an automated agent, such as a
3425	// Dialogflow agent.
3426	//   "END_USER" - Participant is an end user that has called or chatted
3427	// with
3428	// Dialogflow services.
3429	ParticipantRole string `json:"participantRole,omitempty"`
3430
3431	// ForceSendFields is a list of field names (e.g. "Content") to
3432	// unconditionally include in API requests. By default, fields with
3433	// empty values are omitted from API requests. However, any non-pointer,
3434	// non-interface field appearing in ForceSendFields will be sent to the
3435	// server regardless of whether the field is empty or not. This may be
3436	// used to include empty fields in Patch requests.
3437	ForceSendFields []string `json:"-"`
3438
3439	// NullFields is a list of field names (e.g. "Content") to include in
3440	// API requests with the JSON null value. By default, fields with empty
3441	// values are omitted from API requests. However, any field with an
3442	// empty value appearing in NullFields will be sent to the server as
3443	// null. It is an error if a field in this list has a non-empty value.
3444	// This may be used to include null fields in Patch requests.
3445	NullFields []string `json:"-"`
3446}
3447
3448func (s *GoogleCloudDialogflowV2Message) MarshalJSON() ([]byte, error) {
3449	type NoMethod GoogleCloudDialogflowV2Message
3450	raw := NoMethod(*s)
3451	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3452}
3453
3454// GoogleCloudDialogflowV2MessageAnnotation: Represents the result of
3455// annotation for the message.
3456type GoogleCloudDialogflowV2MessageAnnotation struct {
3457	// ContainEntities: Indicates whether the text message contains
3458	// entities.
3459	ContainEntities bool `json:"containEntities,omitempty"`
3460
3461	// Parts: The collection of annotated message parts ordered by
3462	// their
3463	// position in the message. You can recover the annotated message
3464	// by
3465	// concatenating [AnnotatedMessagePart.text].
3466	Parts []*GoogleCloudDialogflowV2AnnotatedMessagePart `json:"parts,omitempty"`
3467
3468	// ForceSendFields is a list of field names (e.g. "ContainEntities") to
3469	// unconditionally include in API requests. By default, fields with
3470	// empty values are omitted from API requests. However, any non-pointer,
3471	// non-interface field appearing in ForceSendFields will be sent to the
3472	// server regardless of whether the field is empty or not. This may be
3473	// used to include empty fields in Patch requests.
3474	ForceSendFields []string `json:"-"`
3475
3476	// NullFields is a list of field names (e.g. "ContainEntities") to
3477	// include in API requests with the JSON null value. By default, fields
3478	// with empty values are omitted from API requests. However, any field
3479	// with an empty value appearing in NullFields will be sent to the
3480	// server as null. It is an error if a field in this list has a
3481	// non-empty value. This may be used to include null fields in Patch
3482	// requests.
3483	NullFields []string `json:"-"`
3484}
3485
3486func (s *GoogleCloudDialogflowV2MessageAnnotation) MarshalJSON() ([]byte, error) {
3487	type NoMethod GoogleCloudDialogflowV2MessageAnnotation
3488	raw := NoMethod(*s)
3489	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3490}
3491
3492// GoogleCloudDialogflowV2OriginalDetectIntentRequest: Represents the
3493// contents of the original request that was passed to
3494// the `[Streaming]DetectIntent` call.
3495type GoogleCloudDialogflowV2OriginalDetectIntentRequest struct {
3496	// Payload: Optional. This field is set to the value of the
3497	// `QueryParameters.payload`
3498	// field passed in the request. Some integrations that query a
3499	// Dialogflow
3500	// agent may provide additional information in the payload.
3501	//
3502	// In particular for the Telephony Gateway this field has the
3503	// form:
3504	// <pre>{
3505	//  "telephony": {
3506	//    "caller_id": "+18558363987"
3507	//  }
3508	// }</pre>
3509	// Note: The caller ID field (`caller_id`) will be redacted for
3510	// Standard
3511	// Edition agents and populated with the caller ID in
3512	// [E.164
3513	// format](https://en.wikipedia.org/wiki/E.164) for Enterprise Edition
3514	// agents.
3515	Payload googleapi.RawMessage `json:"payload,omitempty"`
3516
3517	// Source: The source of this request, e.g., `google`, `facebook`,
3518	// `slack`. It is set
3519	// by Dialogflow-owned servers.
3520	Source string `json:"source,omitempty"`
3521
3522	// Version: Optional. The version of the protocol used for this
3523	// request.
3524	// This field is AoG-specific.
3525	Version string `json:"version,omitempty"`
3526
3527	// ForceSendFields is a list of field names (e.g. "Payload") to
3528	// unconditionally include in API requests. By default, fields with
3529	// empty values are omitted from API requests. However, any non-pointer,
3530	// non-interface field appearing in ForceSendFields will be sent to the
3531	// server regardless of whether the field is empty or not. This may be
3532	// used to include empty fields in Patch requests.
3533	ForceSendFields []string `json:"-"`
3534
3535	// NullFields is a list of field names (e.g. "Payload") to include in
3536	// API requests with the JSON null value. By default, fields with empty
3537	// values are omitted from API requests. However, any field with an
3538	// empty value appearing in NullFields will be sent to the server as
3539	// null. It is an error if a field in this list has a non-empty value.
3540	// This may be used to include null fields in Patch requests.
3541	NullFields []string `json:"-"`
3542}
3543
3544func (s *GoogleCloudDialogflowV2OriginalDetectIntentRequest) MarshalJSON() ([]byte, error) {
3545	type NoMethod GoogleCloudDialogflowV2OriginalDetectIntentRequest
3546	raw := NoMethod(*s)
3547	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3548}
3549
3550// GoogleCloudDialogflowV2OutputAudioConfig: Instructs the speech
3551// synthesizer on how to generate the output audio content.
3552type GoogleCloudDialogflowV2OutputAudioConfig struct {
3553	// AudioEncoding: Required. Audio encoding of the synthesized audio
3554	// content.
3555	//
3556	// Possible values:
3557	//   "OUTPUT_AUDIO_ENCODING_UNSPECIFIED" - Not specified.
3558	//   "OUTPUT_AUDIO_ENCODING_LINEAR_16" - Uncompressed 16-bit signed
3559	// little-endian samples (Linear PCM).
3560	// Audio content returned as LINEAR16 also contains a WAV header.
3561	//   "OUTPUT_AUDIO_ENCODING_MP3" - MP3 audio at 32kbps.
3562	//   "OUTPUT_AUDIO_ENCODING_OGG_OPUS" - Opus encoded audio wrapped in an
3563	// ogg container. The result will be a
3564	// file which can be played natively on Android, and in browsers (at
3565	// least
3566	// Chrome and Firefox). The quality of the encoding is considerably
3567	// higher
3568	// than MP3 while using approximately the same bitrate.
3569	AudioEncoding string `json:"audioEncoding,omitempty"`
3570
3571	// SampleRateHertz: Optional. The synthesis sample rate (in hertz) for
3572	// this audio. If not
3573	// provided, then the synthesizer will use the default sample rate based
3574	// on
3575	// the audio encoding. If this is different from the voice's natural
3576	// sample
3577	// rate, then the synthesizer will honor this request by converting to
3578	// the
3579	// desired sample rate (which might result in worse audio quality).
3580	SampleRateHertz int64 `json:"sampleRateHertz,omitempty"`
3581
3582	// SynthesizeSpeechConfig: Optional. Configuration of how speech should
3583	// be synthesized.
3584	SynthesizeSpeechConfig *GoogleCloudDialogflowV2SynthesizeSpeechConfig `json:"synthesizeSpeechConfig,omitempty"`
3585
3586	// ForceSendFields is a list of field names (e.g. "AudioEncoding") to
3587	// unconditionally include in API requests. By default, fields with
3588	// empty values are omitted from API requests. However, any non-pointer,
3589	// non-interface field appearing in ForceSendFields will be sent to the
3590	// server regardless of whether the field is empty or not. This may be
3591	// used to include empty fields in Patch requests.
3592	ForceSendFields []string `json:"-"`
3593
3594	// NullFields is a list of field names (e.g. "AudioEncoding") to include
3595	// in API requests with the JSON null value. By default, fields with
3596	// empty values are omitted from API requests. However, any field with
3597	// an empty value appearing in NullFields will be sent to the server as
3598	// null. It is an error if a field in this list has a non-empty value.
3599	// This may be used to include null fields in Patch requests.
3600	NullFields []string `json:"-"`
3601}
3602
3603func (s *GoogleCloudDialogflowV2OutputAudioConfig) MarshalJSON() ([]byte, error) {
3604	type NoMethod GoogleCloudDialogflowV2OutputAudioConfig
3605	raw := NoMethod(*s)
3606	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3607}
3608
3609// GoogleCloudDialogflowV2QueryInput: Represents the query input. It can
3610// contain either:
3611//
3612// 1.  An audio config which
3613//     instructs the speech recognizer how to process the speech
3614// audio.
3615//
3616// 2.  A conversational query in the form of text,.
3617//
3618// 3.  An event that specifies which intent to trigger.
3619type GoogleCloudDialogflowV2QueryInput struct {
3620	// AudioConfig: Instructs the speech recognizer how to process the
3621	// speech audio.
3622	AudioConfig *GoogleCloudDialogflowV2InputAudioConfig `json:"audioConfig,omitempty"`
3623
3624	// Event: The event to be processed.
3625	Event *GoogleCloudDialogflowV2EventInput `json:"event,omitempty"`
3626
3627	// Text: The natural language text to be processed.
3628	Text *GoogleCloudDialogflowV2TextInput `json:"text,omitempty"`
3629
3630	// ForceSendFields is a list of field names (e.g. "AudioConfig") to
3631	// unconditionally include in API requests. By default, fields with
3632	// empty values are omitted from API requests. However, any non-pointer,
3633	// non-interface field appearing in ForceSendFields will be sent to the
3634	// server regardless of whether the field is empty or not. This may be
3635	// used to include empty fields in Patch requests.
3636	ForceSendFields []string `json:"-"`
3637
3638	// NullFields is a list of field names (e.g. "AudioConfig") to include
3639	// in API requests with the JSON null value. By default, fields with
3640	// empty values are omitted from API requests. However, any field with
3641	// an empty value appearing in NullFields will be sent to the server as
3642	// null. It is an error if a field in this list has a non-empty value.
3643	// This may be used to include null fields in Patch requests.
3644	NullFields []string `json:"-"`
3645}
3646
3647func (s *GoogleCloudDialogflowV2QueryInput) MarshalJSON() ([]byte, error) {
3648	type NoMethod GoogleCloudDialogflowV2QueryInput
3649	raw := NoMethod(*s)
3650	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3651}
3652
3653// GoogleCloudDialogflowV2QueryParameters: Represents the parameters of
3654// the conversational query.
3655type GoogleCloudDialogflowV2QueryParameters struct {
3656	// Contexts: Optional. The collection of contexts to be activated before
3657	// this query is
3658	// executed.
3659	Contexts []*GoogleCloudDialogflowV2Context `json:"contexts,omitempty"`
3660
3661	// GeoLocation: Optional. The geo location of this conversational query.
3662	GeoLocation *GoogleTypeLatLng `json:"geoLocation,omitempty"`
3663
3664	// Payload: Optional. This field can be used to pass custom data into
3665	// the webhook
3666	// associated with the agent. Arbitrary JSON objects are supported.
3667	Payload googleapi.RawMessage `json:"payload,omitempty"`
3668
3669	// ResetContexts: Optional. Specifies whether to delete all contexts in
3670	// the current session
3671	// before the new ones are activated.
3672	ResetContexts bool `json:"resetContexts,omitempty"`
3673
3674	// SentimentAnalysisRequestConfig: Optional. Configures the type of
3675	// sentiment analysis to perform. If not
3676	// provided, sentiment analysis is not performed.
3677	SentimentAnalysisRequestConfig *GoogleCloudDialogflowV2SentimentAnalysisRequestConfig `json:"sentimentAnalysisRequestConfig,omitempty"`
3678
3679	// SessionEntityTypes: Optional. Additional session entity types to
3680	// replace or extend developer
3681	// entity types with. The entity synonyms apply to all languages and
3682	// persist
3683	// for the session of this query.
3684	SessionEntityTypes []*GoogleCloudDialogflowV2SessionEntityType `json:"sessionEntityTypes,omitempty"`
3685
3686	// TimeZone: Optional. The time zone of this conversational query from
3687	// the
3688	// [time zone database](https://www.iana.org/time-zones),
3689	// e.g.,
3690	// America/New_York, Europe/Paris. If not provided, the time zone
3691	// specified in
3692	// agent settings is used.
3693	TimeZone string `json:"timeZone,omitempty"`
3694
3695	// ForceSendFields is a list of field names (e.g. "Contexts") to
3696	// unconditionally include in API requests. By default, fields with
3697	// empty values are omitted from API requests. However, any non-pointer,
3698	// non-interface field appearing in ForceSendFields will be sent to the
3699	// server regardless of whether the field is empty or not. This may be
3700	// used to include empty fields in Patch requests.
3701	ForceSendFields []string `json:"-"`
3702
3703	// NullFields is a list of field names (e.g. "Contexts") to include in
3704	// API requests with the JSON null value. By default, fields with empty
3705	// values are omitted from API requests. However, any field with an
3706	// empty value appearing in NullFields will be sent to the server as
3707	// null. It is an error if a field in this list has a non-empty value.
3708	// This may be used to include null fields in Patch requests.
3709	NullFields []string `json:"-"`
3710}
3711
3712func (s *GoogleCloudDialogflowV2QueryParameters) MarshalJSON() ([]byte, error) {
3713	type NoMethod GoogleCloudDialogflowV2QueryParameters
3714	raw := NoMethod(*s)
3715	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3716}
3717
3718// GoogleCloudDialogflowV2QueryResult: Represents the result of
3719// conversational query or event processing.
3720type GoogleCloudDialogflowV2QueryResult struct {
3721	// Action: The action name from the matched intent.
3722	Action string `json:"action,omitempty"`
3723
3724	// AllRequiredParamsPresent: This field is set to:
3725	//
3726	// - `false` if the matched intent has required parameters and not all
3727	// of
3728	//    the required parameter values have been collected.
3729	// - `true` if all required parameter values have been collected, or if
3730	// the
3731	//    matched intent doesn't contain any required parameters.
3732	AllRequiredParamsPresent bool `json:"allRequiredParamsPresent,omitempty"`
3733
3734	// DiagnosticInfo: The free-form diagnostic info. For example, this
3735	// field could contain
3736	// webhook call latency. The string keys of the Struct's fields map can
3737	// change
3738	// without notice.
3739	DiagnosticInfo googleapi.RawMessage `json:"diagnosticInfo,omitempty"`
3740
3741	// FulfillmentMessages: The collection of rich messages to present to
3742	// the user.
3743	FulfillmentMessages []*GoogleCloudDialogflowV2IntentMessage `json:"fulfillmentMessages,omitempty"`
3744
3745	// FulfillmentText: The text to be pronounced to the user or shown on
3746	// the screen.
3747	// Note: This is a legacy field, `fulfillment_messages` should be
3748	// preferred.
3749	FulfillmentText string `json:"fulfillmentText,omitempty"`
3750
3751	// Intent: The intent that matched the conversational query. Some,
3752	// not
3753	// all fields are filled in this message, including but not limited
3754	// to:
3755	// `name`, `display_name`, `end_interaction` and `is_fallback`.
3756	Intent *GoogleCloudDialogflowV2Intent `json:"intent,omitempty"`
3757
3758	// IntentDetectionConfidence: The intent detection confidence. Values
3759	// range from 0.0
3760	// (completely uncertain) to 1.0 (completely certain).
3761	// This value is for informational purpose only and is only used to
3762	// help match the best intent within the classification threshold.
3763	// This value may change for the same end-user expression at any time
3764	// due to a
3765	// model retraining or change in implementation.
3766	// If there are `multiple knowledge_answers` messages, this value is set
3767	// to
3768	// the greatest `knowledgeAnswers.match_confidence` value in the list.
3769	IntentDetectionConfidence float64 `json:"intentDetectionConfidence,omitempty"`
3770
3771	// LanguageCode: The language that was triggered during intent
3772	// detection.
3773	// See
3774	// [Language
3775	// Support](https://cloud.google.com/dialogflow/docs/reference/
3776	// language)
3777	// for a list of the currently supported language codes.
3778	LanguageCode string `json:"languageCode,omitempty"`
3779
3780	// OutputContexts: The collection of output contexts. If
3781	// applicable,
3782	// `output_contexts.parameters` contains entries with name
3783	// `<parameter name>.original` containing the original parameter
3784	// values
3785	// before the query.
3786	OutputContexts []*GoogleCloudDialogflowV2Context `json:"outputContexts,omitempty"`
3787
3788	// Parameters: The collection of extracted parameters.
3789	Parameters googleapi.RawMessage `json:"parameters,omitempty"`
3790
3791	// QueryText: The original conversational query text:
3792	//
3793	// - If natural language text was provided as input, `query_text`
3794	// contains
3795	//   a copy of the input.
3796	// - If natural language speech audio was provided as input,
3797	// `query_text`
3798	//   contains the speech recognition result. If speech recognizer
3799	// produced
3800	//   multiple alternatives, a particular one is picked.
3801	// - If automatic spell correction is enabled, `query_text` will contain
3802	// the
3803	//   corrected user input.
3804	QueryText string `json:"queryText,omitempty"`
3805
3806	// SentimentAnalysisResult: The sentiment analysis result, which depends
3807	// on the
3808	// `sentiment_analysis_request_config` specified in the request.
3809	SentimentAnalysisResult *GoogleCloudDialogflowV2SentimentAnalysisResult `json:"sentimentAnalysisResult,omitempty"`
3810
3811	// SpeechRecognitionConfidence: The Speech recognition confidence
3812	// between 0.0 and 1.0. A higher number
3813	// indicates an estimated greater likelihood that the recognized words
3814	// are
3815	// correct. The default of 0.0 is a sentinel value indicating that
3816	// confidence
3817	// was not set.
3818	//
3819	// This field is not guaranteed to be accurate or set. In particular
3820	// this
3821	// field isn't set for StreamingDetectIntent since the streaming
3822	// endpoint has
3823	// separate confidence estimates per portion of the audio
3824	// in
3825	// StreamingRecognitionResult.
3826	SpeechRecognitionConfidence float64 `json:"speechRecognitionConfidence,omitempty"`
3827
3828	// WebhookPayload: If the query was fulfilled by a webhook call, this
3829	// field is set to the
3830	// value of the `payload` field returned in the webhook response.
3831	WebhookPayload googleapi.RawMessage `json:"webhookPayload,omitempty"`
3832
3833	// WebhookSource: If the query was fulfilled by a webhook call, this
3834	// field is set to the
3835	// value of the `source` field returned in the webhook response.
3836	WebhookSource string `json:"webhookSource,omitempty"`
3837
3838	// ForceSendFields is a list of field names (e.g. "Action") to
3839	// unconditionally include in API requests. By default, fields with
3840	// empty values are omitted from API requests. However, any non-pointer,
3841	// non-interface field appearing in ForceSendFields will be sent to the
3842	// server regardless of whether the field is empty or not. This may be
3843	// used to include empty fields in Patch requests.
3844	ForceSendFields []string `json:"-"`
3845
3846	// NullFields is a list of field names (e.g. "Action") to include in API
3847	// requests with the JSON null value. By default, fields with empty
3848	// values are omitted from API requests. However, any field with an
3849	// empty value appearing in NullFields will be sent to the server as
3850	// null. It is an error if a field in this list has a non-empty value.
3851	// This may be used to include null fields in Patch requests.
3852	NullFields []string `json:"-"`
3853}
3854
3855func (s *GoogleCloudDialogflowV2QueryResult) MarshalJSON() ([]byte, error) {
3856	type NoMethod GoogleCloudDialogflowV2QueryResult
3857	raw := NoMethod(*s)
3858	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3859}
3860
3861func (s *GoogleCloudDialogflowV2QueryResult) UnmarshalJSON(data []byte) error {
3862	type NoMethod GoogleCloudDialogflowV2QueryResult
3863	var s1 struct {
3864		IntentDetectionConfidence   gensupport.JSONFloat64 `json:"intentDetectionConfidence"`
3865		SpeechRecognitionConfidence gensupport.JSONFloat64 `json:"speechRecognitionConfidence"`
3866		*NoMethod
3867	}
3868	s1.NoMethod = (*NoMethod)(s)
3869	if err := json.Unmarshal(data, &s1); err != nil {
3870		return err
3871	}
3872	s.IntentDetectionConfidence = float64(s1.IntentDetectionConfidence)
3873	s.SpeechRecognitionConfidence = float64(s1.SpeechRecognitionConfidence)
3874	return nil
3875}
3876
3877// GoogleCloudDialogflowV2RestoreAgentRequest: The request message for
3878// Agents.RestoreAgent.
3879type GoogleCloudDialogflowV2RestoreAgentRequest struct {
3880	// AgentContent: Zip compressed raw byte content for agent.
3881	AgentContent string `json:"agentContent,omitempty"`
3882
3883	// AgentUri: The URI to a Google Cloud Storage file containing the agent
3884	// to restore.
3885	// Note: The URI must start with "gs://".
3886	AgentUri string `json:"agentUri,omitempty"`
3887
3888	// ForceSendFields is a list of field names (e.g. "AgentContent") to
3889	// unconditionally include in API requests. By default, fields with
3890	// empty values are omitted from API requests. However, any non-pointer,
3891	// non-interface field appearing in ForceSendFields will be sent to the
3892	// server regardless of whether the field is empty or not. This may be
3893	// used to include empty fields in Patch requests.
3894	ForceSendFields []string `json:"-"`
3895
3896	// NullFields is a list of field names (e.g. "AgentContent") to include
3897	// in API requests with the JSON null value. By default, fields with
3898	// empty values are omitted from API requests. However, any field with
3899	// an empty value appearing in NullFields will be sent to the server as
3900	// null. It is an error if a field in this list has a non-empty value.
3901	// This may be used to include null fields in Patch requests.
3902	NullFields []string `json:"-"`
3903}
3904
3905func (s *GoogleCloudDialogflowV2RestoreAgentRequest) MarshalJSON() ([]byte, error) {
3906	type NoMethod GoogleCloudDialogflowV2RestoreAgentRequest
3907	raw := NoMethod(*s)
3908	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3909}
3910
3911// GoogleCloudDialogflowV2SearchAgentsResponse: The response message for
3912// Agents.SearchAgents.
3913type GoogleCloudDialogflowV2SearchAgentsResponse struct {
3914	// Agents: The list of agents. There will be a maximum number of items
3915	// returned based
3916	// on the page_size field in the request.
3917	Agents []*GoogleCloudDialogflowV2Agent `json:"agents,omitempty"`
3918
3919	// NextPageToken: Token to retrieve the next page of results, or empty
3920	// if there are no
3921	// more results in the list.
3922	NextPageToken string `json:"nextPageToken,omitempty"`
3923
3924	// ServerResponse contains the HTTP response code and headers from the
3925	// server.
3926	googleapi.ServerResponse `json:"-"`
3927
3928	// ForceSendFields is a list of field names (e.g. "Agents") to
3929	// unconditionally include in API requests. By default, fields with
3930	// empty values are omitted from API requests. However, any non-pointer,
3931	// non-interface field appearing in ForceSendFields will be sent to the
3932	// server regardless of whether the field is empty or not. This may be
3933	// used to include empty fields in Patch requests.
3934	ForceSendFields []string `json:"-"`
3935
3936	// NullFields is a list of field names (e.g. "Agents") to include in API
3937	// requests with the JSON null value. By default, fields with empty
3938	// values are omitted from API requests. However, any field with an
3939	// empty value appearing in NullFields will be sent to the server as
3940	// null. It is an error if a field in this list has a non-empty value.
3941	// This may be used to include null fields in Patch requests.
3942	NullFields []string `json:"-"`
3943}
3944
3945func (s *GoogleCloudDialogflowV2SearchAgentsResponse) MarshalJSON() ([]byte, error) {
3946	type NoMethod GoogleCloudDialogflowV2SearchAgentsResponse
3947	raw := NoMethod(*s)
3948	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3949}
3950
3951// GoogleCloudDialogflowV2Sentiment: The sentiment, such as
3952// positive/negative feeling or association, for a unit
3953// of analysis, such as the query text.
3954type GoogleCloudDialogflowV2Sentiment struct {
3955	// Magnitude: A non-negative number in the [0, +inf) range, which
3956	// represents the absolute
3957	// magnitude of sentiment, regardless of score (positive or negative).
3958	Magnitude float64 `json:"magnitude,omitempty"`
3959
3960	// Score: Sentiment score between -1.0 (negative sentiment) and 1.0
3961	// (positive
3962	// sentiment).
3963	Score float64 `json:"score,omitempty"`
3964
3965	// ForceSendFields is a list of field names (e.g. "Magnitude") to
3966	// unconditionally include in API requests. By default, fields with
3967	// empty values are omitted from API requests. However, any non-pointer,
3968	// non-interface field appearing in ForceSendFields will be sent to the
3969	// server regardless of whether the field is empty or not. This may be
3970	// used to include empty fields in Patch requests.
3971	ForceSendFields []string `json:"-"`
3972
3973	// NullFields is a list of field names (e.g. "Magnitude") to include in
3974	// API requests with the JSON null value. By default, fields with empty
3975	// values are omitted from API requests. However, any field with an
3976	// empty value appearing in NullFields will be sent to the server as
3977	// null. It is an error if a field in this list has a non-empty value.
3978	// This may be used to include null fields in Patch requests.
3979	NullFields []string `json:"-"`
3980}
3981
3982func (s *GoogleCloudDialogflowV2Sentiment) MarshalJSON() ([]byte, error) {
3983	type NoMethod GoogleCloudDialogflowV2Sentiment
3984	raw := NoMethod(*s)
3985	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3986}
3987
3988func (s *GoogleCloudDialogflowV2Sentiment) UnmarshalJSON(data []byte) error {
3989	type NoMethod GoogleCloudDialogflowV2Sentiment
3990	var s1 struct {
3991		Magnitude gensupport.JSONFloat64 `json:"magnitude"`
3992		Score     gensupport.JSONFloat64 `json:"score"`
3993		*NoMethod
3994	}
3995	s1.NoMethod = (*NoMethod)(s)
3996	if err := json.Unmarshal(data, &s1); err != nil {
3997		return err
3998	}
3999	s.Magnitude = float64(s1.Magnitude)
4000	s.Score = float64(s1.Score)
4001	return nil
4002}
4003
4004// GoogleCloudDialogflowV2SentimentAnalysisRequestConfig: Configures the
4005// types of sentiment analysis to perform.
4006type GoogleCloudDialogflowV2SentimentAnalysisRequestConfig struct {
4007	// AnalyzeQueryTextSentiment: Optional. Instructs the service to perform
4008	// sentiment analysis on
4009	// `query_text`. If not provided, sentiment analysis is not performed
4010	// on
4011	// `query_text`.
4012	AnalyzeQueryTextSentiment bool `json:"analyzeQueryTextSentiment,omitempty"`
4013
4014	// ForceSendFields is a list of field names (e.g.
4015	// "AnalyzeQueryTextSentiment") to unconditionally include in API
4016	// requests. By default, fields with empty values are omitted from API
4017	// requests. However, any non-pointer, non-interface field appearing in
4018	// ForceSendFields will be sent to the server regardless of whether the
4019	// field is empty or not. This may be used to include empty fields in
4020	// Patch requests.
4021	ForceSendFields []string `json:"-"`
4022
4023	// NullFields is a list of field names (e.g.
4024	// "AnalyzeQueryTextSentiment") to include in API requests with the JSON
4025	// null value. By default, fields with empty values are omitted from API
4026	// requests. However, any field with an empty value appearing in
4027	// NullFields will be sent to the server as null. It is an error if a
4028	// field in this list has a non-empty value. This may be used to include
4029	// null fields in Patch requests.
4030	NullFields []string `json:"-"`
4031}
4032
4033func (s *GoogleCloudDialogflowV2SentimentAnalysisRequestConfig) MarshalJSON() ([]byte, error) {
4034	type NoMethod GoogleCloudDialogflowV2SentimentAnalysisRequestConfig
4035	raw := NoMethod(*s)
4036	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4037}
4038
4039// GoogleCloudDialogflowV2SentimentAnalysisResult: The result of
4040// sentiment analysis as configured
4041// by
4042// `sentiment_analysis_request_config`.
4043type GoogleCloudDialogflowV2SentimentAnalysisResult struct {
4044	// QueryTextSentiment: The sentiment analysis result for `query_text`.
4045	QueryTextSentiment *GoogleCloudDialogflowV2Sentiment `json:"queryTextSentiment,omitempty"`
4046
4047	// ForceSendFields is a list of field names (e.g. "QueryTextSentiment")
4048	// to unconditionally include in API requests. By default, fields with
4049	// empty values are omitted from API requests. However, any non-pointer,
4050	// non-interface field appearing in ForceSendFields will be sent to the
4051	// server regardless of whether the field is empty or not. This may be
4052	// used to include empty fields in Patch requests.
4053	ForceSendFields []string `json:"-"`
4054
4055	// NullFields is a list of field names (e.g. "QueryTextSentiment") to
4056	// include in API requests with the JSON null value. By default, fields
4057	// with empty values are omitted from API requests. However, any field
4058	// with an empty value appearing in NullFields will be sent to the
4059	// server as null. It is an error if a field in this list has a
4060	// non-empty value. This may be used to include null fields in Patch
4061	// requests.
4062	NullFields []string `json:"-"`
4063}
4064
4065func (s *GoogleCloudDialogflowV2SentimentAnalysisResult) MarshalJSON() ([]byte, error) {
4066	type NoMethod GoogleCloudDialogflowV2SentimentAnalysisResult
4067	raw := NoMethod(*s)
4068	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4069}
4070
4071// GoogleCloudDialogflowV2SessionEntityType: Represents a session entity
4072// type.
4073//
4074// Extends or replaces a developer entity type at the user session level
4075// (we
4076// refer to the entity types defined at the agent level as "developer
4077// entity
4078// types").
4079//
4080// Note: session entity types apply to all queries, regardless of the
4081// language.
4082type GoogleCloudDialogflowV2SessionEntityType struct {
4083	// Entities: Required. The collection of entities associated with this
4084	// session entity
4085	// type.
4086	Entities []*GoogleCloudDialogflowV2EntityTypeEntity `json:"entities,omitempty"`
4087
4088	// EntityOverrideMode: Required. Indicates whether the additional data
4089	// should override or
4090	// supplement the developer entity type definition.
4091	//
4092	// Possible values:
4093	//   "ENTITY_OVERRIDE_MODE_UNSPECIFIED" - Not specified. This value
4094	// should be never used.
4095	//   "ENTITY_OVERRIDE_MODE_OVERRIDE" - The collection of session
4096	// entities overrides the collection of entities
4097	// in the corresponding developer entity type.
4098	//   "ENTITY_OVERRIDE_MODE_SUPPLEMENT" - The collection of session
4099	// entities extends the collection of entities in
4100	// the corresponding developer entity type.
4101	//
4102	// Note: Even in this override mode calls to
4103	// `ListSessionEntityTypes`,
4104	// `GetSessionEntityType`, `CreateSessionEntityType`
4105	// and
4106	// `UpdateSessionEntityType` only return the additional entities added
4107	// in
4108	// this session entity type. If you want to get the supplemented
4109	// list,
4110	// please call EntityTypes.GetEntityType on the developer entity
4111	// type
4112	// and merge.
4113	EntityOverrideMode string `json:"entityOverrideMode,omitempty"`
4114
4115	// Name: Required. The unique identifier of this session entity type.
4116	// Format:
4117	// `projects/<Project ID>/agent/sessions/<Session
4118	// ID>/entityTypes/<Entity Type
4119	// Display Name>`.
4120	//
4121	// `<Entity Type Display Name>` must be the display name of an existing
4122	// entity
4123	// type in the same agent that will be overridden or supplemented.
4124	Name string `json:"name,omitempty"`
4125
4126	// ServerResponse contains the HTTP response code and headers from the
4127	// server.
4128	googleapi.ServerResponse `json:"-"`
4129
4130	// ForceSendFields is a list of field names (e.g. "Entities") to
4131	// unconditionally include in API requests. By default, fields with
4132	// empty values are omitted from API requests. However, any non-pointer,
4133	// non-interface field appearing in ForceSendFields will be sent to the
4134	// server regardless of whether the field is empty or not. This may be
4135	// used to include empty fields in Patch requests.
4136	ForceSendFields []string `json:"-"`
4137
4138	// NullFields is a list of field names (e.g. "Entities") to include in
4139	// API requests with the JSON null value. By default, fields with empty
4140	// values are omitted from API requests. However, any field with an
4141	// empty value appearing in NullFields will be sent to the server as
4142	// null. It is an error if a field in this list has a non-empty value.
4143	// This may be used to include null fields in Patch requests.
4144	NullFields []string `json:"-"`
4145}
4146
4147func (s *GoogleCloudDialogflowV2SessionEntityType) MarshalJSON() ([]byte, error) {
4148	type NoMethod GoogleCloudDialogflowV2SessionEntityType
4149	raw := NoMethod(*s)
4150	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4151}
4152
4153// GoogleCloudDialogflowV2SynthesizeSpeechConfig: Configuration of how
4154// speech should be synthesized.
4155type GoogleCloudDialogflowV2SynthesizeSpeechConfig struct {
4156	// EffectsProfileId: Optional. An identifier which selects 'audio
4157	// effects' profiles that are
4158	// applied on (post synthesized) text to speech. Effects are applied on
4159	// top of
4160	// each other in the order they are given.
4161	EffectsProfileId []string `json:"effectsProfileId,omitempty"`
4162
4163	// Pitch: Optional. Speaking pitch, in the range [-20.0, 20.0]. 20 means
4164	// increase 20
4165	// semitones from the original pitch. -20 means decrease 20 semitones
4166	// from the
4167	// original pitch.
4168	Pitch float64 `json:"pitch,omitempty"`
4169
4170	// SpeakingRate: Optional. Speaking rate/speed, in the range [0.25,
4171	// 4.0]. 1.0 is the normal
4172	// native speed supported by the specific voice. 2.0 is twice as fast,
4173	// and
4174	// 0.5 is half as fast. If unset(0.0), defaults to the native 1.0 speed.
4175	// Any
4176	// other values < 0.25 or > 4.0 will return an error.
4177	SpeakingRate float64 `json:"speakingRate,omitempty"`
4178
4179	// Voice: Optional. The desired voice of the synthesized audio.
4180	Voice *GoogleCloudDialogflowV2VoiceSelectionParams `json:"voice,omitempty"`
4181
4182	// VolumeGainDb: Optional. Volume gain (in dB) of the normal native
4183	// volume supported by the
4184	// specific voice, in the range [-96.0, 16.0]. If unset, or set to a
4185	// value of
4186	// 0.0 (dB), will play at normal native signal amplitude. A value of
4187	// -6.0 (dB)
4188	// will play at approximately half the amplitude of the normal native
4189	// signal
4190	// amplitude. A value of +6.0 (dB) will play at approximately twice
4191	// the
4192	// amplitude of the normal native signal amplitude. We strongly
4193	// recommend not
4194	// to exceed +10 (dB) as there's usually no effective increase in
4195	// loudness for
4196	// any value greater than that.
4197	VolumeGainDb float64 `json:"volumeGainDb,omitempty"`
4198
4199	// ForceSendFields is a list of field names (e.g. "EffectsProfileId") to
4200	// unconditionally include in API requests. By default, fields with
4201	// empty values are omitted from API requests. However, any non-pointer,
4202	// non-interface field appearing in ForceSendFields will be sent to the
4203	// server regardless of whether the field is empty or not. This may be
4204	// used to include empty fields in Patch requests.
4205	ForceSendFields []string `json:"-"`
4206
4207	// NullFields is a list of field names (e.g. "EffectsProfileId") to
4208	// include in API requests with the JSON null value. By default, fields
4209	// with empty values are omitted from API requests. However, any field
4210	// with an empty value appearing in NullFields will be sent to the
4211	// server as null. It is an error if a field in this list has a
4212	// non-empty value. This may be used to include null fields in Patch
4213	// requests.
4214	NullFields []string `json:"-"`
4215}
4216
4217func (s *GoogleCloudDialogflowV2SynthesizeSpeechConfig) MarshalJSON() ([]byte, error) {
4218	type NoMethod GoogleCloudDialogflowV2SynthesizeSpeechConfig
4219	raw := NoMethod(*s)
4220	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4221}
4222
4223func (s *GoogleCloudDialogflowV2SynthesizeSpeechConfig) UnmarshalJSON(data []byte) error {
4224	type NoMethod GoogleCloudDialogflowV2SynthesizeSpeechConfig
4225	var s1 struct {
4226		Pitch        gensupport.JSONFloat64 `json:"pitch"`
4227		SpeakingRate gensupport.JSONFloat64 `json:"speakingRate"`
4228		VolumeGainDb gensupport.JSONFloat64 `json:"volumeGainDb"`
4229		*NoMethod
4230	}
4231	s1.NoMethod = (*NoMethod)(s)
4232	if err := json.Unmarshal(data, &s1); err != nil {
4233		return err
4234	}
4235	s.Pitch = float64(s1.Pitch)
4236	s.SpeakingRate = float64(s1.SpeakingRate)
4237	s.VolumeGainDb = float64(s1.VolumeGainDb)
4238	return nil
4239}
4240
4241// GoogleCloudDialogflowV2TextInput: Represents the natural language
4242// text to be processed.
4243type GoogleCloudDialogflowV2TextInput struct {
4244	// LanguageCode: Required. The language of this conversational query.
4245	// See
4246	// [Language
4247	// Support](https://cloud.google.com/dialogflow/docs/reference/
4248	// language)
4249	// for a list of the currently supported language codes. Note that
4250	// queries in
4251	// the same session do not necessarily need to specify the same
4252	// language.
4253	LanguageCode string `json:"languageCode,omitempty"`
4254
4255	// Text: Required. The UTF-8 encoded natural language text to be
4256	// processed.
4257	// Text length must not exceed 256 characters.
4258	Text string `json:"text,omitempty"`
4259
4260	// ForceSendFields is a list of field names (e.g. "LanguageCode") to
4261	// unconditionally include in API requests. By default, fields with
4262	// empty values are omitted from API requests. However, any non-pointer,
4263	// non-interface field appearing in ForceSendFields will be sent to the
4264	// server regardless of whether the field is empty or not. This may be
4265	// used to include empty fields in Patch requests.
4266	ForceSendFields []string `json:"-"`
4267
4268	// NullFields is a list of field names (e.g. "LanguageCode") to include
4269	// in API requests with the JSON null value. By default, fields with
4270	// empty values are omitted from API requests. However, any field with
4271	// an empty value appearing in NullFields will be sent to the server as
4272	// null. It is an error if a field in this list has a non-empty value.
4273	// This may be used to include null fields in Patch requests.
4274	NullFields []string `json:"-"`
4275}
4276
4277func (s *GoogleCloudDialogflowV2TextInput) MarshalJSON() ([]byte, error) {
4278	type NoMethod GoogleCloudDialogflowV2TextInput
4279	raw := NoMethod(*s)
4280	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4281}
4282
4283// GoogleCloudDialogflowV2TrainAgentRequest: The request message for
4284// Agents.TrainAgent.
4285type GoogleCloudDialogflowV2TrainAgentRequest struct {
4286}
4287
4288// GoogleCloudDialogflowV2VoiceSelectionParams: Description of which
4289// voice to use for speech synthesis.
4290type GoogleCloudDialogflowV2VoiceSelectionParams struct {
4291	// Name: Optional. The name of the voice. If not set, the service will
4292	// choose a
4293	// voice based on the other parameters such as language_code
4294	// and
4295	// ssml_gender.
4296	Name string `json:"name,omitempty"`
4297
4298	// SsmlGender: Optional. The preferred gender of the voice. If not set,
4299	// the service will
4300	// choose a voice based on the other parameters such as language_code
4301	// and
4302	// name. Note that this is only a preference, not requirement. If
4303	// a
4304	// voice of the appropriate gender is not available, the synthesizer
4305	// should
4306	// substitute a voice with a different gender rather than failing the
4307	// request.
4308	//
4309	// Possible values:
4310	//   "SSML_VOICE_GENDER_UNSPECIFIED" - An unspecified gender, which
4311	// means that the client doesn't care which
4312	// gender the selected voice will have.
4313	//   "SSML_VOICE_GENDER_MALE" - A male voice.
4314	//   "SSML_VOICE_GENDER_FEMALE" - A female voice.
4315	//   "SSML_VOICE_GENDER_NEUTRAL" - A gender-neutral voice.
4316	SsmlGender string `json:"ssmlGender,omitempty"`
4317
4318	// ForceSendFields is a list of field names (e.g. "Name") to
4319	// unconditionally include in API requests. By default, fields with
4320	// empty values are omitted from API requests. However, any non-pointer,
4321	// non-interface field appearing in ForceSendFields will be sent to the
4322	// server regardless of whether the field is empty or not. This may be
4323	// used to include empty fields in Patch requests.
4324	ForceSendFields []string `json:"-"`
4325
4326	// NullFields is a list of field names (e.g. "Name") to include in API
4327	// requests with the JSON null value. By default, fields with empty
4328	// values are omitted from API requests. However, any field with an
4329	// empty value appearing in NullFields will be sent to the server as
4330	// null. It is an error if a field in this list has a non-empty value.
4331	// This may be used to include null fields in Patch requests.
4332	NullFields []string `json:"-"`
4333}
4334
4335func (s *GoogleCloudDialogflowV2VoiceSelectionParams) MarshalJSON() ([]byte, error) {
4336	type NoMethod GoogleCloudDialogflowV2VoiceSelectionParams
4337	raw := NoMethod(*s)
4338	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4339}
4340
4341// GoogleCloudDialogflowV2WebhookRequest: The request message for a
4342// webhook call.
4343type GoogleCloudDialogflowV2WebhookRequest struct {
4344	// OriginalDetectIntentRequest: Optional. The contents of the original
4345	// request that was passed to
4346	// `[Streaming]DetectIntent` call.
4347	OriginalDetectIntentRequest *GoogleCloudDialogflowV2OriginalDetectIntentRequest `json:"originalDetectIntentRequest,omitempty"`
4348
4349	// QueryResult: The result of the conversational query or event
4350	// processing. Contains the
4351	// same value as `[Streaming]DetectIntentResponse.query_result`.
4352	QueryResult *GoogleCloudDialogflowV2QueryResult `json:"queryResult,omitempty"`
4353
4354	// ResponseId: The unique identifier of the response. Contains the same
4355	// value as
4356	// `[Streaming]DetectIntentResponse.response_id`.
4357	ResponseId string `json:"responseId,omitempty"`
4358
4359	// Session: The unique identifier of detectIntent request session.
4360	// Can be used to identify end-user inside webhook
4361	// implementation.
4362	// Format: `projects/<Project ID>/agent/sessions/<Session ID>`,
4363	// or
4364	// `projects/<Project ID>/agent/environments/<Environment
4365	// ID>/users/<User
4366	// ID>/sessions/<Session ID>`.
4367	Session string `json:"session,omitempty"`
4368
4369	// ForceSendFields is a list of field names (e.g.
4370	// "OriginalDetectIntentRequest") to unconditionally include in API
4371	// requests. By default, fields with empty values are omitted from API
4372	// requests. However, any non-pointer, non-interface field appearing in
4373	// ForceSendFields will be sent to the server regardless of whether the
4374	// field is empty or not. This may be used to include empty fields in
4375	// Patch requests.
4376	ForceSendFields []string `json:"-"`
4377
4378	// NullFields is a list of field names (e.g.
4379	// "OriginalDetectIntentRequest") to include in API requests with the
4380	// JSON null value. By default, fields with empty values are omitted
4381	// from API requests. However, any field with an empty value appearing
4382	// in NullFields will be sent to the server as null. It is an error if a
4383	// field in this list has a non-empty value. This may be used to include
4384	// null fields in Patch requests.
4385	NullFields []string `json:"-"`
4386}
4387
4388func (s *GoogleCloudDialogflowV2WebhookRequest) MarshalJSON() ([]byte, error) {
4389	type NoMethod GoogleCloudDialogflowV2WebhookRequest
4390	raw := NoMethod(*s)
4391	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4392}
4393
4394// GoogleCloudDialogflowV2WebhookResponse: The response message for a
4395// webhook call.
4396type GoogleCloudDialogflowV2WebhookResponse struct {
4397	// FollowupEventInput: Optional. Makes the platform immediately invoke
4398	// another `DetectIntent` call
4399	// internally with the specified event as input.
4400	// When this field is set, Dialogflow ignores the
4401	// `fulfillment_text`,
4402	// `fulfillment_messages`, and `payload` fields.
4403	FollowupEventInput *GoogleCloudDialogflowV2EventInput `json:"followupEventInput,omitempty"`
4404
4405	// FulfillmentMessages: Optional. The collection of rich messages to
4406	// present to the user. This
4407	// value is passed directly to `QueryResult.fulfillment_messages`.
4408	FulfillmentMessages []*GoogleCloudDialogflowV2IntentMessage `json:"fulfillmentMessages,omitempty"`
4409
4410	// FulfillmentText: Optional. The text to be shown on the screen. This
4411	// value is passed directly
4412	// to `QueryResult.fulfillment_text`.
4413	FulfillmentText string `json:"fulfillmentText,omitempty"`
4414
4415	// OutputContexts: Optional. The collection of output contexts. This
4416	// value is passed directly
4417	// to `QueryResult.output_contexts`.
4418	OutputContexts []*GoogleCloudDialogflowV2Context `json:"outputContexts,omitempty"`
4419
4420	// Payload: Optional. This value is passed directly to
4421	// `QueryResult.webhook_payload`.
4422	// See the related `fulfillment_messages[i].payload field`, which may be
4423	// used
4424	// as an alternative to this field.
4425	//
4426	// This field can be used for Actions on Google responses.
4427	// It should have a structure similar to the JSON message shown here.
4428	// For more
4429	// information, see
4430	// [Actions on Google
4431	// Webhook
4432	// Format](https://developers.google.com/actions/dialogflow/webho
4433	// ok)
4434	// <pre>{
4435	//   "google": {
4436	//     "expectUserResponse": true,
4437	//     "richResponse": {
4438	//       "items": [
4439	//         {
4440	//           "simpleResponse": {
4441	//             "textToSpeech": "this is a simple response"
4442	//           }
4443	//         }
4444	//       ]
4445	//     }
4446	//   }
4447	// }</pre>
4448	Payload googleapi.RawMessage `json:"payload,omitempty"`
4449
4450	// SessionEntityTypes: Optional. Additional session entity types to
4451	// replace or extend developer
4452	// entity types with. The entity synonyms apply to all languages and
4453	// persist
4454	// for the session of this query. Setting the session entity types
4455	// inside
4456	// webhook overwrites the session entity types that have been set
4457	// through
4458	// `DetectIntentRequest.query_params.session_entity_types`.
4459	SessionEntityTypes []*GoogleCloudDialogflowV2SessionEntityType `json:"sessionEntityTypes,omitempty"`
4460
4461	// Source: Optional. This value is passed directly to
4462	// `QueryResult.webhook_source`.
4463	Source string `json:"source,omitempty"`
4464
4465	// ForceSendFields is a list of field names (e.g. "FollowupEventInput")
4466	// to unconditionally include in API requests. By default, fields with
4467	// empty values are omitted from API requests. However, any non-pointer,
4468	// non-interface field appearing in ForceSendFields will be sent to the
4469	// server regardless of whether the field is empty or not. This may be
4470	// used to include empty fields in Patch requests.
4471	ForceSendFields []string `json:"-"`
4472
4473	// NullFields is a list of field names (e.g. "FollowupEventInput") to
4474	// include in API requests with the JSON null value. By default, fields
4475	// with empty values are omitted from API requests. However, any field
4476	// with an empty value appearing in NullFields will be sent to the
4477	// server as null. It is an error if a field in this list has a
4478	// non-empty value. This may be used to include null fields in Patch
4479	// requests.
4480	NullFields []string `json:"-"`
4481}
4482
4483func (s *GoogleCloudDialogflowV2WebhookResponse) MarshalJSON() ([]byte, error) {
4484	type NoMethod GoogleCloudDialogflowV2WebhookResponse
4485	raw := NoMethod(*s)
4486	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4487}
4488
4489// GoogleCloudDialogflowV2beta1AnnotatedConversationDataset: Represents
4490// an annotated conversation dataset.
4491// ConversationDataset can have multiple AnnotatedConversationDataset,
4492// each of
4493// them represents one result from one annotation
4494// task.
4495// AnnotatedConversationDataset can only be generated from annotation
4496// task,
4497// which will be triggered by LabelConversation.
4498type GoogleCloudDialogflowV2beta1AnnotatedConversationDataset struct {
4499	// CompletedExampleCount: Output only. Number of examples that have
4500	// annotations in the annotated
4501	// conversation dataset.
4502	CompletedExampleCount int64 `json:"completedExampleCount,omitempty,string"`
4503
4504	// CreateTime: Output only. Creation time of this annotated conversation
4505	// dataset.
4506	CreateTime string `json:"createTime,omitempty"`
4507
4508	// Description: Optional. The description of the annotated conversation
4509	// dataset.
4510	// Maximum of 10000 bytes.
4511	Description string `json:"description,omitempty"`
4512
4513	// DisplayName: Required. The display name of the annotated conversation
4514	// dataset.
4515	// It's specified when user starts an annotation task. Maximum of 64
4516	// bytes.
4517	DisplayName string `json:"displayName,omitempty"`
4518
4519	// ExampleCount: Output only. Number of examples in the annotated
4520	// conversation dataset.
4521	ExampleCount int64 `json:"exampleCount,omitempty,string"`
4522
4523	// Name: Output only. AnnotatedConversationDataset resource name.
4524	// Format:
4525	// `projects/<Project ID>/conversationDatasets/<Conversation
4526	// Dataset
4527	// ID>/annotatedConversationDatasets/<Annotated Conversation Dataset
4528	// ID>`
4529	Name string `json:"name,omitempty"`
4530
4531	// QuestionTypeName: Output only. Question type name that identifies a
4532	// labeling task.
4533	// A question is a single task that a worker answers. A question type is
4534	// set
4535	// of related questions. Each question belongs to a particular question
4536	// type.
4537	// It can be used in CrowdCompute UI to filter and manage labeling
4538	// tasks.
4539	QuestionTypeName string `json:"questionTypeName,omitempty"`
4540
4541	// ForceSendFields is a list of field names (e.g.
4542	// "CompletedExampleCount") to unconditionally include in API requests.
4543	// By default, fields with empty values are omitted from API requests.
4544	// However, any non-pointer, non-interface field appearing in
4545	// ForceSendFields will be sent to the server regardless of whether the
4546	// field is empty or not. This may be used to include empty fields in
4547	// Patch requests.
4548	ForceSendFields []string `json:"-"`
4549
4550	// NullFields is a list of field names (e.g. "CompletedExampleCount") to
4551	// include in API requests with the JSON null value. By default, fields
4552	// with empty values are omitted from API requests. However, any field
4553	// with an empty value appearing in NullFields will be sent to the
4554	// server as null. It is an error if a field in this list has a
4555	// non-empty value. This may be used to include null fields in Patch
4556	// requests.
4557	NullFields []string `json:"-"`
4558}
4559
4560func (s *GoogleCloudDialogflowV2beta1AnnotatedConversationDataset) MarshalJSON() ([]byte, error) {
4561	type NoMethod GoogleCloudDialogflowV2beta1AnnotatedConversationDataset
4562	raw := NoMethod(*s)
4563	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4564}
4565
4566// GoogleCloudDialogflowV2beta1BatchUpdateEntityTypesResponse: The
4567// response message for EntityTypes.BatchUpdateEntityTypes.
4568type GoogleCloudDialogflowV2beta1BatchUpdateEntityTypesResponse struct {
4569	// EntityTypes: The collection of updated or created entity types.
4570	EntityTypes []*GoogleCloudDialogflowV2beta1EntityType `json:"entityTypes,omitempty"`
4571
4572	// ForceSendFields is a list of field names (e.g. "EntityTypes") to
4573	// unconditionally include in API requests. By default, fields with
4574	// empty values are omitted from API requests. However, any non-pointer,
4575	// non-interface field appearing in ForceSendFields will be sent to the
4576	// server regardless of whether the field is empty or not. This may be
4577	// used to include empty fields in Patch requests.
4578	ForceSendFields []string `json:"-"`
4579
4580	// NullFields is a list of field names (e.g. "EntityTypes") to include
4581	// in API requests with the JSON null value. By default, fields with
4582	// empty values are omitted from API requests. However, any field with
4583	// an empty value appearing in NullFields will be sent to the server as
4584	// null. It is an error if a field in this list has a non-empty value.
4585	// This may be used to include null fields in Patch requests.
4586	NullFields []string `json:"-"`
4587}
4588
4589func (s *GoogleCloudDialogflowV2beta1BatchUpdateEntityTypesResponse) MarshalJSON() ([]byte, error) {
4590	type NoMethod GoogleCloudDialogflowV2beta1BatchUpdateEntityTypesResponse
4591	raw := NoMethod(*s)
4592	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4593}
4594
4595// GoogleCloudDialogflowV2beta1BatchUpdateIntentsResponse: The response
4596// message for Intents.BatchUpdateIntents.
4597type GoogleCloudDialogflowV2beta1BatchUpdateIntentsResponse struct {
4598	// Intents: The collection of updated or created intents.
4599	Intents []*GoogleCloudDialogflowV2beta1Intent `json:"intents,omitempty"`
4600
4601	// ForceSendFields is a list of field names (e.g. "Intents") to
4602	// unconditionally include in API requests. By default, fields with
4603	// empty values are omitted from API requests. However, any non-pointer,
4604	// non-interface field appearing in ForceSendFields will be sent to the
4605	// server regardless of whether the field is empty or not. This may be
4606	// used to include empty fields in Patch requests.
4607	ForceSendFields []string `json:"-"`
4608
4609	// NullFields is a list of field names (e.g. "Intents") to include in
4610	// API requests with the JSON null value. By default, fields with empty
4611	// values are omitted from API requests. However, any field with an
4612	// empty value appearing in NullFields will be sent to the server as
4613	// null. It is an error if a field in this list has a non-empty value.
4614	// This may be used to include null fields in Patch requests.
4615	NullFields []string `json:"-"`
4616}
4617
4618func (s *GoogleCloudDialogflowV2beta1BatchUpdateIntentsResponse) MarshalJSON() ([]byte, error) {
4619	type NoMethod GoogleCloudDialogflowV2beta1BatchUpdateIntentsResponse
4620	raw := NoMethod(*s)
4621	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4622}
4623
4624// GoogleCloudDialogflowV2beta1Context: Represents a context.
4625type GoogleCloudDialogflowV2beta1Context struct {
4626	// LifespanCount: Optional. The number of conversational query requests
4627	// after which the
4628	// context expires. If set to `0` (the default) the context
4629	// expires
4630	// immediately. Contexts expire automatically after 20 minutes if
4631	// there
4632	// are no matching queries.
4633	LifespanCount int64 `json:"lifespanCount,omitempty"`
4634
4635	// Name: Required. The unique identifier of the context.
4636	// Format:
4637	// `projects/<Project ID>/agent/sessions/<Session ID>/contexts/<Context
4638	// ID>`,
4639	// or `projects/<Project ID>/agent/environments/<Environment
4640	// ID>/users/<User
4641	// ID>/sessions/<Session ID>/contexts/<Context ID>`.
4642	//
4643	// The `Context ID` is always converted to lowercase, may only
4644	// contain
4645	// characters in a-zA-Z0-9_-% and may be at most 250 bytes long.
4646	//
4647	// If `Environment ID` is not specified, we assume default
4648	// 'draft'
4649	// environment. If `User ID` is not specified, we assume default '-'
4650	// user.
4651	Name string `json:"name,omitempty"`
4652
4653	// Parameters: Optional. The collection of parameters associated with
4654	// this context.
4655	// Refer to
4656	// [this
4657	// doc](https://cloud.google.com/dialogflow/docs/intents-actions-pa
4658	// rameters)
4659	// for syntax.
4660	Parameters googleapi.RawMessage `json:"parameters,omitempty"`
4661
4662	// ForceSendFields is a list of field names (e.g. "LifespanCount") to
4663	// unconditionally include in API requests. By default, fields with
4664	// empty values are omitted from API requests. However, any non-pointer,
4665	// non-interface field appearing in ForceSendFields will be sent to the
4666	// server regardless of whether the field is empty or not. This may be
4667	// used to include empty fields in Patch requests.
4668	ForceSendFields []string `json:"-"`
4669
4670	// NullFields is a list of field names (e.g. "LifespanCount") to include
4671	// in API requests with the JSON null value. By default, fields with
4672	// empty values are omitted from API requests. However, any field with
4673	// an empty value appearing in NullFields will be sent to the server as
4674	// null. It is an error if a field in this list has a non-empty value.
4675	// This may be used to include null fields in Patch requests.
4676	NullFields []string `json:"-"`
4677}
4678
4679func (s *GoogleCloudDialogflowV2beta1Context) MarshalJSON() ([]byte, error) {
4680	type NoMethod GoogleCloudDialogflowV2beta1Context
4681	raw := NoMethod(*s)
4682	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4683}
4684
4685// GoogleCloudDialogflowV2beta1EntityType: Represents an entity
4686// type.
4687// Entity types serve as a tool for extracting parameter values from
4688// natural
4689// language queries.
4690type GoogleCloudDialogflowV2beta1EntityType struct {
4691	// AutoExpansionMode: Optional. Indicates whether the entity type can be
4692	// automatically
4693	// expanded.
4694	//
4695	// Possible values:
4696	//   "AUTO_EXPANSION_MODE_UNSPECIFIED" - Auto expansion disabled for the
4697	// entity.
4698	//   "AUTO_EXPANSION_MODE_DEFAULT" - Allows an agent to recognize values
4699	// that have not been explicitly
4700	// listed in the entity.
4701	AutoExpansionMode string `json:"autoExpansionMode,omitempty"`
4702
4703	// DisplayName: Required. The name of the entity type.
4704	DisplayName string `json:"displayName,omitempty"`
4705
4706	// EnableFuzzyExtraction: Optional. Enables fuzzy entity extraction
4707	// during classification.
4708	EnableFuzzyExtraction bool `json:"enableFuzzyExtraction,omitempty"`
4709
4710	// Entities: Optional. The collection of entity entries associated with
4711	// the entity type.
4712	Entities []*GoogleCloudDialogflowV2beta1EntityTypeEntity `json:"entities,omitempty"`
4713
4714	// Kind: Required. Indicates the kind of entity type.
4715	//
4716	// Possible values:
4717	//   "KIND_UNSPECIFIED" - Not specified. This value should be never
4718	// used.
4719	//   "KIND_MAP" - Map entity types allow mapping of a group of synonyms
4720	// to a canonical
4721	// value.
4722	//   "KIND_LIST" - List entity types contain a set of entries that do
4723	// not map to canonical
4724	// values. However, list entity types can contain references to other
4725	// entity
4726	// types (with or without aliases).
4727	//   "KIND_REGEXP" - Regexp entity types allow to specify regular
4728	// expressions in entries
4729	// values.
4730	Kind string `json:"kind,omitempty"`
4731
4732	// Name: The unique identifier of the entity type.
4733	// Required for EntityTypes.UpdateEntityType
4734	// and
4735	// EntityTypes.BatchUpdateEntityTypes methods.
4736	// Format: `projects/<Project ID>/agent/entityTypes/<Entity Type ID>`.
4737	Name string `json:"name,omitempty"`
4738
4739	// ForceSendFields is a list of field names (e.g. "AutoExpansionMode")
4740	// to unconditionally include in API requests. By default, fields with
4741	// empty values are omitted from API requests. However, any non-pointer,
4742	// non-interface field appearing in ForceSendFields will be sent to the
4743	// server regardless of whether the field is empty or not. This may be
4744	// used to include empty fields in Patch requests.
4745	ForceSendFields []string `json:"-"`
4746
4747	// NullFields is a list of field names (e.g. "AutoExpansionMode") to
4748	// include in API requests with the JSON null value. By default, fields
4749	// with empty values are omitted from API requests. However, any field
4750	// with an empty value appearing in NullFields will be sent to the
4751	// server as null. It is an error if a field in this list has a
4752	// non-empty value. This may be used to include null fields in Patch
4753	// requests.
4754	NullFields []string `json:"-"`
4755}
4756
4757func (s *GoogleCloudDialogflowV2beta1EntityType) MarshalJSON() ([]byte, error) {
4758	type NoMethod GoogleCloudDialogflowV2beta1EntityType
4759	raw := NoMethod(*s)
4760	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4761}
4762
4763// GoogleCloudDialogflowV2beta1EntityTypeEntity: An **entity entry** for
4764// an associated entity type.
4765type GoogleCloudDialogflowV2beta1EntityTypeEntity struct {
4766	// Synonyms: Required. A collection of value synonyms. For example, if
4767	// the entity type
4768	// is *vegetable*, and `value` is *scallions*, a synonym could be
4769	// *green
4770	// onions*.
4771	//
4772	// For `KIND_LIST` entity types:
4773	//
4774	// *   This collection must contain exactly one synonym equal to
4775	// `value`.
4776	Synonyms []string `json:"synonyms,omitempty"`
4777
4778	// Value: Required. The primary value associated with this entity
4779	// entry.
4780	// For example, if the entity type is *vegetable*, the value could
4781	// be
4782	// *scallions*.
4783	//
4784	// For `KIND_MAP` entity types:
4785	//
4786	// *   A canonical value to be used in place of synonyms.
4787	//
4788	// For `KIND_LIST` entity types:
4789	//
4790	// *   A string that can contain references to other entity types (with
4791	// or
4792	//     without aliases).
4793	Value string `json:"value,omitempty"`
4794
4795	// ForceSendFields is a list of field names (e.g. "Synonyms") to
4796	// unconditionally include in API requests. By default, fields with
4797	// empty values are omitted from API requests. However, any non-pointer,
4798	// non-interface field appearing in ForceSendFields will be sent to the
4799	// server regardless of whether the field is empty or not. This may be
4800	// used to include empty fields in Patch requests.
4801	ForceSendFields []string `json:"-"`
4802
4803	// NullFields is a list of field names (e.g. "Synonyms") to include in
4804	// API requests with the JSON null value. By default, fields with empty
4805	// values are omitted from API requests. However, any field with an
4806	// empty value appearing in NullFields will be sent to the server as
4807	// null. It is an error if a field in this list has a non-empty value.
4808	// This may be used to include null fields in Patch requests.
4809	NullFields []string `json:"-"`
4810}
4811
4812func (s *GoogleCloudDialogflowV2beta1EntityTypeEntity) MarshalJSON() ([]byte, error) {
4813	type NoMethod GoogleCloudDialogflowV2beta1EntityTypeEntity
4814	raw := NoMethod(*s)
4815	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4816}
4817
4818// GoogleCloudDialogflowV2beta1EventInput: Events allow for matching
4819// intents by event name instead of the natural
4820// language input. For instance, input `<event: { name:
4821// "welcome_event",
4822// parameters: { name: "Sam" } }>` can trigger a personalized welcome
4823// response.
4824// The parameter `name` may be used by the agent in the
4825// response:
4826// "Hello #welcome_event.name! What can I do for you today?".
4827type GoogleCloudDialogflowV2beta1EventInput struct {
4828	// LanguageCode: Required. The language of this query. See
4829	// [Language
4830	// Support](https://cloud.google.com/dialogflow/docs/reference/
4831	// language)
4832	// for a list of the currently supported language codes. Note that
4833	// queries in
4834	// the same session do not necessarily need to specify the same
4835	// language.
4836	LanguageCode string `json:"languageCode,omitempty"`
4837
4838	// Name: Required. The unique identifier of the event.
4839	Name string `json:"name,omitempty"`
4840
4841	// Parameters: Optional. The collection of parameters associated with
4842	// the event.
4843	Parameters googleapi.RawMessage `json:"parameters,omitempty"`
4844
4845	// ForceSendFields is a list of field names (e.g. "LanguageCode") to
4846	// unconditionally include in API requests. By default, fields with
4847	// empty values are omitted from API requests. However, any non-pointer,
4848	// non-interface field appearing in ForceSendFields will be sent to the
4849	// server regardless of whether the field is empty or not. This may be
4850	// used to include empty fields in Patch requests.
4851	ForceSendFields []string `json:"-"`
4852
4853	// NullFields is a list of field names (e.g. "LanguageCode") to include
4854	// in API requests with the JSON null value. By default, fields with
4855	// empty values are omitted from API requests. However, any field with
4856	// an empty value appearing in NullFields will be sent to the server as
4857	// null. It is an error if a field in this list has a non-empty value.
4858	// This may be used to include null fields in Patch requests.
4859	NullFields []string `json:"-"`
4860}
4861
4862func (s *GoogleCloudDialogflowV2beta1EventInput) MarshalJSON() ([]byte, error) {
4863	type NoMethod GoogleCloudDialogflowV2beta1EventInput
4864	raw := NoMethod(*s)
4865	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4866}
4867
4868// GoogleCloudDialogflowV2beta1ExportAgentResponse: The response message
4869// for Agents.ExportAgent.
4870type GoogleCloudDialogflowV2beta1ExportAgentResponse struct {
4871	// AgentContent: Zip compressed raw byte content for agent.
4872	AgentContent string `json:"agentContent,omitempty"`
4873
4874	// AgentUri: The URI to a file containing the exported agent. This field
4875	// is populated
4876	// only if `agent_uri` is specified in `ExportAgentRequest`.
4877	AgentUri string `json:"agentUri,omitempty"`
4878
4879	// ForceSendFields is a list of field names (e.g. "AgentContent") to
4880	// unconditionally include in API requests. By default, fields with
4881	// empty values are omitted from API requests. However, any non-pointer,
4882	// non-interface field appearing in ForceSendFields will be sent to the
4883	// server regardless of whether the field is empty or not. This may be
4884	// used to include empty fields in Patch requests.
4885	ForceSendFields []string `json:"-"`
4886
4887	// NullFields is a list of field names (e.g. "AgentContent") to include
4888	// in API requests with the JSON null value. By default, fields with
4889	// empty values are omitted from API requests. However, any field with
4890	// an empty value appearing in NullFields will be sent to the server as
4891	// null. It is an error if a field in this list has a non-empty value.
4892	// This may be used to include null fields in Patch requests.
4893	NullFields []string `json:"-"`
4894}
4895
4896func (s *GoogleCloudDialogflowV2beta1ExportAgentResponse) MarshalJSON() ([]byte, error) {
4897	type NoMethod GoogleCloudDialogflowV2beta1ExportAgentResponse
4898	raw := NoMethod(*s)
4899	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4900}
4901
4902// GoogleCloudDialogflowV2beta1Intent: Represents an intent.
4903// Intents convert a number of user expressions or patterns into an
4904// action. An
4905// action is an extraction of a user command or sentence semantics.
4906type GoogleCloudDialogflowV2beta1Intent struct {
4907	// Action: Optional. The name of the action associated with the
4908	// intent.
4909	// Note: The action name must not contain whitespaces.
4910	Action string `json:"action,omitempty"`
4911
4912	// DefaultResponsePlatforms: Optional. The list of platforms for which
4913	// the first responses will be
4914	// copied from the messages in PLATFORM_UNSPECIFIED (i.e. default
4915	// platform).
4916	//
4917	// Possible values:
4918	//   "PLATFORM_UNSPECIFIED" - Not specified.
4919	//   "FACEBOOK" - Facebook.
4920	//   "SLACK" - Slack.
4921	//   "TELEGRAM" - Telegram.
4922	//   "KIK" - Kik.
4923	//   "SKYPE" - Skype.
4924	//   "LINE" - Line.
4925	//   "VIBER" - Viber.
4926	//   "ACTIONS_ON_GOOGLE" - Actions on Google.
4927	// When using Actions on Google, you can choose one of the
4928	// specific
4929	// Intent.Message types that mention support for Actions on Google,
4930	// or you can use the advanced Intent.Message.payload field.
4931	// The payload field provides access to AoG features not available in
4932	// the
4933	// specific message types.
4934	// If using the Intent.Message.payload field, it should have a
4935	// structure
4936	// similar to the JSON message shown here. For more information,
4937	// see
4938	// [Actions on Google
4939	// Webhook
4940	// Format](https://developers.google.com/actions/dialogflow/webho
4941	// ok)
4942	// <pre>{
4943	//   "expectUserResponse": true,
4944	//   "isSsml": false,
4945	//   "noInputPrompts": [],
4946	//   "richResponse": {
4947	//     "items": [
4948	//       {
4949	//         "simpleResponse": {
4950	//           "displayText": "hi",
4951	//           "textToSpeech": "hello"
4952	//         }
4953	//       }
4954	//     ],
4955	//     "suggestions": [
4956	//       {
4957	//         "title": "Say this"
4958	//       },
4959	//       {
4960	//         "title": "or this"
4961	//       }
4962	//     ]
4963	//   },
4964	//   "systemIntent": {
4965	//     "data": {
4966	//       "@type":
4967	// "type.googleapis.com/google.actions.v2.OptionValueSpec",
4968	//       "listSelect": {
4969	//         "items": [
4970	//           {
4971	//             "optionInfo": {
4972	//               "key": "key1",
4973	//               "synonyms": [
4974	//                 "key one"
4975	//               ]
4976	//             },
4977	//             "title": "must not be empty, but unique"
4978	//           },
4979	//           {
4980	//             "optionInfo": {
4981	//               "key": "key2",
4982	//               "synonyms": [
4983	//                 "key two"
4984	//               ]
4985	//             },
4986	//             "title": "must not be empty, but unique"
4987	//           }
4988	//         ]
4989	//       }
4990	//     },
4991	//     "intent": "actions.intent.OPTION"
4992	//   }
4993	// }</pre>
4994	//   "TELEPHONY" - Telephony Gateway.
4995	//   "GOOGLE_HANGOUTS" - Google Hangouts.
4996	DefaultResponsePlatforms []string `json:"defaultResponsePlatforms,omitempty"`
4997
4998	// DisplayName: Required. The name of this intent.
4999	DisplayName string `json:"displayName,omitempty"`
5000
5001	// EndInteraction: Optional. Indicates that this intent ends an
5002	// interaction. Some integrations
5003	// (e.g., Actions on Google or Dialogflow phone gateway) use this
5004	// information
5005	// to close interaction with an end user. Default is false.
5006	EndInteraction bool `json:"endInteraction,omitempty"`
5007
5008	// Events: Optional. The collection of event names that trigger the
5009	// intent.
5010	// If the collection of input contexts is not empty, all of the contexts
5011	// must
5012	// be present in the active user session for an event to trigger this
5013	// intent.
5014	Events []string `json:"events,omitempty"`
5015
5016	// FollowupIntentInfo: Read-only. Information about all followup intents
5017	// that have this intent as
5018	// a direct or indirect parent. We populate this field only in the
5019	// output.
5020	FollowupIntentInfo []*GoogleCloudDialogflowV2beta1IntentFollowupIntentInfo `json:"followupIntentInfo,omitempty"`
5021
5022	// InputContextNames: Optional. The list of context names required for
5023	// this intent to be
5024	// triggered.
5025	// Format: `projects/<Project ID>/agent/sessions/-/contexts/<Context
5026	// ID>`.
5027	InputContextNames []string `json:"inputContextNames,omitempty"`
5028
5029	// IsFallback: Optional. Indicates whether this is a fallback intent.
5030	IsFallback bool `json:"isFallback,omitempty"`
5031
5032	// Messages: Optional. The collection of rich messages corresponding to
5033	// the
5034	// `Response` field in the Dialogflow console.
5035	Messages []*GoogleCloudDialogflowV2beta1IntentMessage `json:"messages,omitempty"`
5036
5037	// MlDisabled: Optional. Indicates whether Machine Learning is disabled
5038	// for the intent.
5039	// Note: If `ml_disabled` setting is set to true, then this intent is
5040	// not
5041	// taken into account during inference in `ML ONLY` match mode.
5042	// Also,
5043	// auto-markup in the UI is turned off.
5044	MlDisabled bool `json:"mlDisabled,omitempty"`
5045
5046	// MlEnabled: Optional. Indicates whether Machine Learning is enabled
5047	// for the intent.
5048	// Note: If `ml_enabled` setting is set to false, then this intent is
5049	// not
5050	// taken into account during inference in `ML ONLY` match mode.
5051	// Also,
5052	// auto-markup in the UI is turned off.
5053	// DEPRECATED! Please use `ml_disabled` field instead.
5054	// NOTE: If both `ml_enabled` and `ml_disabled` are either not set or
5055	// false,
5056	// then the default value is determined as follows:
5057	// - Before April 15th, 2018 the default is:
5058	//   ml_enabled = false / ml_disabled = true.
5059	// - After April 15th, 2018 the default is:
5060	//   ml_enabled = true / ml_disabled = false.
5061	MlEnabled bool `json:"mlEnabled,omitempty"`
5062
5063	// Name: The unique identifier of this intent.
5064	// Required for Intents.UpdateIntent and
5065	// Intents.BatchUpdateIntents
5066	// methods.
5067	// Format: `projects/<Project ID>/agent/intents/<Intent ID>`.
5068	Name string `json:"name,omitempty"`
5069
5070	// OutputContexts: Optional. The collection of contexts that are
5071	// activated when the intent
5072	// is matched. Context messages in this collection should not set
5073	// the
5074	// parameters field. Setting the `lifespan_count` to 0 will reset the
5075	// context
5076	// when the intent is matched.
5077	// Format: `projects/<Project ID>/agent/sessions/-/contexts/<Context
5078	// ID>`.
5079	OutputContexts []*GoogleCloudDialogflowV2beta1Context `json:"outputContexts,omitempty"`
5080
5081	// Parameters: Optional. The collection of parameters associated with
5082	// the intent.
5083	Parameters []*GoogleCloudDialogflowV2beta1IntentParameter `json:"parameters,omitempty"`
5084
5085	// ParentFollowupIntentName: Read-only after creation. The unique
5086	// identifier of the parent intent in the
5087	// chain of followup intents. You can set this field when creating an
5088	// intent,
5089	// for example with CreateIntent or BatchUpdateIntents, in order to
5090	// make this intent a followup intent.
5091	//
5092	// It identifies the parent followup intent.
5093	// Format: `projects/<Project ID>/agent/intents/<Intent ID>`.
5094	ParentFollowupIntentName string `json:"parentFollowupIntentName,omitempty"`
5095
5096	// Priority: The priority of this intent. Higher numbers represent
5097	// higher
5098	// priorities.
5099	//
5100	// - If the supplied value is unspecified or 0, the service
5101	//   translates the value to 500,000, which corresponds to the
5102	//   `Normal` priority in the console.
5103	// - If the supplied value is negative, the intent is ignored
5104	//   in runtime detect intent requests.
5105	Priority int64 `json:"priority,omitempty"`
5106
5107	// ResetContexts: Optional. Indicates whether to delete all contexts in
5108	// the current
5109	// session when this intent is matched.
5110	ResetContexts bool `json:"resetContexts,omitempty"`
5111
5112	// RootFollowupIntentName: Read-only. The unique identifier of the root
5113	// intent in the chain of
5114	// followup intents. It identifies the correct followup intents chain
5115	// for
5116	// this intent. We populate this field only in the output.
5117	//
5118	// Format: `projects/<Project ID>/agent/intents/<Intent ID>`.
5119	RootFollowupIntentName string `json:"rootFollowupIntentName,omitempty"`
5120
5121	// TrainingPhrases: Optional. The collection of examples that the agent
5122	// is
5123	// trained on.
5124	TrainingPhrases []*GoogleCloudDialogflowV2beta1IntentTrainingPhrase `json:"trainingPhrases,omitempty"`
5125
5126	// WebhookState: Optional. Indicates whether webhooks are enabled for
5127	// the intent.
5128	//
5129	// Possible values:
5130	//   "WEBHOOK_STATE_UNSPECIFIED" - Webhook is disabled in the agent and
5131	// in the intent.
5132	//   "WEBHOOK_STATE_ENABLED" - Webhook is enabled in the agent and in
5133	// the intent.
5134	//   "WEBHOOK_STATE_ENABLED_FOR_SLOT_FILLING" - Webhook is enabled in
5135	// the agent and in the intent. Also, each slot
5136	// filling prompt is forwarded to the webhook.
5137	WebhookState string `json:"webhookState,omitempty"`
5138
5139	// ForceSendFields is a list of field names (e.g. "Action") to
5140	// unconditionally include in API requests. By default, fields with
5141	// empty values are omitted from API requests. However, any non-pointer,
5142	// non-interface field appearing in ForceSendFields will be sent to the
5143	// server regardless of whether the field is empty or not. This may be
5144	// used to include empty fields in Patch requests.
5145	ForceSendFields []string `json:"-"`
5146
5147	// NullFields is a list of field names (e.g. "Action") to include in API
5148	// requests with the JSON null value. By default, fields with empty
5149	// values are omitted from API requests. However, any field with an
5150	// empty value appearing in NullFields will be sent to the server as
5151	// null. It is an error if a field in this list has a non-empty value.
5152	// This may be used to include null fields in Patch requests.
5153	NullFields []string `json:"-"`
5154}
5155
5156func (s *GoogleCloudDialogflowV2beta1Intent) MarshalJSON() ([]byte, error) {
5157	type NoMethod GoogleCloudDialogflowV2beta1Intent
5158	raw := NoMethod(*s)
5159	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5160}
5161
5162// GoogleCloudDialogflowV2beta1IntentFollowupIntentInfo: Represents a
5163// single followup intent in the chain.
5164type GoogleCloudDialogflowV2beta1IntentFollowupIntentInfo struct {
5165	// FollowupIntentName: The unique identifier of the followup
5166	// intent.
5167	// Format: `projects/<Project ID>/agent/intents/<Intent ID>`.
5168	FollowupIntentName string `json:"followupIntentName,omitempty"`
5169
5170	// ParentFollowupIntentName: The unique identifier of the followup
5171	// intent's parent.
5172	// Format: `projects/<Project ID>/agent/intents/<Intent ID>`.
5173	ParentFollowupIntentName string `json:"parentFollowupIntentName,omitempty"`
5174
5175	// ForceSendFields is a list of field names (e.g. "FollowupIntentName")
5176	// to unconditionally include in API requests. By default, fields with
5177	// empty values are omitted from API requests. However, any non-pointer,
5178	// non-interface field appearing in ForceSendFields will be sent to the
5179	// server regardless of whether the field is empty or not. This may be
5180	// used to include empty fields in Patch requests.
5181	ForceSendFields []string `json:"-"`
5182
5183	// NullFields is a list of field names (e.g. "FollowupIntentName") to
5184	// include in API requests with the JSON null value. By default, fields
5185	// with empty values are omitted from API requests. However, any field
5186	// with an empty value appearing in NullFields will be sent to the
5187	// server as null. It is an error if a field in this list has a
5188	// non-empty value. This may be used to include null fields in Patch
5189	// requests.
5190	NullFields []string `json:"-"`
5191}
5192
5193func (s *GoogleCloudDialogflowV2beta1IntentFollowupIntentInfo) MarshalJSON() ([]byte, error) {
5194	type NoMethod GoogleCloudDialogflowV2beta1IntentFollowupIntentInfo
5195	raw := NoMethod(*s)
5196	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5197}
5198
5199// GoogleCloudDialogflowV2beta1IntentMessage: Corresponds to the
5200// `Response` field in the Dialogflow console.
5201type GoogleCloudDialogflowV2beta1IntentMessage struct {
5202	// BasicCard: Displays a basic card for Actions on Google.
5203	BasicCard *GoogleCloudDialogflowV2beta1IntentMessageBasicCard `json:"basicCard,omitempty"`
5204
5205	// BrowseCarouselCard: Browse carousel card for Actions on Google.
5206	BrowseCarouselCard *GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCard `json:"browseCarouselCard,omitempty"`
5207
5208	// Card: Displays a card.
5209	Card *GoogleCloudDialogflowV2beta1IntentMessageCard `json:"card,omitempty"`
5210
5211	// CarouselSelect: Displays a carousel card for Actions on Google.
5212	CarouselSelect *GoogleCloudDialogflowV2beta1IntentMessageCarouselSelect `json:"carouselSelect,omitempty"`
5213
5214	// Image: Displays an image.
5215	Image *GoogleCloudDialogflowV2beta1IntentMessageImage `json:"image,omitempty"`
5216
5217	// LinkOutSuggestion: Displays a link out suggestion chip for Actions on
5218	// Google.
5219	LinkOutSuggestion *GoogleCloudDialogflowV2beta1IntentMessageLinkOutSuggestion `json:"linkOutSuggestion,omitempty"`
5220
5221	// ListSelect: Displays a list card for Actions on Google.
5222	ListSelect *GoogleCloudDialogflowV2beta1IntentMessageListSelect `json:"listSelect,omitempty"`
5223
5224	// MediaContent: The media content card for Actions on Google.
5225	MediaContent *GoogleCloudDialogflowV2beta1IntentMessageMediaContent `json:"mediaContent,omitempty"`
5226
5227	// Payload: Returns a response containing a custom, platform-specific
5228	// payload.
5229	// See the Intent.Message.Platform type for a description of
5230	// the
5231	// structure that may be required for your platform.
5232	Payload googleapi.RawMessage `json:"payload,omitempty"`
5233
5234	// Platform: Optional. The platform that this message is intended for.
5235	//
5236	// Possible values:
5237	//   "PLATFORM_UNSPECIFIED" - Not specified.
5238	//   "FACEBOOK" - Facebook.
5239	//   "SLACK" - Slack.
5240	//   "TELEGRAM" - Telegram.
5241	//   "KIK" - Kik.
5242	//   "SKYPE" - Skype.
5243	//   "LINE" - Line.
5244	//   "VIBER" - Viber.
5245	//   "ACTIONS_ON_GOOGLE" - Actions on Google.
5246	// When using Actions on Google, you can choose one of the
5247	// specific
5248	// Intent.Message types that mention support for Actions on Google,
5249	// or you can use the advanced Intent.Message.payload field.
5250	// The payload field provides access to AoG features not available in
5251	// the
5252	// specific message types.
5253	// If using the Intent.Message.payload field, it should have a
5254	// structure
5255	// similar to the JSON message shown here. For more information,
5256	// see
5257	// [Actions on Google
5258	// Webhook
5259	// Format](https://developers.google.com/actions/dialogflow/webho
5260	// ok)
5261	// <pre>{
5262	//   "expectUserResponse": true,
5263	//   "isSsml": false,
5264	//   "noInputPrompts": [],
5265	//   "richResponse": {
5266	//     "items": [
5267	//       {
5268	//         "simpleResponse": {
5269	//           "displayText": "hi",
5270	//           "textToSpeech": "hello"
5271	//         }
5272	//       }
5273	//     ],
5274	//     "suggestions": [
5275	//       {
5276	//         "title": "Say this"
5277	//       },
5278	//       {
5279	//         "title": "or this"
5280	//       }
5281	//     ]
5282	//   },
5283	//   "systemIntent": {
5284	//     "data": {
5285	//       "@type":
5286	// "type.googleapis.com/google.actions.v2.OptionValueSpec",
5287	//       "listSelect": {
5288	//         "items": [
5289	//           {
5290	//             "optionInfo": {
5291	//               "key": "key1",
5292	//               "synonyms": [
5293	//                 "key one"
5294	//               ]
5295	//             },
5296	//             "title": "must not be empty, but unique"
5297	//           },
5298	//           {
5299	//             "optionInfo": {
5300	//               "key": "key2",
5301	//               "synonyms": [
5302	//                 "key two"
5303	//               ]
5304	//             },
5305	//             "title": "must not be empty, but unique"
5306	//           }
5307	//         ]
5308	//       }
5309	//     },
5310	//     "intent": "actions.intent.OPTION"
5311	//   }
5312	// }</pre>
5313	//   "TELEPHONY" - Telephony Gateway.
5314	//   "GOOGLE_HANGOUTS" - Google Hangouts.
5315	Platform string `json:"platform,omitempty"`
5316
5317	// QuickReplies: Displays quick replies.
5318	QuickReplies *GoogleCloudDialogflowV2beta1IntentMessageQuickReplies `json:"quickReplies,omitempty"`
5319
5320	// RbmCarouselRichCard: Rich Business Messaging (RBM) carousel rich card
5321	// response.
5322	RbmCarouselRichCard *GoogleCloudDialogflowV2beta1IntentMessageRbmCarouselCard `json:"rbmCarouselRichCard,omitempty"`
5323
5324	// RbmStandaloneRichCard: Standalone Rich Business Messaging (RBM) rich
5325	// card response.
5326	RbmStandaloneRichCard *GoogleCloudDialogflowV2beta1IntentMessageRbmStandaloneCard `json:"rbmStandaloneRichCard,omitempty"`
5327
5328	// RbmText: Rich Business Messaging (RBM) text response.
5329	//
5330	// RBM allows businesses to send enriched and branded versions of SMS.
5331	// See
5332	// https://jibe.google.com/business-messaging.
5333	RbmText *GoogleCloudDialogflowV2beta1IntentMessageRbmText `json:"rbmText,omitempty"`
5334
5335	// SimpleResponses: Returns a voice or text-only response for Actions on
5336	// Google.
5337	SimpleResponses *GoogleCloudDialogflowV2beta1IntentMessageSimpleResponses `json:"simpleResponses,omitempty"`
5338
5339	// Suggestions: Displays suggestion chips for Actions on Google.
5340	Suggestions *GoogleCloudDialogflowV2beta1IntentMessageSuggestions `json:"suggestions,omitempty"`
5341
5342	// TableCard: Table card for Actions on Google.
5343	TableCard *GoogleCloudDialogflowV2beta1IntentMessageTableCard `json:"tableCard,omitempty"`
5344
5345	// TelephonyPlayAudio: Plays audio from a file in Telephony Gateway.
5346	TelephonyPlayAudio *GoogleCloudDialogflowV2beta1IntentMessageTelephonyPlayAudio `json:"telephonyPlayAudio,omitempty"`
5347
5348	// TelephonySynthesizeSpeech: Synthesizes speech in Telephony Gateway.
5349	TelephonySynthesizeSpeech *GoogleCloudDialogflowV2beta1IntentMessageTelephonySynthesizeSpeech `json:"telephonySynthesizeSpeech,omitempty"`
5350
5351	// TelephonyTransferCall: Transfers the call in Telephony Gateway.
5352	TelephonyTransferCall *GoogleCloudDialogflowV2beta1IntentMessageTelephonyTransferCall `json:"telephonyTransferCall,omitempty"`
5353
5354	// Text: Returns a text response.
5355	Text *GoogleCloudDialogflowV2beta1IntentMessageText `json:"text,omitempty"`
5356
5357	// ForceSendFields is a list of field names (e.g. "BasicCard") to
5358	// unconditionally include in API requests. By default, fields with
5359	// empty values are omitted from API requests. However, any non-pointer,
5360	// non-interface field appearing in ForceSendFields will be sent to the
5361	// server regardless of whether the field is empty or not. This may be
5362	// used to include empty fields in Patch requests.
5363	ForceSendFields []string `json:"-"`
5364
5365	// NullFields is a list of field names (e.g. "BasicCard") to include in
5366	// API requests with the JSON null value. By default, fields with empty
5367	// values are omitted from API requests. However, any field with an
5368	// empty value appearing in NullFields will be sent to the server as
5369	// null. It is an error if a field in this list has a non-empty value.
5370	// This may be used to include null fields in Patch requests.
5371	NullFields []string `json:"-"`
5372}
5373
5374func (s *GoogleCloudDialogflowV2beta1IntentMessage) MarshalJSON() ([]byte, error) {
5375	type NoMethod GoogleCloudDialogflowV2beta1IntentMessage
5376	raw := NoMethod(*s)
5377	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5378}
5379
5380// GoogleCloudDialogflowV2beta1IntentMessageBasicCard: The basic card
5381// message. Useful for displaying information.
5382type GoogleCloudDialogflowV2beta1IntentMessageBasicCard struct {
5383	// Buttons: Optional. The collection of card buttons.
5384	Buttons []*GoogleCloudDialogflowV2beta1IntentMessageBasicCardButton `json:"buttons,omitempty"`
5385
5386	// FormattedText: Required, unless image is present. The body text of
5387	// the card.
5388	FormattedText string `json:"formattedText,omitempty"`
5389
5390	// Image: Optional. The image for the card.
5391	Image *GoogleCloudDialogflowV2beta1IntentMessageImage `json:"image,omitempty"`
5392
5393	// Subtitle: Optional. The subtitle of the card.
5394	Subtitle string `json:"subtitle,omitempty"`
5395
5396	// Title: Optional. The title of the card.
5397	Title string `json:"title,omitempty"`
5398
5399	// ForceSendFields is a list of field names (e.g. "Buttons") to
5400	// unconditionally include in API requests. By default, fields with
5401	// empty values are omitted from API requests. However, any non-pointer,
5402	// non-interface field appearing in ForceSendFields will be sent to the
5403	// server regardless of whether the field is empty or not. This may be
5404	// used to include empty fields in Patch requests.
5405	ForceSendFields []string `json:"-"`
5406
5407	// NullFields is a list of field names (e.g. "Buttons") to include in
5408	// API requests with the JSON null value. By default, fields with empty
5409	// values are omitted from API requests. However, any field with an
5410	// empty value appearing in NullFields will be sent to the server as
5411	// null. It is an error if a field in this list has a non-empty value.
5412	// This may be used to include null fields in Patch requests.
5413	NullFields []string `json:"-"`
5414}
5415
5416func (s *GoogleCloudDialogflowV2beta1IntentMessageBasicCard) MarshalJSON() ([]byte, error) {
5417	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageBasicCard
5418	raw := NoMethod(*s)
5419	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5420}
5421
5422// GoogleCloudDialogflowV2beta1IntentMessageBasicCardButton: The button
5423// object that appears at the bottom of a card.
5424type GoogleCloudDialogflowV2beta1IntentMessageBasicCardButton struct {
5425	// OpenUriAction: Required. Action to take when a user taps on the
5426	// button.
5427	OpenUriAction *GoogleCloudDialogflowV2beta1IntentMessageBasicCardButtonOpenUriAction `json:"openUriAction,omitempty"`
5428
5429	// Title: Required. The title of the button.
5430	Title string `json:"title,omitempty"`
5431
5432	// ForceSendFields is a list of field names (e.g. "OpenUriAction") to
5433	// unconditionally include in API requests. By default, fields with
5434	// empty values are omitted from API requests. However, any non-pointer,
5435	// non-interface field appearing in ForceSendFields will be sent to the
5436	// server regardless of whether the field is empty or not. This may be
5437	// used to include empty fields in Patch requests.
5438	ForceSendFields []string `json:"-"`
5439
5440	// NullFields is a list of field names (e.g. "OpenUriAction") to include
5441	// in API requests with the JSON null value. By default, fields with
5442	// empty values are omitted from API requests. However, any field with
5443	// an empty value appearing in NullFields will be sent to the server as
5444	// null. It is an error if a field in this list has a non-empty value.
5445	// This may be used to include null fields in Patch requests.
5446	NullFields []string `json:"-"`
5447}
5448
5449func (s *GoogleCloudDialogflowV2beta1IntentMessageBasicCardButton) MarshalJSON() ([]byte, error) {
5450	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageBasicCardButton
5451	raw := NoMethod(*s)
5452	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5453}
5454
5455// GoogleCloudDialogflowV2beta1IntentMessageBasicCardButtonOpenUriAction:
5456//  Opens the given URI.
5457type GoogleCloudDialogflowV2beta1IntentMessageBasicCardButtonOpenUriAction struct {
5458	// Uri: Required. The HTTP or HTTPS scheme URI.
5459	Uri string `json:"uri,omitempty"`
5460
5461	// ForceSendFields is a list of field names (e.g. "Uri") to
5462	// unconditionally include in API requests. By default, fields with
5463	// empty values are omitted from API requests. However, any non-pointer,
5464	// non-interface field appearing in ForceSendFields will be sent to the
5465	// server regardless of whether the field is empty or not. This may be
5466	// used to include empty fields in Patch requests.
5467	ForceSendFields []string `json:"-"`
5468
5469	// NullFields is a list of field names (e.g. "Uri") to include in API
5470	// requests with the JSON null value. By default, fields with empty
5471	// values are omitted from API requests. However, any field with an
5472	// empty value appearing in NullFields will be sent to the server as
5473	// null. It is an error if a field in this list has a non-empty value.
5474	// This may be used to include null fields in Patch requests.
5475	NullFields []string `json:"-"`
5476}
5477
5478func (s *GoogleCloudDialogflowV2beta1IntentMessageBasicCardButtonOpenUriAction) MarshalJSON() ([]byte, error) {
5479	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageBasicCardButtonOpenUriAction
5480	raw := NoMethod(*s)
5481	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5482}
5483
5484// GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCard: Browse
5485// Carousel Card for Actions on
5486// Google.
5487// https://developers.google.com/actions/assistant/responses#brow
5488// sing_carousel
5489type GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCard struct {
5490	// ImageDisplayOptions: Optional. Settings for displaying the image.
5491	// Applies to every image in
5492	// items.
5493	//
5494	// Possible values:
5495	//   "IMAGE_DISPLAY_OPTIONS_UNSPECIFIED" - Fill the gaps between the
5496	// image and the image container with gray
5497	// bars.
5498	//   "GRAY" - Fill the gaps between the image and the image container
5499	// with gray
5500	// bars.
5501	//   "WHITE" - Fill the gaps between the image and the image container
5502	// with white
5503	// bars.
5504	//   "CROPPED" - Image is scaled such that the image width and height
5505	// match or exceed
5506	// the container dimensions. This may crop the top and bottom of
5507	// the
5508	// image if the scaled image height is greater than the
5509	// container
5510	// height, or crop the left and right of the image if the scaled
5511	// image
5512	// width is greater than the container width. This is similar to
5513	// "Zoom
5514	// Mode" on a widescreen TV when playing a 4:3 video.
5515	//   "BLURRED_BACKGROUND" - Pad the gaps between image and image frame
5516	// with a blurred copy of the
5517	// same image.
5518	ImageDisplayOptions string `json:"imageDisplayOptions,omitempty"`
5519
5520	// Items: Required. List of items in the Browse Carousel Card. Minimum
5521	// of two
5522	// items, maximum of ten.
5523	Items []*GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCardBrowseCarouselCardItem `json:"items,omitempty"`
5524
5525	// ForceSendFields is a list of field names (e.g. "ImageDisplayOptions")
5526	// to unconditionally include in API requests. By default, fields with
5527	// empty values are omitted from API requests. However, any non-pointer,
5528	// non-interface field appearing in ForceSendFields will be sent to the
5529	// server regardless of whether the field is empty or not. This may be
5530	// used to include empty fields in Patch requests.
5531	ForceSendFields []string `json:"-"`
5532
5533	// NullFields is a list of field names (e.g. "ImageDisplayOptions") to
5534	// include in API requests with the JSON null value. By default, fields
5535	// with empty values are omitted from API requests. However, any field
5536	// with an empty value appearing in NullFields will be sent to the
5537	// server as null. It is an error if a field in this list has a
5538	// non-empty value. This may be used to include null fields in Patch
5539	// requests.
5540	NullFields []string `json:"-"`
5541}
5542
5543func (s *GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCard) MarshalJSON() ([]byte, error) {
5544	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCard
5545	raw := NoMethod(*s)
5546	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5547}
5548
5549// GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCardBrowseCarou
5550// selCardItem: Browsing carousel tile
5551type GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCardBrowseCarouselCardItem struct {
5552	// Description: Optional. Description of the carousel item. Maximum of
5553	// four lines of
5554	// text.
5555	Description string `json:"description,omitempty"`
5556
5557	// Footer: Optional. Text that appears at the bottom of the Browse
5558	// Carousel
5559	// Card. Maximum of one line of text.
5560	Footer string `json:"footer,omitempty"`
5561
5562	// Image: Optional. Hero image for the carousel item.
5563	Image *GoogleCloudDialogflowV2beta1IntentMessageImage `json:"image,omitempty"`
5564
5565	// OpenUriAction: Required. Action to present to the user.
5566	OpenUriAction *GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCardBrowseCarouselCardItemOpenUrlAction `json:"openUriAction,omitempty"`
5567
5568	// Title: Required. Title of the carousel item. Maximum of two lines of
5569	// text.
5570	Title string `json:"title,omitempty"`
5571
5572	// ForceSendFields is a list of field names (e.g. "Description") to
5573	// unconditionally include in API requests. By default, fields with
5574	// empty values are omitted from API requests. However, any non-pointer,
5575	// non-interface field appearing in ForceSendFields will be sent to the
5576	// server regardless of whether the field is empty or not. This may be
5577	// used to include empty fields in Patch requests.
5578	ForceSendFields []string `json:"-"`
5579
5580	// NullFields is a list of field names (e.g. "Description") to include
5581	// in API requests with the JSON null value. By default, fields with
5582	// empty values are omitted from API requests. However, any field with
5583	// an empty value appearing in NullFields will be sent to the server as
5584	// null. It is an error if a field in this list has a non-empty value.
5585	// This may be used to include null fields in Patch requests.
5586	NullFields []string `json:"-"`
5587}
5588
5589func (s *GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCardBrowseCarouselCardItem) MarshalJSON() ([]byte, error) {
5590	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCardBrowseCarouselCardItem
5591	raw := NoMethod(*s)
5592	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5593}
5594
5595// GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCardBrowseCarou
5596// selCardItemOpenUrlAction: Actions on Google action to open a given
5597// url.
5598type GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCardBrowseCarouselCardItemOpenUrlAction struct {
5599	// Url: Required. URL
5600	Url string `json:"url,omitempty"`
5601
5602	// UrlTypeHint: Optional. Specifies the type of viewer that is used when
5603	// opening
5604	// the URL. Defaults to opening via web browser.
5605	//
5606	// Possible values:
5607	//   "URL_TYPE_HINT_UNSPECIFIED" - Unspecified
5608	//   "AMP_ACTION" - Url would be an amp action
5609	//   "AMP_CONTENT" - URL that points directly to AMP content, or to a
5610	// canonical URL
5611	// which refers to AMP content via <link rel="amphtml">.
5612	UrlTypeHint string `json:"urlTypeHint,omitempty"`
5613
5614	// ForceSendFields is a list of field names (e.g. "Url") to
5615	// unconditionally include in API requests. By default, fields with
5616	// empty values are omitted from API requests. However, any non-pointer,
5617	// non-interface field appearing in ForceSendFields will be sent to the
5618	// server regardless of whether the field is empty or not. This may be
5619	// used to include empty fields in Patch requests.
5620	ForceSendFields []string `json:"-"`
5621
5622	// NullFields is a list of field names (e.g. "Url") to include in API
5623	// requests with the JSON null value. By default, fields with empty
5624	// values are omitted from API requests. However, any field with an
5625	// empty value appearing in NullFields will be sent to the server as
5626	// null. It is an error if a field in this list has a non-empty value.
5627	// This may be used to include null fields in Patch requests.
5628	NullFields []string `json:"-"`
5629}
5630
5631func (s *GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCardBrowseCarouselCardItemOpenUrlAction) MarshalJSON() ([]byte, error) {
5632	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCardBrowseCarouselCardItemOpenUrlAction
5633	raw := NoMethod(*s)
5634	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5635}
5636
5637// GoogleCloudDialogflowV2beta1IntentMessageCard: The card response
5638// message.
5639type GoogleCloudDialogflowV2beta1IntentMessageCard struct {
5640	// Buttons: Optional. The collection of card buttons.
5641	Buttons []*GoogleCloudDialogflowV2beta1IntentMessageCardButton `json:"buttons,omitempty"`
5642
5643	// ImageUri: Optional. The public URI to an image file for the card.
5644	ImageUri string `json:"imageUri,omitempty"`
5645
5646	// Subtitle: Optional. The subtitle of the card.
5647	Subtitle string `json:"subtitle,omitempty"`
5648
5649	// Title: Optional. The title of the card.
5650	Title string `json:"title,omitempty"`
5651
5652	// ForceSendFields is a list of field names (e.g. "Buttons") to
5653	// unconditionally include in API requests. By default, fields with
5654	// empty values are omitted from API requests. However, any non-pointer,
5655	// non-interface field appearing in ForceSendFields will be sent to the
5656	// server regardless of whether the field is empty or not. This may be
5657	// used to include empty fields in Patch requests.
5658	ForceSendFields []string `json:"-"`
5659
5660	// NullFields is a list of field names (e.g. "Buttons") to include in
5661	// API requests with the JSON null value. By default, fields with empty
5662	// values are omitted from API requests. However, any field with an
5663	// empty value appearing in NullFields will be sent to the server as
5664	// null. It is an error if a field in this list has a non-empty value.
5665	// This may be used to include null fields in Patch requests.
5666	NullFields []string `json:"-"`
5667}
5668
5669func (s *GoogleCloudDialogflowV2beta1IntentMessageCard) MarshalJSON() ([]byte, error) {
5670	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageCard
5671	raw := NoMethod(*s)
5672	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5673}
5674
5675// GoogleCloudDialogflowV2beta1IntentMessageCardButton: Optional.
5676// Contains information about a button.
5677type GoogleCloudDialogflowV2beta1IntentMessageCardButton struct {
5678	// Postback: Optional. The text to send back to the Dialogflow API or a
5679	// URI to
5680	// open.
5681	Postback string `json:"postback,omitempty"`
5682
5683	// Text: Optional. The text to show on the button.
5684	Text string `json:"text,omitempty"`
5685
5686	// ForceSendFields is a list of field names (e.g. "Postback") to
5687	// unconditionally include in API requests. By default, fields with
5688	// empty values are omitted from API requests. However, any non-pointer,
5689	// non-interface field appearing in ForceSendFields will be sent to the
5690	// server regardless of whether the field is empty or not. This may be
5691	// used to include empty fields in Patch requests.
5692	ForceSendFields []string `json:"-"`
5693
5694	// NullFields is a list of field names (e.g. "Postback") to include in
5695	// API requests with the JSON null value. By default, fields with empty
5696	// values are omitted from API requests. However, any field with an
5697	// empty value appearing in NullFields will be sent to the server as
5698	// null. It is an error if a field in this list has a non-empty value.
5699	// This may be used to include null fields in Patch requests.
5700	NullFields []string `json:"-"`
5701}
5702
5703func (s *GoogleCloudDialogflowV2beta1IntentMessageCardButton) MarshalJSON() ([]byte, error) {
5704	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageCardButton
5705	raw := NoMethod(*s)
5706	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5707}
5708
5709// GoogleCloudDialogflowV2beta1IntentMessageCarouselSelect: The card for
5710// presenting a carousel of options to select from.
5711type GoogleCloudDialogflowV2beta1IntentMessageCarouselSelect struct {
5712	// Items: Required. Carousel items.
5713	Items []*GoogleCloudDialogflowV2beta1IntentMessageCarouselSelectItem `json:"items,omitempty"`
5714
5715	// ForceSendFields is a list of field names (e.g. "Items") to
5716	// unconditionally include in API requests. By default, fields with
5717	// empty values are omitted from API requests. However, any non-pointer,
5718	// non-interface field appearing in ForceSendFields will be sent to the
5719	// server regardless of whether the field is empty or not. This may be
5720	// used to include empty fields in Patch requests.
5721	ForceSendFields []string `json:"-"`
5722
5723	// NullFields is a list of field names (e.g. "Items") to include in API
5724	// requests with the JSON null value. By default, fields with empty
5725	// values are omitted from API requests. However, any field with an
5726	// empty value appearing in NullFields will be sent to the server as
5727	// null. It is an error if a field in this list has a non-empty value.
5728	// This may be used to include null fields in Patch requests.
5729	NullFields []string `json:"-"`
5730}
5731
5732func (s *GoogleCloudDialogflowV2beta1IntentMessageCarouselSelect) MarshalJSON() ([]byte, error) {
5733	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageCarouselSelect
5734	raw := NoMethod(*s)
5735	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5736}
5737
5738// GoogleCloudDialogflowV2beta1IntentMessageCarouselSelectItem: An item
5739// in the carousel.
5740type GoogleCloudDialogflowV2beta1IntentMessageCarouselSelectItem struct {
5741	// Description: Optional. The body text of the card.
5742	Description string `json:"description,omitempty"`
5743
5744	// Image: Optional. The image to display.
5745	Image *GoogleCloudDialogflowV2beta1IntentMessageImage `json:"image,omitempty"`
5746
5747	// Info: Required. Additional info about the option item.
5748	Info *GoogleCloudDialogflowV2beta1IntentMessageSelectItemInfo `json:"info,omitempty"`
5749
5750	// Title: Required. Title of the carousel item.
5751	Title string `json:"title,omitempty"`
5752
5753	// ForceSendFields is a list of field names (e.g. "Description") to
5754	// unconditionally include in API requests. By default, fields with
5755	// empty values are omitted from API requests. However, any non-pointer,
5756	// non-interface field appearing in ForceSendFields will be sent to the
5757	// server regardless of whether the field is empty or not. This may be
5758	// used to include empty fields in Patch requests.
5759	ForceSendFields []string `json:"-"`
5760
5761	// NullFields is a list of field names (e.g. "Description") to include
5762	// in API requests with the JSON null value. By default, fields with
5763	// empty values are omitted from API requests. However, any field with
5764	// an empty value appearing in NullFields will be sent to the server as
5765	// null. It is an error if a field in this list has a non-empty value.
5766	// This may be used to include null fields in Patch requests.
5767	NullFields []string `json:"-"`
5768}
5769
5770func (s *GoogleCloudDialogflowV2beta1IntentMessageCarouselSelectItem) MarshalJSON() ([]byte, error) {
5771	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageCarouselSelectItem
5772	raw := NoMethod(*s)
5773	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5774}
5775
5776// GoogleCloudDialogflowV2beta1IntentMessageColumnProperties: Column
5777// properties for TableCard.
5778type GoogleCloudDialogflowV2beta1IntentMessageColumnProperties struct {
5779	// Header: Required. Column heading.
5780	Header string `json:"header,omitempty"`
5781
5782	// HorizontalAlignment: Optional. Defines text alignment for all cells
5783	// in this column.
5784	//
5785	// Possible values:
5786	//   "HORIZONTAL_ALIGNMENT_UNSPECIFIED" - Text is aligned to the leading
5787	// edge of the column.
5788	//   "LEADING" - Text is aligned to the leading edge of the column.
5789	//   "CENTER" - Text is centered in the column.
5790	//   "TRAILING" - Text is aligned to the trailing edge of the column.
5791	HorizontalAlignment string `json:"horizontalAlignment,omitempty"`
5792
5793	// ForceSendFields is a list of field names (e.g. "Header") to
5794	// unconditionally include in API requests. By default, fields with
5795	// empty values are omitted from API requests. However, any non-pointer,
5796	// non-interface field appearing in ForceSendFields will be sent to the
5797	// server regardless of whether the field is empty or not. This may be
5798	// used to include empty fields in Patch requests.
5799	ForceSendFields []string `json:"-"`
5800
5801	// NullFields is a list of field names (e.g. "Header") to include in API
5802	// requests with the JSON null value. By default, fields with empty
5803	// values are omitted from API requests. However, any field with an
5804	// empty value appearing in NullFields will be sent to the server as
5805	// null. It is an error if a field in this list has a non-empty value.
5806	// This may be used to include null fields in Patch requests.
5807	NullFields []string `json:"-"`
5808}
5809
5810func (s *GoogleCloudDialogflowV2beta1IntentMessageColumnProperties) MarshalJSON() ([]byte, error) {
5811	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageColumnProperties
5812	raw := NoMethod(*s)
5813	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5814}
5815
5816// GoogleCloudDialogflowV2beta1IntentMessageImage: The image response
5817// message.
5818type GoogleCloudDialogflowV2beta1IntentMessageImage struct {
5819	// AccessibilityText: A text description of the image to be used for
5820	// accessibility,
5821	// e.g., screen readers. Required if image_uri is set for
5822	// CarouselSelect.
5823	AccessibilityText string `json:"accessibilityText,omitempty"`
5824
5825	// ImageUri: Optional. The public URI to an image file.
5826	ImageUri string `json:"imageUri,omitempty"`
5827
5828	// ForceSendFields is a list of field names (e.g. "AccessibilityText")
5829	// to unconditionally include in API requests. By default, fields with
5830	// empty values are omitted from API requests. However, any non-pointer,
5831	// non-interface field appearing in ForceSendFields will be sent to the
5832	// server regardless of whether the field is empty or not. This may be
5833	// used to include empty fields in Patch requests.
5834	ForceSendFields []string `json:"-"`
5835
5836	// NullFields is a list of field names (e.g. "AccessibilityText") to
5837	// include in API requests with the JSON null value. By default, fields
5838	// with empty values are omitted from API requests. However, any field
5839	// with an empty value appearing in NullFields will be sent to the
5840	// server as null. It is an error if a field in this list has a
5841	// non-empty value. This may be used to include null fields in Patch
5842	// requests.
5843	NullFields []string `json:"-"`
5844}
5845
5846func (s *GoogleCloudDialogflowV2beta1IntentMessageImage) MarshalJSON() ([]byte, error) {
5847	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageImage
5848	raw := NoMethod(*s)
5849	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5850}
5851
5852// GoogleCloudDialogflowV2beta1IntentMessageLinkOutSuggestion: The
5853// suggestion chip message that allows the user to jump out to the
5854// app
5855// or website associated with this agent.
5856type GoogleCloudDialogflowV2beta1IntentMessageLinkOutSuggestion struct {
5857	// DestinationName: Required. The name of the app or site this chip is
5858	// linking to.
5859	DestinationName string `json:"destinationName,omitempty"`
5860
5861	// Uri: Required. The URI of the app or site to open when the user taps
5862	// the
5863	// suggestion chip.
5864	Uri string `json:"uri,omitempty"`
5865
5866	// ForceSendFields is a list of field names (e.g. "DestinationName") to
5867	// unconditionally include in API requests. By default, fields with
5868	// empty values are omitted from API requests. However, any non-pointer,
5869	// non-interface field appearing in ForceSendFields will be sent to the
5870	// server regardless of whether the field is empty or not. This may be
5871	// used to include empty fields in Patch requests.
5872	ForceSendFields []string `json:"-"`
5873
5874	// NullFields is a list of field names (e.g. "DestinationName") to
5875	// include in API requests with the JSON null value. By default, fields
5876	// with empty values are omitted from API requests. However, any field
5877	// with an empty value appearing in NullFields will be sent to the
5878	// server as null. It is an error if a field in this list has a
5879	// non-empty value. This may be used to include null fields in Patch
5880	// requests.
5881	NullFields []string `json:"-"`
5882}
5883
5884func (s *GoogleCloudDialogflowV2beta1IntentMessageLinkOutSuggestion) MarshalJSON() ([]byte, error) {
5885	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageLinkOutSuggestion
5886	raw := NoMethod(*s)
5887	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5888}
5889
5890// GoogleCloudDialogflowV2beta1IntentMessageListSelect: The card for
5891// presenting a list of options to select from.
5892type GoogleCloudDialogflowV2beta1IntentMessageListSelect struct {
5893	// Items: Required. List items.
5894	Items []*GoogleCloudDialogflowV2beta1IntentMessageListSelectItem `json:"items,omitempty"`
5895
5896	// Subtitle: Optional. Subtitle of the list.
5897	Subtitle string `json:"subtitle,omitempty"`
5898
5899	// Title: Optional. The overall title of the list.
5900	Title string `json:"title,omitempty"`
5901
5902	// ForceSendFields is a list of field names (e.g. "Items") to
5903	// unconditionally include in API requests. By default, fields with
5904	// empty values are omitted from API requests. However, any non-pointer,
5905	// non-interface field appearing in ForceSendFields will be sent to the
5906	// server regardless of whether the field is empty or not. This may be
5907	// used to include empty fields in Patch requests.
5908	ForceSendFields []string `json:"-"`
5909
5910	// NullFields is a list of field names (e.g. "Items") to include in API
5911	// requests with the JSON null value. By default, fields with empty
5912	// values are omitted from API requests. However, any field with an
5913	// empty value appearing in NullFields will be sent to the server as
5914	// null. It is an error if a field in this list has a non-empty value.
5915	// This may be used to include null fields in Patch requests.
5916	NullFields []string `json:"-"`
5917}
5918
5919func (s *GoogleCloudDialogflowV2beta1IntentMessageListSelect) MarshalJSON() ([]byte, error) {
5920	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageListSelect
5921	raw := NoMethod(*s)
5922	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5923}
5924
5925// GoogleCloudDialogflowV2beta1IntentMessageListSelectItem: An item in
5926// the list.
5927type GoogleCloudDialogflowV2beta1IntentMessageListSelectItem struct {
5928	// Description: Optional. The main text describing the item.
5929	Description string `json:"description,omitempty"`
5930
5931	// Image: Optional. The image to display.
5932	Image *GoogleCloudDialogflowV2beta1IntentMessageImage `json:"image,omitempty"`
5933
5934	// Info: Required. Additional information about this option.
5935	Info *GoogleCloudDialogflowV2beta1IntentMessageSelectItemInfo `json:"info,omitempty"`
5936
5937	// Title: Required. The title of the list item.
5938	Title string `json:"title,omitempty"`
5939
5940	// ForceSendFields is a list of field names (e.g. "Description") to
5941	// unconditionally include in API requests. By default, fields with
5942	// empty values are omitted from API requests. However, any non-pointer,
5943	// non-interface field appearing in ForceSendFields will be sent to the
5944	// server regardless of whether the field is empty or not. This may be
5945	// used to include empty fields in Patch requests.
5946	ForceSendFields []string `json:"-"`
5947
5948	// NullFields is a list of field names (e.g. "Description") to include
5949	// in API requests with the JSON null value. By default, fields with
5950	// empty values are omitted from API requests. However, any field with
5951	// an empty value appearing in NullFields will be sent to the server as
5952	// null. It is an error if a field in this list has a non-empty value.
5953	// This may be used to include null fields in Patch requests.
5954	NullFields []string `json:"-"`
5955}
5956
5957func (s *GoogleCloudDialogflowV2beta1IntentMessageListSelectItem) MarshalJSON() ([]byte, error) {
5958	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageListSelectItem
5959	raw := NoMethod(*s)
5960	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5961}
5962
5963// GoogleCloudDialogflowV2beta1IntentMessageMediaContent: The media
5964// content card for Actions on Google.
5965type GoogleCloudDialogflowV2beta1IntentMessageMediaContent struct {
5966	// MediaObjects: Required. List of media objects.
5967	MediaObjects []*GoogleCloudDialogflowV2beta1IntentMessageMediaContentResponseMediaObject `json:"mediaObjects,omitempty"`
5968
5969	// MediaType: Optional. What type of media is the content (ie "audio").
5970	//
5971	// Possible values:
5972	//   "RESPONSE_MEDIA_TYPE_UNSPECIFIED" - Unspecified.
5973	//   "AUDIO" - Response media type is audio.
5974	MediaType string `json:"mediaType,omitempty"`
5975
5976	// ForceSendFields is a list of field names (e.g. "MediaObjects") to
5977	// unconditionally include in API requests. By default, fields with
5978	// empty values are omitted from API requests. However, any non-pointer,
5979	// non-interface field appearing in ForceSendFields will be sent to the
5980	// server regardless of whether the field is empty or not. This may be
5981	// used to include empty fields in Patch requests.
5982	ForceSendFields []string `json:"-"`
5983
5984	// NullFields is a list of field names (e.g. "MediaObjects") to include
5985	// in API requests with the JSON null value. By default, fields with
5986	// empty values are omitted from API requests. However, any field with
5987	// an empty value appearing in NullFields will be sent to the server as
5988	// null. It is an error if a field in this list has a non-empty value.
5989	// This may be used to include null fields in Patch requests.
5990	NullFields []string `json:"-"`
5991}
5992
5993func (s *GoogleCloudDialogflowV2beta1IntentMessageMediaContent) MarshalJSON() ([]byte, error) {
5994	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageMediaContent
5995	raw := NoMethod(*s)
5996	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5997}
5998
5999// GoogleCloudDialogflowV2beta1IntentMessageMediaContentResponseMediaObje
6000// ct: Response media object for media content card.
6001type GoogleCloudDialogflowV2beta1IntentMessageMediaContentResponseMediaObject struct {
6002	// ContentUrl: Required. Url where the media is stored.
6003	ContentUrl string `json:"contentUrl,omitempty"`
6004
6005	// Description: Optional. Description of media card.
6006	Description string `json:"description,omitempty"`
6007
6008	// Icon: Optional. Icon to display above media content.
6009	Icon *GoogleCloudDialogflowV2beta1IntentMessageImage `json:"icon,omitempty"`
6010
6011	// LargeImage: Optional. Image to display above media content.
6012	LargeImage *GoogleCloudDialogflowV2beta1IntentMessageImage `json:"largeImage,omitempty"`
6013
6014	// Name: Required. Name of media card.
6015	Name string `json:"name,omitempty"`
6016
6017	// ForceSendFields is a list of field names (e.g. "ContentUrl") to
6018	// unconditionally include in API requests. By default, fields with
6019	// empty values are omitted from API requests. However, any non-pointer,
6020	// non-interface field appearing in ForceSendFields will be sent to the
6021	// server regardless of whether the field is empty or not. This may be
6022	// used to include empty fields in Patch requests.
6023	ForceSendFields []string `json:"-"`
6024
6025	// NullFields is a list of field names (e.g. "ContentUrl") to include in
6026	// API requests with the JSON null value. By default, fields with empty
6027	// values are omitted from API requests. However, any field with an
6028	// empty value appearing in NullFields will be sent to the server as
6029	// null. It is an error if a field in this list has a non-empty value.
6030	// This may be used to include null fields in Patch requests.
6031	NullFields []string `json:"-"`
6032}
6033
6034func (s *GoogleCloudDialogflowV2beta1IntentMessageMediaContentResponseMediaObject) MarshalJSON() ([]byte, error) {
6035	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageMediaContentResponseMediaObject
6036	raw := NoMethod(*s)
6037	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6038}
6039
6040// GoogleCloudDialogflowV2beta1IntentMessageQuickReplies: The quick
6041// replies response message.
6042type GoogleCloudDialogflowV2beta1IntentMessageQuickReplies struct {
6043	// QuickReplies: Optional. The collection of quick replies.
6044	QuickReplies []string `json:"quickReplies,omitempty"`
6045
6046	// Title: Optional. The title of the collection of quick replies.
6047	Title string `json:"title,omitempty"`
6048
6049	// ForceSendFields is a list of field names (e.g. "QuickReplies") to
6050	// unconditionally include in API requests. By default, fields with
6051	// empty values are omitted from API requests. However, any non-pointer,
6052	// non-interface field appearing in ForceSendFields will be sent to the
6053	// server regardless of whether the field is empty or not. This may be
6054	// used to include empty fields in Patch requests.
6055	ForceSendFields []string `json:"-"`
6056
6057	// NullFields is a list of field names (e.g. "QuickReplies") to include
6058	// in API requests with the JSON null value. By default, fields with
6059	// empty values are omitted from API requests. However, any field with
6060	// an empty value appearing in NullFields will be sent to the server as
6061	// null. It is an error if a field in this list has a non-empty value.
6062	// This may be used to include null fields in Patch requests.
6063	NullFields []string `json:"-"`
6064}
6065
6066func (s *GoogleCloudDialogflowV2beta1IntentMessageQuickReplies) MarshalJSON() ([]byte, error) {
6067	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageQuickReplies
6068	raw := NoMethod(*s)
6069	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6070}
6071
6072// GoogleCloudDialogflowV2beta1IntentMessageRbmCardContent: Rich
6073// Business Messaging (RBM) Card content
6074type GoogleCloudDialogflowV2beta1IntentMessageRbmCardContent struct {
6075	// Description: Optional. Description of the card (at most 2000
6076	// bytes).
6077	//
6078	// At least one of the title, description or media must be set.
6079	Description string `json:"description,omitempty"`
6080
6081	// Media: Optional. However at least one of the title, description or
6082	// media must
6083	// be set. Media (image, GIF or a video) to include in the card.
6084	Media *GoogleCloudDialogflowV2beta1IntentMessageRbmCardContentRbmMedia `json:"media,omitempty"`
6085
6086	// Suggestions: Optional. List of suggestions to include in the card.
6087	Suggestions []*GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestion `json:"suggestions,omitempty"`
6088
6089	// Title: Optional. Title of the card (at most 200 bytes).
6090	//
6091	// At least one of the title, description or media must be set.
6092	Title string `json:"title,omitempty"`
6093
6094	// ForceSendFields is a list of field names (e.g. "Description") to
6095	// unconditionally include in API requests. By default, fields with
6096	// empty values are omitted from API requests. However, any non-pointer,
6097	// non-interface field appearing in ForceSendFields will be sent to the
6098	// server regardless of whether the field is empty or not. This may be
6099	// used to include empty fields in Patch requests.
6100	ForceSendFields []string `json:"-"`
6101
6102	// NullFields is a list of field names (e.g. "Description") to include
6103	// in API requests with the JSON null value. By default, fields with
6104	// empty values are omitted from API requests. However, any field with
6105	// an empty value appearing in NullFields will be sent to the server as
6106	// null. It is an error if a field in this list has a non-empty value.
6107	// This may be used to include null fields in Patch requests.
6108	NullFields []string `json:"-"`
6109}
6110
6111func (s *GoogleCloudDialogflowV2beta1IntentMessageRbmCardContent) MarshalJSON() ([]byte, error) {
6112	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageRbmCardContent
6113	raw := NoMethod(*s)
6114	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6115}
6116
6117// GoogleCloudDialogflowV2beta1IntentMessageRbmCardContentRbmMedia: Rich
6118// Business Messaging (RBM) Media displayed in Cards
6119// The following media-types are currently supported:
6120//
6121// ## Image Types
6122//
6123//  image/jpeg
6124//  image/jpg'
6125//  image/gif
6126//  image/png
6127//
6128// ## Video Types
6129//
6130//  video/h263
6131//  video/m4v
6132//  video/mp4
6133//  video/mpeg
6134//  video/mpeg4
6135//  video/webm
6136type GoogleCloudDialogflowV2beta1IntentMessageRbmCardContentRbmMedia struct {
6137	// FileUri: Required. Publicly reachable URI of the file. The RBM
6138	// platform
6139	// determines the MIME type of the file from the content-type field
6140	// in
6141	// the HTTP headers when the platform fetches the file. The
6142	// content-type
6143	// field must be present and accurate in the HTTP response from the URL.
6144	FileUri string `json:"fileUri,omitempty"`
6145
6146	// Height: Required for cards with vertical orientation. The height of
6147	// the media
6148	// within a rich card with a vertical layout.
6149	// (https://goo.gl/NeFCjz).
6150	// For a standalone card with horizontal layout, height is
6151	// not
6152	// customizable, and this field is ignored.
6153	//
6154	// Possible values:
6155	//   "HEIGHT_UNSPECIFIED" - Not specified.
6156	//   "SHORT" - 112 DP.
6157	//   "MEDIUM" - 168 DP.
6158	//   "TALL" - 264 DP. Not available for rich card carousels when the
6159	// card width
6160	// is set to small.
6161	Height string `json:"height,omitempty"`
6162
6163	// ThumbnailUri: Optional. Publicly reachable URI of the thumbnail.If
6164	// you don't
6165	// provide a thumbnail URI, the RBM platform displays a
6166	// blank
6167	// placeholder thumbnail until the user's device downloads the
6168	// file.
6169	// Depending on the user's setting, the file may not
6170	// download
6171	// automatically and may require the user to tap a download button.
6172	ThumbnailUri string `json:"thumbnailUri,omitempty"`
6173
6174	// ForceSendFields is a list of field names (e.g. "FileUri") to
6175	// unconditionally include in API requests. By default, fields with
6176	// empty values are omitted from API requests. However, any non-pointer,
6177	// non-interface field appearing in ForceSendFields will be sent to the
6178	// server regardless of whether the field is empty or not. This may be
6179	// used to include empty fields in Patch requests.
6180	ForceSendFields []string `json:"-"`
6181
6182	// NullFields is a list of field names (e.g. "FileUri") to include in
6183	// API requests with the JSON null value. By default, fields with empty
6184	// values are omitted from API requests. However, any field with an
6185	// empty value appearing in NullFields will be sent to the server as
6186	// null. It is an error if a field in this list has a non-empty value.
6187	// This may be used to include null fields in Patch requests.
6188	NullFields []string `json:"-"`
6189}
6190
6191func (s *GoogleCloudDialogflowV2beta1IntentMessageRbmCardContentRbmMedia) MarshalJSON() ([]byte, error) {
6192	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageRbmCardContentRbmMedia
6193	raw := NoMethod(*s)
6194	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6195}
6196
6197// GoogleCloudDialogflowV2beta1IntentMessageRbmCarouselCard: Carousel
6198// Rich Business Messaging (RBM) rich card.
6199//
6200// Rich cards allow you to respond to users with more vivid content,
6201// e.g.
6202// with media and suggestions.
6203//
6204// For more details about RBM rich cards, please
6205// see:
6206// https://developers.google.com/rcs-business-messaging/rbm/guides/b
6207// uild/send-messages#rich-cards.
6208// If you want to show a single card with more control over the
6209// layout,
6210// please use RbmStandaloneCard instead.
6211type GoogleCloudDialogflowV2beta1IntentMessageRbmCarouselCard struct {
6212	// CardContents: Required. The cards in the carousel. A carousel must
6213	// have at least
6214	// 2 cards and at most 10.
6215	CardContents []*GoogleCloudDialogflowV2beta1IntentMessageRbmCardContent `json:"cardContents,omitempty"`
6216
6217	// CardWidth: Required. The width of the cards in the carousel.
6218	//
6219	// Possible values:
6220	//   "CARD_WIDTH_UNSPECIFIED" - Not specified.
6221	//   "SMALL" - 120 DP. Note that tall media cannot be used.
6222	//   "MEDIUM" - 232 DP.
6223	CardWidth string `json:"cardWidth,omitempty"`
6224
6225	// ForceSendFields is a list of field names (e.g. "CardContents") to
6226	// unconditionally include in API requests. By default, fields with
6227	// empty values are omitted from API requests. However, any non-pointer,
6228	// non-interface field appearing in ForceSendFields will be sent to the
6229	// server regardless of whether the field is empty or not. This may be
6230	// used to include empty fields in Patch requests.
6231	ForceSendFields []string `json:"-"`
6232
6233	// NullFields is a list of field names (e.g. "CardContents") to include
6234	// in API requests with the JSON null value. By default, fields with
6235	// empty values are omitted from API requests. However, any field with
6236	// an empty value appearing in NullFields will be sent to the server as
6237	// null. It is an error if a field in this list has a non-empty value.
6238	// This may be used to include null fields in Patch requests.
6239	NullFields []string `json:"-"`
6240}
6241
6242func (s *GoogleCloudDialogflowV2beta1IntentMessageRbmCarouselCard) MarshalJSON() ([]byte, error) {
6243	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageRbmCarouselCard
6244	raw := NoMethod(*s)
6245	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6246}
6247
6248// GoogleCloudDialogflowV2beta1IntentMessageRbmStandaloneCard:
6249// Standalone Rich Business Messaging (RBM) rich card.
6250//
6251// Rich cards allow you to respond to users with more vivid content,
6252// e.g.
6253// with media and suggestions.
6254//
6255// For more details about RBM rich cards, please
6256// see:
6257// https://developers.google.com/rcs-business-messaging/rbm/guides/b
6258// uild/send-messages#rich-cards.
6259// You can group multiple rich cards into one using RbmCarouselCard
6260// but
6261// carousel cards will give you less control over the card layout.
6262type GoogleCloudDialogflowV2beta1IntentMessageRbmStandaloneCard struct {
6263	// CardContent: Required. Card content.
6264	CardContent *GoogleCloudDialogflowV2beta1IntentMessageRbmCardContent `json:"cardContent,omitempty"`
6265
6266	// CardOrientation: Required. Orientation of the card.
6267	//
6268	// Possible values:
6269	//   "CARD_ORIENTATION_UNSPECIFIED" - Not specified.
6270	//   "HORIZONTAL" - Horizontal layout.
6271	//   "VERTICAL" - Vertical layout.
6272	CardOrientation string `json:"cardOrientation,omitempty"`
6273
6274	// ThumbnailImageAlignment: Required if orientation is horizontal.
6275	// Image preview alignment for standalone cards with horizontal layout.
6276	//
6277	// Possible values:
6278	//   "THUMBNAIL_IMAGE_ALIGNMENT_UNSPECIFIED" - Not specified.
6279	//   "LEFT" - Thumbnail preview is left-aligned.
6280	//   "RIGHT" - Thumbnail preview is right-aligned.
6281	ThumbnailImageAlignment string `json:"thumbnailImageAlignment,omitempty"`
6282
6283	// ForceSendFields is a list of field names (e.g. "CardContent") to
6284	// unconditionally include in API requests. By default, fields with
6285	// empty values are omitted from API requests. However, any non-pointer,
6286	// non-interface field appearing in ForceSendFields will be sent to the
6287	// server regardless of whether the field is empty or not. This may be
6288	// used to include empty fields in Patch requests.
6289	ForceSendFields []string `json:"-"`
6290
6291	// NullFields is a list of field names (e.g. "CardContent") to include
6292	// in API requests with the JSON null value. By default, fields with
6293	// empty values are omitted from API requests. However, any field with
6294	// an empty value appearing in NullFields will be sent to the server as
6295	// null. It is an error if a field in this list has a non-empty value.
6296	// This may be used to include null fields in Patch requests.
6297	NullFields []string `json:"-"`
6298}
6299
6300func (s *GoogleCloudDialogflowV2beta1IntentMessageRbmStandaloneCard) MarshalJSON() ([]byte, error) {
6301	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageRbmStandaloneCard
6302	raw := NoMethod(*s)
6303	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6304}
6305
6306// GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedAction: Rich
6307// Business Messaging (RBM) suggested client-side action that the
6308// user
6309// can choose from the card.
6310type GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedAction struct {
6311	// Dial: Suggested client side action: Dial a phone number
6312	Dial *GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionDial `json:"dial,omitempty"`
6313
6314	// OpenUrl: Suggested client side action: Open a URI on device
6315	OpenUrl *GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionOpenUri `json:"openUrl,omitempty"`
6316
6317	// PostbackData: Opaque payload that the Dialogflow receives in a user
6318	// event
6319	// when the user taps the suggested action. This data will be
6320	// also
6321	// forwarded to webhook to allow performing custom business logic.
6322	PostbackData string `json:"postbackData,omitempty"`
6323
6324	// ShareLocation: Suggested client side action: Share user location
6325	ShareLocation *GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionShareLocation `json:"shareLocation,omitempty"`
6326
6327	// Text: Text to display alongside the action.
6328	Text string `json:"text,omitempty"`
6329
6330	// ForceSendFields is a list of field names (e.g. "Dial") to
6331	// unconditionally include in API requests. By default, fields with
6332	// empty values are omitted from API requests. However, any non-pointer,
6333	// non-interface field appearing in ForceSendFields will be sent to the
6334	// server regardless of whether the field is empty or not. This may be
6335	// used to include empty fields in Patch requests.
6336	ForceSendFields []string `json:"-"`
6337
6338	// NullFields is a list of field names (e.g. "Dial") to include in API
6339	// requests with the JSON null value. By default, fields with empty
6340	// values are omitted from API requests. However, any field with an
6341	// empty value appearing in NullFields will be sent to the server as
6342	// null. It is an error if a field in this list has a non-empty value.
6343	// This may be used to include null fields in Patch requests.
6344	NullFields []string `json:"-"`
6345}
6346
6347func (s *GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedAction) MarshalJSON() ([]byte, error) {
6348	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedAction
6349	raw := NoMethod(*s)
6350	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6351}
6352
6353// GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggeste
6354// dActionDial: Opens the user's default dialer app with the specified
6355// phone number
6356// but does not dial automatically (https://goo.gl/ergbB2).
6357type GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionDial struct {
6358	// PhoneNumber: Required. The phone number to fill in the default dialer
6359	// app.
6360	// This field should be in
6361	// [E.164](https://en.wikipedia.org/wiki/E.164)
6362	// format. An example of a correctly formatted phone
6363	// number:
6364	// +15556767888.
6365	PhoneNumber string `json:"phoneNumber,omitempty"`
6366
6367	// ForceSendFields is a list of field names (e.g. "PhoneNumber") to
6368	// unconditionally include in API requests. By default, fields with
6369	// empty values are omitted from API requests. However, any non-pointer,
6370	// non-interface field appearing in ForceSendFields will be sent to the
6371	// server regardless of whether the field is empty or not. This may be
6372	// used to include empty fields in Patch requests.
6373	ForceSendFields []string `json:"-"`
6374
6375	// NullFields is a list of field names (e.g. "PhoneNumber") to include
6376	// in API requests with the JSON null value. By default, fields with
6377	// empty values are omitted from API requests. However, any field with
6378	// an empty value appearing in NullFields will be sent to the server as
6379	// null. It is an error if a field in this list has a non-empty value.
6380	// This may be used to include null fields in Patch requests.
6381	NullFields []string `json:"-"`
6382}
6383
6384func (s *GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionDial) MarshalJSON() ([]byte, error) {
6385	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionDial
6386	raw := NoMethod(*s)
6387	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6388}
6389
6390// GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggeste
6391// dActionOpenUri: Opens the user's default web browser app to the
6392// specified uri
6393// (https://goo.gl/6GLJD2). If the user has an app installed that
6394// is
6395// registered as the default handler for the URL, then this app will
6396// be
6397// opened instead, and its icon will be used in the suggested action UI.
6398type GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionOpenUri struct {
6399	// Uri: Required. The uri to open on the user device
6400	Uri string `json:"uri,omitempty"`
6401
6402	// ForceSendFields is a list of field names (e.g. "Uri") to
6403	// unconditionally include in API requests. By default, fields with
6404	// empty values are omitted from API requests. However, any non-pointer,
6405	// non-interface field appearing in ForceSendFields will be sent to the
6406	// server regardless of whether the field is empty or not. This may be
6407	// used to include empty fields in Patch requests.
6408	ForceSendFields []string `json:"-"`
6409
6410	// NullFields is a list of field names (e.g. "Uri") to include in API
6411	// requests with the JSON null value. By default, fields with empty
6412	// values are omitted from API requests. However, any field with an
6413	// empty value appearing in NullFields will be sent to the server as
6414	// null. It is an error if a field in this list has a non-empty value.
6415	// This may be used to include null fields in Patch requests.
6416	NullFields []string `json:"-"`
6417}
6418
6419func (s *GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionOpenUri) MarshalJSON() ([]byte, error) {
6420	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionOpenUri
6421	raw := NoMethod(*s)
6422	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6423}
6424
6425// GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggeste
6426// dActionShareLocation: Opens the device's location chooser so the user
6427// can pick a location
6428// to send back to the agent (https://goo.gl/GXotJW).
6429type GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionShareLocation struct {
6430}
6431
6432// GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedReply: Rich
6433// Business Messaging (RBM) suggested reply that the user can
6434// click
6435// instead of typing in their own response.
6436type GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedReply struct {
6437	// PostbackData: Opaque payload that the Dialogflow receives in a user
6438	// event
6439	// when the user taps the suggested reply. This data will be
6440	// also
6441	// forwarded to webhook to allow performing custom business logic.
6442	PostbackData string `json:"postbackData,omitempty"`
6443
6444	// Text: Suggested reply text.
6445	Text string `json:"text,omitempty"`
6446
6447	// ForceSendFields is a list of field names (e.g. "PostbackData") to
6448	// unconditionally include in API requests. By default, fields with
6449	// empty values are omitted from API requests. However, any non-pointer,
6450	// non-interface field appearing in ForceSendFields will be sent to the
6451	// server regardless of whether the field is empty or not. This may be
6452	// used to include empty fields in Patch requests.
6453	ForceSendFields []string `json:"-"`
6454
6455	// NullFields is a list of field names (e.g. "PostbackData") to include
6456	// in API requests with the JSON null value. By default, fields with
6457	// empty values are omitted from API requests. However, any field with
6458	// an empty value appearing in NullFields will be sent to the server as
6459	// null. It is an error if a field in this list has a non-empty value.
6460	// This may be used to include null fields in Patch requests.
6461	NullFields []string `json:"-"`
6462}
6463
6464func (s *GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedReply) MarshalJSON() ([]byte, error) {
6465	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedReply
6466	raw := NoMethod(*s)
6467	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6468}
6469
6470// GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestion: Rich Business
6471// Messaging (RBM) suggestion. Suggestions allow user to
6472// easily select/click a predefined response or perform an action
6473// (like
6474// opening a web uri).
6475type GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestion struct {
6476	// Action: Predefined client side actions that user can choose
6477	Action *GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedAction `json:"action,omitempty"`
6478
6479	// Reply: Predefined replies for user to select instead of typing
6480	Reply *GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedReply `json:"reply,omitempty"`
6481
6482	// ForceSendFields is a list of field names (e.g. "Action") to
6483	// unconditionally include in API requests. By default, fields with
6484	// empty values are omitted from API requests. However, any non-pointer,
6485	// non-interface field appearing in ForceSendFields will be sent to the
6486	// server regardless of whether the field is empty or not. This may be
6487	// used to include empty fields in Patch requests.
6488	ForceSendFields []string `json:"-"`
6489
6490	// NullFields is a list of field names (e.g. "Action") to include in API
6491	// requests with the JSON null value. By default, fields with empty
6492	// values are omitted from API requests. However, any field with an
6493	// empty value appearing in NullFields will be sent to the server as
6494	// null. It is an error if a field in this list has a non-empty value.
6495	// This may be used to include null fields in Patch requests.
6496	NullFields []string `json:"-"`
6497}
6498
6499func (s *GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestion) MarshalJSON() ([]byte, error) {
6500	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestion
6501	raw := NoMethod(*s)
6502	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6503}
6504
6505// GoogleCloudDialogflowV2beta1IntentMessageRbmText: Rich Business
6506// Messaging (RBM) text response with suggestions.
6507type GoogleCloudDialogflowV2beta1IntentMessageRbmText struct {
6508	// RbmSuggestion: Optional. One or more suggestions to show to the user.
6509	RbmSuggestion []*GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestion `json:"rbmSuggestion,omitempty"`
6510
6511	// Text: Required. Text sent and displayed to the user.
6512	Text string `json:"text,omitempty"`
6513
6514	// ForceSendFields is a list of field names (e.g. "RbmSuggestion") to
6515	// unconditionally include in API requests. By default, fields with
6516	// empty values are omitted from API requests. However, any non-pointer,
6517	// non-interface field appearing in ForceSendFields will be sent to the
6518	// server regardless of whether the field is empty or not. This may be
6519	// used to include empty fields in Patch requests.
6520	ForceSendFields []string `json:"-"`
6521
6522	// NullFields is a list of field names (e.g. "RbmSuggestion") to include
6523	// in API requests with the JSON null value. By default, fields with
6524	// empty values are omitted from API requests. However, any field with
6525	// an empty value appearing in NullFields will be sent to the server as
6526	// null. It is an error if a field in this list has a non-empty value.
6527	// This may be used to include null fields in Patch requests.
6528	NullFields []string `json:"-"`
6529}
6530
6531func (s *GoogleCloudDialogflowV2beta1IntentMessageRbmText) MarshalJSON() ([]byte, error) {
6532	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageRbmText
6533	raw := NoMethod(*s)
6534	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6535}
6536
6537// GoogleCloudDialogflowV2beta1IntentMessageSelectItemInfo: Additional
6538// info about the select item for when it is triggered in a
6539// dialog.
6540type GoogleCloudDialogflowV2beta1IntentMessageSelectItemInfo struct {
6541	// Key: Required. A unique key that will be sent back to the agent if
6542	// this
6543	// response is given.
6544	Key string `json:"key,omitempty"`
6545
6546	// Synonyms: Optional. A list of synonyms that can also be used to
6547	// trigger this
6548	// item in dialog.
6549	Synonyms []string `json:"synonyms,omitempty"`
6550
6551	// ForceSendFields is a list of field names (e.g. "Key") to
6552	// unconditionally include in API requests. By default, fields with
6553	// empty values are omitted from API requests. However, any non-pointer,
6554	// non-interface field appearing in ForceSendFields will be sent to the
6555	// server regardless of whether the field is empty or not. This may be
6556	// used to include empty fields in Patch requests.
6557	ForceSendFields []string `json:"-"`
6558
6559	// NullFields is a list of field names (e.g. "Key") to include in API
6560	// requests with the JSON null value. By default, fields with empty
6561	// values are omitted from API requests. However, any field with an
6562	// empty value appearing in NullFields will be sent to the server as
6563	// null. It is an error if a field in this list has a non-empty value.
6564	// This may be used to include null fields in Patch requests.
6565	NullFields []string `json:"-"`
6566}
6567
6568func (s *GoogleCloudDialogflowV2beta1IntentMessageSelectItemInfo) MarshalJSON() ([]byte, error) {
6569	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageSelectItemInfo
6570	raw := NoMethod(*s)
6571	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6572}
6573
6574// GoogleCloudDialogflowV2beta1IntentMessageSimpleResponse: The simple
6575// response message containing speech or text.
6576type GoogleCloudDialogflowV2beta1IntentMessageSimpleResponse struct {
6577	// DisplayText: Optional. The text to display.
6578	DisplayText string `json:"displayText,omitempty"`
6579
6580	// Ssml: One of text_to_speech or ssml must be provided. Structured
6581	// spoken
6582	// response to the user in the SSML format. Mutually exclusive
6583	// with
6584	// text_to_speech.
6585	Ssml string `json:"ssml,omitempty"`
6586
6587	// TextToSpeech: One of text_to_speech or ssml must be provided. The
6588	// plain text of the
6589	// speech output. Mutually exclusive with ssml.
6590	TextToSpeech string `json:"textToSpeech,omitempty"`
6591
6592	// ForceSendFields is a list of field names (e.g. "DisplayText") to
6593	// unconditionally include in API requests. By default, fields with
6594	// empty values are omitted from API requests. However, any non-pointer,
6595	// non-interface field appearing in ForceSendFields will be sent to the
6596	// server regardless of whether the field is empty or not. This may be
6597	// used to include empty fields in Patch requests.
6598	ForceSendFields []string `json:"-"`
6599
6600	// NullFields is a list of field names (e.g. "DisplayText") to include
6601	// in API requests with the JSON null value. By default, fields with
6602	// empty values are omitted from API requests. However, any field with
6603	// an empty value appearing in NullFields will be sent to the server as
6604	// null. It is an error if a field in this list has a non-empty value.
6605	// This may be used to include null fields in Patch requests.
6606	NullFields []string `json:"-"`
6607}
6608
6609func (s *GoogleCloudDialogflowV2beta1IntentMessageSimpleResponse) MarshalJSON() ([]byte, error) {
6610	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageSimpleResponse
6611	raw := NoMethod(*s)
6612	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6613}
6614
6615// GoogleCloudDialogflowV2beta1IntentMessageSimpleResponses: The
6616// collection of simple response candidates.
6617// This message in `QueryResult.fulfillment_messages`
6618// and
6619// `WebhookResponse.fulfillment_messages` should contain only
6620// one
6621// `SimpleResponse`.
6622type GoogleCloudDialogflowV2beta1IntentMessageSimpleResponses struct {
6623	// SimpleResponses: Required. The list of simple responses.
6624	SimpleResponses []*GoogleCloudDialogflowV2beta1IntentMessageSimpleResponse `json:"simpleResponses,omitempty"`
6625
6626	// ForceSendFields is a list of field names (e.g. "SimpleResponses") to
6627	// unconditionally include in API requests. By default, fields with
6628	// empty values are omitted from API requests. However, any non-pointer,
6629	// non-interface field appearing in ForceSendFields will be sent to the
6630	// server regardless of whether the field is empty or not. This may be
6631	// used to include empty fields in Patch requests.
6632	ForceSendFields []string `json:"-"`
6633
6634	// NullFields is a list of field names (e.g. "SimpleResponses") to
6635	// include in API requests with the JSON null value. By default, fields
6636	// with empty values are omitted from API requests. However, any field
6637	// with an empty value appearing in NullFields will be sent to the
6638	// server as null. It is an error if a field in this list has a
6639	// non-empty value. This may be used to include null fields in Patch
6640	// requests.
6641	NullFields []string `json:"-"`
6642}
6643
6644func (s *GoogleCloudDialogflowV2beta1IntentMessageSimpleResponses) MarshalJSON() ([]byte, error) {
6645	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageSimpleResponses
6646	raw := NoMethod(*s)
6647	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6648}
6649
6650// GoogleCloudDialogflowV2beta1IntentMessageSuggestion: The suggestion
6651// chip message that the user can tap to quickly post a reply
6652// to the conversation.
6653type GoogleCloudDialogflowV2beta1IntentMessageSuggestion struct {
6654	// Title: Required. The text shown the in the suggestion chip.
6655	Title string `json:"title,omitempty"`
6656
6657	// ForceSendFields is a list of field names (e.g. "Title") to
6658	// unconditionally include in API requests. By default, fields with
6659	// empty values are omitted from API requests. However, any non-pointer,
6660	// non-interface field appearing in ForceSendFields will be sent to the
6661	// server regardless of whether the field is empty or not. This may be
6662	// used to include empty fields in Patch requests.
6663	ForceSendFields []string `json:"-"`
6664
6665	// NullFields is a list of field names (e.g. "Title") to include in API
6666	// requests with the JSON null value. By default, fields with empty
6667	// values are omitted from API requests. However, any field with an
6668	// empty value appearing in NullFields will be sent to the server as
6669	// null. It is an error if a field in this list has a non-empty value.
6670	// This may be used to include null fields in Patch requests.
6671	NullFields []string `json:"-"`
6672}
6673
6674func (s *GoogleCloudDialogflowV2beta1IntentMessageSuggestion) MarshalJSON() ([]byte, error) {
6675	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageSuggestion
6676	raw := NoMethod(*s)
6677	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6678}
6679
6680// GoogleCloudDialogflowV2beta1IntentMessageSuggestions: The collection
6681// of suggestions.
6682type GoogleCloudDialogflowV2beta1IntentMessageSuggestions struct {
6683	// Suggestions: Required. The list of suggested replies.
6684	Suggestions []*GoogleCloudDialogflowV2beta1IntentMessageSuggestion `json:"suggestions,omitempty"`
6685
6686	// ForceSendFields is a list of field names (e.g. "Suggestions") to
6687	// unconditionally include in API requests. By default, fields with
6688	// empty values are omitted from API requests. However, any non-pointer,
6689	// non-interface field appearing in ForceSendFields will be sent to the
6690	// server regardless of whether the field is empty or not. This may be
6691	// used to include empty fields in Patch requests.
6692	ForceSendFields []string `json:"-"`
6693
6694	// NullFields is a list of field names (e.g. "Suggestions") to include
6695	// in API requests with the JSON null value. By default, fields with
6696	// empty values are omitted from API requests. However, any field with
6697	// an empty value appearing in NullFields will be sent to the server as
6698	// null. It is an error if a field in this list has a non-empty value.
6699	// This may be used to include null fields in Patch requests.
6700	NullFields []string `json:"-"`
6701}
6702
6703func (s *GoogleCloudDialogflowV2beta1IntentMessageSuggestions) MarshalJSON() ([]byte, error) {
6704	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageSuggestions
6705	raw := NoMethod(*s)
6706	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6707}
6708
6709// GoogleCloudDialogflowV2beta1IntentMessageTableCard: Table card for
6710// Actions on Google.
6711type GoogleCloudDialogflowV2beta1IntentMessageTableCard struct {
6712	// Buttons: Optional. List of buttons for the card.
6713	Buttons []*GoogleCloudDialogflowV2beta1IntentMessageBasicCardButton `json:"buttons,omitempty"`
6714
6715	// ColumnProperties: Optional. Display properties for the columns in
6716	// this table.
6717	ColumnProperties []*GoogleCloudDialogflowV2beta1IntentMessageColumnProperties `json:"columnProperties,omitempty"`
6718
6719	// Image: Optional. Image which should be displayed on the card.
6720	Image *GoogleCloudDialogflowV2beta1IntentMessageImage `json:"image,omitempty"`
6721
6722	// Rows: Optional. Rows in this table of data.
6723	Rows []*GoogleCloudDialogflowV2beta1IntentMessageTableCardRow `json:"rows,omitempty"`
6724
6725	// Subtitle: Optional. Subtitle to the title.
6726	Subtitle string `json:"subtitle,omitempty"`
6727
6728	// Title: Required. Title of the card.
6729	Title string `json:"title,omitempty"`
6730
6731	// ForceSendFields is a list of field names (e.g. "Buttons") to
6732	// unconditionally include in API requests. By default, fields with
6733	// empty values are omitted from API requests. However, any non-pointer,
6734	// non-interface field appearing in ForceSendFields will be sent to the
6735	// server regardless of whether the field is empty or not. This may be
6736	// used to include empty fields in Patch requests.
6737	ForceSendFields []string `json:"-"`
6738
6739	// NullFields is a list of field names (e.g. "Buttons") to include in
6740	// API requests with the JSON null value. By default, fields with empty
6741	// values are omitted from API requests. However, any field with an
6742	// empty value appearing in NullFields will be sent to the server as
6743	// null. It is an error if a field in this list has a non-empty value.
6744	// This may be used to include null fields in Patch requests.
6745	NullFields []string `json:"-"`
6746}
6747
6748func (s *GoogleCloudDialogflowV2beta1IntentMessageTableCard) MarshalJSON() ([]byte, error) {
6749	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageTableCard
6750	raw := NoMethod(*s)
6751	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6752}
6753
6754// GoogleCloudDialogflowV2beta1IntentMessageTableCardCell: Cell of
6755// TableCardRow.
6756type GoogleCloudDialogflowV2beta1IntentMessageTableCardCell struct {
6757	// Text: Required. Text in this cell.
6758	Text string `json:"text,omitempty"`
6759
6760	// ForceSendFields is a list of field names (e.g. "Text") to
6761	// unconditionally include in API requests. By default, fields with
6762	// empty values are omitted from API requests. However, any non-pointer,
6763	// non-interface field appearing in ForceSendFields will be sent to the
6764	// server regardless of whether the field is empty or not. This may be
6765	// used to include empty fields in Patch requests.
6766	ForceSendFields []string `json:"-"`
6767
6768	// NullFields is a list of field names (e.g. "Text") to include in API
6769	// requests with the JSON null value. By default, fields with empty
6770	// values are omitted from API requests. However, any field with an
6771	// empty value appearing in NullFields will be sent to the server as
6772	// null. It is an error if a field in this list has a non-empty value.
6773	// This may be used to include null fields in Patch requests.
6774	NullFields []string `json:"-"`
6775}
6776
6777func (s *GoogleCloudDialogflowV2beta1IntentMessageTableCardCell) MarshalJSON() ([]byte, error) {
6778	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageTableCardCell
6779	raw := NoMethod(*s)
6780	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6781}
6782
6783// GoogleCloudDialogflowV2beta1IntentMessageTableCardRow: Row of
6784// TableCard.
6785type GoogleCloudDialogflowV2beta1IntentMessageTableCardRow struct {
6786	// Cells: Optional. List of cells that make up this row.
6787	Cells []*GoogleCloudDialogflowV2beta1IntentMessageTableCardCell `json:"cells,omitempty"`
6788
6789	// DividerAfter: Optional. Whether to add a visual divider after this
6790	// row.
6791	DividerAfter bool `json:"dividerAfter,omitempty"`
6792
6793	// ForceSendFields is a list of field names (e.g. "Cells") to
6794	// unconditionally include in API requests. By default, fields with
6795	// empty values are omitted from API requests. However, any non-pointer,
6796	// non-interface field appearing in ForceSendFields will be sent to the
6797	// server regardless of whether the field is empty or not. This may be
6798	// used to include empty fields in Patch requests.
6799	ForceSendFields []string `json:"-"`
6800
6801	// NullFields is a list of field names (e.g. "Cells") to include in API
6802	// requests with the JSON null value. By default, fields with empty
6803	// values are omitted from API requests. However, any field with an
6804	// empty value appearing in NullFields will be sent to the server as
6805	// null. It is an error if a field in this list has a non-empty value.
6806	// This may be used to include null fields in Patch requests.
6807	NullFields []string `json:"-"`
6808}
6809
6810func (s *GoogleCloudDialogflowV2beta1IntentMessageTableCardRow) MarshalJSON() ([]byte, error) {
6811	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageTableCardRow
6812	raw := NoMethod(*s)
6813	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6814}
6815
6816// GoogleCloudDialogflowV2beta1IntentMessageTelephonyPlayAudio: Plays
6817// audio from a file in Telephony Gateway.
6818type GoogleCloudDialogflowV2beta1IntentMessageTelephonyPlayAudio struct {
6819	// AudioUri: Required. URI to a Google Cloud Storage object containing
6820	// the audio to
6821	// play, e.g., "gs://bucket/object". The object must contain a
6822	// single
6823	// channel (mono) of linear PCM audio (2 bytes / sample) at 8kHz.
6824	//
6825	// This object must be readable by the
6826	// `service-<Project
6827	// Number>@gcp-sa-dialogflow.iam.gserviceaccount.com` service
6828	// account
6829	// where <Project Number> is the number of the Telephony Gateway
6830	// project
6831	// (usually the same as the Dialogflow agent project). If the Google
6832	// Cloud
6833	// Storage bucket is in the Telephony Gateway project, this permission
6834	// is
6835	// added by default when enabling the Dialogflow V2 API.
6836	//
6837	// For audio from other sources, consider using
6838	// the
6839	// `TelephonySynthesizeSpeech` message with SSML.
6840	AudioUri string `json:"audioUri,omitempty"`
6841
6842	// ForceSendFields is a list of field names (e.g. "AudioUri") to
6843	// unconditionally include in API requests. By default, fields with
6844	// empty values are omitted from API requests. However, any non-pointer,
6845	// non-interface field appearing in ForceSendFields will be sent to the
6846	// server regardless of whether the field is empty or not. This may be
6847	// used to include empty fields in Patch requests.
6848	ForceSendFields []string `json:"-"`
6849
6850	// NullFields is a list of field names (e.g. "AudioUri") to include in
6851	// API requests with the JSON null value. By default, fields with empty
6852	// values are omitted from API requests. However, any field with an
6853	// empty value appearing in NullFields will be sent to the server as
6854	// null. It is an error if a field in this list has a non-empty value.
6855	// This may be used to include null fields in Patch requests.
6856	NullFields []string `json:"-"`
6857}
6858
6859func (s *GoogleCloudDialogflowV2beta1IntentMessageTelephonyPlayAudio) MarshalJSON() ([]byte, error) {
6860	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageTelephonyPlayAudio
6861	raw := NoMethod(*s)
6862	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6863}
6864
6865// GoogleCloudDialogflowV2beta1IntentMessageTelephonySynthesizeSpeech:
6866// Synthesizes speech and plays back the synthesized audio to the caller
6867// in
6868// Telephony Gateway.
6869//
6870// Telephony Gateway takes the synthesizer settings
6871// from
6872// `DetectIntentResponse.output_audio_config` which can either be set
6873// at request-level or can come from the agent-level synthesizer config.
6874type GoogleCloudDialogflowV2beta1IntentMessageTelephonySynthesizeSpeech struct {
6875	// Ssml: The SSML to be synthesized. For more information,
6876	// see
6877	// [SSML](https://developers.google.com/actions/reference/ssml).
6878	Ssml string `json:"ssml,omitempty"`
6879
6880	// Text: The raw text to be synthesized.
6881	Text string `json:"text,omitempty"`
6882
6883	// ForceSendFields is a list of field names (e.g. "Ssml") to
6884	// unconditionally include in API requests. By default, fields with
6885	// empty values are omitted from API requests. However, any non-pointer,
6886	// non-interface field appearing in ForceSendFields will be sent to the
6887	// server regardless of whether the field is empty or not. This may be
6888	// used to include empty fields in Patch requests.
6889	ForceSendFields []string `json:"-"`
6890
6891	// NullFields is a list of field names (e.g. "Ssml") to include in API
6892	// requests with the JSON null value. By default, fields with empty
6893	// values are omitted from API requests. However, any field with an
6894	// empty value appearing in NullFields will be sent to the server as
6895	// null. It is an error if a field in this list has a non-empty value.
6896	// This may be used to include null fields in Patch requests.
6897	NullFields []string `json:"-"`
6898}
6899
6900func (s *GoogleCloudDialogflowV2beta1IntentMessageTelephonySynthesizeSpeech) MarshalJSON() ([]byte, error) {
6901	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageTelephonySynthesizeSpeech
6902	raw := NoMethod(*s)
6903	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6904}
6905
6906// GoogleCloudDialogflowV2beta1IntentMessageTelephonyTransferCall:
6907// Transfers the call in Telephony Gateway.
6908type GoogleCloudDialogflowV2beta1IntentMessageTelephonyTransferCall struct {
6909	// PhoneNumber: Required. The phone number to transfer the call to
6910	// in [E.164 format](https://en.wikipedia.org/wiki/E.164).
6911	//
6912	// We currently only allow transferring to US numbers (+1xxxyyyzzzz).
6913	PhoneNumber string `json:"phoneNumber,omitempty"`
6914
6915	// ForceSendFields is a list of field names (e.g. "PhoneNumber") to
6916	// unconditionally include in API requests. By default, fields with
6917	// empty values are omitted from API requests. However, any non-pointer,
6918	// non-interface field appearing in ForceSendFields will be sent to the
6919	// server regardless of whether the field is empty or not. This may be
6920	// used to include empty fields in Patch requests.
6921	ForceSendFields []string `json:"-"`
6922
6923	// NullFields is a list of field names (e.g. "PhoneNumber") to include
6924	// in API requests with the JSON null value. By default, fields with
6925	// empty values are omitted from API requests. However, any field with
6926	// an empty value appearing in NullFields will be sent to the server as
6927	// null. It is an error if a field in this list has a non-empty value.
6928	// This may be used to include null fields in Patch requests.
6929	NullFields []string `json:"-"`
6930}
6931
6932func (s *GoogleCloudDialogflowV2beta1IntentMessageTelephonyTransferCall) MarshalJSON() ([]byte, error) {
6933	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageTelephonyTransferCall
6934	raw := NoMethod(*s)
6935	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6936}
6937
6938// GoogleCloudDialogflowV2beta1IntentMessageText: The text response
6939// message.
6940type GoogleCloudDialogflowV2beta1IntentMessageText struct {
6941	// Text: Optional. The collection of the agent's responses.
6942	Text []string `json:"text,omitempty"`
6943
6944	// ForceSendFields is a list of field names (e.g. "Text") to
6945	// unconditionally include in API requests. By default, fields with
6946	// empty values are omitted from API requests. However, any non-pointer,
6947	// non-interface field appearing in ForceSendFields will be sent to the
6948	// server regardless of whether the field is empty or not. This may be
6949	// used to include empty fields in Patch requests.
6950	ForceSendFields []string `json:"-"`
6951
6952	// NullFields is a list of field names (e.g. "Text") to include in API
6953	// requests with the JSON null value. By default, fields with empty
6954	// values are omitted from API requests. However, any field with an
6955	// empty value appearing in NullFields will be sent to the server as
6956	// null. It is an error if a field in this list has a non-empty value.
6957	// This may be used to include null fields in Patch requests.
6958	NullFields []string `json:"-"`
6959}
6960
6961func (s *GoogleCloudDialogflowV2beta1IntentMessageText) MarshalJSON() ([]byte, error) {
6962	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageText
6963	raw := NoMethod(*s)
6964	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6965}
6966
6967// GoogleCloudDialogflowV2beta1IntentParameter: Represents intent
6968// parameters.
6969type GoogleCloudDialogflowV2beta1IntentParameter struct {
6970	// DefaultValue: Optional. The default value to use when the `value`
6971	// yields an empty
6972	// result.
6973	// Default values can be extracted from contexts by using the
6974	// following
6975	// syntax: `#context_name.parameter_name`.
6976	DefaultValue string `json:"defaultValue,omitempty"`
6977
6978	// DisplayName: Required. The name of the parameter.
6979	DisplayName string `json:"displayName,omitempty"`
6980
6981	// EntityTypeDisplayName: Optional. The name of the entity type,
6982	// prefixed with `@`, that
6983	// describes values of the parameter. If the parameter is
6984	// required, this must be provided.
6985	EntityTypeDisplayName string `json:"entityTypeDisplayName,omitempty"`
6986
6987	// IsList: Optional. Indicates whether the parameter represents a list
6988	// of values.
6989	IsList bool `json:"isList,omitempty"`
6990
6991	// Mandatory: Optional. Indicates whether the parameter is required.
6992	// That is,
6993	// whether the intent cannot be completed without collecting the
6994	// parameter
6995	// value.
6996	Mandatory bool `json:"mandatory,omitempty"`
6997
6998	// Name: The unique identifier of this parameter.
6999	Name string `json:"name,omitempty"`
7000
7001	// Prompts: Optional. The collection of prompts that the agent can
7002	// present to the
7003	// user in order to collect a value for the parameter.
7004	Prompts []string `json:"prompts,omitempty"`
7005
7006	// Value: Optional. The definition of the parameter value. It can be:
7007	// - a constant string,
7008	// - a parameter value defined as `$parameter_name`,
7009	// - an original parameter value defined as
7010	// `$parameter_name.original`,
7011	// - a parameter value from some context defined as
7012	//   `#context_name.parameter_name`.
7013	Value string `json:"value,omitempty"`
7014
7015	// ForceSendFields is a list of field names (e.g. "DefaultValue") to
7016	// unconditionally include in API requests. By default, fields with
7017	// empty values are omitted from API requests. However, any non-pointer,
7018	// non-interface field appearing in ForceSendFields will be sent to the
7019	// server regardless of whether the field is empty or not. This may be
7020	// used to include empty fields in Patch requests.
7021	ForceSendFields []string `json:"-"`
7022
7023	// NullFields is a list of field names (e.g. "DefaultValue") to include
7024	// in API requests with the JSON null value. By default, fields with
7025	// empty values are omitted from API requests. However, any field with
7026	// an empty value appearing in NullFields will be sent to the server as
7027	// null. It is an error if a field in this list has a non-empty value.
7028	// This may be used to include null fields in Patch requests.
7029	NullFields []string `json:"-"`
7030}
7031
7032func (s *GoogleCloudDialogflowV2beta1IntentParameter) MarshalJSON() ([]byte, error) {
7033	type NoMethod GoogleCloudDialogflowV2beta1IntentParameter
7034	raw := NoMethod(*s)
7035	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7036}
7037
7038// GoogleCloudDialogflowV2beta1IntentTrainingPhrase: Represents an
7039// example that the agent is trained on.
7040type GoogleCloudDialogflowV2beta1IntentTrainingPhrase struct {
7041	// Name: Output only. The unique identifier of this training phrase.
7042	Name string `json:"name,omitempty"`
7043
7044	// Parts: Required. The ordered list of training phrase parts.
7045	// The parts are concatenated in order to form the training
7046	// phrase.
7047	//
7048	// Note: The API does not automatically annotate training phrases like
7049	// the
7050	// Dialogflow Console does.
7051	//
7052	// Note: Do not forget to include whitespace at part boundaries,
7053	// so the training phrase is well formatted when the parts are
7054	// concatenated.
7055	//
7056	// If the training phrase does not need to be annotated with
7057	// parameters,
7058	// you just need a single part with only the Part.text field set.
7059	//
7060	// If you want to annotate the training phrase, you must create
7061	// multiple
7062	// parts, where the fields of each part are populated in one of two
7063	// ways:
7064	//
7065	// -   `Part.text` is set to a part of the phrase that has no
7066	// parameters.
7067	// -   `Part.text` is set to a part of the phrase that you want to
7068	// annotate,
7069	//     and the `entity_type`, `alias`, and `user_defined` fields are
7070	// all
7071	//     set.
7072	Parts []*GoogleCloudDialogflowV2beta1IntentTrainingPhrasePart `json:"parts,omitempty"`
7073
7074	// TimesAddedCount: Optional. Indicates how many times this example was
7075	// added to
7076	// the intent. Each time a developer adds an existing sample by editing
7077	// an
7078	// intent or training, this counter is increased.
7079	TimesAddedCount int64 `json:"timesAddedCount,omitempty"`
7080
7081	// Type: Required. The type of the training phrase.
7082	//
7083	// Possible values:
7084	//   "TYPE_UNSPECIFIED" - Not specified. This value should never be
7085	// used.
7086	//   "EXAMPLE" - Examples do not contain @-prefixed entity type names,
7087	// but example parts
7088	// can be annotated with entity types.
7089	//   "TEMPLATE" - Templates are not annotated with entity types, but
7090	// they can contain
7091	// @-prefixed entity type names as substrings.
7092	// Template mode has been deprecated. Example mode is the only
7093	// supported
7094	// way to create new training phrases. If you have existing
7095	// training
7096	// phrases that you've created in template mode, those will continue
7097	// to
7098	// work.
7099	Type string `json:"type,omitempty"`
7100
7101	// ForceSendFields is a list of field names (e.g. "Name") to
7102	// unconditionally include in API requests. By default, fields with
7103	// empty values are omitted from API requests. However, any non-pointer,
7104	// non-interface field appearing in ForceSendFields will be sent to the
7105	// server regardless of whether the field is empty or not. This may be
7106	// used to include empty fields in Patch requests.
7107	ForceSendFields []string `json:"-"`
7108
7109	// NullFields is a list of field names (e.g. "Name") to include in API
7110	// requests with the JSON null value. By default, fields with empty
7111	// values are omitted from API requests. However, any field with an
7112	// empty value appearing in NullFields will be sent to the server as
7113	// null. It is an error if a field in this list has a non-empty value.
7114	// This may be used to include null fields in Patch requests.
7115	NullFields []string `json:"-"`
7116}
7117
7118func (s *GoogleCloudDialogflowV2beta1IntentTrainingPhrase) MarshalJSON() ([]byte, error) {
7119	type NoMethod GoogleCloudDialogflowV2beta1IntentTrainingPhrase
7120	raw := NoMethod(*s)
7121	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7122}
7123
7124// GoogleCloudDialogflowV2beta1IntentTrainingPhrasePart: Represents a
7125// part of a training phrase.
7126type GoogleCloudDialogflowV2beta1IntentTrainingPhrasePart struct {
7127	// Alias: Optional. The parameter name for the value extracted from
7128	// the
7129	// annotated part of the example.
7130	// This field is required for annotated parts of the training phrase.
7131	Alias string `json:"alias,omitempty"`
7132
7133	// EntityType: Optional. The entity type name prefixed with `@`.
7134	// This field is required for annotated parts of the training phrase.
7135	EntityType string `json:"entityType,omitempty"`
7136
7137	// Text: Required. The text for this part.
7138	Text string `json:"text,omitempty"`
7139
7140	// UserDefined: Optional. Indicates whether the text was manually
7141	// annotated.
7142	// This field is set to true when the Dialogflow Console is used
7143	// to
7144	// manually annotate the part. When creating an annotated part with
7145	// the
7146	// API, you must set this to true.
7147	UserDefined bool `json:"userDefined,omitempty"`
7148
7149	// ForceSendFields is a list of field names (e.g. "Alias") to
7150	// unconditionally include in API requests. By default, fields with
7151	// empty values are omitted from API requests. However, any non-pointer,
7152	// non-interface field appearing in ForceSendFields will be sent to the
7153	// server regardless of whether the field is empty or not. This may be
7154	// used to include empty fields in Patch requests.
7155	ForceSendFields []string `json:"-"`
7156
7157	// NullFields is a list of field names (e.g. "Alias") to include in API
7158	// requests with the JSON null value. By default, fields with empty
7159	// values are omitted from API requests. However, any field with an
7160	// empty value appearing in NullFields will be sent to the server as
7161	// null. It is an error if a field in this list has a non-empty value.
7162	// This may be used to include null fields in Patch requests.
7163	NullFields []string `json:"-"`
7164}
7165
7166func (s *GoogleCloudDialogflowV2beta1IntentTrainingPhrasePart) MarshalJSON() ([]byte, error) {
7167	type NoMethod GoogleCloudDialogflowV2beta1IntentTrainingPhrasePart
7168	raw := NoMethod(*s)
7169	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7170}
7171
7172// GoogleCloudDialogflowV2beta1KnowledgeAnswers: Represents the result
7173// of querying a Knowledge base.
7174type GoogleCloudDialogflowV2beta1KnowledgeAnswers struct {
7175	// Answers: A list of answers from Knowledge Connector.
7176	Answers []*GoogleCloudDialogflowV2beta1KnowledgeAnswersAnswer `json:"answers,omitempty"`
7177
7178	// ForceSendFields is a list of field names (e.g. "Answers") to
7179	// unconditionally include in API requests. By default, fields with
7180	// empty values are omitted from API requests. However, any non-pointer,
7181	// non-interface field appearing in ForceSendFields will be sent to the
7182	// server regardless of whether the field is empty or not. This may be
7183	// used to include empty fields in Patch requests.
7184	ForceSendFields []string `json:"-"`
7185
7186	// NullFields is a list of field names (e.g. "Answers") to include in
7187	// API requests with the JSON null value. By default, fields with empty
7188	// values are omitted from API requests. However, any field with an
7189	// empty value appearing in NullFields will be sent to the server as
7190	// null. It is an error if a field in this list has a non-empty value.
7191	// This may be used to include null fields in Patch requests.
7192	NullFields []string `json:"-"`
7193}
7194
7195func (s *GoogleCloudDialogflowV2beta1KnowledgeAnswers) MarshalJSON() ([]byte, error) {
7196	type NoMethod GoogleCloudDialogflowV2beta1KnowledgeAnswers
7197	raw := NoMethod(*s)
7198	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7199}
7200
7201// GoogleCloudDialogflowV2beta1KnowledgeAnswersAnswer: An answer from
7202// Knowledge Connector.
7203type GoogleCloudDialogflowV2beta1KnowledgeAnswersAnswer struct {
7204	// Answer: The piece of text from the `source` knowledge base document
7205	// that answers
7206	// this conversational query.
7207	Answer string `json:"answer,omitempty"`
7208
7209	// FaqQuestion: The corresponding FAQ question if the answer was
7210	// extracted from a FAQ
7211	// Document, empty otherwise.
7212	FaqQuestion string `json:"faqQuestion,omitempty"`
7213
7214	// MatchConfidence: The system's confidence score that this Knowledge
7215	// answer is a good match
7216	// for this conversational query.
7217	// The range is from 0.0 (completely uncertain) to 1.0 (completely
7218	// certain).
7219	// Note: The confidence score is likely to vary somewhat (possibly even
7220	// for
7221	// identical requests), as the underlying model is under
7222	// constant
7223	// improvement. It may be deprecated in the future. We recommend
7224	// using
7225	// `match_confidence_level` which should be generally more stable.
7226	MatchConfidence float64 `json:"matchConfidence,omitempty"`
7227
7228	// MatchConfidenceLevel: The system's confidence level that this
7229	// knowledge answer is a good match
7230	// for this conversational query.
7231	// NOTE: The confidence level for a given `<query, answer>` pair may
7232	// change
7233	// without notice, as it depends on models that are constantly
7234	// being
7235	// improved. However, it will change less frequently than the
7236	// confidence
7237	// score below, and should be preferred for referencing the quality of
7238	// an
7239	// answer.
7240	//
7241	// Possible values:
7242	//   "MATCH_CONFIDENCE_LEVEL_UNSPECIFIED" - Not specified.
7243	//   "LOW" - Indicates that the confidence is low.
7244	//   "MEDIUM" - Indicates our confidence is medium.
7245	//   "HIGH" - Indicates our confidence is high.
7246	MatchConfidenceLevel string `json:"matchConfidenceLevel,omitempty"`
7247
7248	// Source: Indicates which Knowledge Document this answer was extracted
7249	// from.
7250	// Format: `projects/<Project ID>/knowledgeBases/<Knowledge
7251	// Base
7252	// ID>/documents/<Document ID>`.
7253	Source string `json:"source,omitempty"`
7254
7255	// ForceSendFields is a list of field names (e.g. "Answer") to
7256	// unconditionally include in API requests. By default, fields with
7257	// empty values are omitted from API requests. However, any non-pointer,
7258	// non-interface field appearing in ForceSendFields will be sent to the
7259	// server regardless of whether the field is empty or not. This may be
7260	// used to include empty fields in Patch requests.
7261	ForceSendFields []string `json:"-"`
7262
7263	// NullFields is a list of field names (e.g. "Answer") to include in API
7264	// requests with the JSON null value. By default, fields with empty
7265	// values are omitted from API requests. However, any field with an
7266	// empty value appearing in NullFields will be sent to the server as
7267	// null. It is an error if a field in this list has a non-empty value.
7268	// This may be used to include null fields in Patch requests.
7269	NullFields []string `json:"-"`
7270}
7271
7272func (s *GoogleCloudDialogflowV2beta1KnowledgeAnswersAnswer) MarshalJSON() ([]byte, error) {
7273	type NoMethod GoogleCloudDialogflowV2beta1KnowledgeAnswersAnswer
7274	raw := NoMethod(*s)
7275	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7276}
7277
7278func (s *GoogleCloudDialogflowV2beta1KnowledgeAnswersAnswer) UnmarshalJSON(data []byte) error {
7279	type NoMethod GoogleCloudDialogflowV2beta1KnowledgeAnswersAnswer
7280	var s1 struct {
7281		MatchConfidence gensupport.JSONFloat64 `json:"matchConfidence"`
7282		*NoMethod
7283	}
7284	s1.NoMethod = (*NoMethod)(s)
7285	if err := json.Unmarshal(data, &s1); err != nil {
7286		return err
7287	}
7288	s.MatchConfidence = float64(s1.MatchConfidence)
7289	return nil
7290}
7291
7292// GoogleCloudDialogflowV2beta1KnowledgeOperationMetadata: Metadata in
7293// google::longrunning::Operation for Knowledge operations.
7294type GoogleCloudDialogflowV2beta1KnowledgeOperationMetadata struct {
7295	// State: Required. The current state of this operation.
7296	//
7297	// Possible values:
7298	//   "STATE_UNSPECIFIED" - State unspecified.
7299	//   "PENDING" - The operation has been created.
7300	//   "RUNNING" - The operation is currently running.
7301	//   "DONE" - The operation is done, either cancelled or completed.
7302	State string `json:"state,omitempty"`
7303
7304	// ForceSendFields is a list of field names (e.g. "State") to
7305	// unconditionally include in API requests. By default, fields with
7306	// empty values are omitted from API requests. However, any non-pointer,
7307	// non-interface field appearing in ForceSendFields will be sent to the
7308	// server regardless of whether the field is empty or not. This may be
7309	// used to include empty fields in Patch requests.
7310	ForceSendFields []string `json:"-"`
7311
7312	// NullFields is a list of field names (e.g. "State") to include in API
7313	// requests with the JSON null value. By default, fields with empty
7314	// values are omitted from API requests. However, any field with an
7315	// empty value appearing in NullFields will be sent to the server as
7316	// null. It is an error if a field in this list has a non-empty value.
7317	// This may be used to include null fields in Patch requests.
7318	NullFields []string `json:"-"`
7319}
7320
7321func (s *GoogleCloudDialogflowV2beta1KnowledgeOperationMetadata) MarshalJSON() ([]byte, error) {
7322	type NoMethod GoogleCloudDialogflowV2beta1KnowledgeOperationMetadata
7323	raw := NoMethod(*s)
7324	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7325}
7326
7327// GoogleCloudDialogflowV2beta1LabelConversationResponse: The response
7328// for
7329// ConversationDatasets.LabelConversation
7330type GoogleCloudDialogflowV2beta1LabelConversationResponse struct {
7331	// AnnotatedConversationDataset: New annotated conversation dataset
7332	// created by the labeling task.
7333	AnnotatedConversationDataset *GoogleCloudDialogflowV2beta1AnnotatedConversationDataset `json:"annotatedConversationDataset,omitempty"`
7334
7335	// ForceSendFields is a list of field names (e.g.
7336	// "AnnotatedConversationDataset") to unconditionally include in API
7337	// requests. By default, fields with empty values are omitted from API
7338	// requests. However, any non-pointer, non-interface field appearing in
7339	// ForceSendFields will be sent to the server regardless of whether the
7340	// field is empty or not. This may be used to include empty fields in
7341	// Patch requests.
7342	ForceSendFields []string `json:"-"`
7343
7344	// NullFields is a list of field names (e.g.
7345	// "AnnotatedConversationDataset") to include in API requests with the
7346	// JSON null value. By default, fields with empty values are omitted
7347	// from API requests. However, any field with an empty value appearing
7348	// in NullFields will be sent to the server as null. It is an error if a
7349	// field in this list has a non-empty value. This may be used to include
7350	// null fields in Patch requests.
7351	NullFields []string `json:"-"`
7352}
7353
7354func (s *GoogleCloudDialogflowV2beta1LabelConversationResponse) MarshalJSON() ([]byte, error) {
7355	type NoMethod GoogleCloudDialogflowV2beta1LabelConversationResponse
7356	raw := NoMethod(*s)
7357	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7358}
7359
7360// GoogleCloudDialogflowV2beta1OriginalDetectIntentRequest: Represents
7361// the contents of the original request that was passed to
7362// the `[Streaming]DetectIntent` call.
7363type GoogleCloudDialogflowV2beta1OriginalDetectIntentRequest struct {
7364	// Payload: Optional. This field is set to the value of the
7365	// `QueryParameters.payload`
7366	// field passed in the request. Some integrations that query a
7367	// Dialogflow
7368	// agent may provide additional information in the payload.
7369	//
7370	// In particular for the Telephony Gateway this field has the
7371	// form:
7372	// <pre>{
7373	//  "telephony": {
7374	//    "caller_id": "+18558363987"
7375	//  }
7376	// }</pre>
7377	// Note: The caller ID field (`caller_id`) will be redacted for
7378	// Standard
7379	// Edition agents and populated with the caller ID in
7380	// [E.164
7381	// format](https://en.wikipedia.org/wiki/E.164) for Enterprise Edition
7382	// agents.
7383	Payload googleapi.RawMessage `json:"payload,omitempty"`
7384
7385	// Source: The source of this request, e.g., `google`, `facebook`,
7386	// `slack`. It is set
7387	// by Dialogflow-owned servers.
7388	Source string `json:"source,omitempty"`
7389
7390	// Version: Optional. The version of the protocol used for this
7391	// request.
7392	// This field is AoG-specific.
7393	Version string `json:"version,omitempty"`
7394
7395	// ForceSendFields is a list of field names (e.g. "Payload") to
7396	// unconditionally include in API requests. By default, fields with
7397	// empty values are omitted from API requests. However, any non-pointer,
7398	// non-interface field appearing in ForceSendFields will be sent to the
7399	// server regardless of whether the field is empty or not. This may be
7400	// used to include empty fields in Patch requests.
7401	ForceSendFields []string `json:"-"`
7402
7403	// NullFields is a list of field names (e.g. "Payload") to include in
7404	// API requests with the JSON null value. By default, fields with empty
7405	// values are omitted from API requests. However, any field with an
7406	// empty value appearing in NullFields will be sent to the server as
7407	// null. It is an error if a field in this list has a non-empty value.
7408	// This may be used to include null fields in Patch requests.
7409	NullFields []string `json:"-"`
7410}
7411
7412func (s *GoogleCloudDialogflowV2beta1OriginalDetectIntentRequest) MarshalJSON() ([]byte, error) {
7413	type NoMethod GoogleCloudDialogflowV2beta1OriginalDetectIntentRequest
7414	raw := NoMethod(*s)
7415	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7416}
7417
7418// GoogleCloudDialogflowV2beta1QueryResult: Represents the result of
7419// conversational query or event processing.
7420type GoogleCloudDialogflowV2beta1QueryResult struct {
7421	// Action: The action name from the matched intent.
7422	Action string `json:"action,omitempty"`
7423
7424	// AllRequiredParamsPresent: This field is set to:
7425	//
7426	// - `false` if the matched intent has required parameters and not all
7427	// of
7428	//    the required parameter values have been collected.
7429	// - `true` if all required parameter values have been collected, or if
7430	// the
7431	//    matched intent doesn't contain any required parameters.
7432	AllRequiredParamsPresent bool `json:"allRequiredParamsPresent,omitempty"`
7433
7434	// DiagnosticInfo: The free-form diagnostic info. For example, this
7435	// field could contain
7436	// webhook call latency. The string keys of the Struct's fields map can
7437	// change
7438	// without notice.
7439	DiagnosticInfo googleapi.RawMessage `json:"diagnosticInfo,omitempty"`
7440
7441	// FulfillmentMessages: The collection of rich messages to present to
7442	// the user.
7443	FulfillmentMessages []*GoogleCloudDialogflowV2beta1IntentMessage `json:"fulfillmentMessages,omitempty"`
7444
7445	// FulfillmentText: The text to be pronounced to the user or shown on
7446	// the screen.
7447	// Note: This is a legacy field, `fulfillment_messages` should be
7448	// preferred.
7449	FulfillmentText string `json:"fulfillmentText,omitempty"`
7450
7451	// Intent: The intent that matched the conversational query. Some,
7452	// not
7453	// all fields are filled in this message, including but not limited
7454	// to:
7455	// `name`, `display_name`, `end_interaction` and `is_fallback`.
7456	Intent *GoogleCloudDialogflowV2beta1Intent `json:"intent,omitempty"`
7457
7458	// IntentDetectionConfidence: The intent detection confidence. Values
7459	// range from 0.0
7460	// (completely uncertain) to 1.0 (completely certain).
7461	// This value is for informational purpose only and is only used to
7462	// help match the best intent within the classification threshold.
7463	// This value may change for the same end-user expression at any time
7464	// due to a
7465	// model retraining or change in implementation.
7466	// If there are `multiple knowledge_answers` messages, this value is set
7467	// to
7468	// the greatest `knowledgeAnswers.match_confidence` value in the list.
7469	IntentDetectionConfidence float64 `json:"intentDetectionConfidence,omitempty"`
7470
7471	// KnowledgeAnswers: The result from Knowledge Connector (if any),
7472	// ordered by decreasing
7473	// `KnowledgeAnswers.match_confidence`.
7474	KnowledgeAnswers *GoogleCloudDialogflowV2beta1KnowledgeAnswers `json:"knowledgeAnswers,omitempty"`
7475
7476	// LanguageCode: The language that was triggered during intent
7477	// detection.
7478	// See
7479	// [Language
7480	// Support](https://cloud.google.com/dialogflow/docs/reference/
7481	// language)
7482	// for a list of the currently supported language codes.
7483	LanguageCode string `json:"languageCode,omitempty"`
7484
7485	// OutputContexts: The collection of output contexts. If
7486	// applicable,
7487	// `output_contexts.parameters` contains entries with name
7488	// `<parameter name>.original` containing the original parameter
7489	// values
7490	// before the query.
7491	OutputContexts []*GoogleCloudDialogflowV2beta1Context `json:"outputContexts,omitempty"`
7492
7493	// Parameters: The collection of extracted parameters.
7494	Parameters googleapi.RawMessage `json:"parameters,omitempty"`
7495
7496	// QueryText: The original conversational query text:
7497	//
7498	// - If natural language text was provided as input, `query_text`
7499	// contains
7500	//   a copy of the input.
7501	// - If natural language speech audio was provided as input,
7502	// `query_text`
7503	//   contains the speech recognition result. If speech recognizer
7504	// produced
7505	//   multiple alternatives, a particular one is picked.
7506	// - If automatic spell correction is enabled, `query_text` will contain
7507	// the
7508	//   corrected user input.
7509	QueryText string `json:"queryText,omitempty"`
7510
7511	// SentimentAnalysisResult: The sentiment analysis result, which depends
7512	// on the
7513	// `sentiment_analysis_request_config` specified in the request.
7514	SentimentAnalysisResult *GoogleCloudDialogflowV2beta1SentimentAnalysisResult `json:"sentimentAnalysisResult,omitempty"`
7515
7516	// SpeechRecognitionConfidence: The Speech recognition confidence
7517	// between 0.0 and 1.0. A higher number
7518	// indicates an estimated greater likelihood that the recognized words
7519	// are
7520	// correct. The default of 0.0 is a sentinel value indicating that
7521	// confidence
7522	// was not set.
7523	//
7524	// This field is not guaranteed to be accurate or set. In particular
7525	// this
7526	// field isn't set for StreamingDetectIntent since the streaming
7527	// endpoint has
7528	// separate confidence estimates per portion of the audio
7529	// in
7530	// StreamingRecognitionResult.
7531	SpeechRecognitionConfidence float64 `json:"speechRecognitionConfidence,omitempty"`
7532
7533	// WebhookPayload: If the query was fulfilled by a webhook call, this
7534	// field is set to the
7535	// value of the `payload` field returned in the webhook response.
7536	WebhookPayload googleapi.RawMessage `json:"webhookPayload,omitempty"`
7537
7538	// WebhookSource: If the query was fulfilled by a webhook call, this
7539	// field is set to the
7540	// value of the `source` field returned in the webhook response.
7541	WebhookSource string `json:"webhookSource,omitempty"`
7542
7543	// ForceSendFields is a list of field names (e.g. "Action") to
7544	// unconditionally include in API requests. By default, fields with
7545	// empty values are omitted from API requests. However, any non-pointer,
7546	// non-interface field appearing in ForceSendFields will be sent to the
7547	// server regardless of whether the field is empty or not. This may be
7548	// used to include empty fields in Patch requests.
7549	ForceSendFields []string `json:"-"`
7550
7551	// NullFields is a list of field names (e.g. "Action") to include in API
7552	// requests with the JSON null value. By default, fields with empty
7553	// values are omitted from API requests. However, any field with an
7554	// empty value appearing in NullFields will be sent to the server as
7555	// null. It is an error if a field in this list has a non-empty value.
7556	// This may be used to include null fields in Patch requests.
7557	NullFields []string `json:"-"`
7558}
7559
7560func (s *GoogleCloudDialogflowV2beta1QueryResult) MarshalJSON() ([]byte, error) {
7561	type NoMethod GoogleCloudDialogflowV2beta1QueryResult
7562	raw := NoMethod(*s)
7563	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7564}
7565
7566func (s *GoogleCloudDialogflowV2beta1QueryResult) UnmarshalJSON(data []byte) error {
7567	type NoMethod GoogleCloudDialogflowV2beta1QueryResult
7568	var s1 struct {
7569		IntentDetectionConfidence   gensupport.JSONFloat64 `json:"intentDetectionConfidence"`
7570		SpeechRecognitionConfidence gensupport.JSONFloat64 `json:"speechRecognitionConfidence"`
7571		*NoMethod
7572	}
7573	s1.NoMethod = (*NoMethod)(s)
7574	if err := json.Unmarshal(data, &s1); err != nil {
7575		return err
7576	}
7577	s.IntentDetectionConfidence = float64(s1.IntentDetectionConfidence)
7578	s.SpeechRecognitionConfidence = float64(s1.SpeechRecognitionConfidence)
7579	return nil
7580}
7581
7582// GoogleCloudDialogflowV2beta1Sentiment: The sentiment, such as
7583// positive/negative feeling or association, for a unit
7584// of analysis, such as the query text.
7585type GoogleCloudDialogflowV2beta1Sentiment struct {
7586	// Magnitude: A non-negative number in the [0, +inf) range, which
7587	// represents the absolute
7588	// magnitude of sentiment, regardless of score (positive or negative).
7589	Magnitude float64 `json:"magnitude,omitempty"`
7590
7591	// Score: Sentiment score between -1.0 (negative sentiment) and 1.0
7592	// (positive
7593	// sentiment).
7594	Score float64 `json:"score,omitempty"`
7595
7596	// ForceSendFields is a list of field names (e.g. "Magnitude") to
7597	// unconditionally include in API requests. By default, fields with
7598	// empty values are omitted from API requests. However, any non-pointer,
7599	// non-interface field appearing in ForceSendFields will be sent to the
7600	// server regardless of whether the field is empty or not. This may be
7601	// used to include empty fields in Patch requests.
7602	ForceSendFields []string `json:"-"`
7603
7604	// NullFields is a list of field names (e.g. "Magnitude") to include in
7605	// API requests with the JSON null value. By default, fields with empty
7606	// values are omitted from API requests. However, any field with an
7607	// empty value appearing in NullFields will be sent to the server as
7608	// null. It is an error if a field in this list has a non-empty value.
7609	// This may be used to include null fields in Patch requests.
7610	NullFields []string `json:"-"`
7611}
7612
7613func (s *GoogleCloudDialogflowV2beta1Sentiment) MarshalJSON() ([]byte, error) {
7614	type NoMethod GoogleCloudDialogflowV2beta1Sentiment
7615	raw := NoMethod(*s)
7616	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7617}
7618
7619func (s *GoogleCloudDialogflowV2beta1Sentiment) UnmarshalJSON(data []byte) error {
7620	type NoMethod GoogleCloudDialogflowV2beta1Sentiment
7621	var s1 struct {
7622		Magnitude gensupport.JSONFloat64 `json:"magnitude"`
7623		Score     gensupport.JSONFloat64 `json:"score"`
7624		*NoMethod
7625	}
7626	s1.NoMethod = (*NoMethod)(s)
7627	if err := json.Unmarshal(data, &s1); err != nil {
7628		return err
7629	}
7630	s.Magnitude = float64(s1.Magnitude)
7631	s.Score = float64(s1.Score)
7632	return nil
7633}
7634
7635// GoogleCloudDialogflowV2beta1SentimentAnalysisResult: The result of
7636// sentiment analysis as configured
7637// by
7638// `sentiment_analysis_request_config`.
7639type GoogleCloudDialogflowV2beta1SentimentAnalysisResult struct {
7640	// QueryTextSentiment: The sentiment analysis result for `query_text`.
7641	QueryTextSentiment *GoogleCloudDialogflowV2beta1Sentiment `json:"queryTextSentiment,omitempty"`
7642
7643	// ForceSendFields is a list of field names (e.g. "QueryTextSentiment")
7644	// to unconditionally include in API requests. By default, fields with
7645	// empty values are omitted from API requests. However, any non-pointer,
7646	// non-interface field appearing in ForceSendFields will be sent to the
7647	// server regardless of whether the field is empty or not. This may be
7648	// used to include empty fields in Patch requests.
7649	ForceSendFields []string `json:"-"`
7650
7651	// NullFields is a list of field names (e.g. "QueryTextSentiment") to
7652	// include in API requests with the JSON null value. By default, fields
7653	// with empty values are omitted from API requests. However, any field
7654	// with an empty value appearing in NullFields will be sent to the
7655	// server as null. It is an error if a field in this list has a
7656	// non-empty value. This may be used to include null fields in Patch
7657	// requests.
7658	NullFields []string `json:"-"`
7659}
7660
7661func (s *GoogleCloudDialogflowV2beta1SentimentAnalysisResult) MarshalJSON() ([]byte, error) {
7662	type NoMethod GoogleCloudDialogflowV2beta1SentimentAnalysisResult
7663	raw := NoMethod(*s)
7664	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7665}
7666
7667// GoogleCloudDialogflowV2beta1SessionEntityType: Represents a session
7668// entity type.
7669//
7670// Extends or replaces a developer entity type at the user session level
7671// (we
7672// refer to the entity types defined at the agent level as "developer
7673// entity
7674// types").
7675//
7676// Note: session entity types apply to all queries, regardless of the
7677// language.
7678type GoogleCloudDialogflowV2beta1SessionEntityType struct {
7679	// Entities: Required. The collection of entities associated with this
7680	// session entity
7681	// type.
7682	Entities []*GoogleCloudDialogflowV2beta1EntityTypeEntity `json:"entities,omitempty"`
7683
7684	// EntityOverrideMode: Required. Indicates whether the additional data
7685	// should override or
7686	// supplement the developer entity type definition.
7687	//
7688	// Possible values:
7689	//   "ENTITY_OVERRIDE_MODE_UNSPECIFIED" - Not specified. This value
7690	// should be never used.
7691	//   "ENTITY_OVERRIDE_MODE_OVERRIDE" - The collection of session
7692	// entities overrides the collection of entities
7693	// in the corresponding developer entity type.
7694	//   "ENTITY_OVERRIDE_MODE_SUPPLEMENT" - The collection of session
7695	// entities extends the collection of entities in
7696	// the corresponding developer entity type.
7697	//
7698	// Note: Even in this override mode calls to
7699	// `ListSessionEntityTypes`,
7700	// `GetSessionEntityType`, `CreateSessionEntityType`
7701	// and
7702	// `UpdateSessionEntityType` only return the additional entities added
7703	// in
7704	// this session entity type. If you want to get the supplemented
7705	// list,
7706	// please call EntityTypes.GetEntityType on the developer entity
7707	// type
7708	// and merge.
7709	EntityOverrideMode string `json:"entityOverrideMode,omitempty"`
7710
7711	// Name: Required. The unique identifier of this session entity type.
7712	// Format:
7713	// `projects/<Project ID>/agent/sessions/<Session
7714	// ID>/entityTypes/<Entity Type
7715	// Display Name>`, or
7716	// `projects/<Project ID>/agent/environments/<Environment
7717	// ID>/users/<User
7718	// ID>/sessions/<Session ID>/entityTypes/<Entity Type Display Name>`.
7719	// If `Environment ID` is not specified, we assume default
7720	// 'draft'
7721	// environment. If `User ID` is not specified, we assume default '-'
7722	// user.
7723	//
7724	// `<Entity Type Display Name>` must be the display name of an existing
7725	// entity
7726	// type in the same agent that will be overridden or supplemented.
7727	Name string `json:"name,omitempty"`
7728
7729	// ForceSendFields is a list of field names (e.g. "Entities") to
7730	// unconditionally include in API requests. By default, fields with
7731	// empty values are omitted from API requests. However, any non-pointer,
7732	// non-interface field appearing in ForceSendFields will be sent to the
7733	// server regardless of whether the field is empty or not. This may be
7734	// used to include empty fields in Patch requests.
7735	ForceSendFields []string `json:"-"`
7736
7737	// NullFields is a list of field names (e.g. "Entities") to include in
7738	// API requests with the JSON null value. By default, fields with empty
7739	// values are omitted from API requests. However, any field with an
7740	// empty value appearing in NullFields will be sent to the server as
7741	// null. It is an error if a field in this list has a non-empty value.
7742	// This may be used to include null fields in Patch requests.
7743	NullFields []string `json:"-"`
7744}
7745
7746func (s *GoogleCloudDialogflowV2beta1SessionEntityType) MarshalJSON() ([]byte, error) {
7747	type NoMethod GoogleCloudDialogflowV2beta1SessionEntityType
7748	raw := NoMethod(*s)
7749	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7750}
7751
7752// GoogleCloudDialogflowV2beta1WebhookRequest: The request message for a
7753// webhook call.
7754type GoogleCloudDialogflowV2beta1WebhookRequest struct {
7755	// AlternativeQueryResults: Alternative query results from
7756	// KnowledgeService.
7757	AlternativeQueryResults []*GoogleCloudDialogflowV2beta1QueryResult `json:"alternativeQueryResults,omitempty"`
7758
7759	// OriginalDetectIntentRequest: Optional. The contents of the original
7760	// request that was passed to
7761	// `[Streaming]DetectIntent` call.
7762	OriginalDetectIntentRequest *GoogleCloudDialogflowV2beta1OriginalDetectIntentRequest `json:"originalDetectIntentRequest,omitempty"`
7763
7764	// QueryResult: The result of the conversational query or event
7765	// processing. Contains the
7766	// same value as `[Streaming]DetectIntentResponse.query_result`.
7767	QueryResult *GoogleCloudDialogflowV2beta1QueryResult `json:"queryResult,omitempty"`
7768
7769	// ResponseId: The unique identifier of the response. Contains the same
7770	// value as
7771	// `[Streaming]DetectIntentResponse.response_id`.
7772	ResponseId string `json:"responseId,omitempty"`
7773
7774	// Session: The unique identifier of detectIntent request session.
7775	// Can be used to identify end-user inside webhook
7776	// implementation.
7777	// Format: `projects/<Project ID>/agent/sessions/<Session ID>`,
7778	// or
7779	// `projects/<Project ID>/agent/environments/<Environment
7780	// ID>/users/<User
7781	// ID>/sessions/<Session ID>`.
7782	Session string `json:"session,omitempty"`
7783
7784	// ForceSendFields is a list of field names (e.g.
7785	// "AlternativeQueryResults") to unconditionally include in API
7786	// requests. By default, fields with empty values are omitted from API
7787	// requests. However, any non-pointer, non-interface field appearing in
7788	// ForceSendFields will be sent to the server regardless of whether the
7789	// field is empty or not. This may be used to include empty fields in
7790	// Patch requests.
7791	ForceSendFields []string `json:"-"`
7792
7793	// NullFields is a list of field names (e.g. "AlternativeQueryResults")
7794	// to include in API requests with the JSON null value. By default,
7795	// fields with empty values are omitted from API requests. However, any
7796	// field with an empty value appearing in NullFields will be sent to the
7797	// server as null. It is an error if a field in this list has a
7798	// non-empty value. This may be used to include null fields in Patch
7799	// requests.
7800	NullFields []string `json:"-"`
7801}
7802
7803func (s *GoogleCloudDialogflowV2beta1WebhookRequest) MarshalJSON() ([]byte, error) {
7804	type NoMethod GoogleCloudDialogflowV2beta1WebhookRequest
7805	raw := NoMethod(*s)
7806	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7807}
7808
7809// GoogleCloudDialogflowV2beta1WebhookResponse: The response message for
7810// a webhook call.
7811type GoogleCloudDialogflowV2beta1WebhookResponse struct {
7812	// EndInteraction: Optional. Indicates that this intent ends an
7813	// interaction. Some integrations
7814	// (e.g., Actions on Google or Dialogflow phone gateway) use this
7815	// information
7816	// to close interaction with an end user. Default is false.
7817	EndInteraction bool `json:"endInteraction,omitempty"`
7818
7819	// FollowupEventInput: Optional. Makes the platform immediately invoke
7820	// another `DetectIntent` call
7821	// internally with the specified event as input.
7822	// When this field is set, Dialogflow ignores the
7823	// `fulfillment_text`,
7824	// `fulfillment_messages`, and `payload` fields.
7825	FollowupEventInput *GoogleCloudDialogflowV2beta1EventInput `json:"followupEventInput,omitempty"`
7826
7827	// FulfillmentMessages: Optional. The collection of rich messages to
7828	// present to the user. This
7829	// value is passed directly to `QueryResult.fulfillment_messages`.
7830	FulfillmentMessages []*GoogleCloudDialogflowV2beta1IntentMessage `json:"fulfillmentMessages,omitempty"`
7831
7832	// FulfillmentText: Optional. The text to be shown on the screen. This
7833	// value is passed directly
7834	// to `QueryResult.fulfillment_text`.
7835	FulfillmentText string `json:"fulfillmentText,omitempty"`
7836
7837	// OutputContexts: Optional. The collection of output contexts. This
7838	// value is passed directly
7839	// to `QueryResult.output_contexts`.
7840	OutputContexts []*GoogleCloudDialogflowV2beta1Context `json:"outputContexts,omitempty"`
7841
7842	// Payload: Optional. This value is passed directly to
7843	// `QueryResult.webhook_payload`.
7844	// See the related `fulfillment_messages[i].payload field`, which may be
7845	// used
7846	// as an alternative to this field.
7847	//
7848	// This field can be used for Actions on Google responses.
7849	// It should have a structure similar to the JSON message shown here.
7850	// For more
7851	// information, see
7852	// [Actions on Google
7853	// Webhook
7854	// Format](https://developers.google.com/actions/dialogflow/webho
7855	// ok)
7856	// <pre>{
7857	//   "google": {
7858	//     "expectUserResponse": true,
7859	//     "richResponse": {
7860	//       "items": [
7861	//         {
7862	//           "simpleResponse": {
7863	//             "textToSpeech": "this is a simple response"
7864	//           }
7865	//         }
7866	//       ]
7867	//     }
7868	//   }
7869	// }</pre>
7870	Payload googleapi.RawMessage `json:"payload,omitempty"`
7871
7872	// SessionEntityTypes: Optional. Additional session entity types to
7873	// replace or extend developer
7874	// entity types with. The entity synonyms apply to all languages and
7875	// persist
7876	// for the session of this query. Setting the session entity types
7877	// inside
7878	// webhook overwrites the session entity types that have been set
7879	// through
7880	// `DetectIntentRequest.query_params.session_entity_types`.
7881	SessionEntityTypes []*GoogleCloudDialogflowV2beta1SessionEntityType `json:"sessionEntityTypes,omitempty"`
7882
7883	// Source: Optional. This value is passed directly to
7884	// `QueryResult.webhook_source`.
7885	Source string `json:"source,omitempty"`
7886
7887	// ForceSendFields is a list of field names (e.g. "EndInteraction") to
7888	// unconditionally include in API requests. By default, fields with
7889	// empty values are omitted from API requests. However, any non-pointer,
7890	// non-interface field appearing in ForceSendFields will be sent to the
7891	// server regardless of whether the field is empty or not. This may be
7892	// used to include empty fields in Patch requests.
7893	ForceSendFields []string `json:"-"`
7894
7895	// NullFields is a list of field names (e.g. "EndInteraction") to
7896	// include in API requests with the JSON null value. By default, fields
7897	// with empty values are omitted from API requests. However, any field
7898	// with an empty value appearing in NullFields will be sent to the
7899	// server as null. It is an error if a field in this list has a
7900	// non-empty value. This may be used to include null fields in Patch
7901	// requests.
7902	NullFields []string `json:"-"`
7903}
7904
7905func (s *GoogleCloudDialogflowV2beta1WebhookResponse) MarshalJSON() ([]byte, error) {
7906	type NoMethod GoogleCloudDialogflowV2beta1WebhookResponse
7907	raw := NoMethod(*s)
7908	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7909}
7910
7911// GoogleLongrunningListOperationsResponse: The response message for
7912// Operations.ListOperations.
7913type GoogleLongrunningListOperationsResponse struct {
7914	// NextPageToken: The standard List next-page token.
7915	NextPageToken string `json:"nextPageToken,omitempty"`
7916
7917	// Operations: A list of operations that matches the specified filter in
7918	// the request.
7919	Operations []*GoogleLongrunningOperation `json:"operations,omitempty"`
7920
7921	// ServerResponse contains the HTTP response code and headers from the
7922	// server.
7923	googleapi.ServerResponse `json:"-"`
7924
7925	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
7926	// unconditionally include in API requests. By default, fields with
7927	// empty values are omitted from API requests. However, any non-pointer,
7928	// non-interface field appearing in ForceSendFields will be sent to the
7929	// server regardless of whether the field is empty or not. This may be
7930	// used to include empty fields in Patch requests.
7931	ForceSendFields []string `json:"-"`
7932
7933	// NullFields is a list of field names (e.g. "NextPageToken") to include
7934	// in API requests with the JSON null value. By default, fields with
7935	// empty values are omitted from API requests. However, any field with
7936	// an empty value appearing in NullFields will be sent to the server as
7937	// null. It is an error if a field in this list has a non-empty value.
7938	// This may be used to include null fields in Patch requests.
7939	NullFields []string `json:"-"`
7940}
7941
7942func (s *GoogleLongrunningListOperationsResponse) MarshalJSON() ([]byte, error) {
7943	type NoMethod GoogleLongrunningListOperationsResponse
7944	raw := NoMethod(*s)
7945	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7946}
7947
7948// GoogleLongrunningOperation: This resource represents a long-running
7949// operation that is the result of a
7950// network API call.
7951type GoogleLongrunningOperation struct {
7952	// Done: If the value is `false`, it means the operation is still in
7953	// progress.
7954	// If `true`, the operation is completed, and either `error` or
7955	// `response` is
7956	// available.
7957	Done bool `json:"done,omitempty"`
7958
7959	// Error: The error result of the operation in case of failure or
7960	// cancellation.
7961	Error *GoogleRpcStatus `json:"error,omitempty"`
7962
7963	// Metadata: Service-specific metadata associated with the operation.
7964	// It typically
7965	// contains progress information and common metadata such as create
7966	// time.
7967	// Some services might not provide such metadata.  Any method that
7968	// returns a
7969	// long-running operation should document the metadata type, if any.
7970	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
7971
7972	// Name: The server-assigned name, which is only unique within the same
7973	// service that
7974	// originally returns it. If you use the default HTTP mapping,
7975	// the
7976	// `name` should be a resource name ending with
7977	// `operations/{unique_id}`.
7978	Name string `json:"name,omitempty"`
7979
7980	// Response: The normal response of the operation in case of success.
7981	// If the original
7982	// method returns no data on success, such as `Delete`, the response
7983	// is
7984	// `google.protobuf.Empty`.  If the original method is
7985	// standard
7986	// `Get`/`Create`/`Update`, the response should be the resource.  For
7987	// other
7988	// methods, the response should have the type `XxxResponse`, where
7989	// `Xxx`
7990	// is the original method name.  For example, if the original method
7991	// name
7992	// is `TakeSnapshot()`, the inferred response type
7993	// is
7994	// `TakeSnapshotResponse`.
7995	Response googleapi.RawMessage `json:"response,omitempty"`
7996
7997	// ServerResponse contains the HTTP response code and headers from the
7998	// server.
7999	googleapi.ServerResponse `json:"-"`
8000
8001	// ForceSendFields is a list of field names (e.g. "Done") to
8002	// unconditionally include in API requests. By default, fields with
8003	// empty values are omitted from API requests. However, any non-pointer,
8004	// non-interface field appearing in ForceSendFields will be sent to the
8005	// server regardless of whether the field is empty or not. This may be
8006	// used to include empty fields in Patch requests.
8007	ForceSendFields []string `json:"-"`
8008
8009	// NullFields is a list of field names (e.g. "Done") to include in API
8010	// requests with the JSON null value. By default, fields with empty
8011	// values are omitted from API requests. However, any field with an
8012	// empty value appearing in NullFields will be sent to the server as
8013	// null. It is an error if a field in this list has a non-empty value.
8014	// This may be used to include null fields in Patch requests.
8015	NullFields []string `json:"-"`
8016}
8017
8018func (s *GoogleLongrunningOperation) MarshalJSON() ([]byte, error) {
8019	type NoMethod GoogleLongrunningOperation
8020	raw := NoMethod(*s)
8021	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8022}
8023
8024// GoogleProtobufEmpty: A generic empty message that you can re-use to
8025// avoid defining duplicated
8026// empty messages in your APIs. A typical example is to use it as the
8027// request
8028// or the response type of an API method. For instance:
8029//
8030//     service Foo {
8031//       rpc Bar(google.protobuf.Empty) returns
8032// (google.protobuf.Empty);
8033//     }
8034//
8035// The JSON representation for `Empty` is empty JSON object `{}`.
8036type GoogleProtobufEmpty struct {
8037	// ServerResponse contains the HTTP response code and headers from the
8038	// server.
8039	googleapi.ServerResponse `json:"-"`
8040}
8041
8042// GoogleRpcStatus: The `Status` type defines a logical error model that
8043// is suitable for
8044// different programming environments, including REST APIs and RPC APIs.
8045// It is
8046// used by [gRPC](https://github.com/grpc). Each `Status` message
8047// contains
8048// three pieces of data: error code, error message, and error
8049// details.
8050//
8051// You can find out more about this error model and how to work with it
8052// in the
8053// [API Design Guide](https://cloud.google.com/apis/design/errors).
8054type GoogleRpcStatus struct {
8055	// Code: The status code, which should be an enum value of
8056	// google.rpc.Code.
8057	Code int64 `json:"code,omitempty"`
8058
8059	// Details: A list of messages that carry the error details.  There is a
8060	// common set of
8061	// message types for APIs to use.
8062	Details []googleapi.RawMessage `json:"details,omitempty"`
8063
8064	// Message: A developer-facing error message, which should be in
8065	// English. Any
8066	// user-facing error message should be localized and sent in
8067	// the
8068	// google.rpc.Status.details field, or localized by the client.
8069	Message string `json:"message,omitempty"`
8070
8071	// ForceSendFields is a list of field names (e.g. "Code") to
8072	// unconditionally include in API requests. By default, fields with
8073	// empty values are omitted from API requests. However, any non-pointer,
8074	// non-interface field appearing in ForceSendFields will be sent to the
8075	// server regardless of whether the field is empty or not. This may be
8076	// used to include empty fields in Patch requests.
8077	ForceSendFields []string `json:"-"`
8078
8079	// NullFields is a list of field names (e.g. "Code") to include in API
8080	// requests with the JSON null value. By default, fields with empty
8081	// values are omitted from API requests. However, any field with an
8082	// empty value appearing in NullFields will be sent to the server as
8083	// null. It is an error if a field in this list has a non-empty value.
8084	// This may be used to include null fields in Patch requests.
8085	NullFields []string `json:"-"`
8086}
8087
8088func (s *GoogleRpcStatus) MarshalJSON() ([]byte, error) {
8089	type NoMethod GoogleRpcStatus
8090	raw := NoMethod(*s)
8091	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8092}
8093
8094// GoogleTypeLatLng: An object representing a latitude/longitude pair.
8095// This is expressed as a pair
8096// of doubles representing degrees latitude and degrees longitude.
8097// Unless
8098// specified otherwise, this must conform to the
8099// <a
8100// href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
8101// st
8102// andard</a>. Values must be within normalized ranges.
8103type GoogleTypeLatLng struct {
8104	// Latitude: The latitude in degrees. It must be in the range [-90.0,
8105	// +90.0].
8106	Latitude float64 `json:"latitude,omitempty"`
8107
8108	// Longitude: The longitude in degrees. It must be in the range [-180.0,
8109	// +180.0].
8110	Longitude float64 `json:"longitude,omitempty"`
8111
8112	// ForceSendFields is a list of field names (e.g. "Latitude") to
8113	// unconditionally include in API requests. By default, fields with
8114	// empty values are omitted from API requests. However, any non-pointer,
8115	// non-interface field appearing in ForceSendFields will be sent to the
8116	// server regardless of whether the field is empty or not. This may be
8117	// used to include empty fields in Patch requests.
8118	ForceSendFields []string `json:"-"`
8119
8120	// NullFields is a list of field names (e.g. "Latitude") to include in
8121	// API requests with the JSON null value. By default, fields with empty
8122	// values are omitted from API requests. However, any field with an
8123	// empty value appearing in NullFields will be sent to the server as
8124	// null. It is an error if a field in this list has a non-empty value.
8125	// This may be used to include null fields in Patch requests.
8126	NullFields []string `json:"-"`
8127}
8128
8129func (s *GoogleTypeLatLng) MarshalJSON() ([]byte, error) {
8130	type NoMethod GoogleTypeLatLng
8131	raw := NoMethod(*s)
8132	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8133}
8134
8135func (s *GoogleTypeLatLng) UnmarshalJSON(data []byte) error {
8136	type NoMethod GoogleTypeLatLng
8137	var s1 struct {
8138		Latitude  gensupport.JSONFloat64 `json:"latitude"`
8139		Longitude gensupport.JSONFloat64 `json:"longitude"`
8140		*NoMethod
8141	}
8142	s1.NoMethod = (*NoMethod)(s)
8143	if err := json.Unmarshal(data, &s1); err != nil {
8144		return err
8145	}
8146	s.Latitude = float64(s1.Latitude)
8147	s.Longitude = float64(s1.Longitude)
8148	return nil
8149}
8150
8151// method id "dialogflow.projects.agent":
8152
8153type ProjectsAgentCall struct {
8154	s                            *Service
8155	parent                       string
8156	googleclouddialogflowv2agent *GoogleCloudDialogflowV2Agent
8157	urlParams_                   gensupport.URLParams
8158	ctx_                         context.Context
8159	header_                      http.Header
8160}
8161
8162// Agent: Creates/updates the specified agent.
8163func (r *ProjectsService) Agent(parent string, googleclouddialogflowv2agent *GoogleCloudDialogflowV2Agent) *ProjectsAgentCall {
8164	c := &ProjectsAgentCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8165	c.parent = parent
8166	c.googleclouddialogflowv2agent = googleclouddialogflowv2agent
8167	return c
8168}
8169
8170// UpdateMask sets the optional parameter "updateMask": The mask to
8171// control which fields get updated.
8172func (c *ProjectsAgentCall) UpdateMask(updateMask string) *ProjectsAgentCall {
8173	c.urlParams_.Set("updateMask", updateMask)
8174	return c
8175}
8176
8177// Fields allows partial responses to be retrieved. See
8178// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8179// for more information.
8180func (c *ProjectsAgentCall) Fields(s ...googleapi.Field) *ProjectsAgentCall {
8181	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8182	return c
8183}
8184
8185// Context sets the context to be used in this call's Do method. Any
8186// pending HTTP request will be aborted if the provided context is
8187// canceled.
8188func (c *ProjectsAgentCall) Context(ctx context.Context) *ProjectsAgentCall {
8189	c.ctx_ = ctx
8190	return c
8191}
8192
8193// Header returns an http.Header that can be modified by the caller to
8194// add HTTP headers to the request.
8195func (c *ProjectsAgentCall) Header() http.Header {
8196	if c.header_ == nil {
8197		c.header_ = make(http.Header)
8198	}
8199	return c.header_
8200}
8201
8202func (c *ProjectsAgentCall) doRequest(alt string) (*http.Response, error) {
8203	reqHeaders := make(http.Header)
8204	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
8205	for k, v := range c.header_ {
8206		reqHeaders[k] = v
8207	}
8208	reqHeaders.Set("User-Agent", c.s.userAgent())
8209	var body io.Reader = nil
8210	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowv2agent)
8211	if err != nil {
8212		return nil, err
8213	}
8214	reqHeaders.Set("Content-Type", "application/json")
8215	c.urlParams_.Set("alt", alt)
8216	c.urlParams_.Set("prettyPrint", "false")
8217	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/agent")
8218	urls += "?" + c.urlParams_.Encode()
8219	req, err := http.NewRequest("POST", urls, body)
8220	if err != nil {
8221		return nil, err
8222	}
8223	req.Header = reqHeaders
8224	googleapi.Expand(req.URL, map[string]string{
8225		"parent": c.parent,
8226	})
8227	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8228}
8229
8230// Do executes the "dialogflow.projects.agent" call.
8231// Exactly one of *GoogleCloudDialogflowV2Agent or error will be
8232// non-nil. Any non-2xx status code is an error. Response headers are in
8233// either *GoogleCloudDialogflowV2Agent.ServerResponse.Header or (if a
8234// response was returned at all) in error.(*googleapi.Error).Header. Use
8235// googleapi.IsNotModified to check whether the returned error was
8236// because http.StatusNotModified was returned.
8237func (c *ProjectsAgentCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowV2Agent, error) {
8238	gensupport.SetOptions(c.urlParams_, opts...)
8239	res, err := c.doRequest("json")
8240	if res != nil && res.StatusCode == http.StatusNotModified {
8241		if res.Body != nil {
8242			res.Body.Close()
8243		}
8244		return nil, &googleapi.Error{
8245			Code:   res.StatusCode,
8246			Header: res.Header,
8247		}
8248	}
8249	if err != nil {
8250		return nil, err
8251	}
8252	defer googleapi.CloseBody(res)
8253	if err := googleapi.CheckResponse(res); err != nil {
8254		return nil, err
8255	}
8256	ret := &GoogleCloudDialogflowV2Agent{
8257		ServerResponse: googleapi.ServerResponse{
8258			Header:         res.Header,
8259			HTTPStatusCode: res.StatusCode,
8260		},
8261	}
8262	target := &ret
8263	if err := gensupport.DecodeResponse(target, res); err != nil {
8264		return nil, err
8265	}
8266	return ret, nil
8267	// {
8268	//   "description": "Creates/updates the specified agent.",
8269	//   "flatPath": "v2/projects/{projectsId}/agent",
8270	//   "httpMethod": "POST",
8271	//   "id": "dialogflow.projects.agent",
8272	//   "parameterOrder": [
8273	//     "parent"
8274	//   ],
8275	//   "parameters": {
8276	//     "parent": {
8277	//       "description": "Required. The project of this agent.\nFormat: `projects/\u003cProject ID\u003e`.",
8278	//       "location": "path",
8279	//       "pattern": "^projects/[^/]+$",
8280	//       "required": true,
8281	//       "type": "string"
8282	//     },
8283	//     "updateMask": {
8284	//       "description": "Optional. The mask to control which fields get updated.",
8285	//       "format": "google-fieldmask",
8286	//       "location": "query",
8287	//       "type": "string"
8288	//     }
8289	//   },
8290	//   "path": "v2/{+parent}/agent",
8291	//   "request": {
8292	//     "$ref": "GoogleCloudDialogflowV2Agent"
8293	//   },
8294	//   "response": {
8295	//     "$ref": "GoogleCloudDialogflowV2Agent"
8296	//   },
8297	//   "scopes": [
8298	//     "https://www.googleapis.com/auth/cloud-platform",
8299	//     "https://www.googleapis.com/auth/dialogflow"
8300	//   ]
8301	// }
8302
8303}
8304
8305// method id "dialogflow.projects.deleteAgent":
8306
8307type ProjectsDeleteAgentCall struct {
8308	s          *Service
8309	parent     string
8310	urlParams_ gensupport.URLParams
8311	ctx_       context.Context
8312	header_    http.Header
8313}
8314
8315// DeleteAgent: Deletes the specified agent.
8316func (r *ProjectsService) DeleteAgent(parent string) *ProjectsDeleteAgentCall {
8317	c := &ProjectsDeleteAgentCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8318	c.parent = parent
8319	return c
8320}
8321
8322// Fields allows partial responses to be retrieved. See
8323// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8324// for more information.
8325func (c *ProjectsDeleteAgentCall) Fields(s ...googleapi.Field) *ProjectsDeleteAgentCall {
8326	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8327	return c
8328}
8329
8330// Context sets the context to be used in this call's Do method. Any
8331// pending HTTP request will be aborted if the provided context is
8332// canceled.
8333func (c *ProjectsDeleteAgentCall) Context(ctx context.Context) *ProjectsDeleteAgentCall {
8334	c.ctx_ = ctx
8335	return c
8336}
8337
8338// Header returns an http.Header that can be modified by the caller to
8339// add HTTP headers to the request.
8340func (c *ProjectsDeleteAgentCall) Header() http.Header {
8341	if c.header_ == nil {
8342		c.header_ = make(http.Header)
8343	}
8344	return c.header_
8345}
8346
8347func (c *ProjectsDeleteAgentCall) doRequest(alt string) (*http.Response, error) {
8348	reqHeaders := make(http.Header)
8349	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
8350	for k, v := range c.header_ {
8351		reqHeaders[k] = v
8352	}
8353	reqHeaders.Set("User-Agent", c.s.userAgent())
8354	var body io.Reader = nil
8355	c.urlParams_.Set("alt", alt)
8356	c.urlParams_.Set("prettyPrint", "false")
8357	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/agent")
8358	urls += "?" + c.urlParams_.Encode()
8359	req, err := http.NewRequest("DELETE", urls, body)
8360	if err != nil {
8361		return nil, err
8362	}
8363	req.Header = reqHeaders
8364	googleapi.Expand(req.URL, map[string]string{
8365		"parent": c.parent,
8366	})
8367	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8368}
8369
8370// Do executes the "dialogflow.projects.deleteAgent" call.
8371// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
8372// non-2xx status code is an error. Response headers are in either
8373// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
8374// returned at all) in error.(*googleapi.Error).Header. Use
8375// googleapi.IsNotModified to check whether the returned error was
8376// because http.StatusNotModified was returned.
8377func (c *ProjectsDeleteAgentCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
8378	gensupport.SetOptions(c.urlParams_, opts...)
8379	res, err := c.doRequest("json")
8380	if res != nil && res.StatusCode == http.StatusNotModified {
8381		if res.Body != nil {
8382			res.Body.Close()
8383		}
8384		return nil, &googleapi.Error{
8385			Code:   res.StatusCode,
8386			Header: res.Header,
8387		}
8388	}
8389	if err != nil {
8390		return nil, err
8391	}
8392	defer googleapi.CloseBody(res)
8393	if err := googleapi.CheckResponse(res); err != nil {
8394		return nil, err
8395	}
8396	ret := &GoogleProtobufEmpty{
8397		ServerResponse: googleapi.ServerResponse{
8398			Header:         res.Header,
8399			HTTPStatusCode: res.StatusCode,
8400		},
8401	}
8402	target := &ret
8403	if err := gensupport.DecodeResponse(target, res); err != nil {
8404		return nil, err
8405	}
8406	return ret, nil
8407	// {
8408	//   "description": "Deletes the specified agent.",
8409	//   "flatPath": "v2/projects/{projectsId}/agent",
8410	//   "httpMethod": "DELETE",
8411	//   "id": "dialogflow.projects.deleteAgent",
8412	//   "parameterOrder": [
8413	//     "parent"
8414	//   ],
8415	//   "parameters": {
8416	//     "parent": {
8417	//       "description": "Required. The project that the agent to delete is associated with.\nFormat: `projects/\u003cProject ID\u003e`.",
8418	//       "location": "path",
8419	//       "pattern": "^projects/[^/]+$",
8420	//       "required": true,
8421	//       "type": "string"
8422	//     }
8423	//   },
8424	//   "path": "v2/{+parent}/agent",
8425	//   "response": {
8426	//     "$ref": "GoogleProtobufEmpty"
8427	//   },
8428	//   "scopes": [
8429	//     "https://www.googleapis.com/auth/cloud-platform",
8430	//     "https://www.googleapis.com/auth/dialogflow"
8431	//   ]
8432	// }
8433
8434}
8435
8436// method id "dialogflow.projects.getAgent":
8437
8438type ProjectsGetAgentCall struct {
8439	s            *Service
8440	parent       string
8441	urlParams_   gensupport.URLParams
8442	ifNoneMatch_ string
8443	ctx_         context.Context
8444	header_      http.Header
8445}
8446
8447// GetAgent: Retrieves the specified agent.
8448func (r *ProjectsService) GetAgent(parent string) *ProjectsGetAgentCall {
8449	c := &ProjectsGetAgentCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8450	c.parent = parent
8451	return c
8452}
8453
8454// Fields allows partial responses to be retrieved. See
8455// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8456// for more information.
8457func (c *ProjectsGetAgentCall) Fields(s ...googleapi.Field) *ProjectsGetAgentCall {
8458	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8459	return c
8460}
8461
8462// IfNoneMatch sets the optional parameter which makes the operation
8463// fail if the object's ETag matches the given value. This is useful for
8464// getting updates only after the object has changed since the last
8465// request. Use googleapi.IsNotModified to check whether the response
8466// error from Do is the result of In-None-Match.
8467func (c *ProjectsGetAgentCall) IfNoneMatch(entityTag string) *ProjectsGetAgentCall {
8468	c.ifNoneMatch_ = entityTag
8469	return c
8470}
8471
8472// Context sets the context to be used in this call's Do method. Any
8473// pending HTTP request will be aborted if the provided context is
8474// canceled.
8475func (c *ProjectsGetAgentCall) Context(ctx context.Context) *ProjectsGetAgentCall {
8476	c.ctx_ = ctx
8477	return c
8478}
8479
8480// Header returns an http.Header that can be modified by the caller to
8481// add HTTP headers to the request.
8482func (c *ProjectsGetAgentCall) Header() http.Header {
8483	if c.header_ == nil {
8484		c.header_ = make(http.Header)
8485	}
8486	return c.header_
8487}
8488
8489func (c *ProjectsGetAgentCall) doRequest(alt string) (*http.Response, error) {
8490	reqHeaders := make(http.Header)
8491	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
8492	for k, v := range c.header_ {
8493		reqHeaders[k] = v
8494	}
8495	reqHeaders.Set("User-Agent", c.s.userAgent())
8496	if c.ifNoneMatch_ != "" {
8497		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
8498	}
8499	var body io.Reader = nil
8500	c.urlParams_.Set("alt", alt)
8501	c.urlParams_.Set("prettyPrint", "false")
8502	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/agent")
8503	urls += "?" + c.urlParams_.Encode()
8504	req, err := http.NewRequest("GET", urls, body)
8505	if err != nil {
8506		return nil, err
8507	}
8508	req.Header = reqHeaders
8509	googleapi.Expand(req.URL, map[string]string{
8510		"parent": c.parent,
8511	})
8512	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8513}
8514
8515// Do executes the "dialogflow.projects.getAgent" call.
8516// Exactly one of *GoogleCloudDialogflowV2Agent or error will be
8517// non-nil. Any non-2xx status code is an error. Response headers are in
8518// either *GoogleCloudDialogflowV2Agent.ServerResponse.Header or (if a
8519// response was returned at all) in error.(*googleapi.Error).Header. Use
8520// googleapi.IsNotModified to check whether the returned error was
8521// because http.StatusNotModified was returned.
8522func (c *ProjectsGetAgentCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowV2Agent, error) {
8523	gensupport.SetOptions(c.urlParams_, opts...)
8524	res, err := c.doRequest("json")
8525	if res != nil && res.StatusCode == http.StatusNotModified {
8526		if res.Body != nil {
8527			res.Body.Close()
8528		}
8529		return nil, &googleapi.Error{
8530			Code:   res.StatusCode,
8531			Header: res.Header,
8532		}
8533	}
8534	if err != nil {
8535		return nil, err
8536	}
8537	defer googleapi.CloseBody(res)
8538	if err := googleapi.CheckResponse(res); err != nil {
8539		return nil, err
8540	}
8541	ret := &GoogleCloudDialogflowV2Agent{
8542		ServerResponse: googleapi.ServerResponse{
8543			Header:         res.Header,
8544			HTTPStatusCode: res.StatusCode,
8545		},
8546	}
8547	target := &ret
8548	if err := gensupport.DecodeResponse(target, res); err != nil {
8549		return nil, err
8550	}
8551	return ret, nil
8552	// {
8553	//   "description": "Retrieves the specified agent.",
8554	//   "flatPath": "v2/projects/{projectsId}/agent",
8555	//   "httpMethod": "GET",
8556	//   "id": "dialogflow.projects.getAgent",
8557	//   "parameterOrder": [
8558	//     "parent"
8559	//   ],
8560	//   "parameters": {
8561	//     "parent": {
8562	//       "description": "Required. The project that the agent to fetch is associated with.\nFormat: `projects/\u003cProject ID\u003e`.",
8563	//       "location": "path",
8564	//       "pattern": "^projects/[^/]+$",
8565	//       "required": true,
8566	//       "type": "string"
8567	//     }
8568	//   },
8569	//   "path": "v2/{+parent}/agent",
8570	//   "response": {
8571	//     "$ref": "GoogleCloudDialogflowV2Agent"
8572	//   },
8573	//   "scopes": [
8574	//     "https://www.googleapis.com/auth/cloud-platform",
8575	//     "https://www.googleapis.com/auth/dialogflow"
8576	//   ]
8577	// }
8578
8579}
8580
8581// method id "dialogflow.projects.agent.export":
8582
8583type ProjectsAgentExportCall struct {
8584	s                                         *Service
8585	parent                                    string
8586	googleclouddialogflowv2exportagentrequest *GoogleCloudDialogflowV2ExportAgentRequest
8587	urlParams_                                gensupport.URLParams
8588	ctx_                                      context.Context
8589	header_                                   http.Header
8590}
8591
8592// Export: Exports the specified agent to a ZIP file.
8593//
8594// Operation <response: ExportAgentResponse>
8595func (r *ProjectsAgentService) Export(parent string, googleclouddialogflowv2exportagentrequest *GoogleCloudDialogflowV2ExportAgentRequest) *ProjectsAgentExportCall {
8596	c := &ProjectsAgentExportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8597	c.parent = parent
8598	c.googleclouddialogflowv2exportagentrequest = googleclouddialogflowv2exportagentrequest
8599	return c
8600}
8601
8602// Fields allows partial responses to be retrieved. See
8603// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8604// for more information.
8605func (c *ProjectsAgentExportCall) Fields(s ...googleapi.Field) *ProjectsAgentExportCall {
8606	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8607	return c
8608}
8609
8610// Context sets the context to be used in this call's Do method. Any
8611// pending HTTP request will be aborted if the provided context is
8612// canceled.
8613func (c *ProjectsAgentExportCall) Context(ctx context.Context) *ProjectsAgentExportCall {
8614	c.ctx_ = ctx
8615	return c
8616}
8617
8618// Header returns an http.Header that can be modified by the caller to
8619// add HTTP headers to the request.
8620func (c *ProjectsAgentExportCall) Header() http.Header {
8621	if c.header_ == nil {
8622		c.header_ = make(http.Header)
8623	}
8624	return c.header_
8625}
8626
8627func (c *ProjectsAgentExportCall) doRequest(alt string) (*http.Response, error) {
8628	reqHeaders := make(http.Header)
8629	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
8630	for k, v := range c.header_ {
8631		reqHeaders[k] = v
8632	}
8633	reqHeaders.Set("User-Agent", c.s.userAgent())
8634	var body io.Reader = nil
8635	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowv2exportagentrequest)
8636	if err != nil {
8637		return nil, err
8638	}
8639	reqHeaders.Set("Content-Type", "application/json")
8640	c.urlParams_.Set("alt", alt)
8641	c.urlParams_.Set("prettyPrint", "false")
8642	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/agent:export")
8643	urls += "?" + c.urlParams_.Encode()
8644	req, err := http.NewRequest("POST", urls, body)
8645	if err != nil {
8646		return nil, err
8647	}
8648	req.Header = reqHeaders
8649	googleapi.Expand(req.URL, map[string]string{
8650		"parent": c.parent,
8651	})
8652	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8653}
8654
8655// Do executes the "dialogflow.projects.agent.export" call.
8656// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
8657// Any non-2xx status code is an error. Response headers are in either
8658// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
8659// was returned at all) in error.(*googleapi.Error).Header. Use
8660// googleapi.IsNotModified to check whether the returned error was
8661// because http.StatusNotModified was returned.
8662func (c *ProjectsAgentExportCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
8663	gensupport.SetOptions(c.urlParams_, opts...)
8664	res, err := c.doRequest("json")
8665	if res != nil && res.StatusCode == http.StatusNotModified {
8666		if res.Body != nil {
8667			res.Body.Close()
8668		}
8669		return nil, &googleapi.Error{
8670			Code:   res.StatusCode,
8671			Header: res.Header,
8672		}
8673	}
8674	if err != nil {
8675		return nil, err
8676	}
8677	defer googleapi.CloseBody(res)
8678	if err := googleapi.CheckResponse(res); err != nil {
8679		return nil, err
8680	}
8681	ret := &GoogleLongrunningOperation{
8682		ServerResponse: googleapi.ServerResponse{
8683			Header:         res.Header,
8684			HTTPStatusCode: res.StatusCode,
8685		},
8686	}
8687	target := &ret
8688	if err := gensupport.DecodeResponse(target, res); err != nil {
8689		return nil, err
8690	}
8691	return ret, nil
8692	// {
8693	//   "description": "Exports the specified agent to a ZIP file.\n\nOperation \u003cresponse: ExportAgentResponse\u003e",
8694	//   "flatPath": "v2/projects/{projectsId}/agent:export",
8695	//   "httpMethod": "POST",
8696	//   "id": "dialogflow.projects.agent.export",
8697	//   "parameterOrder": [
8698	//     "parent"
8699	//   ],
8700	//   "parameters": {
8701	//     "parent": {
8702	//       "description": "Required. The project that the agent to export is associated with.\nFormat: `projects/\u003cProject ID\u003e`.",
8703	//       "location": "path",
8704	//       "pattern": "^projects/[^/]+$",
8705	//       "required": true,
8706	//       "type": "string"
8707	//     }
8708	//   },
8709	//   "path": "v2/{+parent}/agent:export",
8710	//   "request": {
8711	//     "$ref": "GoogleCloudDialogflowV2ExportAgentRequest"
8712	//   },
8713	//   "response": {
8714	//     "$ref": "GoogleLongrunningOperation"
8715	//   },
8716	//   "scopes": [
8717	//     "https://www.googleapis.com/auth/cloud-platform",
8718	//     "https://www.googleapis.com/auth/dialogflow"
8719	//   ]
8720	// }
8721
8722}
8723
8724// method id "dialogflow.projects.agent.import":
8725
8726type ProjectsAgentImportCall struct {
8727	s                                         *Service
8728	parent                                    string
8729	googleclouddialogflowv2importagentrequest *GoogleCloudDialogflowV2ImportAgentRequest
8730	urlParams_                                gensupport.URLParams
8731	ctx_                                      context.Context
8732	header_                                   http.Header
8733}
8734
8735// Import: Imports the specified agent from a ZIP file.
8736//
8737// Uploads new intents and entity types without deleting the existing
8738// ones.
8739// Intents and entity types with the same name are replaced with the
8740// new
8741// versions from ImportAgentRequest.
8742//
8743// Operation <response: google.protobuf.Empty>
8744func (r *ProjectsAgentService) Import(parent string, googleclouddialogflowv2importagentrequest *GoogleCloudDialogflowV2ImportAgentRequest) *ProjectsAgentImportCall {
8745	c := &ProjectsAgentImportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8746	c.parent = parent
8747	c.googleclouddialogflowv2importagentrequest = googleclouddialogflowv2importagentrequest
8748	return c
8749}
8750
8751// Fields allows partial responses to be retrieved. See
8752// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8753// for more information.
8754func (c *ProjectsAgentImportCall) Fields(s ...googleapi.Field) *ProjectsAgentImportCall {
8755	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8756	return c
8757}
8758
8759// Context sets the context to be used in this call's Do method. Any
8760// pending HTTP request will be aborted if the provided context is
8761// canceled.
8762func (c *ProjectsAgentImportCall) Context(ctx context.Context) *ProjectsAgentImportCall {
8763	c.ctx_ = ctx
8764	return c
8765}
8766
8767// Header returns an http.Header that can be modified by the caller to
8768// add HTTP headers to the request.
8769func (c *ProjectsAgentImportCall) Header() http.Header {
8770	if c.header_ == nil {
8771		c.header_ = make(http.Header)
8772	}
8773	return c.header_
8774}
8775
8776func (c *ProjectsAgentImportCall) doRequest(alt string) (*http.Response, error) {
8777	reqHeaders := make(http.Header)
8778	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
8779	for k, v := range c.header_ {
8780		reqHeaders[k] = v
8781	}
8782	reqHeaders.Set("User-Agent", c.s.userAgent())
8783	var body io.Reader = nil
8784	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowv2importagentrequest)
8785	if err != nil {
8786		return nil, err
8787	}
8788	reqHeaders.Set("Content-Type", "application/json")
8789	c.urlParams_.Set("alt", alt)
8790	c.urlParams_.Set("prettyPrint", "false")
8791	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/agent:import")
8792	urls += "?" + c.urlParams_.Encode()
8793	req, err := http.NewRequest("POST", urls, body)
8794	if err != nil {
8795		return nil, err
8796	}
8797	req.Header = reqHeaders
8798	googleapi.Expand(req.URL, map[string]string{
8799		"parent": c.parent,
8800	})
8801	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8802}
8803
8804// Do executes the "dialogflow.projects.agent.import" call.
8805// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
8806// Any non-2xx status code is an error. Response headers are in either
8807// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
8808// was returned at all) in error.(*googleapi.Error).Header. Use
8809// googleapi.IsNotModified to check whether the returned error was
8810// because http.StatusNotModified was returned.
8811func (c *ProjectsAgentImportCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
8812	gensupport.SetOptions(c.urlParams_, opts...)
8813	res, err := c.doRequest("json")
8814	if res != nil && res.StatusCode == http.StatusNotModified {
8815		if res.Body != nil {
8816			res.Body.Close()
8817		}
8818		return nil, &googleapi.Error{
8819			Code:   res.StatusCode,
8820			Header: res.Header,
8821		}
8822	}
8823	if err != nil {
8824		return nil, err
8825	}
8826	defer googleapi.CloseBody(res)
8827	if err := googleapi.CheckResponse(res); err != nil {
8828		return nil, err
8829	}
8830	ret := &GoogleLongrunningOperation{
8831		ServerResponse: googleapi.ServerResponse{
8832			Header:         res.Header,
8833			HTTPStatusCode: res.StatusCode,
8834		},
8835	}
8836	target := &ret
8837	if err := gensupport.DecodeResponse(target, res); err != nil {
8838		return nil, err
8839	}
8840	return ret, nil
8841	// {
8842	//   "description": "Imports the specified agent from a ZIP file.\n\nUploads new intents and entity types without deleting the existing ones.\nIntents and entity types with the same name are replaced with the new\nversions from ImportAgentRequest.\n\nOperation \u003cresponse: google.protobuf.Empty\u003e",
8843	//   "flatPath": "v2/projects/{projectsId}/agent:import",
8844	//   "httpMethod": "POST",
8845	//   "id": "dialogflow.projects.agent.import",
8846	//   "parameterOrder": [
8847	//     "parent"
8848	//   ],
8849	//   "parameters": {
8850	//     "parent": {
8851	//       "description": "Required. The project that the agent to import is associated with.\nFormat: `projects/\u003cProject ID\u003e`.",
8852	//       "location": "path",
8853	//       "pattern": "^projects/[^/]+$",
8854	//       "required": true,
8855	//       "type": "string"
8856	//     }
8857	//   },
8858	//   "path": "v2/{+parent}/agent:import",
8859	//   "request": {
8860	//     "$ref": "GoogleCloudDialogflowV2ImportAgentRequest"
8861	//   },
8862	//   "response": {
8863	//     "$ref": "GoogleLongrunningOperation"
8864	//   },
8865	//   "scopes": [
8866	//     "https://www.googleapis.com/auth/cloud-platform",
8867	//     "https://www.googleapis.com/auth/dialogflow"
8868	//   ]
8869	// }
8870
8871}
8872
8873// method id "dialogflow.projects.agent.restore":
8874
8875type ProjectsAgentRestoreCall struct {
8876	s                                          *Service
8877	parent                                     string
8878	googleclouddialogflowv2restoreagentrequest *GoogleCloudDialogflowV2RestoreAgentRequest
8879	urlParams_                                 gensupport.URLParams
8880	ctx_                                       context.Context
8881	header_                                    http.Header
8882}
8883
8884// Restore: Restores the specified agent from a ZIP file.
8885//
8886// Replaces the current agent version with a new one. All the intents
8887// and
8888// entity types in the older version are deleted.
8889//
8890// Operation <response: google.protobuf.Empty>
8891func (r *ProjectsAgentService) Restore(parent string, googleclouddialogflowv2restoreagentrequest *GoogleCloudDialogflowV2RestoreAgentRequest) *ProjectsAgentRestoreCall {
8892	c := &ProjectsAgentRestoreCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8893	c.parent = parent
8894	c.googleclouddialogflowv2restoreagentrequest = googleclouddialogflowv2restoreagentrequest
8895	return c
8896}
8897
8898// Fields allows partial responses to be retrieved. See
8899// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8900// for more information.
8901func (c *ProjectsAgentRestoreCall) Fields(s ...googleapi.Field) *ProjectsAgentRestoreCall {
8902	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8903	return c
8904}
8905
8906// Context sets the context to be used in this call's Do method. Any
8907// pending HTTP request will be aborted if the provided context is
8908// canceled.
8909func (c *ProjectsAgentRestoreCall) Context(ctx context.Context) *ProjectsAgentRestoreCall {
8910	c.ctx_ = ctx
8911	return c
8912}
8913
8914// Header returns an http.Header that can be modified by the caller to
8915// add HTTP headers to the request.
8916func (c *ProjectsAgentRestoreCall) Header() http.Header {
8917	if c.header_ == nil {
8918		c.header_ = make(http.Header)
8919	}
8920	return c.header_
8921}
8922
8923func (c *ProjectsAgentRestoreCall) doRequest(alt string) (*http.Response, error) {
8924	reqHeaders := make(http.Header)
8925	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
8926	for k, v := range c.header_ {
8927		reqHeaders[k] = v
8928	}
8929	reqHeaders.Set("User-Agent", c.s.userAgent())
8930	var body io.Reader = nil
8931	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowv2restoreagentrequest)
8932	if err != nil {
8933		return nil, err
8934	}
8935	reqHeaders.Set("Content-Type", "application/json")
8936	c.urlParams_.Set("alt", alt)
8937	c.urlParams_.Set("prettyPrint", "false")
8938	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/agent:restore")
8939	urls += "?" + c.urlParams_.Encode()
8940	req, err := http.NewRequest("POST", urls, body)
8941	if err != nil {
8942		return nil, err
8943	}
8944	req.Header = reqHeaders
8945	googleapi.Expand(req.URL, map[string]string{
8946		"parent": c.parent,
8947	})
8948	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8949}
8950
8951// Do executes the "dialogflow.projects.agent.restore" call.
8952// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
8953// Any non-2xx status code is an error. Response headers are in either
8954// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
8955// was returned at all) in error.(*googleapi.Error).Header. Use
8956// googleapi.IsNotModified to check whether the returned error was
8957// because http.StatusNotModified was returned.
8958func (c *ProjectsAgentRestoreCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
8959	gensupport.SetOptions(c.urlParams_, opts...)
8960	res, err := c.doRequest("json")
8961	if res != nil && res.StatusCode == http.StatusNotModified {
8962		if res.Body != nil {
8963			res.Body.Close()
8964		}
8965		return nil, &googleapi.Error{
8966			Code:   res.StatusCode,
8967			Header: res.Header,
8968		}
8969	}
8970	if err != nil {
8971		return nil, err
8972	}
8973	defer googleapi.CloseBody(res)
8974	if err := googleapi.CheckResponse(res); err != nil {
8975		return nil, err
8976	}
8977	ret := &GoogleLongrunningOperation{
8978		ServerResponse: googleapi.ServerResponse{
8979			Header:         res.Header,
8980			HTTPStatusCode: res.StatusCode,
8981		},
8982	}
8983	target := &ret
8984	if err := gensupport.DecodeResponse(target, res); err != nil {
8985		return nil, err
8986	}
8987	return ret, nil
8988	// {
8989	//   "description": "Restores the specified agent from a ZIP file.\n\nReplaces the current agent version with a new one. All the intents and\nentity types in the older version are deleted.\n\nOperation \u003cresponse: google.protobuf.Empty\u003e",
8990	//   "flatPath": "v2/projects/{projectsId}/agent:restore",
8991	//   "httpMethod": "POST",
8992	//   "id": "dialogflow.projects.agent.restore",
8993	//   "parameterOrder": [
8994	//     "parent"
8995	//   ],
8996	//   "parameters": {
8997	//     "parent": {
8998	//       "description": "Required. The project that the agent to restore is associated with.\nFormat: `projects/\u003cProject ID\u003e`.",
8999	//       "location": "path",
9000	//       "pattern": "^projects/[^/]+$",
9001	//       "required": true,
9002	//       "type": "string"
9003	//     }
9004	//   },
9005	//   "path": "v2/{+parent}/agent:restore",
9006	//   "request": {
9007	//     "$ref": "GoogleCloudDialogflowV2RestoreAgentRequest"
9008	//   },
9009	//   "response": {
9010	//     "$ref": "GoogleLongrunningOperation"
9011	//   },
9012	//   "scopes": [
9013	//     "https://www.googleapis.com/auth/cloud-platform",
9014	//     "https://www.googleapis.com/auth/dialogflow"
9015	//   ]
9016	// }
9017
9018}
9019
9020// method id "dialogflow.projects.agent.search":
9021
9022type ProjectsAgentSearchCall struct {
9023	s            *Service
9024	parent       string
9025	urlParams_   gensupport.URLParams
9026	ifNoneMatch_ string
9027	ctx_         context.Context
9028	header_      http.Header
9029}
9030
9031// Search: Returns the list of agents.
9032//
9033// Since there is at most one conversational agent per project, this
9034// method is
9035// useful primarily for listing all agents across projects the caller
9036// has
9037// access to. One can achieve that with a wildcard project collection id
9038// "-".
9039// Refer to
9040// [List
9041// Sub-Collections](https://cloud.google.com/apis/design/design_pat
9042// terns#list_sub-collections).
9043func (r *ProjectsAgentService) Search(parent string) *ProjectsAgentSearchCall {
9044	c := &ProjectsAgentSearchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9045	c.parent = parent
9046	return c
9047}
9048
9049// PageSize sets the optional parameter "pageSize": The maximum number
9050// of items to return in a single page. By
9051// default 100 and at most 1000.
9052func (c *ProjectsAgentSearchCall) PageSize(pageSize int64) *ProjectsAgentSearchCall {
9053	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
9054	return c
9055}
9056
9057// PageToken sets the optional parameter "pageToken": The
9058// next_page_token value returned from a previous list request.
9059func (c *ProjectsAgentSearchCall) PageToken(pageToken string) *ProjectsAgentSearchCall {
9060	c.urlParams_.Set("pageToken", pageToken)
9061	return c
9062}
9063
9064// Fields allows partial responses to be retrieved. See
9065// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9066// for more information.
9067func (c *ProjectsAgentSearchCall) Fields(s ...googleapi.Field) *ProjectsAgentSearchCall {
9068	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9069	return c
9070}
9071
9072// IfNoneMatch sets the optional parameter which makes the operation
9073// fail if the object's ETag matches the given value. This is useful for
9074// getting updates only after the object has changed since the last
9075// request. Use googleapi.IsNotModified to check whether the response
9076// error from Do is the result of In-None-Match.
9077func (c *ProjectsAgentSearchCall) IfNoneMatch(entityTag string) *ProjectsAgentSearchCall {
9078	c.ifNoneMatch_ = entityTag
9079	return c
9080}
9081
9082// Context sets the context to be used in this call's Do method. Any
9083// pending HTTP request will be aborted if the provided context is
9084// canceled.
9085func (c *ProjectsAgentSearchCall) Context(ctx context.Context) *ProjectsAgentSearchCall {
9086	c.ctx_ = ctx
9087	return c
9088}
9089
9090// Header returns an http.Header that can be modified by the caller to
9091// add HTTP headers to the request.
9092func (c *ProjectsAgentSearchCall) Header() http.Header {
9093	if c.header_ == nil {
9094		c.header_ = make(http.Header)
9095	}
9096	return c.header_
9097}
9098
9099func (c *ProjectsAgentSearchCall) doRequest(alt string) (*http.Response, error) {
9100	reqHeaders := make(http.Header)
9101	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
9102	for k, v := range c.header_ {
9103		reqHeaders[k] = v
9104	}
9105	reqHeaders.Set("User-Agent", c.s.userAgent())
9106	if c.ifNoneMatch_ != "" {
9107		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
9108	}
9109	var body io.Reader = nil
9110	c.urlParams_.Set("alt", alt)
9111	c.urlParams_.Set("prettyPrint", "false")
9112	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/agent:search")
9113	urls += "?" + c.urlParams_.Encode()
9114	req, err := http.NewRequest("GET", urls, body)
9115	if err != nil {
9116		return nil, err
9117	}
9118	req.Header = reqHeaders
9119	googleapi.Expand(req.URL, map[string]string{
9120		"parent": c.parent,
9121	})
9122	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9123}
9124
9125// Do executes the "dialogflow.projects.agent.search" call.
9126// Exactly one of *GoogleCloudDialogflowV2SearchAgentsResponse or error
9127// will be non-nil. Any non-2xx status code is an error. Response
9128// headers are in either
9129// *GoogleCloudDialogflowV2SearchAgentsResponse.ServerResponse.Header or
9130// (if a response was returned at all) in
9131// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
9132// whether the returned error was because http.StatusNotModified was
9133// returned.
9134func (c *ProjectsAgentSearchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowV2SearchAgentsResponse, error) {
9135	gensupport.SetOptions(c.urlParams_, opts...)
9136	res, err := c.doRequest("json")
9137	if res != nil && res.StatusCode == http.StatusNotModified {
9138		if res.Body != nil {
9139			res.Body.Close()
9140		}
9141		return nil, &googleapi.Error{
9142			Code:   res.StatusCode,
9143			Header: res.Header,
9144		}
9145	}
9146	if err != nil {
9147		return nil, err
9148	}
9149	defer googleapi.CloseBody(res)
9150	if err := googleapi.CheckResponse(res); err != nil {
9151		return nil, err
9152	}
9153	ret := &GoogleCloudDialogflowV2SearchAgentsResponse{
9154		ServerResponse: googleapi.ServerResponse{
9155			Header:         res.Header,
9156			HTTPStatusCode: res.StatusCode,
9157		},
9158	}
9159	target := &ret
9160	if err := gensupport.DecodeResponse(target, res); err != nil {
9161		return nil, err
9162	}
9163	return ret, nil
9164	// {
9165	//   "description": "Returns the list of agents.\n\nSince there is at most one conversational agent per project, this method is\nuseful primarily for listing all agents across projects the caller has\naccess to. One can achieve that with a wildcard project collection id \"-\".\nRefer to [List\nSub-Collections](https://cloud.google.com/apis/design/design_patterns#list_sub-collections).",
9166	//   "flatPath": "v2/projects/{projectsId}/agent:search",
9167	//   "httpMethod": "GET",
9168	//   "id": "dialogflow.projects.agent.search",
9169	//   "parameterOrder": [
9170	//     "parent"
9171	//   ],
9172	//   "parameters": {
9173	//     "pageSize": {
9174	//       "description": "Optional. The maximum number of items to return in a single page. By\ndefault 100 and at most 1000.",
9175	//       "format": "int32",
9176	//       "location": "query",
9177	//       "type": "integer"
9178	//     },
9179	//     "pageToken": {
9180	//       "description": "The next_page_token value returned from a previous list request.",
9181	//       "location": "query",
9182	//       "type": "string"
9183	//     },
9184	//     "parent": {
9185	//       "description": "Required. The project to list agents from.\nFormat: `projects/\u003cProject ID or '-'\u003e`.",
9186	//       "location": "path",
9187	//       "pattern": "^projects/[^/]+$",
9188	//       "required": true,
9189	//       "type": "string"
9190	//     }
9191	//   },
9192	//   "path": "v2/{+parent}/agent:search",
9193	//   "response": {
9194	//     "$ref": "GoogleCloudDialogflowV2SearchAgentsResponse"
9195	//   },
9196	//   "scopes": [
9197	//     "https://www.googleapis.com/auth/cloud-platform",
9198	//     "https://www.googleapis.com/auth/dialogflow"
9199	//   ]
9200	// }
9201
9202}
9203
9204// Pages invokes f for each page of results.
9205// A non-nil error returned from f will halt the iteration.
9206// The provided context supersedes any context provided to the Context method.
9207func (c *ProjectsAgentSearchCall) Pages(ctx context.Context, f func(*GoogleCloudDialogflowV2SearchAgentsResponse) error) error {
9208	c.ctx_ = ctx
9209	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
9210	for {
9211		x, err := c.Do()
9212		if err != nil {
9213			return err
9214		}
9215		if err := f(x); err != nil {
9216			return err
9217		}
9218		if x.NextPageToken == "" {
9219			return nil
9220		}
9221		c.PageToken(x.NextPageToken)
9222	}
9223}
9224
9225// method id "dialogflow.projects.agent.train":
9226
9227type ProjectsAgentTrainCall struct {
9228	s                                        *Service
9229	parent                                   string
9230	googleclouddialogflowv2trainagentrequest *GoogleCloudDialogflowV2TrainAgentRequest
9231	urlParams_                               gensupport.URLParams
9232	ctx_                                     context.Context
9233	header_                                  http.Header
9234}
9235
9236// Train: Trains the specified agent.
9237//
9238// Operation <response: google.protobuf.Empty>
9239func (r *ProjectsAgentService) Train(parent string, googleclouddialogflowv2trainagentrequest *GoogleCloudDialogflowV2TrainAgentRequest) *ProjectsAgentTrainCall {
9240	c := &ProjectsAgentTrainCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9241	c.parent = parent
9242	c.googleclouddialogflowv2trainagentrequest = googleclouddialogflowv2trainagentrequest
9243	return c
9244}
9245
9246// Fields allows partial responses to be retrieved. See
9247// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9248// for more information.
9249func (c *ProjectsAgentTrainCall) Fields(s ...googleapi.Field) *ProjectsAgentTrainCall {
9250	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9251	return c
9252}
9253
9254// Context sets the context to be used in this call's Do method. Any
9255// pending HTTP request will be aborted if the provided context is
9256// canceled.
9257func (c *ProjectsAgentTrainCall) Context(ctx context.Context) *ProjectsAgentTrainCall {
9258	c.ctx_ = ctx
9259	return c
9260}
9261
9262// Header returns an http.Header that can be modified by the caller to
9263// add HTTP headers to the request.
9264func (c *ProjectsAgentTrainCall) Header() http.Header {
9265	if c.header_ == nil {
9266		c.header_ = make(http.Header)
9267	}
9268	return c.header_
9269}
9270
9271func (c *ProjectsAgentTrainCall) doRequest(alt string) (*http.Response, error) {
9272	reqHeaders := make(http.Header)
9273	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
9274	for k, v := range c.header_ {
9275		reqHeaders[k] = v
9276	}
9277	reqHeaders.Set("User-Agent", c.s.userAgent())
9278	var body io.Reader = nil
9279	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowv2trainagentrequest)
9280	if err != nil {
9281		return nil, err
9282	}
9283	reqHeaders.Set("Content-Type", "application/json")
9284	c.urlParams_.Set("alt", alt)
9285	c.urlParams_.Set("prettyPrint", "false")
9286	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/agent:train")
9287	urls += "?" + c.urlParams_.Encode()
9288	req, err := http.NewRequest("POST", urls, body)
9289	if err != nil {
9290		return nil, err
9291	}
9292	req.Header = reqHeaders
9293	googleapi.Expand(req.URL, map[string]string{
9294		"parent": c.parent,
9295	})
9296	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9297}
9298
9299// Do executes the "dialogflow.projects.agent.train" call.
9300// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
9301// Any non-2xx status code is an error. Response headers are in either
9302// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
9303// was returned at all) in error.(*googleapi.Error).Header. Use
9304// googleapi.IsNotModified to check whether the returned error was
9305// because http.StatusNotModified was returned.
9306func (c *ProjectsAgentTrainCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
9307	gensupport.SetOptions(c.urlParams_, opts...)
9308	res, err := c.doRequest("json")
9309	if res != nil && res.StatusCode == http.StatusNotModified {
9310		if res.Body != nil {
9311			res.Body.Close()
9312		}
9313		return nil, &googleapi.Error{
9314			Code:   res.StatusCode,
9315			Header: res.Header,
9316		}
9317	}
9318	if err != nil {
9319		return nil, err
9320	}
9321	defer googleapi.CloseBody(res)
9322	if err := googleapi.CheckResponse(res); err != nil {
9323		return nil, err
9324	}
9325	ret := &GoogleLongrunningOperation{
9326		ServerResponse: googleapi.ServerResponse{
9327			Header:         res.Header,
9328			HTTPStatusCode: res.StatusCode,
9329		},
9330	}
9331	target := &ret
9332	if err := gensupport.DecodeResponse(target, res); err != nil {
9333		return nil, err
9334	}
9335	return ret, nil
9336	// {
9337	//   "description": "Trains the specified agent.\n\nOperation \u003cresponse: google.protobuf.Empty\u003e",
9338	//   "flatPath": "v2/projects/{projectsId}/agent:train",
9339	//   "httpMethod": "POST",
9340	//   "id": "dialogflow.projects.agent.train",
9341	//   "parameterOrder": [
9342	//     "parent"
9343	//   ],
9344	//   "parameters": {
9345	//     "parent": {
9346	//       "description": "Required. The project that the agent to train is associated with.\nFormat: `projects/\u003cProject ID\u003e`.",
9347	//       "location": "path",
9348	//       "pattern": "^projects/[^/]+$",
9349	//       "required": true,
9350	//       "type": "string"
9351	//     }
9352	//   },
9353	//   "path": "v2/{+parent}/agent:train",
9354	//   "request": {
9355	//     "$ref": "GoogleCloudDialogflowV2TrainAgentRequest"
9356	//   },
9357	//   "response": {
9358	//     "$ref": "GoogleLongrunningOperation"
9359	//   },
9360	//   "scopes": [
9361	//     "https://www.googleapis.com/auth/cloud-platform",
9362	//     "https://www.googleapis.com/auth/dialogflow"
9363	//   ]
9364	// }
9365
9366}
9367
9368// method id "dialogflow.projects.agent.entityTypes.batchDelete":
9369
9370type ProjectsAgentEntityTypesBatchDeleteCall struct {
9371	s                                                    *Service
9372	parent                                               string
9373	googleclouddialogflowv2batchdeleteentitytypesrequest *GoogleCloudDialogflowV2BatchDeleteEntityTypesRequest
9374	urlParams_                                           gensupport.URLParams
9375	ctx_                                                 context.Context
9376	header_                                              http.Header
9377}
9378
9379// BatchDelete: Deletes entity types in the specified agent.
9380//
9381// Operation <response: google.protobuf.Empty>
9382func (r *ProjectsAgentEntityTypesService) BatchDelete(parent string, googleclouddialogflowv2batchdeleteentitytypesrequest *GoogleCloudDialogflowV2BatchDeleteEntityTypesRequest) *ProjectsAgentEntityTypesBatchDeleteCall {
9383	c := &ProjectsAgentEntityTypesBatchDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9384	c.parent = parent
9385	c.googleclouddialogflowv2batchdeleteentitytypesrequest = googleclouddialogflowv2batchdeleteentitytypesrequest
9386	return c
9387}
9388
9389// Fields allows partial responses to be retrieved. See
9390// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9391// for more information.
9392func (c *ProjectsAgentEntityTypesBatchDeleteCall) Fields(s ...googleapi.Field) *ProjectsAgentEntityTypesBatchDeleteCall {
9393	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9394	return c
9395}
9396
9397// Context sets the context to be used in this call's Do method. Any
9398// pending HTTP request will be aborted if the provided context is
9399// canceled.
9400func (c *ProjectsAgentEntityTypesBatchDeleteCall) Context(ctx context.Context) *ProjectsAgentEntityTypesBatchDeleteCall {
9401	c.ctx_ = ctx
9402	return c
9403}
9404
9405// Header returns an http.Header that can be modified by the caller to
9406// add HTTP headers to the request.
9407func (c *ProjectsAgentEntityTypesBatchDeleteCall) Header() http.Header {
9408	if c.header_ == nil {
9409		c.header_ = make(http.Header)
9410	}
9411	return c.header_
9412}
9413
9414func (c *ProjectsAgentEntityTypesBatchDeleteCall) doRequest(alt string) (*http.Response, error) {
9415	reqHeaders := make(http.Header)
9416	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
9417	for k, v := range c.header_ {
9418		reqHeaders[k] = v
9419	}
9420	reqHeaders.Set("User-Agent", c.s.userAgent())
9421	var body io.Reader = nil
9422	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowv2batchdeleteentitytypesrequest)
9423	if err != nil {
9424		return nil, err
9425	}
9426	reqHeaders.Set("Content-Type", "application/json")
9427	c.urlParams_.Set("alt", alt)
9428	c.urlParams_.Set("prettyPrint", "false")
9429	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/entityTypes:batchDelete")
9430	urls += "?" + c.urlParams_.Encode()
9431	req, err := http.NewRequest("POST", urls, body)
9432	if err != nil {
9433		return nil, err
9434	}
9435	req.Header = reqHeaders
9436	googleapi.Expand(req.URL, map[string]string{
9437		"parent": c.parent,
9438	})
9439	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9440}
9441
9442// Do executes the "dialogflow.projects.agent.entityTypes.batchDelete" call.
9443// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
9444// Any non-2xx status code is an error. Response headers are in either
9445// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
9446// was returned at all) in error.(*googleapi.Error).Header. Use
9447// googleapi.IsNotModified to check whether the returned error was
9448// because http.StatusNotModified was returned.
9449func (c *ProjectsAgentEntityTypesBatchDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
9450	gensupport.SetOptions(c.urlParams_, opts...)
9451	res, err := c.doRequest("json")
9452	if res != nil && res.StatusCode == http.StatusNotModified {
9453		if res.Body != nil {
9454			res.Body.Close()
9455		}
9456		return nil, &googleapi.Error{
9457			Code:   res.StatusCode,
9458			Header: res.Header,
9459		}
9460	}
9461	if err != nil {
9462		return nil, err
9463	}
9464	defer googleapi.CloseBody(res)
9465	if err := googleapi.CheckResponse(res); err != nil {
9466		return nil, err
9467	}
9468	ret := &GoogleLongrunningOperation{
9469		ServerResponse: googleapi.ServerResponse{
9470			Header:         res.Header,
9471			HTTPStatusCode: res.StatusCode,
9472		},
9473	}
9474	target := &ret
9475	if err := gensupport.DecodeResponse(target, res); err != nil {
9476		return nil, err
9477	}
9478	return ret, nil
9479	// {
9480	//   "description": "Deletes entity types in the specified agent.\n\nOperation \u003cresponse: google.protobuf.Empty\u003e",
9481	//   "flatPath": "v2/projects/{projectsId}/agent/entityTypes:batchDelete",
9482	//   "httpMethod": "POST",
9483	//   "id": "dialogflow.projects.agent.entityTypes.batchDelete",
9484	//   "parameterOrder": [
9485	//     "parent"
9486	//   ],
9487	//   "parameters": {
9488	//     "parent": {
9489	//       "description": "Required. The name of the agent to delete all entities types for. Format:\n`projects/\u003cProject ID\u003e/agent`.",
9490	//       "location": "path",
9491	//       "pattern": "^projects/[^/]+/agent$",
9492	//       "required": true,
9493	//       "type": "string"
9494	//     }
9495	//   },
9496	//   "path": "v2/{+parent}/entityTypes:batchDelete",
9497	//   "request": {
9498	//     "$ref": "GoogleCloudDialogflowV2BatchDeleteEntityTypesRequest"
9499	//   },
9500	//   "response": {
9501	//     "$ref": "GoogleLongrunningOperation"
9502	//   },
9503	//   "scopes": [
9504	//     "https://www.googleapis.com/auth/cloud-platform",
9505	//     "https://www.googleapis.com/auth/dialogflow"
9506	//   ]
9507	// }
9508
9509}
9510
9511// method id "dialogflow.projects.agent.entityTypes.batchUpdate":
9512
9513type ProjectsAgentEntityTypesBatchUpdateCall struct {
9514	s                                                    *Service
9515	parent                                               string
9516	googleclouddialogflowv2batchupdateentitytypesrequest *GoogleCloudDialogflowV2BatchUpdateEntityTypesRequest
9517	urlParams_                                           gensupport.URLParams
9518	ctx_                                                 context.Context
9519	header_                                              http.Header
9520}
9521
9522// BatchUpdate: Updates/Creates multiple entity types in the specified
9523// agent.
9524//
9525// Operation <response: BatchUpdateEntityTypesResponse>
9526func (r *ProjectsAgentEntityTypesService) BatchUpdate(parent string, googleclouddialogflowv2batchupdateentitytypesrequest *GoogleCloudDialogflowV2BatchUpdateEntityTypesRequest) *ProjectsAgentEntityTypesBatchUpdateCall {
9527	c := &ProjectsAgentEntityTypesBatchUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9528	c.parent = parent
9529	c.googleclouddialogflowv2batchupdateentitytypesrequest = googleclouddialogflowv2batchupdateentitytypesrequest
9530	return c
9531}
9532
9533// Fields allows partial responses to be retrieved. See
9534// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9535// for more information.
9536func (c *ProjectsAgentEntityTypesBatchUpdateCall) Fields(s ...googleapi.Field) *ProjectsAgentEntityTypesBatchUpdateCall {
9537	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9538	return c
9539}
9540
9541// Context sets the context to be used in this call's Do method. Any
9542// pending HTTP request will be aborted if the provided context is
9543// canceled.
9544func (c *ProjectsAgentEntityTypesBatchUpdateCall) Context(ctx context.Context) *ProjectsAgentEntityTypesBatchUpdateCall {
9545	c.ctx_ = ctx
9546	return c
9547}
9548
9549// Header returns an http.Header that can be modified by the caller to
9550// add HTTP headers to the request.
9551func (c *ProjectsAgentEntityTypesBatchUpdateCall) Header() http.Header {
9552	if c.header_ == nil {
9553		c.header_ = make(http.Header)
9554	}
9555	return c.header_
9556}
9557
9558func (c *ProjectsAgentEntityTypesBatchUpdateCall) doRequest(alt string) (*http.Response, error) {
9559	reqHeaders := make(http.Header)
9560	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
9561	for k, v := range c.header_ {
9562		reqHeaders[k] = v
9563	}
9564	reqHeaders.Set("User-Agent", c.s.userAgent())
9565	var body io.Reader = nil
9566	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowv2batchupdateentitytypesrequest)
9567	if err != nil {
9568		return nil, err
9569	}
9570	reqHeaders.Set("Content-Type", "application/json")
9571	c.urlParams_.Set("alt", alt)
9572	c.urlParams_.Set("prettyPrint", "false")
9573	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/entityTypes:batchUpdate")
9574	urls += "?" + c.urlParams_.Encode()
9575	req, err := http.NewRequest("POST", urls, body)
9576	if err != nil {
9577		return nil, err
9578	}
9579	req.Header = reqHeaders
9580	googleapi.Expand(req.URL, map[string]string{
9581		"parent": c.parent,
9582	})
9583	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9584}
9585
9586// Do executes the "dialogflow.projects.agent.entityTypes.batchUpdate" call.
9587// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
9588// Any non-2xx status code is an error. Response headers are in either
9589// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
9590// was returned at all) in error.(*googleapi.Error).Header. Use
9591// googleapi.IsNotModified to check whether the returned error was
9592// because http.StatusNotModified was returned.
9593func (c *ProjectsAgentEntityTypesBatchUpdateCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
9594	gensupport.SetOptions(c.urlParams_, opts...)
9595	res, err := c.doRequest("json")
9596	if res != nil && res.StatusCode == http.StatusNotModified {
9597		if res.Body != nil {
9598			res.Body.Close()
9599		}
9600		return nil, &googleapi.Error{
9601			Code:   res.StatusCode,
9602			Header: res.Header,
9603		}
9604	}
9605	if err != nil {
9606		return nil, err
9607	}
9608	defer googleapi.CloseBody(res)
9609	if err := googleapi.CheckResponse(res); err != nil {
9610		return nil, err
9611	}
9612	ret := &GoogleLongrunningOperation{
9613		ServerResponse: googleapi.ServerResponse{
9614			Header:         res.Header,
9615			HTTPStatusCode: res.StatusCode,
9616		},
9617	}
9618	target := &ret
9619	if err := gensupport.DecodeResponse(target, res); err != nil {
9620		return nil, err
9621	}
9622	return ret, nil
9623	// {
9624	//   "description": "Updates/Creates multiple entity types in the specified agent.\n\nOperation \u003cresponse: BatchUpdateEntityTypesResponse\u003e",
9625	//   "flatPath": "v2/projects/{projectsId}/agent/entityTypes:batchUpdate",
9626	//   "httpMethod": "POST",
9627	//   "id": "dialogflow.projects.agent.entityTypes.batchUpdate",
9628	//   "parameterOrder": [
9629	//     "parent"
9630	//   ],
9631	//   "parameters": {
9632	//     "parent": {
9633	//       "description": "Required. The name of the agent to update or create entity types in.\nFormat: `projects/\u003cProject ID\u003e/agent`.",
9634	//       "location": "path",
9635	//       "pattern": "^projects/[^/]+/agent$",
9636	//       "required": true,
9637	//       "type": "string"
9638	//     }
9639	//   },
9640	//   "path": "v2/{+parent}/entityTypes:batchUpdate",
9641	//   "request": {
9642	//     "$ref": "GoogleCloudDialogflowV2BatchUpdateEntityTypesRequest"
9643	//   },
9644	//   "response": {
9645	//     "$ref": "GoogleLongrunningOperation"
9646	//   },
9647	//   "scopes": [
9648	//     "https://www.googleapis.com/auth/cloud-platform",
9649	//     "https://www.googleapis.com/auth/dialogflow"
9650	//   ]
9651	// }
9652
9653}
9654
9655// method id "dialogflow.projects.agent.entityTypes.create":
9656
9657type ProjectsAgentEntityTypesCreateCall struct {
9658	s                                 *Service
9659	parent                            string
9660	googleclouddialogflowv2entitytype *GoogleCloudDialogflowV2EntityType
9661	urlParams_                        gensupport.URLParams
9662	ctx_                              context.Context
9663	header_                           http.Header
9664}
9665
9666// Create: Creates an entity type in the specified agent.
9667func (r *ProjectsAgentEntityTypesService) Create(parent string, googleclouddialogflowv2entitytype *GoogleCloudDialogflowV2EntityType) *ProjectsAgentEntityTypesCreateCall {
9668	c := &ProjectsAgentEntityTypesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9669	c.parent = parent
9670	c.googleclouddialogflowv2entitytype = googleclouddialogflowv2entitytype
9671	return c
9672}
9673
9674// LanguageCode sets the optional parameter "languageCode": The language
9675// of entity synonyms defined in `entity_type`. If not
9676// specified, the agent's default language is
9677// used.
9678// [Many
9679// languages](https://cloud.google.com/dialogflow/docs/refere
9680// nce/language)
9681// are supported. Note: languages must be enabled in the agent before
9682// they can
9683// be used.
9684func (c *ProjectsAgentEntityTypesCreateCall) LanguageCode(languageCode string) *ProjectsAgentEntityTypesCreateCall {
9685	c.urlParams_.Set("languageCode", languageCode)
9686	return c
9687}
9688
9689// Fields allows partial responses to be retrieved. See
9690// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9691// for more information.
9692func (c *ProjectsAgentEntityTypesCreateCall) Fields(s ...googleapi.Field) *ProjectsAgentEntityTypesCreateCall {
9693	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9694	return c
9695}
9696
9697// Context sets the context to be used in this call's Do method. Any
9698// pending HTTP request will be aborted if the provided context is
9699// canceled.
9700func (c *ProjectsAgentEntityTypesCreateCall) Context(ctx context.Context) *ProjectsAgentEntityTypesCreateCall {
9701	c.ctx_ = ctx
9702	return c
9703}
9704
9705// Header returns an http.Header that can be modified by the caller to
9706// add HTTP headers to the request.
9707func (c *ProjectsAgentEntityTypesCreateCall) Header() http.Header {
9708	if c.header_ == nil {
9709		c.header_ = make(http.Header)
9710	}
9711	return c.header_
9712}
9713
9714func (c *ProjectsAgentEntityTypesCreateCall) doRequest(alt string) (*http.Response, error) {
9715	reqHeaders := make(http.Header)
9716	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
9717	for k, v := range c.header_ {
9718		reqHeaders[k] = v
9719	}
9720	reqHeaders.Set("User-Agent", c.s.userAgent())
9721	var body io.Reader = nil
9722	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowv2entitytype)
9723	if err != nil {
9724		return nil, err
9725	}
9726	reqHeaders.Set("Content-Type", "application/json")
9727	c.urlParams_.Set("alt", alt)
9728	c.urlParams_.Set("prettyPrint", "false")
9729	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/entityTypes")
9730	urls += "?" + c.urlParams_.Encode()
9731	req, err := http.NewRequest("POST", urls, body)
9732	if err != nil {
9733		return nil, err
9734	}
9735	req.Header = reqHeaders
9736	googleapi.Expand(req.URL, map[string]string{
9737		"parent": c.parent,
9738	})
9739	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9740}
9741
9742// Do executes the "dialogflow.projects.agent.entityTypes.create" call.
9743// Exactly one of *GoogleCloudDialogflowV2EntityType or error will be
9744// non-nil. Any non-2xx status code is an error. Response headers are in
9745// either *GoogleCloudDialogflowV2EntityType.ServerResponse.Header or
9746// (if a response was returned at all) in
9747// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
9748// whether the returned error was because http.StatusNotModified was
9749// returned.
9750func (c *ProjectsAgentEntityTypesCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowV2EntityType, error) {
9751	gensupport.SetOptions(c.urlParams_, opts...)
9752	res, err := c.doRequest("json")
9753	if res != nil && res.StatusCode == http.StatusNotModified {
9754		if res.Body != nil {
9755			res.Body.Close()
9756		}
9757		return nil, &googleapi.Error{
9758			Code:   res.StatusCode,
9759			Header: res.Header,
9760		}
9761	}
9762	if err != nil {
9763		return nil, err
9764	}
9765	defer googleapi.CloseBody(res)
9766	if err := googleapi.CheckResponse(res); err != nil {
9767		return nil, err
9768	}
9769	ret := &GoogleCloudDialogflowV2EntityType{
9770		ServerResponse: googleapi.ServerResponse{
9771			Header:         res.Header,
9772			HTTPStatusCode: res.StatusCode,
9773		},
9774	}
9775	target := &ret
9776	if err := gensupport.DecodeResponse(target, res); err != nil {
9777		return nil, err
9778	}
9779	return ret, nil
9780	// {
9781	//   "description": "Creates an entity type in the specified agent.",
9782	//   "flatPath": "v2/projects/{projectsId}/agent/entityTypes",
9783	//   "httpMethod": "POST",
9784	//   "id": "dialogflow.projects.agent.entityTypes.create",
9785	//   "parameterOrder": [
9786	//     "parent"
9787	//   ],
9788	//   "parameters": {
9789	//     "languageCode": {
9790	//       "description": "Optional. The language of entity synonyms defined in `entity_type`. If not\nspecified, the agent's default language is used.\n[Many\nlanguages](https://cloud.google.com/dialogflow/docs/reference/language)\nare supported. Note: languages must be enabled in the agent before they can\nbe used.",
9791	//       "location": "query",
9792	//       "type": "string"
9793	//     },
9794	//     "parent": {
9795	//       "description": "Required. The agent to create a entity type for.\nFormat: `projects/\u003cProject ID\u003e/agent`.",
9796	//       "location": "path",
9797	//       "pattern": "^projects/[^/]+/agent$",
9798	//       "required": true,
9799	//       "type": "string"
9800	//     }
9801	//   },
9802	//   "path": "v2/{+parent}/entityTypes",
9803	//   "request": {
9804	//     "$ref": "GoogleCloudDialogflowV2EntityType"
9805	//   },
9806	//   "response": {
9807	//     "$ref": "GoogleCloudDialogflowV2EntityType"
9808	//   },
9809	//   "scopes": [
9810	//     "https://www.googleapis.com/auth/cloud-platform",
9811	//     "https://www.googleapis.com/auth/dialogflow"
9812	//   ]
9813	// }
9814
9815}
9816
9817// method id "dialogflow.projects.agent.entityTypes.delete":
9818
9819type ProjectsAgentEntityTypesDeleteCall struct {
9820	s          *Service
9821	name       string
9822	urlParams_ gensupport.URLParams
9823	ctx_       context.Context
9824	header_    http.Header
9825}
9826
9827// Delete: Deletes the specified entity type.
9828func (r *ProjectsAgentEntityTypesService) Delete(name string) *ProjectsAgentEntityTypesDeleteCall {
9829	c := &ProjectsAgentEntityTypesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9830	c.name = name
9831	return c
9832}
9833
9834// Fields allows partial responses to be retrieved. See
9835// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9836// for more information.
9837func (c *ProjectsAgentEntityTypesDeleteCall) Fields(s ...googleapi.Field) *ProjectsAgentEntityTypesDeleteCall {
9838	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9839	return c
9840}
9841
9842// Context sets the context to be used in this call's Do method. Any
9843// pending HTTP request will be aborted if the provided context is
9844// canceled.
9845func (c *ProjectsAgentEntityTypesDeleteCall) Context(ctx context.Context) *ProjectsAgentEntityTypesDeleteCall {
9846	c.ctx_ = ctx
9847	return c
9848}
9849
9850// Header returns an http.Header that can be modified by the caller to
9851// add HTTP headers to the request.
9852func (c *ProjectsAgentEntityTypesDeleteCall) Header() http.Header {
9853	if c.header_ == nil {
9854		c.header_ = make(http.Header)
9855	}
9856	return c.header_
9857}
9858
9859func (c *ProjectsAgentEntityTypesDeleteCall) doRequest(alt string) (*http.Response, error) {
9860	reqHeaders := make(http.Header)
9861	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
9862	for k, v := range c.header_ {
9863		reqHeaders[k] = v
9864	}
9865	reqHeaders.Set("User-Agent", c.s.userAgent())
9866	var body io.Reader = nil
9867	c.urlParams_.Set("alt", alt)
9868	c.urlParams_.Set("prettyPrint", "false")
9869	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}")
9870	urls += "?" + c.urlParams_.Encode()
9871	req, err := http.NewRequest("DELETE", urls, body)
9872	if err != nil {
9873		return nil, err
9874	}
9875	req.Header = reqHeaders
9876	googleapi.Expand(req.URL, map[string]string{
9877		"name": c.name,
9878	})
9879	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9880}
9881
9882// Do executes the "dialogflow.projects.agent.entityTypes.delete" call.
9883// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
9884// non-2xx status code is an error. Response headers are in either
9885// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
9886// returned at all) in error.(*googleapi.Error).Header. Use
9887// googleapi.IsNotModified to check whether the returned error was
9888// because http.StatusNotModified was returned.
9889func (c *ProjectsAgentEntityTypesDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
9890	gensupport.SetOptions(c.urlParams_, opts...)
9891	res, err := c.doRequest("json")
9892	if res != nil && res.StatusCode == http.StatusNotModified {
9893		if res.Body != nil {
9894			res.Body.Close()
9895		}
9896		return nil, &googleapi.Error{
9897			Code:   res.StatusCode,
9898			Header: res.Header,
9899		}
9900	}
9901	if err != nil {
9902		return nil, err
9903	}
9904	defer googleapi.CloseBody(res)
9905	if err := googleapi.CheckResponse(res); err != nil {
9906		return nil, err
9907	}
9908	ret := &GoogleProtobufEmpty{
9909		ServerResponse: googleapi.ServerResponse{
9910			Header:         res.Header,
9911			HTTPStatusCode: res.StatusCode,
9912		},
9913	}
9914	target := &ret
9915	if err := gensupport.DecodeResponse(target, res); err != nil {
9916		return nil, err
9917	}
9918	return ret, nil
9919	// {
9920	//   "description": "Deletes the specified entity type.",
9921	//   "flatPath": "v2/projects/{projectsId}/agent/entityTypes/{entityTypesId}",
9922	//   "httpMethod": "DELETE",
9923	//   "id": "dialogflow.projects.agent.entityTypes.delete",
9924	//   "parameterOrder": [
9925	//     "name"
9926	//   ],
9927	//   "parameters": {
9928	//     "name": {
9929	//       "description": "Required. The name of the entity type to delete.\nFormat: `projects/\u003cProject ID\u003e/agent/entityTypes/\u003cEntityType ID\u003e`.",
9930	//       "location": "path",
9931	//       "pattern": "^projects/[^/]+/agent/entityTypes/[^/]+$",
9932	//       "required": true,
9933	//       "type": "string"
9934	//     }
9935	//   },
9936	//   "path": "v2/{+name}",
9937	//   "response": {
9938	//     "$ref": "GoogleProtobufEmpty"
9939	//   },
9940	//   "scopes": [
9941	//     "https://www.googleapis.com/auth/cloud-platform",
9942	//     "https://www.googleapis.com/auth/dialogflow"
9943	//   ]
9944	// }
9945
9946}
9947
9948// method id "dialogflow.projects.agent.entityTypes.get":
9949
9950type ProjectsAgentEntityTypesGetCall struct {
9951	s            *Service
9952	name         string
9953	urlParams_   gensupport.URLParams
9954	ifNoneMatch_ string
9955	ctx_         context.Context
9956	header_      http.Header
9957}
9958
9959// Get: Retrieves the specified entity type.
9960func (r *ProjectsAgentEntityTypesService) Get(name string) *ProjectsAgentEntityTypesGetCall {
9961	c := &ProjectsAgentEntityTypesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9962	c.name = name
9963	return c
9964}
9965
9966// LanguageCode sets the optional parameter "languageCode": The language
9967// to retrieve entity synonyms for. If not specified,
9968// the agent's default language is
9969// used.
9970// [Many
9971// languages](https://cloud.google.com/dialogflow/docs/refere
9972// nce/language)
9973// are supported. Note: languages must be enabled in the agent before
9974// they can
9975// be used.
9976func (c *ProjectsAgentEntityTypesGetCall) LanguageCode(languageCode string) *ProjectsAgentEntityTypesGetCall {
9977	c.urlParams_.Set("languageCode", languageCode)
9978	return c
9979}
9980
9981// Fields allows partial responses to be retrieved. See
9982// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9983// for more information.
9984func (c *ProjectsAgentEntityTypesGetCall) Fields(s ...googleapi.Field) *ProjectsAgentEntityTypesGetCall {
9985	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9986	return c
9987}
9988
9989// IfNoneMatch sets the optional parameter which makes the operation
9990// fail if the object's ETag matches the given value. This is useful for
9991// getting updates only after the object has changed since the last
9992// request. Use googleapi.IsNotModified to check whether the response
9993// error from Do is the result of In-None-Match.
9994func (c *ProjectsAgentEntityTypesGetCall) IfNoneMatch(entityTag string) *ProjectsAgentEntityTypesGetCall {
9995	c.ifNoneMatch_ = entityTag
9996	return c
9997}
9998
9999// Context sets the context to be used in this call's Do method. Any
10000// pending HTTP request will be aborted if the provided context is
10001// canceled.
10002func (c *ProjectsAgentEntityTypesGetCall) Context(ctx context.Context) *ProjectsAgentEntityTypesGetCall {
10003	c.ctx_ = ctx
10004	return c
10005}
10006
10007// Header returns an http.Header that can be modified by the caller to
10008// add HTTP headers to the request.
10009func (c *ProjectsAgentEntityTypesGetCall) Header() http.Header {
10010	if c.header_ == nil {
10011		c.header_ = make(http.Header)
10012	}
10013	return c.header_
10014}
10015
10016func (c *ProjectsAgentEntityTypesGetCall) doRequest(alt string) (*http.Response, error) {
10017	reqHeaders := make(http.Header)
10018	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
10019	for k, v := range c.header_ {
10020		reqHeaders[k] = v
10021	}
10022	reqHeaders.Set("User-Agent", c.s.userAgent())
10023	if c.ifNoneMatch_ != "" {
10024		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
10025	}
10026	var body io.Reader = nil
10027	c.urlParams_.Set("alt", alt)
10028	c.urlParams_.Set("prettyPrint", "false")
10029	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}")
10030	urls += "?" + c.urlParams_.Encode()
10031	req, err := http.NewRequest("GET", urls, body)
10032	if err != nil {
10033		return nil, err
10034	}
10035	req.Header = reqHeaders
10036	googleapi.Expand(req.URL, map[string]string{
10037		"name": c.name,
10038	})
10039	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10040}
10041
10042// Do executes the "dialogflow.projects.agent.entityTypes.get" call.
10043// Exactly one of *GoogleCloudDialogflowV2EntityType or error will be
10044// non-nil. Any non-2xx status code is an error. Response headers are in
10045// either *GoogleCloudDialogflowV2EntityType.ServerResponse.Header or
10046// (if a response was returned at all) in
10047// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
10048// whether the returned error was because http.StatusNotModified was
10049// returned.
10050func (c *ProjectsAgentEntityTypesGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowV2EntityType, error) {
10051	gensupport.SetOptions(c.urlParams_, opts...)
10052	res, err := c.doRequest("json")
10053	if res != nil && res.StatusCode == http.StatusNotModified {
10054		if res.Body != nil {
10055			res.Body.Close()
10056		}
10057		return nil, &googleapi.Error{
10058			Code:   res.StatusCode,
10059			Header: res.Header,
10060		}
10061	}
10062	if err != nil {
10063		return nil, err
10064	}
10065	defer googleapi.CloseBody(res)
10066	if err := googleapi.CheckResponse(res); err != nil {
10067		return nil, err
10068	}
10069	ret := &GoogleCloudDialogflowV2EntityType{
10070		ServerResponse: googleapi.ServerResponse{
10071			Header:         res.Header,
10072			HTTPStatusCode: res.StatusCode,
10073		},
10074	}
10075	target := &ret
10076	if err := gensupport.DecodeResponse(target, res); err != nil {
10077		return nil, err
10078	}
10079	return ret, nil
10080	// {
10081	//   "description": "Retrieves the specified entity type.",
10082	//   "flatPath": "v2/projects/{projectsId}/agent/entityTypes/{entityTypesId}",
10083	//   "httpMethod": "GET",
10084	//   "id": "dialogflow.projects.agent.entityTypes.get",
10085	//   "parameterOrder": [
10086	//     "name"
10087	//   ],
10088	//   "parameters": {
10089	//     "languageCode": {
10090	//       "description": "Optional. The language to retrieve entity synonyms for. If not specified,\nthe agent's default language is used.\n[Many\nlanguages](https://cloud.google.com/dialogflow/docs/reference/language)\nare supported. Note: languages must be enabled in the agent before they can\nbe used.",
10091	//       "location": "query",
10092	//       "type": "string"
10093	//     },
10094	//     "name": {
10095	//       "description": "Required. The name of the entity type.\nFormat: `projects/\u003cProject ID\u003e/agent/entityTypes/\u003cEntityType ID\u003e`.",
10096	//       "location": "path",
10097	//       "pattern": "^projects/[^/]+/agent/entityTypes/[^/]+$",
10098	//       "required": true,
10099	//       "type": "string"
10100	//     }
10101	//   },
10102	//   "path": "v2/{+name}",
10103	//   "response": {
10104	//     "$ref": "GoogleCloudDialogflowV2EntityType"
10105	//   },
10106	//   "scopes": [
10107	//     "https://www.googleapis.com/auth/cloud-platform",
10108	//     "https://www.googleapis.com/auth/dialogflow"
10109	//   ]
10110	// }
10111
10112}
10113
10114// method id "dialogflow.projects.agent.entityTypes.list":
10115
10116type ProjectsAgentEntityTypesListCall struct {
10117	s            *Service
10118	parent       string
10119	urlParams_   gensupport.URLParams
10120	ifNoneMatch_ string
10121	ctx_         context.Context
10122	header_      http.Header
10123}
10124
10125// List: Returns the list of all entity types in the specified agent.
10126func (r *ProjectsAgentEntityTypesService) List(parent string) *ProjectsAgentEntityTypesListCall {
10127	c := &ProjectsAgentEntityTypesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10128	c.parent = parent
10129	return c
10130}
10131
10132// LanguageCode sets the optional parameter "languageCode": The language
10133// to list entity synonyms for. If not specified,
10134// the agent's default language is
10135// used.
10136// [Many
10137// languages](https://cloud.google.com/dialogflow/docs/refere
10138// nce/language)
10139// are supported. Note: languages must be enabled in the agent before
10140// they can
10141// be used.
10142func (c *ProjectsAgentEntityTypesListCall) LanguageCode(languageCode string) *ProjectsAgentEntityTypesListCall {
10143	c.urlParams_.Set("languageCode", languageCode)
10144	return c
10145}
10146
10147// PageSize sets the optional parameter "pageSize": The maximum number
10148// of items to return in a single page. By
10149// default 100 and at most 1000.
10150func (c *ProjectsAgentEntityTypesListCall) PageSize(pageSize int64) *ProjectsAgentEntityTypesListCall {
10151	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
10152	return c
10153}
10154
10155// PageToken sets the optional parameter "pageToken": The
10156// next_page_token value returned from a previous list request.
10157func (c *ProjectsAgentEntityTypesListCall) PageToken(pageToken string) *ProjectsAgentEntityTypesListCall {
10158	c.urlParams_.Set("pageToken", pageToken)
10159	return c
10160}
10161
10162// Fields allows partial responses to be retrieved. See
10163// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10164// for more information.
10165func (c *ProjectsAgentEntityTypesListCall) Fields(s ...googleapi.Field) *ProjectsAgentEntityTypesListCall {
10166	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10167	return c
10168}
10169
10170// IfNoneMatch sets the optional parameter which makes the operation
10171// fail if the object's ETag matches the given value. This is useful for
10172// getting updates only after the object has changed since the last
10173// request. Use googleapi.IsNotModified to check whether the response
10174// error from Do is the result of In-None-Match.
10175func (c *ProjectsAgentEntityTypesListCall) IfNoneMatch(entityTag string) *ProjectsAgentEntityTypesListCall {
10176	c.ifNoneMatch_ = entityTag
10177	return c
10178}
10179
10180// Context sets the context to be used in this call's Do method. Any
10181// pending HTTP request will be aborted if the provided context is
10182// canceled.
10183func (c *ProjectsAgentEntityTypesListCall) Context(ctx context.Context) *ProjectsAgentEntityTypesListCall {
10184	c.ctx_ = ctx
10185	return c
10186}
10187
10188// Header returns an http.Header that can be modified by the caller to
10189// add HTTP headers to the request.
10190func (c *ProjectsAgentEntityTypesListCall) Header() http.Header {
10191	if c.header_ == nil {
10192		c.header_ = make(http.Header)
10193	}
10194	return c.header_
10195}
10196
10197func (c *ProjectsAgentEntityTypesListCall) doRequest(alt string) (*http.Response, error) {
10198	reqHeaders := make(http.Header)
10199	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
10200	for k, v := range c.header_ {
10201		reqHeaders[k] = v
10202	}
10203	reqHeaders.Set("User-Agent", c.s.userAgent())
10204	if c.ifNoneMatch_ != "" {
10205		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
10206	}
10207	var body io.Reader = nil
10208	c.urlParams_.Set("alt", alt)
10209	c.urlParams_.Set("prettyPrint", "false")
10210	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/entityTypes")
10211	urls += "?" + c.urlParams_.Encode()
10212	req, err := http.NewRequest("GET", urls, body)
10213	if err != nil {
10214		return nil, err
10215	}
10216	req.Header = reqHeaders
10217	googleapi.Expand(req.URL, map[string]string{
10218		"parent": c.parent,
10219	})
10220	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10221}
10222
10223// Do executes the "dialogflow.projects.agent.entityTypes.list" call.
10224// Exactly one of *GoogleCloudDialogflowV2ListEntityTypesResponse or
10225// error will be non-nil. Any non-2xx status code is an error. Response
10226// headers are in either
10227// *GoogleCloudDialogflowV2ListEntityTypesResponse.ServerResponse.Header
10228// or (if a response was returned at all) in
10229// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
10230// whether the returned error was because http.StatusNotModified was
10231// returned.
10232func (c *ProjectsAgentEntityTypesListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowV2ListEntityTypesResponse, error) {
10233	gensupport.SetOptions(c.urlParams_, opts...)
10234	res, err := c.doRequest("json")
10235	if res != nil && res.StatusCode == http.StatusNotModified {
10236		if res.Body != nil {
10237			res.Body.Close()
10238		}
10239		return nil, &googleapi.Error{
10240			Code:   res.StatusCode,
10241			Header: res.Header,
10242		}
10243	}
10244	if err != nil {
10245		return nil, err
10246	}
10247	defer googleapi.CloseBody(res)
10248	if err := googleapi.CheckResponse(res); err != nil {
10249		return nil, err
10250	}
10251	ret := &GoogleCloudDialogflowV2ListEntityTypesResponse{
10252		ServerResponse: googleapi.ServerResponse{
10253			Header:         res.Header,
10254			HTTPStatusCode: res.StatusCode,
10255		},
10256	}
10257	target := &ret
10258	if err := gensupport.DecodeResponse(target, res); err != nil {
10259		return nil, err
10260	}
10261	return ret, nil
10262	// {
10263	//   "description": "Returns the list of all entity types in the specified agent.",
10264	//   "flatPath": "v2/projects/{projectsId}/agent/entityTypes",
10265	//   "httpMethod": "GET",
10266	//   "id": "dialogflow.projects.agent.entityTypes.list",
10267	//   "parameterOrder": [
10268	//     "parent"
10269	//   ],
10270	//   "parameters": {
10271	//     "languageCode": {
10272	//       "description": "Optional. The language to list entity synonyms for. If not specified,\nthe agent's default language is used.\n[Many\nlanguages](https://cloud.google.com/dialogflow/docs/reference/language)\nare supported. Note: languages must be enabled in the agent before they can\nbe used.",
10273	//       "location": "query",
10274	//       "type": "string"
10275	//     },
10276	//     "pageSize": {
10277	//       "description": "Optional. The maximum number of items to return in a single page. By\ndefault 100 and at most 1000.",
10278	//       "format": "int32",
10279	//       "location": "query",
10280	//       "type": "integer"
10281	//     },
10282	//     "pageToken": {
10283	//       "description": "Optional. The next_page_token value returned from a previous list request.",
10284	//       "location": "query",
10285	//       "type": "string"
10286	//     },
10287	//     "parent": {
10288	//       "description": "Required. The agent to list all entity types from.\nFormat: `projects/\u003cProject ID\u003e/agent`.",
10289	//       "location": "path",
10290	//       "pattern": "^projects/[^/]+/agent$",
10291	//       "required": true,
10292	//       "type": "string"
10293	//     }
10294	//   },
10295	//   "path": "v2/{+parent}/entityTypes",
10296	//   "response": {
10297	//     "$ref": "GoogleCloudDialogflowV2ListEntityTypesResponse"
10298	//   },
10299	//   "scopes": [
10300	//     "https://www.googleapis.com/auth/cloud-platform",
10301	//     "https://www.googleapis.com/auth/dialogflow"
10302	//   ]
10303	// }
10304
10305}
10306
10307// Pages invokes f for each page of results.
10308// A non-nil error returned from f will halt the iteration.
10309// The provided context supersedes any context provided to the Context method.
10310func (c *ProjectsAgentEntityTypesListCall) Pages(ctx context.Context, f func(*GoogleCloudDialogflowV2ListEntityTypesResponse) error) error {
10311	c.ctx_ = ctx
10312	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
10313	for {
10314		x, err := c.Do()
10315		if err != nil {
10316			return err
10317		}
10318		if err := f(x); err != nil {
10319			return err
10320		}
10321		if x.NextPageToken == "" {
10322			return nil
10323		}
10324		c.PageToken(x.NextPageToken)
10325	}
10326}
10327
10328// method id "dialogflow.projects.agent.entityTypes.patch":
10329
10330type ProjectsAgentEntityTypesPatchCall struct {
10331	s                                 *Service
10332	nameid                            string
10333	googleclouddialogflowv2entitytype *GoogleCloudDialogflowV2EntityType
10334	urlParams_                        gensupport.URLParams
10335	ctx_                              context.Context
10336	header_                           http.Header
10337}
10338
10339// Patch: Updates the specified entity type.
10340func (r *ProjectsAgentEntityTypesService) Patch(nameid string, googleclouddialogflowv2entitytype *GoogleCloudDialogflowV2EntityType) *ProjectsAgentEntityTypesPatchCall {
10341	c := &ProjectsAgentEntityTypesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10342	c.nameid = nameid
10343	c.googleclouddialogflowv2entitytype = googleclouddialogflowv2entitytype
10344	return c
10345}
10346
10347// LanguageCode sets the optional parameter "languageCode": The language
10348// of entity synonyms defined in `entity_type`. If not
10349// specified, the agent's default language is
10350// used.
10351// [Many
10352// languages](https://cloud.google.com/dialogflow/docs/refere
10353// nce/language)
10354// are supported. Note: languages must be enabled in the agent before
10355// they can
10356// be used.
10357func (c *ProjectsAgentEntityTypesPatchCall) LanguageCode(languageCode string) *ProjectsAgentEntityTypesPatchCall {
10358	c.urlParams_.Set("languageCode", languageCode)
10359	return c
10360}
10361
10362// UpdateMask sets the optional parameter "updateMask": The mask to
10363// control which fields get updated.
10364func (c *ProjectsAgentEntityTypesPatchCall) UpdateMask(updateMask string) *ProjectsAgentEntityTypesPatchCall {
10365	c.urlParams_.Set("updateMask", updateMask)
10366	return c
10367}
10368
10369// Fields allows partial responses to be retrieved. See
10370// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10371// for more information.
10372func (c *ProjectsAgentEntityTypesPatchCall) Fields(s ...googleapi.Field) *ProjectsAgentEntityTypesPatchCall {
10373	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10374	return c
10375}
10376
10377// Context sets the context to be used in this call's Do method. Any
10378// pending HTTP request will be aborted if the provided context is
10379// canceled.
10380func (c *ProjectsAgentEntityTypesPatchCall) Context(ctx context.Context) *ProjectsAgentEntityTypesPatchCall {
10381	c.ctx_ = ctx
10382	return c
10383}
10384
10385// Header returns an http.Header that can be modified by the caller to
10386// add HTTP headers to the request.
10387func (c *ProjectsAgentEntityTypesPatchCall) Header() http.Header {
10388	if c.header_ == nil {
10389		c.header_ = make(http.Header)
10390	}
10391	return c.header_
10392}
10393
10394func (c *ProjectsAgentEntityTypesPatchCall) doRequest(alt string) (*http.Response, error) {
10395	reqHeaders := make(http.Header)
10396	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
10397	for k, v := range c.header_ {
10398		reqHeaders[k] = v
10399	}
10400	reqHeaders.Set("User-Agent", c.s.userAgent())
10401	var body io.Reader = nil
10402	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowv2entitytype)
10403	if err != nil {
10404		return nil, err
10405	}
10406	reqHeaders.Set("Content-Type", "application/json")
10407	c.urlParams_.Set("alt", alt)
10408	c.urlParams_.Set("prettyPrint", "false")
10409	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}")
10410	urls += "?" + c.urlParams_.Encode()
10411	req, err := http.NewRequest("PATCH", urls, body)
10412	if err != nil {
10413		return nil, err
10414	}
10415	req.Header = reqHeaders
10416	googleapi.Expand(req.URL, map[string]string{
10417		"name": c.nameid,
10418	})
10419	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10420}
10421
10422// Do executes the "dialogflow.projects.agent.entityTypes.patch" call.
10423// Exactly one of *GoogleCloudDialogflowV2EntityType or error will be
10424// non-nil. Any non-2xx status code is an error. Response headers are in
10425// either *GoogleCloudDialogflowV2EntityType.ServerResponse.Header or
10426// (if a response was returned at all) in
10427// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
10428// whether the returned error was because http.StatusNotModified was
10429// returned.
10430func (c *ProjectsAgentEntityTypesPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowV2EntityType, error) {
10431	gensupport.SetOptions(c.urlParams_, opts...)
10432	res, err := c.doRequest("json")
10433	if res != nil && res.StatusCode == http.StatusNotModified {
10434		if res.Body != nil {
10435			res.Body.Close()
10436		}
10437		return nil, &googleapi.Error{
10438			Code:   res.StatusCode,
10439			Header: res.Header,
10440		}
10441	}
10442	if err != nil {
10443		return nil, err
10444	}
10445	defer googleapi.CloseBody(res)
10446	if err := googleapi.CheckResponse(res); err != nil {
10447		return nil, err
10448	}
10449	ret := &GoogleCloudDialogflowV2EntityType{
10450		ServerResponse: googleapi.ServerResponse{
10451			Header:         res.Header,
10452			HTTPStatusCode: res.StatusCode,
10453		},
10454	}
10455	target := &ret
10456	if err := gensupport.DecodeResponse(target, res); err != nil {
10457		return nil, err
10458	}
10459	return ret, nil
10460	// {
10461	//   "description": "Updates the specified entity type.",
10462	//   "flatPath": "v2/projects/{projectsId}/agent/entityTypes/{entityTypesId}",
10463	//   "httpMethod": "PATCH",
10464	//   "id": "dialogflow.projects.agent.entityTypes.patch",
10465	//   "parameterOrder": [
10466	//     "name"
10467	//   ],
10468	//   "parameters": {
10469	//     "languageCode": {
10470	//       "description": "Optional. The language of entity synonyms defined in `entity_type`. If not\nspecified, the agent's default language is used.\n[Many\nlanguages](https://cloud.google.com/dialogflow/docs/reference/language)\nare supported. Note: languages must be enabled in the agent before they can\nbe used.",
10471	//       "location": "query",
10472	//       "type": "string"
10473	//     },
10474	//     "name": {
10475	//       "description": "The unique identifier of the entity type.\nRequired for EntityTypes.UpdateEntityType and\nEntityTypes.BatchUpdateEntityTypes methods.\nFormat: `projects/\u003cProject ID\u003e/agent/entityTypes/\u003cEntity Type ID\u003e`.",
10476	//       "location": "path",
10477	//       "pattern": "^projects/[^/]+/agent/entityTypes/[^/]+$",
10478	//       "required": true,
10479	//       "type": "string"
10480	//     },
10481	//     "updateMask": {
10482	//       "description": "Optional. The mask to control which fields get updated.",
10483	//       "format": "google-fieldmask",
10484	//       "location": "query",
10485	//       "type": "string"
10486	//     }
10487	//   },
10488	//   "path": "v2/{+name}",
10489	//   "request": {
10490	//     "$ref": "GoogleCloudDialogflowV2EntityType"
10491	//   },
10492	//   "response": {
10493	//     "$ref": "GoogleCloudDialogflowV2EntityType"
10494	//   },
10495	//   "scopes": [
10496	//     "https://www.googleapis.com/auth/cloud-platform",
10497	//     "https://www.googleapis.com/auth/dialogflow"
10498	//   ]
10499	// }
10500
10501}
10502
10503// method id "dialogflow.projects.agent.entityTypes.entities.batchCreate":
10504
10505type ProjectsAgentEntityTypesEntitiesBatchCreateCall struct {
10506	s                                                 *Service
10507	parent                                            string
10508	googleclouddialogflowv2batchcreateentitiesrequest *GoogleCloudDialogflowV2BatchCreateEntitiesRequest
10509	urlParams_                                        gensupport.URLParams
10510	ctx_                                              context.Context
10511	header_                                           http.Header
10512}
10513
10514// BatchCreate: Creates multiple new entities in the specified entity
10515// type.
10516//
10517// Operation <response: google.protobuf.Empty>
10518func (r *ProjectsAgentEntityTypesEntitiesService) BatchCreate(parent string, googleclouddialogflowv2batchcreateentitiesrequest *GoogleCloudDialogflowV2BatchCreateEntitiesRequest) *ProjectsAgentEntityTypesEntitiesBatchCreateCall {
10519	c := &ProjectsAgentEntityTypesEntitiesBatchCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10520	c.parent = parent
10521	c.googleclouddialogflowv2batchcreateentitiesrequest = googleclouddialogflowv2batchcreateentitiesrequest
10522	return c
10523}
10524
10525// Fields allows partial responses to be retrieved. See
10526// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10527// for more information.
10528func (c *ProjectsAgentEntityTypesEntitiesBatchCreateCall) Fields(s ...googleapi.Field) *ProjectsAgentEntityTypesEntitiesBatchCreateCall {
10529	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10530	return c
10531}
10532
10533// Context sets the context to be used in this call's Do method. Any
10534// pending HTTP request will be aborted if the provided context is
10535// canceled.
10536func (c *ProjectsAgentEntityTypesEntitiesBatchCreateCall) Context(ctx context.Context) *ProjectsAgentEntityTypesEntitiesBatchCreateCall {
10537	c.ctx_ = ctx
10538	return c
10539}
10540
10541// Header returns an http.Header that can be modified by the caller to
10542// add HTTP headers to the request.
10543func (c *ProjectsAgentEntityTypesEntitiesBatchCreateCall) Header() http.Header {
10544	if c.header_ == nil {
10545		c.header_ = make(http.Header)
10546	}
10547	return c.header_
10548}
10549
10550func (c *ProjectsAgentEntityTypesEntitiesBatchCreateCall) doRequest(alt string) (*http.Response, error) {
10551	reqHeaders := make(http.Header)
10552	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
10553	for k, v := range c.header_ {
10554		reqHeaders[k] = v
10555	}
10556	reqHeaders.Set("User-Agent", c.s.userAgent())
10557	var body io.Reader = nil
10558	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowv2batchcreateentitiesrequest)
10559	if err != nil {
10560		return nil, err
10561	}
10562	reqHeaders.Set("Content-Type", "application/json")
10563	c.urlParams_.Set("alt", alt)
10564	c.urlParams_.Set("prettyPrint", "false")
10565	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/entities:batchCreate")
10566	urls += "?" + c.urlParams_.Encode()
10567	req, err := http.NewRequest("POST", urls, body)
10568	if err != nil {
10569		return nil, err
10570	}
10571	req.Header = reqHeaders
10572	googleapi.Expand(req.URL, map[string]string{
10573		"parent": c.parent,
10574	})
10575	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10576}
10577
10578// Do executes the "dialogflow.projects.agent.entityTypes.entities.batchCreate" call.
10579// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
10580// Any non-2xx status code is an error. Response headers are in either
10581// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
10582// was returned at all) in error.(*googleapi.Error).Header. Use
10583// googleapi.IsNotModified to check whether the returned error was
10584// because http.StatusNotModified was returned.
10585func (c *ProjectsAgentEntityTypesEntitiesBatchCreateCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
10586	gensupport.SetOptions(c.urlParams_, opts...)
10587	res, err := c.doRequest("json")
10588	if res != nil && res.StatusCode == http.StatusNotModified {
10589		if res.Body != nil {
10590			res.Body.Close()
10591		}
10592		return nil, &googleapi.Error{
10593			Code:   res.StatusCode,
10594			Header: res.Header,
10595		}
10596	}
10597	if err != nil {
10598		return nil, err
10599	}
10600	defer googleapi.CloseBody(res)
10601	if err := googleapi.CheckResponse(res); err != nil {
10602		return nil, err
10603	}
10604	ret := &GoogleLongrunningOperation{
10605		ServerResponse: googleapi.ServerResponse{
10606			Header:         res.Header,
10607			HTTPStatusCode: res.StatusCode,
10608		},
10609	}
10610	target := &ret
10611	if err := gensupport.DecodeResponse(target, res); err != nil {
10612		return nil, err
10613	}
10614	return ret, nil
10615	// {
10616	//   "description": "Creates multiple new entities in the specified entity type.\n\nOperation \u003cresponse: google.protobuf.Empty\u003e",
10617	//   "flatPath": "v2/projects/{projectsId}/agent/entityTypes/{entityTypesId}/entities:batchCreate",
10618	//   "httpMethod": "POST",
10619	//   "id": "dialogflow.projects.agent.entityTypes.entities.batchCreate",
10620	//   "parameterOrder": [
10621	//     "parent"
10622	//   ],
10623	//   "parameters": {
10624	//     "parent": {
10625	//       "description": "Required. The name of the entity type to create entities in. Format:\n`projects/\u003cProject ID\u003e/agent/entityTypes/\u003cEntity Type ID\u003e`.",
10626	//       "location": "path",
10627	//       "pattern": "^projects/[^/]+/agent/entityTypes/[^/]+$",
10628	//       "required": true,
10629	//       "type": "string"
10630	//     }
10631	//   },
10632	//   "path": "v2/{+parent}/entities:batchCreate",
10633	//   "request": {
10634	//     "$ref": "GoogleCloudDialogflowV2BatchCreateEntitiesRequest"
10635	//   },
10636	//   "response": {
10637	//     "$ref": "GoogleLongrunningOperation"
10638	//   },
10639	//   "scopes": [
10640	//     "https://www.googleapis.com/auth/cloud-platform",
10641	//     "https://www.googleapis.com/auth/dialogflow"
10642	//   ]
10643	// }
10644
10645}
10646
10647// method id "dialogflow.projects.agent.entityTypes.entities.batchDelete":
10648
10649type ProjectsAgentEntityTypesEntitiesBatchDeleteCall struct {
10650	s                                                 *Service
10651	parent                                            string
10652	googleclouddialogflowv2batchdeleteentitiesrequest *GoogleCloudDialogflowV2BatchDeleteEntitiesRequest
10653	urlParams_                                        gensupport.URLParams
10654	ctx_                                              context.Context
10655	header_                                           http.Header
10656}
10657
10658// BatchDelete: Deletes entities in the specified entity
10659// type.
10660//
10661// Operation <response: google.protobuf.Empty>
10662func (r *ProjectsAgentEntityTypesEntitiesService) BatchDelete(parent string, googleclouddialogflowv2batchdeleteentitiesrequest *GoogleCloudDialogflowV2BatchDeleteEntitiesRequest) *ProjectsAgentEntityTypesEntitiesBatchDeleteCall {
10663	c := &ProjectsAgentEntityTypesEntitiesBatchDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10664	c.parent = parent
10665	c.googleclouddialogflowv2batchdeleteentitiesrequest = googleclouddialogflowv2batchdeleteentitiesrequest
10666	return c
10667}
10668
10669// Fields allows partial responses to be retrieved. See
10670// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10671// for more information.
10672func (c *ProjectsAgentEntityTypesEntitiesBatchDeleteCall) Fields(s ...googleapi.Field) *ProjectsAgentEntityTypesEntitiesBatchDeleteCall {
10673	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10674	return c
10675}
10676
10677// Context sets the context to be used in this call's Do method. Any
10678// pending HTTP request will be aborted if the provided context is
10679// canceled.
10680func (c *ProjectsAgentEntityTypesEntitiesBatchDeleteCall) Context(ctx context.Context) *ProjectsAgentEntityTypesEntitiesBatchDeleteCall {
10681	c.ctx_ = ctx
10682	return c
10683}
10684
10685// Header returns an http.Header that can be modified by the caller to
10686// add HTTP headers to the request.
10687func (c *ProjectsAgentEntityTypesEntitiesBatchDeleteCall) Header() http.Header {
10688	if c.header_ == nil {
10689		c.header_ = make(http.Header)
10690	}
10691	return c.header_
10692}
10693
10694func (c *ProjectsAgentEntityTypesEntitiesBatchDeleteCall) doRequest(alt string) (*http.Response, error) {
10695	reqHeaders := make(http.Header)
10696	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
10697	for k, v := range c.header_ {
10698		reqHeaders[k] = v
10699	}
10700	reqHeaders.Set("User-Agent", c.s.userAgent())
10701	var body io.Reader = nil
10702	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowv2batchdeleteentitiesrequest)
10703	if err != nil {
10704		return nil, err
10705	}
10706	reqHeaders.Set("Content-Type", "application/json")
10707	c.urlParams_.Set("alt", alt)
10708	c.urlParams_.Set("prettyPrint", "false")
10709	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/entities:batchDelete")
10710	urls += "?" + c.urlParams_.Encode()
10711	req, err := http.NewRequest("POST", urls, body)
10712	if err != nil {
10713		return nil, err
10714	}
10715	req.Header = reqHeaders
10716	googleapi.Expand(req.URL, map[string]string{
10717		"parent": c.parent,
10718	})
10719	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10720}
10721
10722// Do executes the "dialogflow.projects.agent.entityTypes.entities.batchDelete" call.
10723// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
10724// Any non-2xx status code is an error. Response headers are in either
10725// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
10726// was returned at all) in error.(*googleapi.Error).Header. Use
10727// googleapi.IsNotModified to check whether the returned error was
10728// because http.StatusNotModified was returned.
10729func (c *ProjectsAgentEntityTypesEntitiesBatchDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
10730	gensupport.SetOptions(c.urlParams_, opts...)
10731	res, err := c.doRequest("json")
10732	if res != nil && res.StatusCode == http.StatusNotModified {
10733		if res.Body != nil {
10734			res.Body.Close()
10735		}
10736		return nil, &googleapi.Error{
10737			Code:   res.StatusCode,
10738			Header: res.Header,
10739		}
10740	}
10741	if err != nil {
10742		return nil, err
10743	}
10744	defer googleapi.CloseBody(res)
10745	if err := googleapi.CheckResponse(res); err != nil {
10746		return nil, err
10747	}
10748	ret := &GoogleLongrunningOperation{
10749		ServerResponse: googleapi.ServerResponse{
10750			Header:         res.Header,
10751			HTTPStatusCode: res.StatusCode,
10752		},
10753	}
10754	target := &ret
10755	if err := gensupport.DecodeResponse(target, res); err != nil {
10756		return nil, err
10757	}
10758	return ret, nil
10759	// {
10760	//   "description": "Deletes entities in the specified entity type.\n\nOperation \u003cresponse: google.protobuf.Empty\u003e",
10761	//   "flatPath": "v2/projects/{projectsId}/agent/entityTypes/{entityTypesId}/entities:batchDelete",
10762	//   "httpMethod": "POST",
10763	//   "id": "dialogflow.projects.agent.entityTypes.entities.batchDelete",
10764	//   "parameterOrder": [
10765	//     "parent"
10766	//   ],
10767	//   "parameters": {
10768	//     "parent": {
10769	//       "description": "Required. The name of the entity type to delete entries for. Format:\n`projects/\u003cProject ID\u003e/agent/entityTypes/\u003cEntity Type ID\u003e`.",
10770	//       "location": "path",
10771	//       "pattern": "^projects/[^/]+/agent/entityTypes/[^/]+$",
10772	//       "required": true,
10773	//       "type": "string"
10774	//     }
10775	//   },
10776	//   "path": "v2/{+parent}/entities:batchDelete",
10777	//   "request": {
10778	//     "$ref": "GoogleCloudDialogflowV2BatchDeleteEntitiesRequest"
10779	//   },
10780	//   "response": {
10781	//     "$ref": "GoogleLongrunningOperation"
10782	//   },
10783	//   "scopes": [
10784	//     "https://www.googleapis.com/auth/cloud-platform",
10785	//     "https://www.googleapis.com/auth/dialogflow"
10786	//   ]
10787	// }
10788
10789}
10790
10791// method id "dialogflow.projects.agent.entityTypes.entities.batchUpdate":
10792
10793type ProjectsAgentEntityTypesEntitiesBatchUpdateCall struct {
10794	s                                                 *Service
10795	parent                                            string
10796	googleclouddialogflowv2batchupdateentitiesrequest *GoogleCloudDialogflowV2BatchUpdateEntitiesRequest
10797	urlParams_                                        gensupport.URLParams
10798	ctx_                                              context.Context
10799	header_                                           http.Header
10800}
10801
10802// BatchUpdate: Updates or creates multiple entities in the specified
10803// entity type. This
10804// method does not affect entities in the entity type that aren't
10805// explicitly
10806// specified in the request.
10807//
10808// Operation <response: google.protobuf.Empty>
10809func (r *ProjectsAgentEntityTypesEntitiesService) BatchUpdate(parent string, googleclouddialogflowv2batchupdateentitiesrequest *GoogleCloudDialogflowV2BatchUpdateEntitiesRequest) *ProjectsAgentEntityTypesEntitiesBatchUpdateCall {
10810	c := &ProjectsAgentEntityTypesEntitiesBatchUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10811	c.parent = parent
10812	c.googleclouddialogflowv2batchupdateentitiesrequest = googleclouddialogflowv2batchupdateentitiesrequest
10813	return c
10814}
10815
10816// Fields allows partial responses to be retrieved. See
10817// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10818// for more information.
10819func (c *ProjectsAgentEntityTypesEntitiesBatchUpdateCall) Fields(s ...googleapi.Field) *ProjectsAgentEntityTypesEntitiesBatchUpdateCall {
10820	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10821	return c
10822}
10823
10824// Context sets the context to be used in this call's Do method. Any
10825// pending HTTP request will be aborted if the provided context is
10826// canceled.
10827func (c *ProjectsAgentEntityTypesEntitiesBatchUpdateCall) Context(ctx context.Context) *ProjectsAgentEntityTypesEntitiesBatchUpdateCall {
10828	c.ctx_ = ctx
10829	return c
10830}
10831
10832// Header returns an http.Header that can be modified by the caller to
10833// add HTTP headers to the request.
10834func (c *ProjectsAgentEntityTypesEntitiesBatchUpdateCall) Header() http.Header {
10835	if c.header_ == nil {
10836		c.header_ = make(http.Header)
10837	}
10838	return c.header_
10839}
10840
10841func (c *ProjectsAgentEntityTypesEntitiesBatchUpdateCall) doRequest(alt string) (*http.Response, error) {
10842	reqHeaders := make(http.Header)
10843	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
10844	for k, v := range c.header_ {
10845		reqHeaders[k] = v
10846	}
10847	reqHeaders.Set("User-Agent", c.s.userAgent())
10848	var body io.Reader = nil
10849	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowv2batchupdateentitiesrequest)
10850	if err != nil {
10851		return nil, err
10852	}
10853	reqHeaders.Set("Content-Type", "application/json")
10854	c.urlParams_.Set("alt", alt)
10855	c.urlParams_.Set("prettyPrint", "false")
10856	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/entities:batchUpdate")
10857	urls += "?" + c.urlParams_.Encode()
10858	req, err := http.NewRequest("POST", urls, body)
10859	if err != nil {
10860		return nil, err
10861	}
10862	req.Header = reqHeaders
10863	googleapi.Expand(req.URL, map[string]string{
10864		"parent": c.parent,
10865	})
10866	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10867}
10868
10869// Do executes the "dialogflow.projects.agent.entityTypes.entities.batchUpdate" call.
10870// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
10871// Any non-2xx status code is an error. Response headers are in either
10872// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
10873// was returned at all) in error.(*googleapi.Error).Header. Use
10874// googleapi.IsNotModified to check whether the returned error was
10875// because http.StatusNotModified was returned.
10876func (c *ProjectsAgentEntityTypesEntitiesBatchUpdateCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
10877	gensupport.SetOptions(c.urlParams_, opts...)
10878	res, err := c.doRequest("json")
10879	if res != nil && res.StatusCode == http.StatusNotModified {
10880		if res.Body != nil {
10881			res.Body.Close()
10882		}
10883		return nil, &googleapi.Error{
10884			Code:   res.StatusCode,
10885			Header: res.Header,
10886		}
10887	}
10888	if err != nil {
10889		return nil, err
10890	}
10891	defer googleapi.CloseBody(res)
10892	if err := googleapi.CheckResponse(res); err != nil {
10893		return nil, err
10894	}
10895	ret := &GoogleLongrunningOperation{
10896		ServerResponse: googleapi.ServerResponse{
10897			Header:         res.Header,
10898			HTTPStatusCode: res.StatusCode,
10899		},
10900	}
10901	target := &ret
10902	if err := gensupport.DecodeResponse(target, res); err != nil {
10903		return nil, err
10904	}
10905	return ret, nil
10906	// {
10907	//   "description": "Updates or creates multiple entities in the specified entity type. This\nmethod does not affect entities in the entity type that aren't explicitly\nspecified in the request.\n\nOperation \u003cresponse: google.protobuf.Empty\u003e",
10908	//   "flatPath": "v2/projects/{projectsId}/agent/entityTypes/{entityTypesId}/entities:batchUpdate",
10909	//   "httpMethod": "POST",
10910	//   "id": "dialogflow.projects.agent.entityTypes.entities.batchUpdate",
10911	//   "parameterOrder": [
10912	//     "parent"
10913	//   ],
10914	//   "parameters": {
10915	//     "parent": {
10916	//       "description": "Required. The name of the entity type to update or create entities in.\nFormat: `projects/\u003cProject ID\u003e/agent/entityTypes/\u003cEntity Type ID\u003e`.",
10917	//       "location": "path",
10918	//       "pattern": "^projects/[^/]+/agent/entityTypes/[^/]+$",
10919	//       "required": true,
10920	//       "type": "string"
10921	//     }
10922	//   },
10923	//   "path": "v2/{+parent}/entities:batchUpdate",
10924	//   "request": {
10925	//     "$ref": "GoogleCloudDialogflowV2BatchUpdateEntitiesRequest"
10926	//   },
10927	//   "response": {
10928	//     "$ref": "GoogleLongrunningOperation"
10929	//   },
10930	//   "scopes": [
10931	//     "https://www.googleapis.com/auth/cloud-platform",
10932	//     "https://www.googleapis.com/auth/dialogflow"
10933	//   ]
10934	// }
10935
10936}
10937
10938// method id "dialogflow.projects.agent.intents.batchDelete":
10939
10940type ProjectsAgentIntentsBatchDeleteCall struct {
10941	s                                                *Service
10942	parent                                           string
10943	googleclouddialogflowv2batchdeleteintentsrequest *GoogleCloudDialogflowV2BatchDeleteIntentsRequest
10944	urlParams_                                       gensupport.URLParams
10945	ctx_                                             context.Context
10946	header_                                          http.Header
10947}
10948
10949// BatchDelete: Deletes intents in the specified agent.
10950//
10951// Operation <response: google.protobuf.Empty>
10952func (r *ProjectsAgentIntentsService) BatchDelete(parent string, googleclouddialogflowv2batchdeleteintentsrequest *GoogleCloudDialogflowV2BatchDeleteIntentsRequest) *ProjectsAgentIntentsBatchDeleteCall {
10953	c := &ProjectsAgentIntentsBatchDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10954	c.parent = parent
10955	c.googleclouddialogflowv2batchdeleteintentsrequest = googleclouddialogflowv2batchdeleteintentsrequest
10956	return c
10957}
10958
10959// Fields allows partial responses to be retrieved. See
10960// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10961// for more information.
10962func (c *ProjectsAgentIntentsBatchDeleteCall) Fields(s ...googleapi.Field) *ProjectsAgentIntentsBatchDeleteCall {
10963	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10964	return c
10965}
10966
10967// Context sets the context to be used in this call's Do method. Any
10968// pending HTTP request will be aborted if the provided context is
10969// canceled.
10970func (c *ProjectsAgentIntentsBatchDeleteCall) Context(ctx context.Context) *ProjectsAgentIntentsBatchDeleteCall {
10971	c.ctx_ = ctx
10972	return c
10973}
10974
10975// Header returns an http.Header that can be modified by the caller to
10976// add HTTP headers to the request.
10977func (c *ProjectsAgentIntentsBatchDeleteCall) Header() http.Header {
10978	if c.header_ == nil {
10979		c.header_ = make(http.Header)
10980	}
10981	return c.header_
10982}
10983
10984func (c *ProjectsAgentIntentsBatchDeleteCall) doRequest(alt string) (*http.Response, error) {
10985	reqHeaders := make(http.Header)
10986	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
10987	for k, v := range c.header_ {
10988		reqHeaders[k] = v
10989	}
10990	reqHeaders.Set("User-Agent", c.s.userAgent())
10991	var body io.Reader = nil
10992	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowv2batchdeleteintentsrequest)
10993	if err != nil {
10994		return nil, err
10995	}
10996	reqHeaders.Set("Content-Type", "application/json")
10997	c.urlParams_.Set("alt", alt)
10998	c.urlParams_.Set("prettyPrint", "false")
10999	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/intents:batchDelete")
11000	urls += "?" + c.urlParams_.Encode()
11001	req, err := http.NewRequest("POST", urls, body)
11002	if err != nil {
11003		return nil, err
11004	}
11005	req.Header = reqHeaders
11006	googleapi.Expand(req.URL, map[string]string{
11007		"parent": c.parent,
11008	})
11009	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11010}
11011
11012// Do executes the "dialogflow.projects.agent.intents.batchDelete" call.
11013// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
11014// Any non-2xx status code is an error. Response headers are in either
11015// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
11016// was returned at all) in error.(*googleapi.Error).Header. Use
11017// googleapi.IsNotModified to check whether the returned error was
11018// because http.StatusNotModified was returned.
11019func (c *ProjectsAgentIntentsBatchDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
11020	gensupport.SetOptions(c.urlParams_, opts...)
11021	res, err := c.doRequest("json")
11022	if res != nil && res.StatusCode == http.StatusNotModified {
11023		if res.Body != nil {
11024			res.Body.Close()
11025		}
11026		return nil, &googleapi.Error{
11027			Code:   res.StatusCode,
11028			Header: res.Header,
11029		}
11030	}
11031	if err != nil {
11032		return nil, err
11033	}
11034	defer googleapi.CloseBody(res)
11035	if err := googleapi.CheckResponse(res); err != nil {
11036		return nil, err
11037	}
11038	ret := &GoogleLongrunningOperation{
11039		ServerResponse: googleapi.ServerResponse{
11040			Header:         res.Header,
11041			HTTPStatusCode: res.StatusCode,
11042		},
11043	}
11044	target := &ret
11045	if err := gensupport.DecodeResponse(target, res); err != nil {
11046		return nil, err
11047	}
11048	return ret, nil
11049	// {
11050	//   "description": "Deletes intents in the specified agent.\n\nOperation \u003cresponse: google.protobuf.Empty\u003e",
11051	//   "flatPath": "v2/projects/{projectsId}/agent/intents:batchDelete",
11052	//   "httpMethod": "POST",
11053	//   "id": "dialogflow.projects.agent.intents.batchDelete",
11054	//   "parameterOrder": [
11055	//     "parent"
11056	//   ],
11057	//   "parameters": {
11058	//     "parent": {
11059	//       "description": "Required. The name of the agent to delete all entities types for. Format:\n`projects/\u003cProject ID\u003e/agent`.",
11060	//       "location": "path",
11061	//       "pattern": "^projects/[^/]+/agent$",
11062	//       "required": true,
11063	//       "type": "string"
11064	//     }
11065	//   },
11066	//   "path": "v2/{+parent}/intents:batchDelete",
11067	//   "request": {
11068	//     "$ref": "GoogleCloudDialogflowV2BatchDeleteIntentsRequest"
11069	//   },
11070	//   "response": {
11071	//     "$ref": "GoogleLongrunningOperation"
11072	//   },
11073	//   "scopes": [
11074	//     "https://www.googleapis.com/auth/cloud-platform",
11075	//     "https://www.googleapis.com/auth/dialogflow"
11076	//   ]
11077	// }
11078
11079}
11080
11081// method id "dialogflow.projects.agent.intents.batchUpdate":
11082
11083type ProjectsAgentIntentsBatchUpdateCall struct {
11084	s                                                *Service
11085	parent                                           string
11086	googleclouddialogflowv2batchupdateintentsrequest *GoogleCloudDialogflowV2BatchUpdateIntentsRequest
11087	urlParams_                                       gensupport.URLParams
11088	ctx_                                             context.Context
11089	header_                                          http.Header
11090}
11091
11092// BatchUpdate: Updates/Creates multiple intents in the specified
11093// agent.
11094//
11095// Operation <response: BatchUpdateIntentsResponse>
11096func (r *ProjectsAgentIntentsService) BatchUpdate(parent string, googleclouddialogflowv2batchupdateintentsrequest *GoogleCloudDialogflowV2BatchUpdateIntentsRequest) *ProjectsAgentIntentsBatchUpdateCall {
11097	c := &ProjectsAgentIntentsBatchUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11098	c.parent = parent
11099	c.googleclouddialogflowv2batchupdateintentsrequest = googleclouddialogflowv2batchupdateintentsrequest
11100	return c
11101}
11102
11103// Fields allows partial responses to be retrieved. See
11104// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
11105// for more information.
11106func (c *ProjectsAgentIntentsBatchUpdateCall) Fields(s ...googleapi.Field) *ProjectsAgentIntentsBatchUpdateCall {
11107	c.urlParams_.Set("fields", googleapi.CombineFields(s))
11108	return c
11109}
11110
11111// Context sets the context to be used in this call's Do method. Any
11112// pending HTTP request will be aborted if the provided context is
11113// canceled.
11114func (c *ProjectsAgentIntentsBatchUpdateCall) Context(ctx context.Context) *ProjectsAgentIntentsBatchUpdateCall {
11115	c.ctx_ = ctx
11116	return c
11117}
11118
11119// Header returns an http.Header that can be modified by the caller to
11120// add HTTP headers to the request.
11121func (c *ProjectsAgentIntentsBatchUpdateCall) Header() http.Header {
11122	if c.header_ == nil {
11123		c.header_ = make(http.Header)
11124	}
11125	return c.header_
11126}
11127
11128func (c *ProjectsAgentIntentsBatchUpdateCall) doRequest(alt string) (*http.Response, error) {
11129	reqHeaders := make(http.Header)
11130	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
11131	for k, v := range c.header_ {
11132		reqHeaders[k] = v
11133	}
11134	reqHeaders.Set("User-Agent", c.s.userAgent())
11135	var body io.Reader = nil
11136	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowv2batchupdateintentsrequest)
11137	if err != nil {
11138		return nil, err
11139	}
11140	reqHeaders.Set("Content-Type", "application/json")
11141	c.urlParams_.Set("alt", alt)
11142	c.urlParams_.Set("prettyPrint", "false")
11143	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/intents:batchUpdate")
11144	urls += "?" + c.urlParams_.Encode()
11145	req, err := http.NewRequest("POST", urls, body)
11146	if err != nil {
11147		return nil, err
11148	}
11149	req.Header = reqHeaders
11150	googleapi.Expand(req.URL, map[string]string{
11151		"parent": c.parent,
11152	})
11153	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11154}
11155
11156// Do executes the "dialogflow.projects.agent.intents.batchUpdate" call.
11157// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
11158// Any non-2xx status code is an error. Response headers are in either
11159// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
11160// was returned at all) in error.(*googleapi.Error).Header. Use
11161// googleapi.IsNotModified to check whether the returned error was
11162// because http.StatusNotModified was returned.
11163func (c *ProjectsAgentIntentsBatchUpdateCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
11164	gensupport.SetOptions(c.urlParams_, opts...)
11165	res, err := c.doRequest("json")
11166	if res != nil && res.StatusCode == http.StatusNotModified {
11167		if res.Body != nil {
11168			res.Body.Close()
11169		}
11170		return nil, &googleapi.Error{
11171			Code:   res.StatusCode,
11172			Header: res.Header,
11173		}
11174	}
11175	if err != nil {
11176		return nil, err
11177	}
11178	defer googleapi.CloseBody(res)
11179	if err := googleapi.CheckResponse(res); err != nil {
11180		return nil, err
11181	}
11182	ret := &GoogleLongrunningOperation{
11183		ServerResponse: googleapi.ServerResponse{
11184			Header:         res.Header,
11185			HTTPStatusCode: res.StatusCode,
11186		},
11187	}
11188	target := &ret
11189	if err := gensupport.DecodeResponse(target, res); err != nil {
11190		return nil, err
11191	}
11192	return ret, nil
11193	// {
11194	//   "description": "Updates/Creates multiple intents in the specified agent.\n\nOperation \u003cresponse: BatchUpdateIntentsResponse\u003e",
11195	//   "flatPath": "v2/projects/{projectsId}/agent/intents:batchUpdate",
11196	//   "httpMethod": "POST",
11197	//   "id": "dialogflow.projects.agent.intents.batchUpdate",
11198	//   "parameterOrder": [
11199	//     "parent"
11200	//   ],
11201	//   "parameters": {
11202	//     "parent": {
11203	//       "description": "Required. The name of the agent to update or create intents in.\nFormat: `projects/\u003cProject ID\u003e/agent`.",
11204	//       "location": "path",
11205	//       "pattern": "^projects/[^/]+/agent$",
11206	//       "required": true,
11207	//       "type": "string"
11208	//     }
11209	//   },
11210	//   "path": "v2/{+parent}/intents:batchUpdate",
11211	//   "request": {
11212	//     "$ref": "GoogleCloudDialogflowV2BatchUpdateIntentsRequest"
11213	//   },
11214	//   "response": {
11215	//     "$ref": "GoogleLongrunningOperation"
11216	//   },
11217	//   "scopes": [
11218	//     "https://www.googleapis.com/auth/cloud-platform",
11219	//     "https://www.googleapis.com/auth/dialogflow"
11220	//   ]
11221	// }
11222
11223}
11224
11225// method id "dialogflow.projects.agent.intents.create":
11226
11227type ProjectsAgentIntentsCreateCall struct {
11228	s                             *Service
11229	parent                        string
11230	googleclouddialogflowv2intent *GoogleCloudDialogflowV2Intent
11231	urlParams_                    gensupport.URLParams
11232	ctx_                          context.Context
11233	header_                       http.Header
11234}
11235
11236// Create: Creates an intent in the specified agent.
11237func (r *ProjectsAgentIntentsService) Create(parent string, googleclouddialogflowv2intent *GoogleCloudDialogflowV2Intent) *ProjectsAgentIntentsCreateCall {
11238	c := &ProjectsAgentIntentsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11239	c.parent = parent
11240	c.googleclouddialogflowv2intent = googleclouddialogflowv2intent
11241	return c
11242}
11243
11244// IntentView sets the optional parameter "intentView": The resource
11245// view to apply to the returned intent.
11246//
11247// Possible values:
11248//   "INTENT_VIEW_UNSPECIFIED"
11249//   "INTENT_VIEW_FULL"
11250func (c *ProjectsAgentIntentsCreateCall) IntentView(intentView string) *ProjectsAgentIntentsCreateCall {
11251	c.urlParams_.Set("intentView", intentView)
11252	return c
11253}
11254
11255// LanguageCode sets the optional parameter "languageCode": The language
11256// of training phrases, parameters and rich messages
11257// defined in `intent`. If not specified, the agent's default language
11258// is
11259// used.
11260// [Many
11261// languages](https://cloud.google.com/dialogflow/docs/reference/la
11262// nguage)
11263// are supported. Note: languages must be enabled in the agent before
11264// they can
11265// be used.
11266func (c *ProjectsAgentIntentsCreateCall) LanguageCode(languageCode string) *ProjectsAgentIntentsCreateCall {
11267	c.urlParams_.Set("languageCode", languageCode)
11268	return c
11269}
11270
11271// Fields allows partial responses to be retrieved. See
11272// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
11273// for more information.
11274func (c *ProjectsAgentIntentsCreateCall) Fields(s ...googleapi.Field) *ProjectsAgentIntentsCreateCall {
11275	c.urlParams_.Set("fields", googleapi.CombineFields(s))
11276	return c
11277}
11278
11279// Context sets the context to be used in this call's Do method. Any
11280// pending HTTP request will be aborted if the provided context is
11281// canceled.
11282func (c *ProjectsAgentIntentsCreateCall) Context(ctx context.Context) *ProjectsAgentIntentsCreateCall {
11283	c.ctx_ = ctx
11284	return c
11285}
11286
11287// Header returns an http.Header that can be modified by the caller to
11288// add HTTP headers to the request.
11289func (c *ProjectsAgentIntentsCreateCall) Header() http.Header {
11290	if c.header_ == nil {
11291		c.header_ = make(http.Header)
11292	}
11293	return c.header_
11294}
11295
11296func (c *ProjectsAgentIntentsCreateCall) doRequest(alt string) (*http.Response, error) {
11297	reqHeaders := make(http.Header)
11298	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
11299	for k, v := range c.header_ {
11300		reqHeaders[k] = v
11301	}
11302	reqHeaders.Set("User-Agent", c.s.userAgent())
11303	var body io.Reader = nil
11304	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowv2intent)
11305	if err != nil {
11306		return nil, err
11307	}
11308	reqHeaders.Set("Content-Type", "application/json")
11309	c.urlParams_.Set("alt", alt)
11310	c.urlParams_.Set("prettyPrint", "false")
11311	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/intents")
11312	urls += "?" + c.urlParams_.Encode()
11313	req, err := http.NewRequest("POST", urls, body)
11314	if err != nil {
11315		return nil, err
11316	}
11317	req.Header = reqHeaders
11318	googleapi.Expand(req.URL, map[string]string{
11319		"parent": c.parent,
11320	})
11321	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11322}
11323
11324// Do executes the "dialogflow.projects.agent.intents.create" call.
11325// Exactly one of *GoogleCloudDialogflowV2Intent or error will be
11326// non-nil. Any non-2xx status code is an error. Response headers are in
11327// either *GoogleCloudDialogflowV2Intent.ServerResponse.Header or (if a
11328// response was returned at all) in error.(*googleapi.Error).Header. Use
11329// googleapi.IsNotModified to check whether the returned error was
11330// because http.StatusNotModified was returned.
11331func (c *ProjectsAgentIntentsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowV2Intent, error) {
11332	gensupport.SetOptions(c.urlParams_, opts...)
11333	res, err := c.doRequest("json")
11334	if res != nil && res.StatusCode == http.StatusNotModified {
11335		if res.Body != nil {
11336			res.Body.Close()
11337		}
11338		return nil, &googleapi.Error{
11339			Code:   res.StatusCode,
11340			Header: res.Header,
11341		}
11342	}
11343	if err != nil {
11344		return nil, err
11345	}
11346	defer googleapi.CloseBody(res)
11347	if err := googleapi.CheckResponse(res); err != nil {
11348		return nil, err
11349	}
11350	ret := &GoogleCloudDialogflowV2Intent{
11351		ServerResponse: googleapi.ServerResponse{
11352			Header:         res.Header,
11353			HTTPStatusCode: res.StatusCode,
11354		},
11355	}
11356	target := &ret
11357	if err := gensupport.DecodeResponse(target, res); err != nil {
11358		return nil, err
11359	}
11360	return ret, nil
11361	// {
11362	//   "description": "Creates an intent in the specified agent.",
11363	//   "flatPath": "v2/projects/{projectsId}/agent/intents",
11364	//   "httpMethod": "POST",
11365	//   "id": "dialogflow.projects.agent.intents.create",
11366	//   "parameterOrder": [
11367	//     "parent"
11368	//   ],
11369	//   "parameters": {
11370	//     "intentView": {
11371	//       "description": "Optional. The resource view to apply to the returned intent.",
11372	//       "enum": [
11373	//         "INTENT_VIEW_UNSPECIFIED",
11374	//         "INTENT_VIEW_FULL"
11375	//       ],
11376	//       "location": "query",
11377	//       "type": "string"
11378	//     },
11379	//     "languageCode": {
11380	//       "description": "Optional. The language of training phrases, parameters and rich messages\ndefined in `intent`. If not specified, the agent's default language is\nused. [Many\nlanguages](https://cloud.google.com/dialogflow/docs/reference/language)\nare supported. Note: languages must be enabled in the agent before they can\nbe used.",
11381	//       "location": "query",
11382	//       "type": "string"
11383	//     },
11384	//     "parent": {
11385	//       "description": "Required. The agent to create a intent for.\nFormat: `projects/\u003cProject ID\u003e/agent`.",
11386	//       "location": "path",
11387	//       "pattern": "^projects/[^/]+/agent$",
11388	//       "required": true,
11389	//       "type": "string"
11390	//     }
11391	//   },
11392	//   "path": "v2/{+parent}/intents",
11393	//   "request": {
11394	//     "$ref": "GoogleCloudDialogflowV2Intent"
11395	//   },
11396	//   "response": {
11397	//     "$ref": "GoogleCloudDialogflowV2Intent"
11398	//   },
11399	//   "scopes": [
11400	//     "https://www.googleapis.com/auth/cloud-platform",
11401	//     "https://www.googleapis.com/auth/dialogflow"
11402	//   ]
11403	// }
11404
11405}
11406
11407// method id "dialogflow.projects.agent.intents.delete":
11408
11409type ProjectsAgentIntentsDeleteCall struct {
11410	s          *Service
11411	name       string
11412	urlParams_ gensupport.URLParams
11413	ctx_       context.Context
11414	header_    http.Header
11415}
11416
11417// Delete: Deletes the specified intent and its direct or indirect
11418// followup intents.
11419func (r *ProjectsAgentIntentsService) Delete(name string) *ProjectsAgentIntentsDeleteCall {
11420	c := &ProjectsAgentIntentsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11421	c.name = name
11422	return c
11423}
11424
11425// Fields allows partial responses to be retrieved. See
11426// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
11427// for more information.
11428func (c *ProjectsAgentIntentsDeleteCall) Fields(s ...googleapi.Field) *ProjectsAgentIntentsDeleteCall {
11429	c.urlParams_.Set("fields", googleapi.CombineFields(s))
11430	return c
11431}
11432
11433// Context sets the context to be used in this call's Do method. Any
11434// pending HTTP request will be aborted if the provided context is
11435// canceled.
11436func (c *ProjectsAgentIntentsDeleteCall) Context(ctx context.Context) *ProjectsAgentIntentsDeleteCall {
11437	c.ctx_ = ctx
11438	return c
11439}
11440
11441// Header returns an http.Header that can be modified by the caller to
11442// add HTTP headers to the request.
11443func (c *ProjectsAgentIntentsDeleteCall) Header() http.Header {
11444	if c.header_ == nil {
11445		c.header_ = make(http.Header)
11446	}
11447	return c.header_
11448}
11449
11450func (c *ProjectsAgentIntentsDeleteCall) doRequest(alt string) (*http.Response, error) {
11451	reqHeaders := make(http.Header)
11452	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
11453	for k, v := range c.header_ {
11454		reqHeaders[k] = v
11455	}
11456	reqHeaders.Set("User-Agent", c.s.userAgent())
11457	var body io.Reader = nil
11458	c.urlParams_.Set("alt", alt)
11459	c.urlParams_.Set("prettyPrint", "false")
11460	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}")
11461	urls += "?" + c.urlParams_.Encode()
11462	req, err := http.NewRequest("DELETE", urls, body)
11463	if err != nil {
11464		return nil, err
11465	}
11466	req.Header = reqHeaders
11467	googleapi.Expand(req.URL, map[string]string{
11468		"name": c.name,
11469	})
11470	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11471}
11472
11473// Do executes the "dialogflow.projects.agent.intents.delete" call.
11474// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
11475// non-2xx status code is an error. Response headers are in either
11476// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
11477// returned at all) in error.(*googleapi.Error).Header. Use
11478// googleapi.IsNotModified to check whether the returned error was
11479// because http.StatusNotModified was returned.
11480func (c *ProjectsAgentIntentsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
11481	gensupport.SetOptions(c.urlParams_, opts...)
11482	res, err := c.doRequest("json")
11483	if res != nil && res.StatusCode == http.StatusNotModified {
11484		if res.Body != nil {
11485			res.Body.Close()
11486		}
11487		return nil, &googleapi.Error{
11488			Code:   res.StatusCode,
11489			Header: res.Header,
11490		}
11491	}
11492	if err != nil {
11493		return nil, err
11494	}
11495	defer googleapi.CloseBody(res)
11496	if err := googleapi.CheckResponse(res); err != nil {
11497		return nil, err
11498	}
11499	ret := &GoogleProtobufEmpty{
11500		ServerResponse: googleapi.ServerResponse{
11501			Header:         res.Header,
11502			HTTPStatusCode: res.StatusCode,
11503		},
11504	}
11505	target := &ret
11506	if err := gensupport.DecodeResponse(target, res); err != nil {
11507		return nil, err
11508	}
11509	return ret, nil
11510	// {
11511	//   "description": "Deletes the specified intent and its direct or indirect followup intents.",
11512	//   "flatPath": "v2/projects/{projectsId}/agent/intents/{intentsId}",
11513	//   "httpMethod": "DELETE",
11514	//   "id": "dialogflow.projects.agent.intents.delete",
11515	//   "parameterOrder": [
11516	//     "name"
11517	//   ],
11518	//   "parameters": {
11519	//     "name": {
11520	//       "description": "Required. The name of the intent to delete. If this intent has direct or\nindirect followup intents, we also delete them.\nFormat: `projects/\u003cProject ID\u003e/agent/intents/\u003cIntent ID\u003e`.",
11521	//       "location": "path",
11522	//       "pattern": "^projects/[^/]+/agent/intents/[^/]+$",
11523	//       "required": true,
11524	//       "type": "string"
11525	//     }
11526	//   },
11527	//   "path": "v2/{+name}",
11528	//   "response": {
11529	//     "$ref": "GoogleProtobufEmpty"
11530	//   },
11531	//   "scopes": [
11532	//     "https://www.googleapis.com/auth/cloud-platform",
11533	//     "https://www.googleapis.com/auth/dialogflow"
11534	//   ]
11535	// }
11536
11537}
11538
11539// method id "dialogflow.projects.agent.intents.get":
11540
11541type ProjectsAgentIntentsGetCall struct {
11542	s            *Service
11543	name         string
11544	urlParams_   gensupport.URLParams
11545	ifNoneMatch_ string
11546	ctx_         context.Context
11547	header_      http.Header
11548}
11549
11550// Get: Retrieves the specified intent.
11551func (r *ProjectsAgentIntentsService) Get(name string) *ProjectsAgentIntentsGetCall {
11552	c := &ProjectsAgentIntentsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11553	c.name = name
11554	return c
11555}
11556
11557// IntentView sets the optional parameter "intentView": The resource
11558// view to apply to the returned intent.
11559//
11560// Possible values:
11561//   "INTENT_VIEW_UNSPECIFIED"
11562//   "INTENT_VIEW_FULL"
11563func (c *ProjectsAgentIntentsGetCall) IntentView(intentView string) *ProjectsAgentIntentsGetCall {
11564	c.urlParams_.Set("intentView", intentView)
11565	return c
11566}
11567
11568// LanguageCode sets the optional parameter "languageCode": The language
11569// to retrieve training phrases, parameters and rich
11570// messages for. If not specified, the agent's default language is
11571// used.
11572// [Many
11573// languages](https://cloud.google.com/dialogflow/docs/refere
11574// nce/language)
11575// are supported. Note: languages must be enabled in the agent before
11576// they can
11577// be used.
11578func (c *ProjectsAgentIntentsGetCall) LanguageCode(languageCode string) *ProjectsAgentIntentsGetCall {
11579	c.urlParams_.Set("languageCode", languageCode)
11580	return c
11581}
11582
11583// Fields allows partial responses to be retrieved. See
11584// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
11585// for more information.
11586func (c *ProjectsAgentIntentsGetCall) Fields(s ...googleapi.Field) *ProjectsAgentIntentsGetCall {
11587	c.urlParams_.Set("fields", googleapi.CombineFields(s))
11588	return c
11589}
11590
11591// IfNoneMatch sets the optional parameter which makes the operation
11592// fail if the object's ETag matches the given value. This is useful for
11593// getting updates only after the object has changed since the last
11594// request. Use googleapi.IsNotModified to check whether the response
11595// error from Do is the result of In-None-Match.
11596func (c *ProjectsAgentIntentsGetCall) IfNoneMatch(entityTag string) *ProjectsAgentIntentsGetCall {
11597	c.ifNoneMatch_ = entityTag
11598	return c
11599}
11600
11601// Context sets the context to be used in this call's Do method. Any
11602// pending HTTP request will be aborted if the provided context is
11603// canceled.
11604func (c *ProjectsAgentIntentsGetCall) Context(ctx context.Context) *ProjectsAgentIntentsGetCall {
11605	c.ctx_ = ctx
11606	return c
11607}
11608
11609// Header returns an http.Header that can be modified by the caller to
11610// add HTTP headers to the request.
11611func (c *ProjectsAgentIntentsGetCall) Header() http.Header {
11612	if c.header_ == nil {
11613		c.header_ = make(http.Header)
11614	}
11615	return c.header_
11616}
11617
11618func (c *ProjectsAgentIntentsGetCall) doRequest(alt string) (*http.Response, error) {
11619	reqHeaders := make(http.Header)
11620	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
11621	for k, v := range c.header_ {
11622		reqHeaders[k] = v
11623	}
11624	reqHeaders.Set("User-Agent", c.s.userAgent())
11625	if c.ifNoneMatch_ != "" {
11626		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
11627	}
11628	var body io.Reader = nil
11629	c.urlParams_.Set("alt", alt)
11630	c.urlParams_.Set("prettyPrint", "false")
11631	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}")
11632	urls += "?" + c.urlParams_.Encode()
11633	req, err := http.NewRequest("GET", urls, body)
11634	if err != nil {
11635		return nil, err
11636	}
11637	req.Header = reqHeaders
11638	googleapi.Expand(req.URL, map[string]string{
11639		"name": c.name,
11640	})
11641	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11642}
11643
11644// Do executes the "dialogflow.projects.agent.intents.get" call.
11645// Exactly one of *GoogleCloudDialogflowV2Intent or error will be
11646// non-nil. Any non-2xx status code is an error. Response headers are in
11647// either *GoogleCloudDialogflowV2Intent.ServerResponse.Header or (if a
11648// response was returned at all) in error.(*googleapi.Error).Header. Use
11649// googleapi.IsNotModified to check whether the returned error was
11650// because http.StatusNotModified was returned.
11651func (c *ProjectsAgentIntentsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowV2Intent, error) {
11652	gensupport.SetOptions(c.urlParams_, opts...)
11653	res, err := c.doRequest("json")
11654	if res != nil && res.StatusCode == http.StatusNotModified {
11655		if res.Body != nil {
11656			res.Body.Close()
11657		}
11658		return nil, &googleapi.Error{
11659			Code:   res.StatusCode,
11660			Header: res.Header,
11661		}
11662	}
11663	if err != nil {
11664		return nil, err
11665	}
11666	defer googleapi.CloseBody(res)
11667	if err := googleapi.CheckResponse(res); err != nil {
11668		return nil, err
11669	}
11670	ret := &GoogleCloudDialogflowV2Intent{
11671		ServerResponse: googleapi.ServerResponse{
11672			Header:         res.Header,
11673			HTTPStatusCode: res.StatusCode,
11674		},
11675	}
11676	target := &ret
11677	if err := gensupport.DecodeResponse(target, res); err != nil {
11678		return nil, err
11679	}
11680	return ret, nil
11681	// {
11682	//   "description": "Retrieves the specified intent.",
11683	//   "flatPath": "v2/projects/{projectsId}/agent/intents/{intentsId}",
11684	//   "httpMethod": "GET",
11685	//   "id": "dialogflow.projects.agent.intents.get",
11686	//   "parameterOrder": [
11687	//     "name"
11688	//   ],
11689	//   "parameters": {
11690	//     "intentView": {
11691	//       "description": "Optional. The resource view to apply to the returned intent.",
11692	//       "enum": [
11693	//         "INTENT_VIEW_UNSPECIFIED",
11694	//         "INTENT_VIEW_FULL"
11695	//       ],
11696	//       "location": "query",
11697	//       "type": "string"
11698	//     },
11699	//     "languageCode": {
11700	//       "description": "Optional. The language to retrieve training phrases, parameters and rich\nmessages for. If not specified, the agent's default language is used.\n[Many\nlanguages](https://cloud.google.com/dialogflow/docs/reference/language)\nare supported. Note: languages must be enabled in the agent before they can\nbe used.",
11701	//       "location": "query",
11702	//       "type": "string"
11703	//     },
11704	//     "name": {
11705	//       "description": "Required. The name of the intent.\nFormat: `projects/\u003cProject ID\u003e/agent/intents/\u003cIntent ID\u003e`.",
11706	//       "location": "path",
11707	//       "pattern": "^projects/[^/]+/agent/intents/[^/]+$",
11708	//       "required": true,
11709	//       "type": "string"
11710	//     }
11711	//   },
11712	//   "path": "v2/{+name}",
11713	//   "response": {
11714	//     "$ref": "GoogleCloudDialogflowV2Intent"
11715	//   },
11716	//   "scopes": [
11717	//     "https://www.googleapis.com/auth/cloud-platform",
11718	//     "https://www.googleapis.com/auth/dialogflow"
11719	//   ]
11720	// }
11721
11722}
11723
11724// method id "dialogflow.projects.agent.intents.list":
11725
11726type ProjectsAgentIntentsListCall struct {
11727	s            *Service
11728	parent       string
11729	urlParams_   gensupport.URLParams
11730	ifNoneMatch_ string
11731	ctx_         context.Context
11732	header_      http.Header
11733}
11734
11735// List: Returns the list of all intents in the specified agent.
11736func (r *ProjectsAgentIntentsService) List(parent string) *ProjectsAgentIntentsListCall {
11737	c := &ProjectsAgentIntentsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11738	c.parent = parent
11739	return c
11740}
11741
11742// IntentView sets the optional parameter "intentView": The resource
11743// view to apply to the returned intent.
11744//
11745// Possible values:
11746//   "INTENT_VIEW_UNSPECIFIED"
11747//   "INTENT_VIEW_FULL"
11748func (c *ProjectsAgentIntentsListCall) IntentView(intentView string) *ProjectsAgentIntentsListCall {
11749	c.urlParams_.Set("intentView", intentView)
11750	return c
11751}
11752
11753// LanguageCode sets the optional parameter "languageCode": The language
11754// to list training phrases, parameters and rich
11755// messages for. If not specified, the agent's default language is
11756// used.
11757// [Many
11758// languages](https://cloud.google.com/dialogflow/docs/refere
11759// nce/language)
11760// are supported. Note: languages must be enabled in the agent before
11761// they can
11762// be used.
11763func (c *ProjectsAgentIntentsListCall) LanguageCode(languageCode string) *ProjectsAgentIntentsListCall {
11764	c.urlParams_.Set("languageCode", languageCode)
11765	return c
11766}
11767
11768// PageSize sets the optional parameter "pageSize": The maximum number
11769// of items to return in a single page. By
11770// default 100 and at most 1000.
11771func (c *ProjectsAgentIntentsListCall) PageSize(pageSize int64) *ProjectsAgentIntentsListCall {
11772	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
11773	return c
11774}
11775
11776// PageToken sets the optional parameter "pageToken": The
11777// next_page_token value returned from a previous list request.
11778func (c *ProjectsAgentIntentsListCall) PageToken(pageToken string) *ProjectsAgentIntentsListCall {
11779	c.urlParams_.Set("pageToken", pageToken)
11780	return c
11781}
11782
11783// Fields allows partial responses to be retrieved. See
11784// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
11785// for more information.
11786func (c *ProjectsAgentIntentsListCall) Fields(s ...googleapi.Field) *ProjectsAgentIntentsListCall {
11787	c.urlParams_.Set("fields", googleapi.CombineFields(s))
11788	return c
11789}
11790
11791// IfNoneMatch sets the optional parameter which makes the operation
11792// fail if the object's ETag matches the given value. This is useful for
11793// getting updates only after the object has changed since the last
11794// request. Use googleapi.IsNotModified to check whether the response
11795// error from Do is the result of In-None-Match.
11796func (c *ProjectsAgentIntentsListCall) IfNoneMatch(entityTag string) *ProjectsAgentIntentsListCall {
11797	c.ifNoneMatch_ = entityTag
11798	return c
11799}
11800
11801// Context sets the context to be used in this call's Do method. Any
11802// pending HTTP request will be aborted if the provided context is
11803// canceled.
11804func (c *ProjectsAgentIntentsListCall) Context(ctx context.Context) *ProjectsAgentIntentsListCall {
11805	c.ctx_ = ctx
11806	return c
11807}
11808
11809// Header returns an http.Header that can be modified by the caller to
11810// add HTTP headers to the request.
11811func (c *ProjectsAgentIntentsListCall) Header() http.Header {
11812	if c.header_ == nil {
11813		c.header_ = make(http.Header)
11814	}
11815	return c.header_
11816}
11817
11818func (c *ProjectsAgentIntentsListCall) doRequest(alt string) (*http.Response, error) {
11819	reqHeaders := make(http.Header)
11820	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
11821	for k, v := range c.header_ {
11822		reqHeaders[k] = v
11823	}
11824	reqHeaders.Set("User-Agent", c.s.userAgent())
11825	if c.ifNoneMatch_ != "" {
11826		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
11827	}
11828	var body io.Reader = nil
11829	c.urlParams_.Set("alt", alt)
11830	c.urlParams_.Set("prettyPrint", "false")
11831	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/intents")
11832	urls += "?" + c.urlParams_.Encode()
11833	req, err := http.NewRequest("GET", urls, body)
11834	if err != nil {
11835		return nil, err
11836	}
11837	req.Header = reqHeaders
11838	googleapi.Expand(req.URL, map[string]string{
11839		"parent": c.parent,
11840	})
11841	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11842}
11843
11844// Do executes the "dialogflow.projects.agent.intents.list" call.
11845// Exactly one of *GoogleCloudDialogflowV2ListIntentsResponse or error
11846// will be non-nil. Any non-2xx status code is an error. Response
11847// headers are in either
11848// *GoogleCloudDialogflowV2ListIntentsResponse.ServerResponse.Header or
11849// (if a response was returned at all) in
11850// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
11851// whether the returned error was because http.StatusNotModified was
11852// returned.
11853func (c *ProjectsAgentIntentsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowV2ListIntentsResponse, error) {
11854	gensupport.SetOptions(c.urlParams_, opts...)
11855	res, err := c.doRequest("json")
11856	if res != nil && res.StatusCode == http.StatusNotModified {
11857		if res.Body != nil {
11858			res.Body.Close()
11859		}
11860		return nil, &googleapi.Error{
11861			Code:   res.StatusCode,
11862			Header: res.Header,
11863		}
11864	}
11865	if err != nil {
11866		return nil, err
11867	}
11868	defer googleapi.CloseBody(res)
11869	if err := googleapi.CheckResponse(res); err != nil {
11870		return nil, err
11871	}
11872	ret := &GoogleCloudDialogflowV2ListIntentsResponse{
11873		ServerResponse: googleapi.ServerResponse{
11874			Header:         res.Header,
11875			HTTPStatusCode: res.StatusCode,
11876		},
11877	}
11878	target := &ret
11879	if err := gensupport.DecodeResponse(target, res); err != nil {
11880		return nil, err
11881	}
11882	return ret, nil
11883	// {
11884	//   "description": "Returns the list of all intents in the specified agent.",
11885	//   "flatPath": "v2/projects/{projectsId}/agent/intents",
11886	//   "httpMethod": "GET",
11887	//   "id": "dialogflow.projects.agent.intents.list",
11888	//   "parameterOrder": [
11889	//     "parent"
11890	//   ],
11891	//   "parameters": {
11892	//     "intentView": {
11893	//       "description": "Optional. The resource view to apply to the returned intent.",
11894	//       "enum": [
11895	//         "INTENT_VIEW_UNSPECIFIED",
11896	//         "INTENT_VIEW_FULL"
11897	//       ],
11898	//       "location": "query",
11899	//       "type": "string"
11900	//     },
11901	//     "languageCode": {
11902	//       "description": "Optional. The language to list training phrases, parameters and rich\nmessages for. If not specified, the agent's default language is used.\n[Many\nlanguages](https://cloud.google.com/dialogflow/docs/reference/language)\nare supported. Note: languages must be enabled in the agent before they can\nbe used.",
11903	//       "location": "query",
11904	//       "type": "string"
11905	//     },
11906	//     "pageSize": {
11907	//       "description": "Optional. The maximum number of items to return in a single page. By\ndefault 100 and at most 1000.",
11908	//       "format": "int32",
11909	//       "location": "query",
11910	//       "type": "integer"
11911	//     },
11912	//     "pageToken": {
11913	//       "description": "Optional. The next_page_token value returned from a previous list request.",
11914	//       "location": "query",
11915	//       "type": "string"
11916	//     },
11917	//     "parent": {
11918	//       "description": "Required. The agent to list all intents from.\nFormat: `projects/\u003cProject ID\u003e/agent`.",
11919	//       "location": "path",
11920	//       "pattern": "^projects/[^/]+/agent$",
11921	//       "required": true,
11922	//       "type": "string"
11923	//     }
11924	//   },
11925	//   "path": "v2/{+parent}/intents",
11926	//   "response": {
11927	//     "$ref": "GoogleCloudDialogflowV2ListIntentsResponse"
11928	//   },
11929	//   "scopes": [
11930	//     "https://www.googleapis.com/auth/cloud-platform",
11931	//     "https://www.googleapis.com/auth/dialogflow"
11932	//   ]
11933	// }
11934
11935}
11936
11937// Pages invokes f for each page of results.
11938// A non-nil error returned from f will halt the iteration.
11939// The provided context supersedes any context provided to the Context method.
11940func (c *ProjectsAgentIntentsListCall) Pages(ctx context.Context, f func(*GoogleCloudDialogflowV2ListIntentsResponse) error) error {
11941	c.ctx_ = ctx
11942	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
11943	for {
11944		x, err := c.Do()
11945		if err != nil {
11946			return err
11947		}
11948		if err := f(x); err != nil {
11949			return err
11950		}
11951		if x.NextPageToken == "" {
11952			return nil
11953		}
11954		c.PageToken(x.NextPageToken)
11955	}
11956}
11957
11958// method id "dialogflow.projects.agent.intents.patch":
11959
11960type ProjectsAgentIntentsPatchCall struct {
11961	s                             *Service
11962	nameid                        string
11963	googleclouddialogflowv2intent *GoogleCloudDialogflowV2Intent
11964	urlParams_                    gensupport.URLParams
11965	ctx_                          context.Context
11966	header_                       http.Header
11967}
11968
11969// Patch: Updates the specified intent.
11970func (r *ProjectsAgentIntentsService) Patch(nameid string, googleclouddialogflowv2intent *GoogleCloudDialogflowV2Intent) *ProjectsAgentIntentsPatchCall {
11971	c := &ProjectsAgentIntentsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11972	c.nameid = nameid
11973	c.googleclouddialogflowv2intent = googleclouddialogflowv2intent
11974	return c
11975}
11976
11977// IntentView sets the optional parameter "intentView": The resource
11978// view to apply to the returned intent.
11979//
11980// Possible values:
11981//   "INTENT_VIEW_UNSPECIFIED"
11982//   "INTENT_VIEW_FULL"
11983func (c *ProjectsAgentIntentsPatchCall) IntentView(intentView string) *ProjectsAgentIntentsPatchCall {
11984	c.urlParams_.Set("intentView", intentView)
11985	return c
11986}
11987
11988// LanguageCode sets the optional parameter "languageCode": The language
11989// of training phrases, parameters and rich messages
11990// defined in `intent`. If not specified, the agent's default language
11991// is
11992// used.
11993// [Many
11994// languages](https://cloud.google.com/dialogflow/docs/reference/la
11995// nguage)
11996// are supported. Note: languages must be enabled in the agent before
11997// they can
11998// be used.
11999func (c *ProjectsAgentIntentsPatchCall) LanguageCode(languageCode string) *ProjectsAgentIntentsPatchCall {
12000	c.urlParams_.Set("languageCode", languageCode)
12001	return c
12002}
12003
12004// UpdateMask sets the optional parameter "updateMask": The mask to
12005// control which fields get updated.
12006func (c *ProjectsAgentIntentsPatchCall) UpdateMask(updateMask string) *ProjectsAgentIntentsPatchCall {
12007	c.urlParams_.Set("updateMask", updateMask)
12008	return c
12009}
12010
12011// Fields allows partial responses to be retrieved. See
12012// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12013// for more information.
12014func (c *ProjectsAgentIntentsPatchCall) Fields(s ...googleapi.Field) *ProjectsAgentIntentsPatchCall {
12015	c.urlParams_.Set("fields", googleapi.CombineFields(s))
12016	return c
12017}
12018
12019// Context sets the context to be used in this call's Do method. Any
12020// pending HTTP request will be aborted if the provided context is
12021// canceled.
12022func (c *ProjectsAgentIntentsPatchCall) Context(ctx context.Context) *ProjectsAgentIntentsPatchCall {
12023	c.ctx_ = ctx
12024	return c
12025}
12026
12027// Header returns an http.Header that can be modified by the caller to
12028// add HTTP headers to the request.
12029func (c *ProjectsAgentIntentsPatchCall) Header() http.Header {
12030	if c.header_ == nil {
12031		c.header_ = make(http.Header)
12032	}
12033	return c.header_
12034}
12035
12036func (c *ProjectsAgentIntentsPatchCall) doRequest(alt string) (*http.Response, error) {
12037	reqHeaders := make(http.Header)
12038	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
12039	for k, v := range c.header_ {
12040		reqHeaders[k] = v
12041	}
12042	reqHeaders.Set("User-Agent", c.s.userAgent())
12043	var body io.Reader = nil
12044	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowv2intent)
12045	if err != nil {
12046		return nil, err
12047	}
12048	reqHeaders.Set("Content-Type", "application/json")
12049	c.urlParams_.Set("alt", alt)
12050	c.urlParams_.Set("prettyPrint", "false")
12051	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}")
12052	urls += "?" + c.urlParams_.Encode()
12053	req, err := http.NewRequest("PATCH", urls, body)
12054	if err != nil {
12055		return nil, err
12056	}
12057	req.Header = reqHeaders
12058	googleapi.Expand(req.URL, map[string]string{
12059		"name": c.nameid,
12060	})
12061	return gensupport.SendRequest(c.ctx_, c.s.client, req)
12062}
12063
12064// Do executes the "dialogflow.projects.agent.intents.patch" call.
12065// Exactly one of *GoogleCloudDialogflowV2Intent or error will be
12066// non-nil. Any non-2xx status code is an error. Response headers are in
12067// either *GoogleCloudDialogflowV2Intent.ServerResponse.Header or (if a
12068// response was returned at all) in error.(*googleapi.Error).Header. Use
12069// googleapi.IsNotModified to check whether the returned error was
12070// because http.StatusNotModified was returned.
12071func (c *ProjectsAgentIntentsPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowV2Intent, error) {
12072	gensupport.SetOptions(c.urlParams_, opts...)
12073	res, err := c.doRequest("json")
12074	if res != nil && res.StatusCode == http.StatusNotModified {
12075		if res.Body != nil {
12076			res.Body.Close()
12077		}
12078		return nil, &googleapi.Error{
12079			Code:   res.StatusCode,
12080			Header: res.Header,
12081		}
12082	}
12083	if err != nil {
12084		return nil, err
12085	}
12086	defer googleapi.CloseBody(res)
12087	if err := googleapi.CheckResponse(res); err != nil {
12088		return nil, err
12089	}
12090	ret := &GoogleCloudDialogflowV2Intent{
12091		ServerResponse: googleapi.ServerResponse{
12092			Header:         res.Header,
12093			HTTPStatusCode: res.StatusCode,
12094		},
12095	}
12096	target := &ret
12097	if err := gensupport.DecodeResponse(target, res); err != nil {
12098		return nil, err
12099	}
12100	return ret, nil
12101	// {
12102	//   "description": "Updates the specified intent.",
12103	//   "flatPath": "v2/projects/{projectsId}/agent/intents/{intentsId}",
12104	//   "httpMethod": "PATCH",
12105	//   "id": "dialogflow.projects.agent.intents.patch",
12106	//   "parameterOrder": [
12107	//     "name"
12108	//   ],
12109	//   "parameters": {
12110	//     "intentView": {
12111	//       "description": "Optional. The resource view to apply to the returned intent.",
12112	//       "enum": [
12113	//         "INTENT_VIEW_UNSPECIFIED",
12114	//         "INTENT_VIEW_FULL"
12115	//       ],
12116	//       "location": "query",
12117	//       "type": "string"
12118	//     },
12119	//     "languageCode": {
12120	//       "description": "Optional. The language of training phrases, parameters and rich messages\ndefined in `intent`. If not specified, the agent's default language is\nused. [Many\nlanguages](https://cloud.google.com/dialogflow/docs/reference/language)\nare supported. Note: languages must be enabled in the agent before they can\nbe used.",
12121	//       "location": "query",
12122	//       "type": "string"
12123	//     },
12124	//     "name": {
12125	//       "description": "The unique identifier of this intent.\nRequired for Intents.UpdateIntent and Intents.BatchUpdateIntents\nmethods.\nFormat: `projects/\u003cProject ID\u003e/agent/intents/\u003cIntent ID\u003e`.",
12126	//       "location": "path",
12127	//       "pattern": "^projects/[^/]+/agent/intents/[^/]+$",
12128	//       "required": true,
12129	//       "type": "string"
12130	//     },
12131	//     "updateMask": {
12132	//       "description": "Optional. The mask to control which fields get updated.",
12133	//       "format": "google-fieldmask",
12134	//       "location": "query",
12135	//       "type": "string"
12136	//     }
12137	//   },
12138	//   "path": "v2/{+name}",
12139	//   "request": {
12140	//     "$ref": "GoogleCloudDialogflowV2Intent"
12141	//   },
12142	//   "response": {
12143	//     "$ref": "GoogleCloudDialogflowV2Intent"
12144	//   },
12145	//   "scopes": [
12146	//     "https://www.googleapis.com/auth/cloud-platform",
12147	//     "https://www.googleapis.com/auth/dialogflow"
12148	//   ]
12149	// }
12150
12151}
12152
12153// method id "dialogflow.projects.agent.sessions.deleteContexts":
12154
12155type ProjectsAgentSessionsDeleteContextsCall struct {
12156	s          *Service
12157	parent     string
12158	urlParams_ gensupport.URLParams
12159	ctx_       context.Context
12160	header_    http.Header
12161}
12162
12163// DeleteContexts: Deletes all active contexts in the specified session.
12164func (r *ProjectsAgentSessionsService) DeleteContexts(parent string) *ProjectsAgentSessionsDeleteContextsCall {
12165	c := &ProjectsAgentSessionsDeleteContextsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
12166	c.parent = parent
12167	return c
12168}
12169
12170// Fields allows partial responses to be retrieved. See
12171// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12172// for more information.
12173func (c *ProjectsAgentSessionsDeleteContextsCall) Fields(s ...googleapi.Field) *ProjectsAgentSessionsDeleteContextsCall {
12174	c.urlParams_.Set("fields", googleapi.CombineFields(s))
12175	return c
12176}
12177
12178// Context sets the context to be used in this call's Do method. Any
12179// pending HTTP request will be aborted if the provided context is
12180// canceled.
12181func (c *ProjectsAgentSessionsDeleteContextsCall) Context(ctx context.Context) *ProjectsAgentSessionsDeleteContextsCall {
12182	c.ctx_ = ctx
12183	return c
12184}
12185
12186// Header returns an http.Header that can be modified by the caller to
12187// add HTTP headers to the request.
12188func (c *ProjectsAgentSessionsDeleteContextsCall) Header() http.Header {
12189	if c.header_ == nil {
12190		c.header_ = make(http.Header)
12191	}
12192	return c.header_
12193}
12194
12195func (c *ProjectsAgentSessionsDeleteContextsCall) doRequest(alt string) (*http.Response, error) {
12196	reqHeaders := make(http.Header)
12197	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
12198	for k, v := range c.header_ {
12199		reqHeaders[k] = v
12200	}
12201	reqHeaders.Set("User-Agent", c.s.userAgent())
12202	var body io.Reader = nil
12203	c.urlParams_.Set("alt", alt)
12204	c.urlParams_.Set("prettyPrint", "false")
12205	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/contexts")
12206	urls += "?" + c.urlParams_.Encode()
12207	req, err := http.NewRequest("DELETE", urls, body)
12208	if err != nil {
12209		return nil, err
12210	}
12211	req.Header = reqHeaders
12212	googleapi.Expand(req.URL, map[string]string{
12213		"parent": c.parent,
12214	})
12215	return gensupport.SendRequest(c.ctx_, c.s.client, req)
12216}
12217
12218// Do executes the "dialogflow.projects.agent.sessions.deleteContexts" call.
12219// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
12220// non-2xx status code is an error. Response headers are in either
12221// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
12222// returned at all) in error.(*googleapi.Error).Header. Use
12223// googleapi.IsNotModified to check whether the returned error was
12224// because http.StatusNotModified was returned.
12225func (c *ProjectsAgentSessionsDeleteContextsCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
12226	gensupport.SetOptions(c.urlParams_, opts...)
12227	res, err := c.doRequest("json")
12228	if res != nil && res.StatusCode == http.StatusNotModified {
12229		if res.Body != nil {
12230			res.Body.Close()
12231		}
12232		return nil, &googleapi.Error{
12233			Code:   res.StatusCode,
12234			Header: res.Header,
12235		}
12236	}
12237	if err != nil {
12238		return nil, err
12239	}
12240	defer googleapi.CloseBody(res)
12241	if err := googleapi.CheckResponse(res); err != nil {
12242		return nil, err
12243	}
12244	ret := &GoogleProtobufEmpty{
12245		ServerResponse: googleapi.ServerResponse{
12246			Header:         res.Header,
12247			HTTPStatusCode: res.StatusCode,
12248		},
12249	}
12250	target := &ret
12251	if err := gensupport.DecodeResponse(target, res); err != nil {
12252		return nil, err
12253	}
12254	return ret, nil
12255	// {
12256	//   "description": "Deletes all active contexts in the specified session.",
12257	//   "flatPath": "v2/projects/{projectsId}/agent/sessions/{sessionsId}/contexts",
12258	//   "httpMethod": "DELETE",
12259	//   "id": "dialogflow.projects.agent.sessions.deleteContexts",
12260	//   "parameterOrder": [
12261	//     "parent"
12262	//   ],
12263	//   "parameters": {
12264	//     "parent": {
12265	//       "description": "Required. The name of the session to delete all contexts from. Format:\n`projects/\u003cProject ID\u003e/agent/sessions/\u003cSession ID\u003e`.",
12266	//       "location": "path",
12267	//       "pattern": "^projects/[^/]+/agent/sessions/[^/]+$",
12268	//       "required": true,
12269	//       "type": "string"
12270	//     }
12271	//   },
12272	//   "path": "v2/{+parent}/contexts",
12273	//   "response": {
12274	//     "$ref": "GoogleProtobufEmpty"
12275	//   },
12276	//   "scopes": [
12277	//     "https://www.googleapis.com/auth/cloud-platform",
12278	//     "https://www.googleapis.com/auth/dialogflow"
12279	//   ]
12280	// }
12281
12282}
12283
12284// method id "dialogflow.projects.agent.sessions.detectIntent":
12285
12286type ProjectsAgentSessionsDetectIntentCall struct {
12287	s                                          *Service
12288	sessionid                                  string
12289	googleclouddialogflowv2detectintentrequest *GoogleCloudDialogflowV2DetectIntentRequest
12290	urlParams_                                 gensupport.URLParams
12291	ctx_                                       context.Context
12292	header_                                    http.Header
12293}
12294
12295// DetectIntent: Processes a natural language query and returns
12296// structured, actionable data
12297// as a result. This method is not idempotent, because it may cause
12298// contexts
12299// and session entity types to be updated, which in turn might
12300// affect
12301// results of future queries.
12302func (r *ProjectsAgentSessionsService) DetectIntent(sessionid string, googleclouddialogflowv2detectintentrequest *GoogleCloudDialogflowV2DetectIntentRequest) *ProjectsAgentSessionsDetectIntentCall {
12303	c := &ProjectsAgentSessionsDetectIntentCall{s: r.s, urlParams_: make(gensupport.URLParams)}
12304	c.sessionid = sessionid
12305	c.googleclouddialogflowv2detectintentrequest = googleclouddialogflowv2detectintentrequest
12306	return c
12307}
12308
12309// Fields allows partial responses to be retrieved. See
12310// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12311// for more information.
12312func (c *ProjectsAgentSessionsDetectIntentCall) Fields(s ...googleapi.Field) *ProjectsAgentSessionsDetectIntentCall {
12313	c.urlParams_.Set("fields", googleapi.CombineFields(s))
12314	return c
12315}
12316
12317// Context sets the context to be used in this call's Do method. Any
12318// pending HTTP request will be aborted if the provided context is
12319// canceled.
12320func (c *ProjectsAgentSessionsDetectIntentCall) Context(ctx context.Context) *ProjectsAgentSessionsDetectIntentCall {
12321	c.ctx_ = ctx
12322	return c
12323}
12324
12325// Header returns an http.Header that can be modified by the caller to
12326// add HTTP headers to the request.
12327func (c *ProjectsAgentSessionsDetectIntentCall) Header() http.Header {
12328	if c.header_ == nil {
12329		c.header_ = make(http.Header)
12330	}
12331	return c.header_
12332}
12333
12334func (c *ProjectsAgentSessionsDetectIntentCall) doRequest(alt string) (*http.Response, error) {
12335	reqHeaders := make(http.Header)
12336	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
12337	for k, v := range c.header_ {
12338		reqHeaders[k] = v
12339	}
12340	reqHeaders.Set("User-Agent", c.s.userAgent())
12341	var body io.Reader = nil
12342	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowv2detectintentrequest)
12343	if err != nil {
12344		return nil, err
12345	}
12346	reqHeaders.Set("Content-Type", "application/json")
12347	c.urlParams_.Set("alt", alt)
12348	c.urlParams_.Set("prettyPrint", "false")
12349	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+session}:detectIntent")
12350	urls += "?" + c.urlParams_.Encode()
12351	req, err := http.NewRequest("POST", urls, body)
12352	if err != nil {
12353		return nil, err
12354	}
12355	req.Header = reqHeaders
12356	googleapi.Expand(req.URL, map[string]string{
12357		"session": c.sessionid,
12358	})
12359	return gensupport.SendRequest(c.ctx_, c.s.client, req)
12360}
12361
12362// Do executes the "dialogflow.projects.agent.sessions.detectIntent" call.
12363// Exactly one of *GoogleCloudDialogflowV2DetectIntentResponse or error
12364// will be non-nil. Any non-2xx status code is an error. Response
12365// headers are in either
12366// *GoogleCloudDialogflowV2DetectIntentResponse.ServerResponse.Header or
12367// (if a response was returned at all) in
12368// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
12369// whether the returned error was because http.StatusNotModified was
12370// returned.
12371func (c *ProjectsAgentSessionsDetectIntentCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowV2DetectIntentResponse, error) {
12372	gensupport.SetOptions(c.urlParams_, opts...)
12373	res, err := c.doRequest("json")
12374	if res != nil && res.StatusCode == http.StatusNotModified {
12375		if res.Body != nil {
12376			res.Body.Close()
12377		}
12378		return nil, &googleapi.Error{
12379			Code:   res.StatusCode,
12380			Header: res.Header,
12381		}
12382	}
12383	if err != nil {
12384		return nil, err
12385	}
12386	defer googleapi.CloseBody(res)
12387	if err := googleapi.CheckResponse(res); err != nil {
12388		return nil, err
12389	}
12390	ret := &GoogleCloudDialogflowV2DetectIntentResponse{
12391		ServerResponse: googleapi.ServerResponse{
12392			Header:         res.Header,
12393			HTTPStatusCode: res.StatusCode,
12394		},
12395	}
12396	target := &ret
12397	if err := gensupport.DecodeResponse(target, res); err != nil {
12398		return nil, err
12399	}
12400	return ret, nil
12401	// {
12402	//   "description": "Processes a natural language query and returns structured, actionable data\nas a result. This method is not idempotent, because it may cause contexts\nand session entity types to be updated, which in turn might affect\nresults of future queries.",
12403	//   "flatPath": "v2/projects/{projectsId}/agent/sessions/{sessionsId}:detectIntent",
12404	//   "httpMethod": "POST",
12405	//   "id": "dialogflow.projects.agent.sessions.detectIntent",
12406	//   "parameterOrder": [
12407	//     "session"
12408	//   ],
12409	//   "parameters": {
12410	//     "session": {
12411	//       "description": "Required. The name of the session this query is sent to. Format:\n`projects/\u003cProject ID\u003e/agent/sessions/\u003cSession ID\u003e`. It's up to the API\ncaller to choose an appropriate session ID. It can be a random number or\nsome type of user identifier (preferably hashed). The length of the session\nID must not exceed 36 bytes.",
12412	//       "location": "path",
12413	//       "pattern": "^projects/[^/]+/agent/sessions/[^/]+$",
12414	//       "required": true,
12415	//       "type": "string"
12416	//     }
12417	//   },
12418	//   "path": "v2/{+session}:detectIntent",
12419	//   "request": {
12420	//     "$ref": "GoogleCloudDialogflowV2DetectIntentRequest"
12421	//   },
12422	//   "response": {
12423	//     "$ref": "GoogleCloudDialogflowV2DetectIntentResponse"
12424	//   },
12425	//   "scopes": [
12426	//     "https://www.googleapis.com/auth/cloud-platform",
12427	//     "https://www.googleapis.com/auth/dialogflow"
12428	//   ]
12429	// }
12430
12431}
12432
12433// method id "dialogflow.projects.agent.sessions.contexts.create":
12434
12435type ProjectsAgentSessionsContextsCreateCall struct {
12436	s                              *Service
12437	parent                         string
12438	googleclouddialogflowv2context *GoogleCloudDialogflowV2Context
12439	urlParams_                     gensupport.URLParams
12440	ctx_                           context.Context
12441	header_                        http.Header
12442}
12443
12444// Create: Creates a context.
12445//
12446// If the specified context already exists, overrides the context.
12447func (r *ProjectsAgentSessionsContextsService) Create(parent string, googleclouddialogflowv2context *GoogleCloudDialogflowV2Context) *ProjectsAgentSessionsContextsCreateCall {
12448	c := &ProjectsAgentSessionsContextsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
12449	c.parent = parent
12450	c.googleclouddialogflowv2context = googleclouddialogflowv2context
12451	return c
12452}
12453
12454// Fields allows partial responses to be retrieved. See
12455// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12456// for more information.
12457func (c *ProjectsAgentSessionsContextsCreateCall) Fields(s ...googleapi.Field) *ProjectsAgentSessionsContextsCreateCall {
12458	c.urlParams_.Set("fields", googleapi.CombineFields(s))
12459	return c
12460}
12461
12462// Context sets the context to be used in this call's Do method. Any
12463// pending HTTP request will be aborted if the provided context is
12464// canceled.
12465func (c *ProjectsAgentSessionsContextsCreateCall) Context(ctx context.Context) *ProjectsAgentSessionsContextsCreateCall {
12466	c.ctx_ = ctx
12467	return c
12468}
12469
12470// Header returns an http.Header that can be modified by the caller to
12471// add HTTP headers to the request.
12472func (c *ProjectsAgentSessionsContextsCreateCall) Header() http.Header {
12473	if c.header_ == nil {
12474		c.header_ = make(http.Header)
12475	}
12476	return c.header_
12477}
12478
12479func (c *ProjectsAgentSessionsContextsCreateCall) doRequest(alt string) (*http.Response, error) {
12480	reqHeaders := make(http.Header)
12481	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
12482	for k, v := range c.header_ {
12483		reqHeaders[k] = v
12484	}
12485	reqHeaders.Set("User-Agent", c.s.userAgent())
12486	var body io.Reader = nil
12487	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowv2context)
12488	if err != nil {
12489		return nil, err
12490	}
12491	reqHeaders.Set("Content-Type", "application/json")
12492	c.urlParams_.Set("alt", alt)
12493	c.urlParams_.Set("prettyPrint", "false")
12494	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/contexts")
12495	urls += "?" + c.urlParams_.Encode()
12496	req, err := http.NewRequest("POST", urls, body)
12497	if err != nil {
12498		return nil, err
12499	}
12500	req.Header = reqHeaders
12501	googleapi.Expand(req.URL, map[string]string{
12502		"parent": c.parent,
12503	})
12504	return gensupport.SendRequest(c.ctx_, c.s.client, req)
12505}
12506
12507// Do executes the "dialogflow.projects.agent.sessions.contexts.create" call.
12508// Exactly one of *GoogleCloudDialogflowV2Context or error will be
12509// non-nil. Any non-2xx status code is an error. Response headers are in
12510// either *GoogleCloudDialogflowV2Context.ServerResponse.Header or (if a
12511// response was returned at all) in error.(*googleapi.Error).Header. Use
12512// googleapi.IsNotModified to check whether the returned error was
12513// because http.StatusNotModified was returned.
12514func (c *ProjectsAgentSessionsContextsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowV2Context, error) {
12515	gensupport.SetOptions(c.urlParams_, opts...)
12516	res, err := c.doRequest("json")
12517	if res != nil && res.StatusCode == http.StatusNotModified {
12518		if res.Body != nil {
12519			res.Body.Close()
12520		}
12521		return nil, &googleapi.Error{
12522			Code:   res.StatusCode,
12523			Header: res.Header,
12524		}
12525	}
12526	if err != nil {
12527		return nil, err
12528	}
12529	defer googleapi.CloseBody(res)
12530	if err := googleapi.CheckResponse(res); err != nil {
12531		return nil, err
12532	}
12533	ret := &GoogleCloudDialogflowV2Context{
12534		ServerResponse: googleapi.ServerResponse{
12535			Header:         res.Header,
12536			HTTPStatusCode: res.StatusCode,
12537		},
12538	}
12539	target := &ret
12540	if err := gensupport.DecodeResponse(target, res); err != nil {
12541		return nil, err
12542	}
12543	return ret, nil
12544	// {
12545	//   "description": "Creates a context.\n\nIf the specified context already exists, overrides the context.",
12546	//   "flatPath": "v2/projects/{projectsId}/agent/sessions/{sessionsId}/contexts",
12547	//   "httpMethod": "POST",
12548	//   "id": "dialogflow.projects.agent.sessions.contexts.create",
12549	//   "parameterOrder": [
12550	//     "parent"
12551	//   ],
12552	//   "parameters": {
12553	//     "parent": {
12554	//       "description": "Required. The session to create a context for.\nFormat: `projects/\u003cProject ID\u003e/agent/sessions/\u003cSession ID\u003e`.",
12555	//       "location": "path",
12556	//       "pattern": "^projects/[^/]+/agent/sessions/[^/]+$",
12557	//       "required": true,
12558	//       "type": "string"
12559	//     }
12560	//   },
12561	//   "path": "v2/{+parent}/contexts",
12562	//   "request": {
12563	//     "$ref": "GoogleCloudDialogflowV2Context"
12564	//   },
12565	//   "response": {
12566	//     "$ref": "GoogleCloudDialogflowV2Context"
12567	//   },
12568	//   "scopes": [
12569	//     "https://www.googleapis.com/auth/cloud-platform",
12570	//     "https://www.googleapis.com/auth/dialogflow"
12571	//   ]
12572	// }
12573
12574}
12575
12576// method id "dialogflow.projects.agent.sessions.contexts.delete":
12577
12578type ProjectsAgentSessionsContextsDeleteCall struct {
12579	s          *Service
12580	name       string
12581	urlParams_ gensupport.URLParams
12582	ctx_       context.Context
12583	header_    http.Header
12584}
12585
12586// Delete: Deletes the specified context.
12587func (r *ProjectsAgentSessionsContextsService) Delete(name string) *ProjectsAgentSessionsContextsDeleteCall {
12588	c := &ProjectsAgentSessionsContextsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
12589	c.name = name
12590	return c
12591}
12592
12593// Fields allows partial responses to be retrieved. See
12594// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12595// for more information.
12596func (c *ProjectsAgentSessionsContextsDeleteCall) Fields(s ...googleapi.Field) *ProjectsAgentSessionsContextsDeleteCall {
12597	c.urlParams_.Set("fields", googleapi.CombineFields(s))
12598	return c
12599}
12600
12601// Context sets the context to be used in this call's Do method. Any
12602// pending HTTP request will be aborted if the provided context is
12603// canceled.
12604func (c *ProjectsAgentSessionsContextsDeleteCall) Context(ctx context.Context) *ProjectsAgentSessionsContextsDeleteCall {
12605	c.ctx_ = ctx
12606	return c
12607}
12608
12609// Header returns an http.Header that can be modified by the caller to
12610// add HTTP headers to the request.
12611func (c *ProjectsAgentSessionsContextsDeleteCall) Header() http.Header {
12612	if c.header_ == nil {
12613		c.header_ = make(http.Header)
12614	}
12615	return c.header_
12616}
12617
12618func (c *ProjectsAgentSessionsContextsDeleteCall) doRequest(alt string) (*http.Response, error) {
12619	reqHeaders := make(http.Header)
12620	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
12621	for k, v := range c.header_ {
12622		reqHeaders[k] = v
12623	}
12624	reqHeaders.Set("User-Agent", c.s.userAgent())
12625	var body io.Reader = nil
12626	c.urlParams_.Set("alt", alt)
12627	c.urlParams_.Set("prettyPrint", "false")
12628	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}")
12629	urls += "?" + c.urlParams_.Encode()
12630	req, err := http.NewRequest("DELETE", urls, body)
12631	if err != nil {
12632		return nil, err
12633	}
12634	req.Header = reqHeaders
12635	googleapi.Expand(req.URL, map[string]string{
12636		"name": c.name,
12637	})
12638	return gensupport.SendRequest(c.ctx_, c.s.client, req)
12639}
12640
12641// Do executes the "dialogflow.projects.agent.sessions.contexts.delete" call.
12642// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
12643// non-2xx status code is an error. Response headers are in either
12644// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
12645// returned at all) in error.(*googleapi.Error).Header. Use
12646// googleapi.IsNotModified to check whether the returned error was
12647// because http.StatusNotModified was returned.
12648func (c *ProjectsAgentSessionsContextsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
12649	gensupport.SetOptions(c.urlParams_, opts...)
12650	res, err := c.doRequest("json")
12651	if res != nil && res.StatusCode == http.StatusNotModified {
12652		if res.Body != nil {
12653			res.Body.Close()
12654		}
12655		return nil, &googleapi.Error{
12656			Code:   res.StatusCode,
12657			Header: res.Header,
12658		}
12659	}
12660	if err != nil {
12661		return nil, err
12662	}
12663	defer googleapi.CloseBody(res)
12664	if err := googleapi.CheckResponse(res); err != nil {
12665		return nil, err
12666	}
12667	ret := &GoogleProtobufEmpty{
12668		ServerResponse: googleapi.ServerResponse{
12669			Header:         res.Header,
12670			HTTPStatusCode: res.StatusCode,
12671		},
12672	}
12673	target := &ret
12674	if err := gensupport.DecodeResponse(target, res); err != nil {
12675		return nil, err
12676	}
12677	return ret, nil
12678	// {
12679	//   "description": "Deletes the specified context.",
12680	//   "flatPath": "v2/projects/{projectsId}/agent/sessions/{sessionsId}/contexts/{contextsId}",
12681	//   "httpMethod": "DELETE",
12682	//   "id": "dialogflow.projects.agent.sessions.contexts.delete",
12683	//   "parameterOrder": [
12684	//     "name"
12685	//   ],
12686	//   "parameters": {
12687	//     "name": {
12688	//       "description": "Required. The name of the context to delete. Format:\n`projects/\u003cProject ID\u003e/agent/sessions/\u003cSession ID\u003e/contexts/\u003cContext ID\u003e`.",
12689	//       "location": "path",
12690	//       "pattern": "^projects/[^/]+/agent/sessions/[^/]+/contexts/[^/]+$",
12691	//       "required": true,
12692	//       "type": "string"
12693	//     }
12694	//   },
12695	//   "path": "v2/{+name}",
12696	//   "response": {
12697	//     "$ref": "GoogleProtobufEmpty"
12698	//   },
12699	//   "scopes": [
12700	//     "https://www.googleapis.com/auth/cloud-platform",
12701	//     "https://www.googleapis.com/auth/dialogflow"
12702	//   ]
12703	// }
12704
12705}
12706
12707// method id "dialogflow.projects.agent.sessions.contexts.get":
12708
12709type ProjectsAgentSessionsContextsGetCall struct {
12710	s            *Service
12711	name         string
12712	urlParams_   gensupport.URLParams
12713	ifNoneMatch_ string
12714	ctx_         context.Context
12715	header_      http.Header
12716}
12717
12718// Get: Retrieves the specified context.
12719func (r *ProjectsAgentSessionsContextsService) Get(name string) *ProjectsAgentSessionsContextsGetCall {
12720	c := &ProjectsAgentSessionsContextsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
12721	c.name = name
12722	return c
12723}
12724
12725// Fields allows partial responses to be retrieved. See
12726// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12727// for more information.
12728func (c *ProjectsAgentSessionsContextsGetCall) Fields(s ...googleapi.Field) *ProjectsAgentSessionsContextsGetCall {
12729	c.urlParams_.Set("fields", googleapi.CombineFields(s))
12730	return c
12731}
12732
12733// IfNoneMatch sets the optional parameter which makes the operation
12734// fail if the object's ETag matches the given value. This is useful for
12735// getting updates only after the object has changed since the last
12736// request. Use googleapi.IsNotModified to check whether the response
12737// error from Do is the result of In-None-Match.
12738func (c *ProjectsAgentSessionsContextsGetCall) IfNoneMatch(entityTag string) *ProjectsAgentSessionsContextsGetCall {
12739	c.ifNoneMatch_ = entityTag
12740	return c
12741}
12742
12743// Context sets the context to be used in this call's Do method. Any
12744// pending HTTP request will be aborted if the provided context is
12745// canceled.
12746func (c *ProjectsAgentSessionsContextsGetCall) Context(ctx context.Context) *ProjectsAgentSessionsContextsGetCall {
12747	c.ctx_ = ctx
12748	return c
12749}
12750
12751// Header returns an http.Header that can be modified by the caller to
12752// add HTTP headers to the request.
12753func (c *ProjectsAgentSessionsContextsGetCall) Header() http.Header {
12754	if c.header_ == nil {
12755		c.header_ = make(http.Header)
12756	}
12757	return c.header_
12758}
12759
12760func (c *ProjectsAgentSessionsContextsGetCall) doRequest(alt string) (*http.Response, error) {
12761	reqHeaders := make(http.Header)
12762	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
12763	for k, v := range c.header_ {
12764		reqHeaders[k] = v
12765	}
12766	reqHeaders.Set("User-Agent", c.s.userAgent())
12767	if c.ifNoneMatch_ != "" {
12768		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
12769	}
12770	var body io.Reader = nil
12771	c.urlParams_.Set("alt", alt)
12772	c.urlParams_.Set("prettyPrint", "false")
12773	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}")
12774	urls += "?" + c.urlParams_.Encode()
12775	req, err := http.NewRequest("GET", urls, body)
12776	if err != nil {
12777		return nil, err
12778	}
12779	req.Header = reqHeaders
12780	googleapi.Expand(req.URL, map[string]string{
12781		"name": c.name,
12782	})
12783	return gensupport.SendRequest(c.ctx_, c.s.client, req)
12784}
12785
12786// Do executes the "dialogflow.projects.agent.sessions.contexts.get" call.
12787// Exactly one of *GoogleCloudDialogflowV2Context or error will be
12788// non-nil. Any non-2xx status code is an error. Response headers are in
12789// either *GoogleCloudDialogflowV2Context.ServerResponse.Header or (if a
12790// response was returned at all) in error.(*googleapi.Error).Header. Use
12791// googleapi.IsNotModified to check whether the returned error was
12792// because http.StatusNotModified was returned.
12793func (c *ProjectsAgentSessionsContextsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowV2Context, error) {
12794	gensupport.SetOptions(c.urlParams_, opts...)
12795	res, err := c.doRequest("json")
12796	if res != nil && res.StatusCode == http.StatusNotModified {
12797		if res.Body != nil {
12798			res.Body.Close()
12799		}
12800		return nil, &googleapi.Error{
12801			Code:   res.StatusCode,
12802			Header: res.Header,
12803		}
12804	}
12805	if err != nil {
12806		return nil, err
12807	}
12808	defer googleapi.CloseBody(res)
12809	if err := googleapi.CheckResponse(res); err != nil {
12810		return nil, err
12811	}
12812	ret := &GoogleCloudDialogflowV2Context{
12813		ServerResponse: googleapi.ServerResponse{
12814			Header:         res.Header,
12815			HTTPStatusCode: res.StatusCode,
12816		},
12817	}
12818	target := &ret
12819	if err := gensupport.DecodeResponse(target, res); err != nil {
12820		return nil, err
12821	}
12822	return ret, nil
12823	// {
12824	//   "description": "Retrieves the specified context.",
12825	//   "flatPath": "v2/projects/{projectsId}/agent/sessions/{sessionsId}/contexts/{contextsId}",
12826	//   "httpMethod": "GET",
12827	//   "id": "dialogflow.projects.agent.sessions.contexts.get",
12828	//   "parameterOrder": [
12829	//     "name"
12830	//   ],
12831	//   "parameters": {
12832	//     "name": {
12833	//       "description": "Required. The name of the context. Format:\n`projects/\u003cProject ID\u003e/agent/sessions/\u003cSession ID\u003e/contexts/\u003cContext ID\u003e`.",
12834	//       "location": "path",
12835	//       "pattern": "^projects/[^/]+/agent/sessions/[^/]+/contexts/[^/]+$",
12836	//       "required": true,
12837	//       "type": "string"
12838	//     }
12839	//   },
12840	//   "path": "v2/{+name}",
12841	//   "response": {
12842	//     "$ref": "GoogleCloudDialogflowV2Context"
12843	//   },
12844	//   "scopes": [
12845	//     "https://www.googleapis.com/auth/cloud-platform",
12846	//     "https://www.googleapis.com/auth/dialogflow"
12847	//   ]
12848	// }
12849
12850}
12851
12852// method id "dialogflow.projects.agent.sessions.contexts.list":
12853
12854type ProjectsAgentSessionsContextsListCall struct {
12855	s            *Service
12856	parent       string
12857	urlParams_   gensupport.URLParams
12858	ifNoneMatch_ string
12859	ctx_         context.Context
12860	header_      http.Header
12861}
12862
12863// List: Returns the list of all contexts in the specified session.
12864func (r *ProjectsAgentSessionsContextsService) List(parent string) *ProjectsAgentSessionsContextsListCall {
12865	c := &ProjectsAgentSessionsContextsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
12866	c.parent = parent
12867	return c
12868}
12869
12870// PageSize sets the optional parameter "pageSize": The maximum number
12871// of items to return in a single page. By
12872// default 100 and at most 1000.
12873func (c *ProjectsAgentSessionsContextsListCall) PageSize(pageSize int64) *ProjectsAgentSessionsContextsListCall {
12874	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
12875	return c
12876}
12877
12878// PageToken sets the optional parameter "pageToken": The
12879// next_page_token value returned from a previous list request.
12880func (c *ProjectsAgentSessionsContextsListCall) PageToken(pageToken string) *ProjectsAgentSessionsContextsListCall {
12881	c.urlParams_.Set("pageToken", pageToken)
12882	return c
12883}
12884
12885// Fields allows partial responses to be retrieved. See
12886// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12887// for more information.
12888func (c *ProjectsAgentSessionsContextsListCall) Fields(s ...googleapi.Field) *ProjectsAgentSessionsContextsListCall {
12889	c.urlParams_.Set("fields", googleapi.CombineFields(s))
12890	return c
12891}
12892
12893// IfNoneMatch sets the optional parameter which makes the operation
12894// fail if the object's ETag matches the given value. This is useful for
12895// getting updates only after the object has changed since the last
12896// request. Use googleapi.IsNotModified to check whether the response
12897// error from Do is the result of In-None-Match.
12898func (c *ProjectsAgentSessionsContextsListCall) IfNoneMatch(entityTag string) *ProjectsAgentSessionsContextsListCall {
12899	c.ifNoneMatch_ = entityTag
12900	return c
12901}
12902
12903// Context sets the context to be used in this call's Do method. Any
12904// pending HTTP request will be aborted if the provided context is
12905// canceled.
12906func (c *ProjectsAgentSessionsContextsListCall) Context(ctx context.Context) *ProjectsAgentSessionsContextsListCall {
12907	c.ctx_ = ctx
12908	return c
12909}
12910
12911// Header returns an http.Header that can be modified by the caller to
12912// add HTTP headers to the request.
12913func (c *ProjectsAgentSessionsContextsListCall) Header() http.Header {
12914	if c.header_ == nil {
12915		c.header_ = make(http.Header)
12916	}
12917	return c.header_
12918}
12919
12920func (c *ProjectsAgentSessionsContextsListCall) doRequest(alt string) (*http.Response, error) {
12921	reqHeaders := make(http.Header)
12922	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
12923	for k, v := range c.header_ {
12924		reqHeaders[k] = v
12925	}
12926	reqHeaders.Set("User-Agent", c.s.userAgent())
12927	if c.ifNoneMatch_ != "" {
12928		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
12929	}
12930	var body io.Reader = nil
12931	c.urlParams_.Set("alt", alt)
12932	c.urlParams_.Set("prettyPrint", "false")
12933	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/contexts")
12934	urls += "?" + c.urlParams_.Encode()
12935	req, err := http.NewRequest("GET", urls, body)
12936	if err != nil {
12937		return nil, err
12938	}
12939	req.Header = reqHeaders
12940	googleapi.Expand(req.URL, map[string]string{
12941		"parent": c.parent,
12942	})
12943	return gensupport.SendRequest(c.ctx_, c.s.client, req)
12944}
12945
12946// Do executes the "dialogflow.projects.agent.sessions.contexts.list" call.
12947// Exactly one of *GoogleCloudDialogflowV2ListContextsResponse or error
12948// will be non-nil. Any non-2xx status code is an error. Response
12949// headers are in either
12950// *GoogleCloudDialogflowV2ListContextsResponse.ServerResponse.Header or
12951// (if a response was returned at all) in
12952// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
12953// whether the returned error was because http.StatusNotModified was
12954// returned.
12955func (c *ProjectsAgentSessionsContextsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowV2ListContextsResponse, error) {
12956	gensupport.SetOptions(c.urlParams_, opts...)
12957	res, err := c.doRequest("json")
12958	if res != nil && res.StatusCode == http.StatusNotModified {
12959		if res.Body != nil {
12960			res.Body.Close()
12961		}
12962		return nil, &googleapi.Error{
12963			Code:   res.StatusCode,
12964			Header: res.Header,
12965		}
12966	}
12967	if err != nil {
12968		return nil, err
12969	}
12970	defer googleapi.CloseBody(res)
12971	if err := googleapi.CheckResponse(res); err != nil {
12972		return nil, err
12973	}
12974	ret := &GoogleCloudDialogflowV2ListContextsResponse{
12975		ServerResponse: googleapi.ServerResponse{
12976			Header:         res.Header,
12977			HTTPStatusCode: res.StatusCode,
12978		},
12979	}
12980	target := &ret
12981	if err := gensupport.DecodeResponse(target, res); err != nil {
12982		return nil, err
12983	}
12984	return ret, nil
12985	// {
12986	//   "description": "Returns the list of all contexts in the specified session.",
12987	//   "flatPath": "v2/projects/{projectsId}/agent/sessions/{sessionsId}/contexts",
12988	//   "httpMethod": "GET",
12989	//   "id": "dialogflow.projects.agent.sessions.contexts.list",
12990	//   "parameterOrder": [
12991	//     "parent"
12992	//   ],
12993	//   "parameters": {
12994	//     "pageSize": {
12995	//       "description": "Optional. The maximum number of items to return in a single page. By\ndefault 100 and at most 1000.",
12996	//       "format": "int32",
12997	//       "location": "query",
12998	//       "type": "integer"
12999	//     },
13000	//     "pageToken": {
13001	//       "description": "Optional. The next_page_token value returned from a previous list request.",
13002	//       "location": "query",
13003	//       "type": "string"
13004	//     },
13005	//     "parent": {
13006	//       "description": "Required. The session to list all contexts from.\nFormat: `projects/\u003cProject ID\u003e/agent/sessions/\u003cSession ID\u003e`.",
13007	//       "location": "path",
13008	//       "pattern": "^projects/[^/]+/agent/sessions/[^/]+$",
13009	//       "required": true,
13010	//       "type": "string"
13011	//     }
13012	//   },
13013	//   "path": "v2/{+parent}/contexts",
13014	//   "response": {
13015	//     "$ref": "GoogleCloudDialogflowV2ListContextsResponse"
13016	//   },
13017	//   "scopes": [
13018	//     "https://www.googleapis.com/auth/cloud-platform",
13019	//     "https://www.googleapis.com/auth/dialogflow"
13020	//   ]
13021	// }
13022
13023}
13024
13025// Pages invokes f for each page of results.
13026// A non-nil error returned from f will halt the iteration.
13027// The provided context supersedes any context provided to the Context method.
13028func (c *ProjectsAgentSessionsContextsListCall) Pages(ctx context.Context, f func(*GoogleCloudDialogflowV2ListContextsResponse) error) error {
13029	c.ctx_ = ctx
13030	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
13031	for {
13032		x, err := c.Do()
13033		if err != nil {
13034			return err
13035		}
13036		if err := f(x); err != nil {
13037			return err
13038		}
13039		if x.NextPageToken == "" {
13040			return nil
13041		}
13042		c.PageToken(x.NextPageToken)
13043	}
13044}
13045
13046// method id "dialogflow.projects.agent.sessions.contexts.patch":
13047
13048type ProjectsAgentSessionsContextsPatchCall struct {
13049	s                              *Service
13050	nameid                         string
13051	googleclouddialogflowv2context *GoogleCloudDialogflowV2Context
13052	urlParams_                     gensupport.URLParams
13053	ctx_                           context.Context
13054	header_                        http.Header
13055}
13056
13057// Patch: Updates the specified context.
13058func (r *ProjectsAgentSessionsContextsService) Patch(nameid string, googleclouddialogflowv2context *GoogleCloudDialogflowV2Context) *ProjectsAgentSessionsContextsPatchCall {
13059	c := &ProjectsAgentSessionsContextsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13060	c.nameid = nameid
13061	c.googleclouddialogflowv2context = googleclouddialogflowv2context
13062	return c
13063}
13064
13065// UpdateMask sets the optional parameter "updateMask": The mask to
13066// control which fields get updated.
13067func (c *ProjectsAgentSessionsContextsPatchCall) UpdateMask(updateMask string) *ProjectsAgentSessionsContextsPatchCall {
13068	c.urlParams_.Set("updateMask", updateMask)
13069	return c
13070}
13071
13072// Fields allows partial responses to be retrieved. See
13073// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13074// for more information.
13075func (c *ProjectsAgentSessionsContextsPatchCall) Fields(s ...googleapi.Field) *ProjectsAgentSessionsContextsPatchCall {
13076	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13077	return c
13078}
13079
13080// Context sets the context to be used in this call's Do method. Any
13081// pending HTTP request will be aborted if the provided context is
13082// canceled.
13083func (c *ProjectsAgentSessionsContextsPatchCall) Context(ctx context.Context) *ProjectsAgentSessionsContextsPatchCall {
13084	c.ctx_ = ctx
13085	return c
13086}
13087
13088// Header returns an http.Header that can be modified by the caller to
13089// add HTTP headers to the request.
13090func (c *ProjectsAgentSessionsContextsPatchCall) Header() http.Header {
13091	if c.header_ == nil {
13092		c.header_ = make(http.Header)
13093	}
13094	return c.header_
13095}
13096
13097func (c *ProjectsAgentSessionsContextsPatchCall) doRequest(alt string) (*http.Response, error) {
13098	reqHeaders := make(http.Header)
13099	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
13100	for k, v := range c.header_ {
13101		reqHeaders[k] = v
13102	}
13103	reqHeaders.Set("User-Agent", c.s.userAgent())
13104	var body io.Reader = nil
13105	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowv2context)
13106	if err != nil {
13107		return nil, err
13108	}
13109	reqHeaders.Set("Content-Type", "application/json")
13110	c.urlParams_.Set("alt", alt)
13111	c.urlParams_.Set("prettyPrint", "false")
13112	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}")
13113	urls += "?" + c.urlParams_.Encode()
13114	req, err := http.NewRequest("PATCH", urls, body)
13115	if err != nil {
13116		return nil, err
13117	}
13118	req.Header = reqHeaders
13119	googleapi.Expand(req.URL, map[string]string{
13120		"name": c.nameid,
13121	})
13122	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13123}
13124
13125// Do executes the "dialogflow.projects.agent.sessions.contexts.patch" call.
13126// Exactly one of *GoogleCloudDialogflowV2Context or error will be
13127// non-nil. Any non-2xx status code is an error. Response headers are in
13128// either *GoogleCloudDialogflowV2Context.ServerResponse.Header or (if a
13129// response was returned at all) in error.(*googleapi.Error).Header. Use
13130// googleapi.IsNotModified to check whether the returned error was
13131// because http.StatusNotModified was returned.
13132func (c *ProjectsAgentSessionsContextsPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowV2Context, error) {
13133	gensupport.SetOptions(c.urlParams_, opts...)
13134	res, err := c.doRequest("json")
13135	if res != nil && res.StatusCode == http.StatusNotModified {
13136		if res.Body != nil {
13137			res.Body.Close()
13138		}
13139		return nil, &googleapi.Error{
13140			Code:   res.StatusCode,
13141			Header: res.Header,
13142		}
13143	}
13144	if err != nil {
13145		return nil, err
13146	}
13147	defer googleapi.CloseBody(res)
13148	if err := googleapi.CheckResponse(res); err != nil {
13149		return nil, err
13150	}
13151	ret := &GoogleCloudDialogflowV2Context{
13152		ServerResponse: googleapi.ServerResponse{
13153			Header:         res.Header,
13154			HTTPStatusCode: res.StatusCode,
13155		},
13156	}
13157	target := &ret
13158	if err := gensupport.DecodeResponse(target, res); err != nil {
13159		return nil, err
13160	}
13161	return ret, nil
13162	// {
13163	//   "description": "Updates the specified context.",
13164	//   "flatPath": "v2/projects/{projectsId}/agent/sessions/{sessionsId}/contexts/{contextsId}",
13165	//   "httpMethod": "PATCH",
13166	//   "id": "dialogflow.projects.agent.sessions.contexts.patch",
13167	//   "parameterOrder": [
13168	//     "name"
13169	//   ],
13170	//   "parameters": {
13171	//     "name": {
13172	//       "description": "Required. The unique identifier of the context. Format:\n`projects/\u003cProject ID\u003e/agent/sessions/\u003cSession ID\u003e/contexts/\u003cContext ID\u003e`.\n\nThe `Context ID` is always converted to lowercase, may only contain\ncharacters in [a-zA-Z0-9_-%] and may be at most 250 bytes long.",
13173	//       "location": "path",
13174	//       "pattern": "^projects/[^/]+/agent/sessions/[^/]+/contexts/[^/]+$",
13175	//       "required": true,
13176	//       "type": "string"
13177	//     },
13178	//     "updateMask": {
13179	//       "description": "Optional. The mask to control which fields get updated.",
13180	//       "format": "google-fieldmask",
13181	//       "location": "query",
13182	//       "type": "string"
13183	//     }
13184	//   },
13185	//   "path": "v2/{+name}",
13186	//   "request": {
13187	//     "$ref": "GoogleCloudDialogflowV2Context"
13188	//   },
13189	//   "response": {
13190	//     "$ref": "GoogleCloudDialogflowV2Context"
13191	//   },
13192	//   "scopes": [
13193	//     "https://www.googleapis.com/auth/cloud-platform",
13194	//     "https://www.googleapis.com/auth/dialogflow"
13195	//   ]
13196	// }
13197
13198}
13199
13200// method id "dialogflow.projects.agent.sessions.entityTypes.create":
13201
13202type ProjectsAgentSessionsEntityTypesCreateCall struct {
13203	s                                        *Service
13204	parent                                   string
13205	googleclouddialogflowv2sessionentitytype *GoogleCloudDialogflowV2SessionEntityType
13206	urlParams_                               gensupport.URLParams
13207	ctx_                                     context.Context
13208	header_                                  http.Header
13209}
13210
13211// Create: Creates a session entity type.
13212//
13213// If the specified session entity type already exists, overrides the
13214// session
13215// entity type.
13216//
13217// This method doesn't work with Google Assistant integration.
13218// Contact Dialogflow support if you need to use session entities
13219// with Google Assistant integration.
13220func (r *ProjectsAgentSessionsEntityTypesService) Create(parent string, googleclouddialogflowv2sessionentitytype *GoogleCloudDialogflowV2SessionEntityType) *ProjectsAgentSessionsEntityTypesCreateCall {
13221	c := &ProjectsAgentSessionsEntityTypesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13222	c.parent = parent
13223	c.googleclouddialogflowv2sessionentitytype = googleclouddialogflowv2sessionentitytype
13224	return c
13225}
13226
13227// Fields allows partial responses to be retrieved. See
13228// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13229// for more information.
13230func (c *ProjectsAgentSessionsEntityTypesCreateCall) Fields(s ...googleapi.Field) *ProjectsAgentSessionsEntityTypesCreateCall {
13231	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13232	return c
13233}
13234
13235// Context sets the context to be used in this call's Do method. Any
13236// pending HTTP request will be aborted if the provided context is
13237// canceled.
13238func (c *ProjectsAgentSessionsEntityTypesCreateCall) Context(ctx context.Context) *ProjectsAgentSessionsEntityTypesCreateCall {
13239	c.ctx_ = ctx
13240	return c
13241}
13242
13243// Header returns an http.Header that can be modified by the caller to
13244// add HTTP headers to the request.
13245func (c *ProjectsAgentSessionsEntityTypesCreateCall) Header() http.Header {
13246	if c.header_ == nil {
13247		c.header_ = make(http.Header)
13248	}
13249	return c.header_
13250}
13251
13252func (c *ProjectsAgentSessionsEntityTypesCreateCall) doRequest(alt string) (*http.Response, error) {
13253	reqHeaders := make(http.Header)
13254	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
13255	for k, v := range c.header_ {
13256		reqHeaders[k] = v
13257	}
13258	reqHeaders.Set("User-Agent", c.s.userAgent())
13259	var body io.Reader = nil
13260	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowv2sessionentitytype)
13261	if err != nil {
13262		return nil, err
13263	}
13264	reqHeaders.Set("Content-Type", "application/json")
13265	c.urlParams_.Set("alt", alt)
13266	c.urlParams_.Set("prettyPrint", "false")
13267	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/entityTypes")
13268	urls += "?" + c.urlParams_.Encode()
13269	req, err := http.NewRequest("POST", urls, body)
13270	if err != nil {
13271		return nil, err
13272	}
13273	req.Header = reqHeaders
13274	googleapi.Expand(req.URL, map[string]string{
13275		"parent": c.parent,
13276	})
13277	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13278}
13279
13280// Do executes the "dialogflow.projects.agent.sessions.entityTypes.create" call.
13281// Exactly one of *GoogleCloudDialogflowV2SessionEntityType or error
13282// will be non-nil. Any non-2xx status code is an error. Response
13283// headers are in either
13284// *GoogleCloudDialogflowV2SessionEntityType.ServerResponse.Header or
13285// (if a response was returned at all) in
13286// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
13287// whether the returned error was because http.StatusNotModified was
13288// returned.
13289func (c *ProjectsAgentSessionsEntityTypesCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowV2SessionEntityType, error) {
13290	gensupport.SetOptions(c.urlParams_, opts...)
13291	res, err := c.doRequest("json")
13292	if res != nil && res.StatusCode == http.StatusNotModified {
13293		if res.Body != nil {
13294			res.Body.Close()
13295		}
13296		return nil, &googleapi.Error{
13297			Code:   res.StatusCode,
13298			Header: res.Header,
13299		}
13300	}
13301	if err != nil {
13302		return nil, err
13303	}
13304	defer googleapi.CloseBody(res)
13305	if err := googleapi.CheckResponse(res); err != nil {
13306		return nil, err
13307	}
13308	ret := &GoogleCloudDialogflowV2SessionEntityType{
13309		ServerResponse: googleapi.ServerResponse{
13310			Header:         res.Header,
13311			HTTPStatusCode: res.StatusCode,
13312		},
13313	}
13314	target := &ret
13315	if err := gensupport.DecodeResponse(target, res); err != nil {
13316		return nil, err
13317	}
13318	return ret, nil
13319	// {
13320	//   "description": "Creates a session entity type.\n\nIf the specified session entity type already exists, overrides the session\nentity type.\n\nThis method doesn't work with Google Assistant integration.\nContact Dialogflow support if you need to use session entities\nwith Google Assistant integration.",
13321	//   "flatPath": "v2/projects/{projectsId}/agent/sessions/{sessionsId}/entityTypes",
13322	//   "httpMethod": "POST",
13323	//   "id": "dialogflow.projects.agent.sessions.entityTypes.create",
13324	//   "parameterOrder": [
13325	//     "parent"
13326	//   ],
13327	//   "parameters": {
13328	//     "parent": {
13329	//       "description": "Required. The session to create a session entity type for.\nFormat: `projects/\u003cProject ID\u003e/agent/sessions/\u003cSession ID\u003e`.",
13330	//       "location": "path",
13331	//       "pattern": "^projects/[^/]+/agent/sessions/[^/]+$",
13332	//       "required": true,
13333	//       "type": "string"
13334	//     }
13335	//   },
13336	//   "path": "v2/{+parent}/entityTypes",
13337	//   "request": {
13338	//     "$ref": "GoogleCloudDialogflowV2SessionEntityType"
13339	//   },
13340	//   "response": {
13341	//     "$ref": "GoogleCloudDialogflowV2SessionEntityType"
13342	//   },
13343	//   "scopes": [
13344	//     "https://www.googleapis.com/auth/cloud-platform",
13345	//     "https://www.googleapis.com/auth/dialogflow"
13346	//   ]
13347	// }
13348
13349}
13350
13351// method id "dialogflow.projects.agent.sessions.entityTypes.delete":
13352
13353type ProjectsAgentSessionsEntityTypesDeleteCall struct {
13354	s          *Service
13355	name       string
13356	urlParams_ gensupport.URLParams
13357	ctx_       context.Context
13358	header_    http.Header
13359}
13360
13361// Delete: Deletes the specified session entity type.
13362//
13363// This method doesn't work with Google Assistant integration.
13364// Contact Dialogflow support if you need to use session entities
13365// with Google Assistant integration.
13366func (r *ProjectsAgentSessionsEntityTypesService) Delete(name string) *ProjectsAgentSessionsEntityTypesDeleteCall {
13367	c := &ProjectsAgentSessionsEntityTypesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13368	c.name = name
13369	return c
13370}
13371
13372// Fields allows partial responses to be retrieved. See
13373// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13374// for more information.
13375func (c *ProjectsAgentSessionsEntityTypesDeleteCall) Fields(s ...googleapi.Field) *ProjectsAgentSessionsEntityTypesDeleteCall {
13376	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13377	return c
13378}
13379
13380// Context sets the context to be used in this call's Do method. Any
13381// pending HTTP request will be aborted if the provided context is
13382// canceled.
13383func (c *ProjectsAgentSessionsEntityTypesDeleteCall) Context(ctx context.Context) *ProjectsAgentSessionsEntityTypesDeleteCall {
13384	c.ctx_ = ctx
13385	return c
13386}
13387
13388// Header returns an http.Header that can be modified by the caller to
13389// add HTTP headers to the request.
13390func (c *ProjectsAgentSessionsEntityTypesDeleteCall) Header() http.Header {
13391	if c.header_ == nil {
13392		c.header_ = make(http.Header)
13393	}
13394	return c.header_
13395}
13396
13397func (c *ProjectsAgentSessionsEntityTypesDeleteCall) doRequest(alt string) (*http.Response, error) {
13398	reqHeaders := make(http.Header)
13399	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
13400	for k, v := range c.header_ {
13401		reqHeaders[k] = v
13402	}
13403	reqHeaders.Set("User-Agent", c.s.userAgent())
13404	var body io.Reader = nil
13405	c.urlParams_.Set("alt", alt)
13406	c.urlParams_.Set("prettyPrint", "false")
13407	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}")
13408	urls += "?" + c.urlParams_.Encode()
13409	req, err := http.NewRequest("DELETE", urls, body)
13410	if err != nil {
13411		return nil, err
13412	}
13413	req.Header = reqHeaders
13414	googleapi.Expand(req.URL, map[string]string{
13415		"name": c.name,
13416	})
13417	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13418}
13419
13420// Do executes the "dialogflow.projects.agent.sessions.entityTypes.delete" call.
13421// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
13422// non-2xx status code is an error. Response headers are in either
13423// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
13424// returned at all) in error.(*googleapi.Error).Header. Use
13425// googleapi.IsNotModified to check whether the returned error was
13426// because http.StatusNotModified was returned.
13427func (c *ProjectsAgentSessionsEntityTypesDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
13428	gensupport.SetOptions(c.urlParams_, opts...)
13429	res, err := c.doRequest("json")
13430	if res != nil && res.StatusCode == http.StatusNotModified {
13431		if res.Body != nil {
13432			res.Body.Close()
13433		}
13434		return nil, &googleapi.Error{
13435			Code:   res.StatusCode,
13436			Header: res.Header,
13437		}
13438	}
13439	if err != nil {
13440		return nil, err
13441	}
13442	defer googleapi.CloseBody(res)
13443	if err := googleapi.CheckResponse(res); err != nil {
13444		return nil, err
13445	}
13446	ret := &GoogleProtobufEmpty{
13447		ServerResponse: googleapi.ServerResponse{
13448			Header:         res.Header,
13449			HTTPStatusCode: res.StatusCode,
13450		},
13451	}
13452	target := &ret
13453	if err := gensupport.DecodeResponse(target, res); err != nil {
13454		return nil, err
13455	}
13456	return ret, nil
13457	// {
13458	//   "description": "Deletes the specified session entity type.\n\nThis method doesn't work with Google Assistant integration.\nContact Dialogflow support if you need to use session entities\nwith Google Assistant integration.",
13459	//   "flatPath": "v2/projects/{projectsId}/agent/sessions/{sessionsId}/entityTypes/{entityTypesId}",
13460	//   "httpMethod": "DELETE",
13461	//   "id": "dialogflow.projects.agent.sessions.entityTypes.delete",
13462	//   "parameterOrder": [
13463	//     "name"
13464	//   ],
13465	//   "parameters": {
13466	//     "name": {
13467	//       "description": "Required. The name of the entity type to delete. Format:\n`projects/\u003cProject ID\u003e/agent/sessions/\u003cSession ID\u003e/entityTypes/\u003cEntity Type\nDisplay Name\u003e`.",
13468	//       "location": "path",
13469	//       "pattern": "^projects/[^/]+/agent/sessions/[^/]+/entityTypes/[^/]+$",
13470	//       "required": true,
13471	//       "type": "string"
13472	//     }
13473	//   },
13474	//   "path": "v2/{+name}",
13475	//   "response": {
13476	//     "$ref": "GoogleProtobufEmpty"
13477	//   },
13478	//   "scopes": [
13479	//     "https://www.googleapis.com/auth/cloud-platform",
13480	//     "https://www.googleapis.com/auth/dialogflow"
13481	//   ]
13482	// }
13483
13484}
13485
13486// method id "dialogflow.projects.agent.sessions.entityTypes.get":
13487
13488type ProjectsAgentSessionsEntityTypesGetCall struct {
13489	s            *Service
13490	name         string
13491	urlParams_   gensupport.URLParams
13492	ifNoneMatch_ string
13493	ctx_         context.Context
13494	header_      http.Header
13495}
13496
13497// Get: Retrieves the specified session entity type.
13498//
13499// This method doesn't work with Google Assistant integration.
13500// Contact Dialogflow support if you need to use session entities
13501// with Google Assistant integration.
13502func (r *ProjectsAgentSessionsEntityTypesService) Get(name string) *ProjectsAgentSessionsEntityTypesGetCall {
13503	c := &ProjectsAgentSessionsEntityTypesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13504	c.name = name
13505	return c
13506}
13507
13508// Fields allows partial responses to be retrieved. See
13509// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13510// for more information.
13511func (c *ProjectsAgentSessionsEntityTypesGetCall) Fields(s ...googleapi.Field) *ProjectsAgentSessionsEntityTypesGetCall {
13512	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13513	return c
13514}
13515
13516// IfNoneMatch sets the optional parameter which makes the operation
13517// fail if the object's ETag matches the given value. This is useful for
13518// getting updates only after the object has changed since the last
13519// request. Use googleapi.IsNotModified to check whether the response
13520// error from Do is the result of In-None-Match.
13521func (c *ProjectsAgentSessionsEntityTypesGetCall) IfNoneMatch(entityTag string) *ProjectsAgentSessionsEntityTypesGetCall {
13522	c.ifNoneMatch_ = entityTag
13523	return c
13524}
13525
13526// Context sets the context to be used in this call's Do method. Any
13527// pending HTTP request will be aborted if the provided context is
13528// canceled.
13529func (c *ProjectsAgentSessionsEntityTypesGetCall) Context(ctx context.Context) *ProjectsAgentSessionsEntityTypesGetCall {
13530	c.ctx_ = ctx
13531	return c
13532}
13533
13534// Header returns an http.Header that can be modified by the caller to
13535// add HTTP headers to the request.
13536func (c *ProjectsAgentSessionsEntityTypesGetCall) Header() http.Header {
13537	if c.header_ == nil {
13538		c.header_ = make(http.Header)
13539	}
13540	return c.header_
13541}
13542
13543func (c *ProjectsAgentSessionsEntityTypesGetCall) doRequest(alt string) (*http.Response, error) {
13544	reqHeaders := make(http.Header)
13545	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
13546	for k, v := range c.header_ {
13547		reqHeaders[k] = v
13548	}
13549	reqHeaders.Set("User-Agent", c.s.userAgent())
13550	if c.ifNoneMatch_ != "" {
13551		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
13552	}
13553	var body io.Reader = nil
13554	c.urlParams_.Set("alt", alt)
13555	c.urlParams_.Set("prettyPrint", "false")
13556	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}")
13557	urls += "?" + c.urlParams_.Encode()
13558	req, err := http.NewRequest("GET", urls, body)
13559	if err != nil {
13560		return nil, err
13561	}
13562	req.Header = reqHeaders
13563	googleapi.Expand(req.URL, map[string]string{
13564		"name": c.name,
13565	})
13566	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13567}
13568
13569// Do executes the "dialogflow.projects.agent.sessions.entityTypes.get" call.
13570// Exactly one of *GoogleCloudDialogflowV2SessionEntityType or error
13571// will be non-nil. Any non-2xx status code is an error. Response
13572// headers are in either
13573// *GoogleCloudDialogflowV2SessionEntityType.ServerResponse.Header or
13574// (if a response was returned at all) in
13575// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
13576// whether the returned error was because http.StatusNotModified was
13577// returned.
13578func (c *ProjectsAgentSessionsEntityTypesGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowV2SessionEntityType, error) {
13579	gensupport.SetOptions(c.urlParams_, opts...)
13580	res, err := c.doRequest("json")
13581	if res != nil && res.StatusCode == http.StatusNotModified {
13582		if res.Body != nil {
13583			res.Body.Close()
13584		}
13585		return nil, &googleapi.Error{
13586			Code:   res.StatusCode,
13587			Header: res.Header,
13588		}
13589	}
13590	if err != nil {
13591		return nil, err
13592	}
13593	defer googleapi.CloseBody(res)
13594	if err := googleapi.CheckResponse(res); err != nil {
13595		return nil, err
13596	}
13597	ret := &GoogleCloudDialogflowV2SessionEntityType{
13598		ServerResponse: googleapi.ServerResponse{
13599			Header:         res.Header,
13600			HTTPStatusCode: res.StatusCode,
13601		},
13602	}
13603	target := &ret
13604	if err := gensupport.DecodeResponse(target, res); err != nil {
13605		return nil, err
13606	}
13607	return ret, nil
13608	// {
13609	//   "description": "Retrieves the specified session entity type.\n\nThis method doesn't work with Google Assistant integration.\nContact Dialogflow support if you need to use session entities\nwith Google Assistant integration.",
13610	//   "flatPath": "v2/projects/{projectsId}/agent/sessions/{sessionsId}/entityTypes/{entityTypesId}",
13611	//   "httpMethod": "GET",
13612	//   "id": "dialogflow.projects.agent.sessions.entityTypes.get",
13613	//   "parameterOrder": [
13614	//     "name"
13615	//   ],
13616	//   "parameters": {
13617	//     "name": {
13618	//       "description": "Required. The name of the session entity type. Format:\n`projects/\u003cProject ID\u003e/agent/sessions/\u003cSession ID\u003e/entityTypes/\u003cEntity Type\nDisplay Name\u003e`.",
13619	//       "location": "path",
13620	//       "pattern": "^projects/[^/]+/agent/sessions/[^/]+/entityTypes/[^/]+$",
13621	//       "required": true,
13622	//       "type": "string"
13623	//     }
13624	//   },
13625	//   "path": "v2/{+name}",
13626	//   "response": {
13627	//     "$ref": "GoogleCloudDialogflowV2SessionEntityType"
13628	//   },
13629	//   "scopes": [
13630	//     "https://www.googleapis.com/auth/cloud-platform",
13631	//     "https://www.googleapis.com/auth/dialogflow"
13632	//   ]
13633	// }
13634
13635}
13636
13637// method id "dialogflow.projects.agent.sessions.entityTypes.list":
13638
13639type ProjectsAgentSessionsEntityTypesListCall struct {
13640	s            *Service
13641	parent       string
13642	urlParams_   gensupport.URLParams
13643	ifNoneMatch_ string
13644	ctx_         context.Context
13645	header_      http.Header
13646}
13647
13648// List: Returns the list of all session entity types in the specified
13649// session.
13650//
13651// This method doesn't work with Google Assistant integration.
13652// Contact Dialogflow support if you need to use session entities
13653// with Google Assistant integration.
13654func (r *ProjectsAgentSessionsEntityTypesService) List(parent string) *ProjectsAgentSessionsEntityTypesListCall {
13655	c := &ProjectsAgentSessionsEntityTypesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13656	c.parent = parent
13657	return c
13658}
13659
13660// PageSize sets the optional parameter "pageSize": The maximum number
13661// of items to return in a single page. By
13662// default 100 and at most 1000.
13663func (c *ProjectsAgentSessionsEntityTypesListCall) PageSize(pageSize int64) *ProjectsAgentSessionsEntityTypesListCall {
13664	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
13665	return c
13666}
13667
13668// PageToken sets the optional parameter "pageToken": The
13669// next_page_token value returned from a previous list request.
13670func (c *ProjectsAgentSessionsEntityTypesListCall) PageToken(pageToken string) *ProjectsAgentSessionsEntityTypesListCall {
13671	c.urlParams_.Set("pageToken", pageToken)
13672	return c
13673}
13674
13675// Fields allows partial responses to be retrieved. See
13676// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13677// for more information.
13678func (c *ProjectsAgentSessionsEntityTypesListCall) Fields(s ...googleapi.Field) *ProjectsAgentSessionsEntityTypesListCall {
13679	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13680	return c
13681}
13682
13683// IfNoneMatch sets the optional parameter which makes the operation
13684// fail if the object's ETag matches the given value. This is useful for
13685// getting updates only after the object has changed since the last
13686// request. Use googleapi.IsNotModified to check whether the response
13687// error from Do is the result of In-None-Match.
13688func (c *ProjectsAgentSessionsEntityTypesListCall) IfNoneMatch(entityTag string) *ProjectsAgentSessionsEntityTypesListCall {
13689	c.ifNoneMatch_ = entityTag
13690	return c
13691}
13692
13693// Context sets the context to be used in this call's Do method. Any
13694// pending HTTP request will be aborted if the provided context is
13695// canceled.
13696func (c *ProjectsAgentSessionsEntityTypesListCall) Context(ctx context.Context) *ProjectsAgentSessionsEntityTypesListCall {
13697	c.ctx_ = ctx
13698	return c
13699}
13700
13701// Header returns an http.Header that can be modified by the caller to
13702// add HTTP headers to the request.
13703func (c *ProjectsAgentSessionsEntityTypesListCall) Header() http.Header {
13704	if c.header_ == nil {
13705		c.header_ = make(http.Header)
13706	}
13707	return c.header_
13708}
13709
13710func (c *ProjectsAgentSessionsEntityTypesListCall) doRequest(alt string) (*http.Response, error) {
13711	reqHeaders := make(http.Header)
13712	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
13713	for k, v := range c.header_ {
13714		reqHeaders[k] = v
13715	}
13716	reqHeaders.Set("User-Agent", c.s.userAgent())
13717	if c.ifNoneMatch_ != "" {
13718		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
13719	}
13720	var body io.Reader = nil
13721	c.urlParams_.Set("alt", alt)
13722	c.urlParams_.Set("prettyPrint", "false")
13723	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/entityTypes")
13724	urls += "?" + c.urlParams_.Encode()
13725	req, err := http.NewRequest("GET", urls, body)
13726	if err != nil {
13727		return nil, err
13728	}
13729	req.Header = reqHeaders
13730	googleapi.Expand(req.URL, map[string]string{
13731		"parent": c.parent,
13732	})
13733	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13734}
13735
13736// Do executes the "dialogflow.projects.agent.sessions.entityTypes.list" call.
13737// Exactly one of *GoogleCloudDialogflowV2ListSessionEntityTypesResponse
13738// or error will be non-nil. Any non-2xx status code is an error.
13739// Response headers are in either
13740// *GoogleCloudDialogflowV2ListSessionEntityTypesResponse.ServerResponse.
13741// Header or (if a response was returned at all) in
13742// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
13743// whether the returned error was because http.StatusNotModified was
13744// returned.
13745func (c *ProjectsAgentSessionsEntityTypesListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowV2ListSessionEntityTypesResponse, error) {
13746	gensupport.SetOptions(c.urlParams_, opts...)
13747	res, err := c.doRequest("json")
13748	if res != nil && res.StatusCode == http.StatusNotModified {
13749		if res.Body != nil {
13750			res.Body.Close()
13751		}
13752		return nil, &googleapi.Error{
13753			Code:   res.StatusCode,
13754			Header: res.Header,
13755		}
13756	}
13757	if err != nil {
13758		return nil, err
13759	}
13760	defer googleapi.CloseBody(res)
13761	if err := googleapi.CheckResponse(res); err != nil {
13762		return nil, err
13763	}
13764	ret := &GoogleCloudDialogflowV2ListSessionEntityTypesResponse{
13765		ServerResponse: googleapi.ServerResponse{
13766			Header:         res.Header,
13767			HTTPStatusCode: res.StatusCode,
13768		},
13769	}
13770	target := &ret
13771	if err := gensupport.DecodeResponse(target, res); err != nil {
13772		return nil, err
13773	}
13774	return ret, nil
13775	// {
13776	//   "description": "Returns the list of all session entity types in the specified session.\n\nThis method doesn't work with Google Assistant integration.\nContact Dialogflow support if you need to use session entities\nwith Google Assistant integration.",
13777	//   "flatPath": "v2/projects/{projectsId}/agent/sessions/{sessionsId}/entityTypes",
13778	//   "httpMethod": "GET",
13779	//   "id": "dialogflow.projects.agent.sessions.entityTypes.list",
13780	//   "parameterOrder": [
13781	//     "parent"
13782	//   ],
13783	//   "parameters": {
13784	//     "pageSize": {
13785	//       "description": "Optional. The maximum number of items to return in a single page. By\ndefault 100 and at most 1000.",
13786	//       "format": "int32",
13787	//       "location": "query",
13788	//       "type": "integer"
13789	//     },
13790	//     "pageToken": {
13791	//       "description": "Optional. The next_page_token value returned from a previous list request.",
13792	//       "location": "query",
13793	//       "type": "string"
13794	//     },
13795	//     "parent": {
13796	//       "description": "Required. The session to list all session entity types from.\nFormat: `projects/\u003cProject ID\u003e/agent/sessions/\u003cSession ID\u003e`.",
13797	//       "location": "path",
13798	//       "pattern": "^projects/[^/]+/agent/sessions/[^/]+$",
13799	//       "required": true,
13800	//       "type": "string"
13801	//     }
13802	//   },
13803	//   "path": "v2/{+parent}/entityTypes",
13804	//   "response": {
13805	//     "$ref": "GoogleCloudDialogflowV2ListSessionEntityTypesResponse"
13806	//   },
13807	//   "scopes": [
13808	//     "https://www.googleapis.com/auth/cloud-platform",
13809	//     "https://www.googleapis.com/auth/dialogflow"
13810	//   ]
13811	// }
13812
13813}
13814
13815// Pages invokes f for each page of results.
13816// A non-nil error returned from f will halt the iteration.
13817// The provided context supersedes any context provided to the Context method.
13818func (c *ProjectsAgentSessionsEntityTypesListCall) Pages(ctx context.Context, f func(*GoogleCloudDialogflowV2ListSessionEntityTypesResponse) error) error {
13819	c.ctx_ = ctx
13820	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
13821	for {
13822		x, err := c.Do()
13823		if err != nil {
13824			return err
13825		}
13826		if err := f(x); err != nil {
13827			return err
13828		}
13829		if x.NextPageToken == "" {
13830			return nil
13831		}
13832		c.PageToken(x.NextPageToken)
13833	}
13834}
13835
13836// method id "dialogflow.projects.agent.sessions.entityTypes.patch":
13837
13838type ProjectsAgentSessionsEntityTypesPatchCall struct {
13839	s                                        *Service
13840	nameid                                   string
13841	googleclouddialogflowv2sessionentitytype *GoogleCloudDialogflowV2SessionEntityType
13842	urlParams_                               gensupport.URLParams
13843	ctx_                                     context.Context
13844	header_                                  http.Header
13845}
13846
13847// Patch: Updates the specified session entity type.
13848//
13849// This method doesn't work with Google Assistant integration.
13850// Contact Dialogflow support if you need to use session entities
13851// with Google Assistant integration.
13852func (r *ProjectsAgentSessionsEntityTypesService) Patch(nameid string, googleclouddialogflowv2sessionentitytype *GoogleCloudDialogflowV2SessionEntityType) *ProjectsAgentSessionsEntityTypesPatchCall {
13853	c := &ProjectsAgentSessionsEntityTypesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13854	c.nameid = nameid
13855	c.googleclouddialogflowv2sessionentitytype = googleclouddialogflowv2sessionentitytype
13856	return c
13857}
13858
13859// UpdateMask sets the optional parameter "updateMask": The mask to
13860// control which fields get updated.
13861func (c *ProjectsAgentSessionsEntityTypesPatchCall) UpdateMask(updateMask string) *ProjectsAgentSessionsEntityTypesPatchCall {
13862	c.urlParams_.Set("updateMask", updateMask)
13863	return c
13864}
13865
13866// Fields allows partial responses to be retrieved. See
13867// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13868// for more information.
13869func (c *ProjectsAgentSessionsEntityTypesPatchCall) Fields(s ...googleapi.Field) *ProjectsAgentSessionsEntityTypesPatchCall {
13870	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13871	return c
13872}
13873
13874// Context sets the context to be used in this call's Do method. Any
13875// pending HTTP request will be aborted if the provided context is
13876// canceled.
13877func (c *ProjectsAgentSessionsEntityTypesPatchCall) Context(ctx context.Context) *ProjectsAgentSessionsEntityTypesPatchCall {
13878	c.ctx_ = ctx
13879	return c
13880}
13881
13882// Header returns an http.Header that can be modified by the caller to
13883// add HTTP headers to the request.
13884func (c *ProjectsAgentSessionsEntityTypesPatchCall) Header() http.Header {
13885	if c.header_ == nil {
13886		c.header_ = make(http.Header)
13887	}
13888	return c.header_
13889}
13890
13891func (c *ProjectsAgentSessionsEntityTypesPatchCall) doRequest(alt string) (*http.Response, error) {
13892	reqHeaders := make(http.Header)
13893	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
13894	for k, v := range c.header_ {
13895		reqHeaders[k] = v
13896	}
13897	reqHeaders.Set("User-Agent", c.s.userAgent())
13898	var body io.Reader = nil
13899	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowv2sessionentitytype)
13900	if err != nil {
13901		return nil, err
13902	}
13903	reqHeaders.Set("Content-Type", "application/json")
13904	c.urlParams_.Set("alt", alt)
13905	c.urlParams_.Set("prettyPrint", "false")
13906	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}")
13907	urls += "?" + c.urlParams_.Encode()
13908	req, err := http.NewRequest("PATCH", urls, body)
13909	if err != nil {
13910		return nil, err
13911	}
13912	req.Header = reqHeaders
13913	googleapi.Expand(req.URL, map[string]string{
13914		"name": c.nameid,
13915	})
13916	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13917}
13918
13919// Do executes the "dialogflow.projects.agent.sessions.entityTypes.patch" call.
13920// Exactly one of *GoogleCloudDialogflowV2SessionEntityType or error
13921// will be non-nil. Any non-2xx status code is an error. Response
13922// headers are in either
13923// *GoogleCloudDialogflowV2SessionEntityType.ServerResponse.Header or
13924// (if a response was returned at all) in
13925// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
13926// whether the returned error was because http.StatusNotModified was
13927// returned.
13928func (c *ProjectsAgentSessionsEntityTypesPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowV2SessionEntityType, error) {
13929	gensupport.SetOptions(c.urlParams_, opts...)
13930	res, err := c.doRequest("json")
13931	if res != nil && res.StatusCode == http.StatusNotModified {
13932		if res.Body != nil {
13933			res.Body.Close()
13934		}
13935		return nil, &googleapi.Error{
13936			Code:   res.StatusCode,
13937			Header: res.Header,
13938		}
13939	}
13940	if err != nil {
13941		return nil, err
13942	}
13943	defer googleapi.CloseBody(res)
13944	if err := googleapi.CheckResponse(res); err != nil {
13945		return nil, err
13946	}
13947	ret := &GoogleCloudDialogflowV2SessionEntityType{
13948		ServerResponse: googleapi.ServerResponse{
13949			Header:         res.Header,
13950			HTTPStatusCode: res.StatusCode,
13951		},
13952	}
13953	target := &ret
13954	if err := gensupport.DecodeResponse(target, res); err != nil {
13955		return nil, err
13956	}
13957	return ret, nil
13958	// {
13959	//   "description": "Updates the specified session entity type.\n\nThis method doesn't work with Google Assistant integration.\nContact Dialogflow support if you need to use session entities\nwith Google Assistant integration.",
13960	//   "flatPath": "v2/projects/{projectsId}/agent/sessions/{sessionsId}/entityTypes/{entityTypesId}",
13961	//   "httpMethod": "PATCH",
13962	//   "id": "dialogflow.projects.agent.sessions.entityTypes.patch",
13963	//   "parameterOrder": [
13964	//     "name"
13965	//   ],
13966	//   "parameters": {
13967	//     "name": {
13968	//       "description": "Required. The unique identifier of this session entity type. Format:\n`projects/\u003cProject ID\u003e/agent/sessions/\u003cSession ID\u003e/entityTypes/\u003cEntity Type\nDisplay Name\u003e`.\n\n`\u003cEntity Type Display Name\u003e` must be the display name of an existing entity\ntype in the same agent that will be overridden or supplemented.",
13969	//       "location": "path",
13970	//       "pattern": "^projects/[^/]+/agent/sessions/[^/]+/entityTypes/[^/]+$",
13971	//       "required": true,
13972	//       "type": "string"
13973	//     },
13974	//     "updateMask": {
13975	//       "description": "Optional. The mask to control which fields get updated.",
13976	//       "format": "google-fieldmask",
13977	//       "location": "query",
13978	//       "type": "string"
13979	//     }
13980	//   },
13981	//   "path": "v2/{+name}",
13982	//   "request": {
13983	//     "$ref": "GoogleCloudDialogflowV2SessionEntityType"
13984	//   },
13985	//   "response": {
13986	//     "$ref": "GoogleCloudDialogflowV2SessionEntityType"
13987	//   },
13988	//   "scopes": [
13989	//     "https://www.googleapis.com/auth/cloud-platform",
13990	//     "https://www.googleapis.com/auth/dialogflow"
13991	//   ]
13992	// }
13993
13994}
13995
13996// method id "dialogflow.projects.locations.operations.cancel":
13997
13998type ProjectsLocationsOperationsCancelCall struct {
13999	s          *Service
14000	name       string
14001	urlParams_ gensupport.URLParams
14002	ctx_       context.Context
14003	header_    http.Header
14004}
14005
14006// Cancel: Starts asynchronous cancellation on a long-running operation.
14007//  The server
14008// makes a best effort to cancel the operation, but success is
14009// not
14010// guaranteed.  If the server doesn't support this method, it
14011// returns
14012// `google.rpc.Code.UNIMPLEMENTED`.  Clients can
14013// use
14014// Operations.GetOperation or
14015// other methods to check whether the cancellation succeeded or whether
14016// the
14017// operation completed despite cancellation. On successful
14018// cancellation,
14019// the operation is not deleted; instead, it becomes an operation
14020// with
14021// an Operation.error value with a google.rpc.Status.code of
14022// 1,
14023// corresponding to `Code.CANCELLED`.
14024func (r *ProjectsLocationsOperationsService) Cancel(name string) *ProjectsLocationsOperationsCancelCall {
14025	c := &ProjectsLocationsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14026	c.name = name
14027	return c
14028}
14029
14030// Fields allows partial responses to be retrieved. See
14031// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14032// for more information.
14033func (c *ProjectsLocationsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsCancelCall {
14034	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14035	return c
14036}
14037
14038// Context sets the context to be used in this call's Do method. Any
14039// pending HTTP request will be aborted if the provided context is
14040// canceled.
14041func (c *ProjectsLocationsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsOperationsCancelCall {
14042	c.ctx_ = ctx
14043	return c
14044}
14045
14046// Header returns an http.Header that can be modified by the caller to
14047// add HTTP headers to the request.
14048func (c *ProjectsLocationsOperationsCancelCall) Header() http.Header {
14049	if c.header_ == nil {
14050		c.header_ = make(http.Header)
14051	}
14052	return c.header_
14053}
14054
14055func (c *ProjectsLocationsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
14056	reqHeaders := make(http.Header)
14057	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
14058	for k, v := range c.header_ {
14059		reqHeaders[k] = v
14060	}
14061	reqHeaders.Set("User-Agent", c.s.userAgent())
14062	var body io.Reader = nil
14063	c.urlParams_.Set("alt", alt)
14064	c.urlParams_.Set("prettyPrint", "false")
14065	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}:cancel")
14066	urls += "?" + c.urlParams_.Encode()
14067	req, err := http.NewRequest("POST", urls, body)
14068	if err != nil {
14069		return nil, err
14070	}
14071	req.Header = reqHeaders
14072	googleapi.Expand(req.URL, map[string]string{
14073		"name": c.name,
14074	})
14075	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14076}
14077
14078// Do executes the "dialogflow.projects.locations.operations.cancel" call.
14079// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
14080// non-2xx status code is an error. Response headers are in either
14081// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
14082// returned at all) in error.(*googleapi.Error).Header. Use
14083// googleapi.IsNotModified to check whether the returned error was
14084// because http.StatusNotModified was returned.
14085func (c *ProjectsLocationsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
14086	gensupport.SetOptions(c.urlParams_, opts...)
14087	res, err := c.doRequest("json")
14088	if res != nil && res.StatusCode == http.StatusNotModified {
14089		if res.Body != nil {
14090			res.Body.Close()
14091		}
14092		return nil, &googleapi.Error{
14093			Code:   res.StatusCode,
14094			Header: res.Header,
14095		}
14096	}
14097	if err != nil {
14098		return nil, err
14099	}
14100	defer googleapi.CloseBody(res)
14101	if err := googleapi.CheckResponse(res); err != nil {
14102		return nil, err
14103	}
14104	ret := &GoogleProtobufEmpty{
14105		ServerResponse: googleapi.ServerResponse{
14106			Header:         res.Header,
14107			HTTPStatusCode: res.StatusCode,
14108		},
14109	}
14110	target := &ret
14111	if err := gensupport.DecodeResponse(target, res); err != nil {
14112		return nil, err
14113	}
14114	return ret, nil
14115	// {
14116	//   "description": "Starts asynchronous cancellation on a long-running operation.  The server\nmakes a best effort to cancel the operation, but success is not\nguaranteed.  If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`.  Clients can use\nOperations.GetOperation or\nother methods to check whether the cancellation succeeded or whether the\noperation completed despite cancellation. On successful cancellation,\nthe operation is not deleted; instead, it becomes an operation with\nan Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.",
14117	//   "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel",
14118	//   "httpMethod": "POST",
14119	//   "id": "dialogflow.projects.locations.operations.cancel",
14120	//   "parameterOrder": [
14121	//     "name"
14122	//   ],
14123	//   "parameters": {
14124	//     "name": {
14125	//       "description": "The name of the operation resource to be cancelled.",
14126	//       "location": "path",
14127	//       "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
14128	//       "required": true,
14129	//       "type": "string"
14130	//     }
14131	//   },
14132	//   "path": "v2/{+name}:cancel",
14133	//   "response": {
14134	//     "$ref": "GoogleProtobufEmpty"
14135	//   },
14136	//   "scopes": [
14137	//     "https://www.googleapis.com/auth/cloud-platform",
14138	//     "https://www.googleapis.com/auth/dialogflow"
14139	//   ]
14140	// }
14141
14142}
14143
14144// method id "dialogflow.projects.locations.operations.get":
14145
14146type ProjectsLocationsOperationsGetCall struct {
14147	s            *Service
14148	name         string
14149	urlParams_   gensupport.URLParams
14150	ifNoneMatch_ string
14151	ctx_         context.Context
14152	header_      http.Header
14153}
14154
14155// Get: Gets the latest state of a long-running operation.  Clients can
14156// use this
14157// method to poll the operation result at intervals as recommended by
14158// the API
14159// service.
14160func (r *ProjectsLocationsOperationsService) Get(name string) *ProjectsLocationsOperationsGetCall {
14161	c := &ProjectsLocationsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14162	c.name = name
14163	return c
14164}
14165
14166// Fields allows partial responses to be retrieved. See
14167// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14168// for more information.
14169func (c *ProjectsLocationsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsGetCall {
14170	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14171	return c
14172}
14173
14174// IfNoneMatch sets the optional parameter which makes the operation
14175// fail if the object's ETag matches the given value. This is useful for
14176// getting updates only after the object has changed since the last
14177// request. Use googleapi.IsNotModified to check whether the response
14178// error from Do is the result of In-None-Match.
14179func (c *ProjectsLocationsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsOperationsGetCall {
14180	c.ifNoneMatch_ = entityTag
14181	return c
14182}
14183
14184// Context sets the context to be used in this call's Do method. Any
14185// pending HTTP request will be aborted if the provided context is
14186// canceled.
14187func (c *ProjectsLocationsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsOperationsGetCall {
14188	c.ctx_ = ctx
14189	return c
14190}
14191
14192// Header returns an http.Header that can be modified by the caller to
14193// add HTTP headers to the request.
14194func (c *ProjectsLocationsOperationsGetCall) Header() http.Header {
14195	if c.header_ == nil {
14196		c.header_ = make(http.Header)
14197	}
14198	return c.header_
14199}
14200
14201func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
14202	reqHeaders := make(http.Header)
14203	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
14204	for k, v := range c.header_ {
14205		reqHeaders[k] = v
14206	}
14207	reqHeaders.Set("User-Agent", c.s.userAgent())
14208	if c.ifNoneMatch_ != "" {
14209		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
14210	}
14211	var body io.Reader = nil
14212	c.urlParams_.Set("alt", alt)
14213	c.urlParams_.Set("prettyPrint", "false")
14214	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}")
14215	urls += "?" + c.urlParams_.Encode()
14216	req, err := http.NewRequest("GET", urls, body)
14217	if err != nil {
14218		return nil, err
14219	}
14220	req.Header = reqHeaders
14221	googleapi.Expand(req.URL, map[string]string{
14222		"name": c.name,
14223	})
14224	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14225}
14226
14227// Do executes the "dialogflow.projects.locations.operations.get" call.
14228// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
14229// Any non-2xx status code is an error. Response headers are in either
14230// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
14231// was returned at all) in error.(*googleapi.Error).Header. Use
14232// googleapi.IsNotModified to check whether the returned error was
14233// because http.StatusNotModified was returned.
14234func (c *ProjectsLocationsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
14235	gensupport.SetOptions(c.urlParams_, opts...)
14236	res, err := c.doRequest("json")
14237	if res != nil && res.StatusCode == http.StatusNotModified {
14238		if res.Body != nil {
14239			res.Body.Close()
14240		}
14241		return nil, &googleapi.Error{
14242			Code:   res.StatusCode,
14243			Header: res.Header,
14244		}
14245	}
14246	if err != nil {
14247		return nil, err
14248	}
14249	defer googleapi.CloseBody(res)
14250	if err := googleapi.CheckResponse(res); err != nil {
14251		return nil, err
14252	}
14253	ret := &GoogleLongrunningOperation{
14254		ServerResponse: googleapi.ServerResponse{
14255			Header:         res.Header,
14256			HTTPStatusCode: res.StatusCode,
14257		},
14258	}
14259	target := &ret
14260	if err := gensupport.DecodeResponse(target, res); err != nil {
14261		return nil, err
14262	}
14263	return ret, nil
14264	// {
14265	//   "description": "Gets the latest state of a long-running operation.  Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.",
14266	//   "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}",
14267	//   "httpMethod": "GET",
14268	//   "id": "dialogflow.projects.locations.operations.get",
14269	//   "parameterOrder": [
14270	//     "name"
14271	//   ],
14272	//   "parameters": {
14273	//     "name": {
14274	//       "description": "The name of the operation resource.",
14275	//       "location": "path",
14276	//       "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
14277	//       "required": true,
14278	//       "type": "string"
14279	//     }
14280	//   },
14281	//   "path": "v2/{+name}",
14282	//   "response": {
14283	//     "$ref": "GoogleLongrunningOperation"
14284	//   },
14285	//   "scopes": [
14286	//     "https://www.googleapis.com/auth/cloud-platform",
14287	//     "https://www.googleapis.com/auth/dialogflow"
14288	//   ]
14289	// }
14290
14291}
14292
14293// method id "dialogflow.projects.locations.operations.list":
14294
14295type ProjectsLocationsOperationsListCall struct {
14296	s            *Service
14297	name         string
14298	urlParams_   gensupport.URLParams
14299	ifNoneMatch_ string
14300	ctx_         context.Context
14301	header_      http.Header
14302}
14303
14304// List: Lists operations that match the specified filter in the
14305// request. If the
14306// server doesn't support this method, it returns
14307// `UNIMPLEMENTED`.
14308//
14309// NOTE: the `name` binding allows API services to override the
14310// binding
14311// to use different resource name schemes, such as `users/*/operations`.
14312// To
14313// override the binding, API services can add a binding such
14314// as
14315// "/v1/{name=users/*}/operations" to their service configuration.
14316// For backwards compatibility, the default name includes the
14317// operations
14318// collection id, however overriding users must ensure the name
14319// binding
14320// is the parent resource, without the operations collection id.
14321func (r *ProjectsLocationsOperationsService) List(name string) *ProjectsLocationsOperationsListCall {
14322	c := &ProjectsLocationsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14323	c.name = name
14324	return c
14325}
14326
14327// Filter sets the optional parameter "filter": The standard list
14328// filter.
14329func (c *ProjectsLocationsOperationsListCall) Filter(filter string) *ProjectsLocationsOperationsListCall {
14330	c.urlParams_.Set("filter", filter)
14331	return c
14332}
14333
14334// PageSize sets the optional parameter "pageSize": The standard list
14335// page size.
14336func (c *ProjectsLocationsOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsOperationsListCall {
14337	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
14338	return c
14339}
14340
14341// PageToken sets the optional parameter "pageToken": The standard list
14342// page token.
14343func (c *ProjectsLocationsOperationsListCall) PageToken(pageToken string) *ProjectsLocationsOperationsListCall {
14344	c.urlParams_.Set("pageToken", pageToken)
14345	return c
14346}
14347
14348// Fields allows partial responses to be retrieved. See
14349// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14350// for more information.
14351func (c *ProjectsLocationsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsListCall {
14352	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14353	return c
14354}
14355
14356// IfNoneMatch sets the optional parameter which makes the operation
14357// fail if the object's ETag matches the given value. This is useful for
14358// getting updates only after the object has changed since the last
14359// request. Use googleapi.IsNotModified to check whether the response
14360// error from Do is the result of In-None-Match.
14361func (c *ProjectsLocationsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsOperationsListCall {
14362	c.ifNoneMatch_ = entityTag
14363	return c
14364}
14365
14366// Context sets the context to be used in this call's Do method. Any
14367// pending HTTP request will be aborted if the provided context is
14368// canceled.
14369func (c *ProjectsLocationsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsOperationsListCall {
14370	c.ctx_ = ctx
14371	return c
14372}
14373
14374// Header returns an http.Header that can be modified by the caller to
14375// add HTTP headers to the request.
14376func (c *ProjectsLocationsOperationsListCall) Header() http.Header {
14377	if c.header_ == nil {
14378		c.header_ = make(http.Header)
14379	}
14380	return c.header_
14381}
14382
14383func (c *ProjectsLocationsOperationsListCall) doRequest(alt string) (*http.Response, error) {
14384	reqHeaders := make(http.Header)
14385	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
14386	for k, v := range c.header_ {
14387		reqHeaders[k] = v
14388	}
14389	reqHeaders.Set("User-Agent", c.s.userAgent())
14390	if c.ifNoneMatch_ != "" {
14391		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
14392	}
14393	var body io.Reader = nil
14394	c.urlParams_.Set("alt", alt)
14395	c.urlParams_.Set("prettyPrint", "false")
14396	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}/operations")
14397	urls += "?" + c.urlParams_.Encode()
14398	req, err := http.NewRequest("GET", urls, body)
14399	if err != nil {
14400		return nil, err
14401	}
14402	req.Header = reqHeaders
14403	googleapi.Expand(req.URL, map[string]string{
14404		"name": c.name,
14405	})
14406	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14407}
14408
14409// Do executes the "dialogflow.projects.locations.operations.list" call.
14410// Exactly one of *GoogleLongrunningListOperationsResponse or error will
14411// be non-nil. Any non-2xx status code is an error. Response headers are
14412// in either
14413// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if
14414// a response was returned at all) in error.(*googleapi.Error).Header.
14415// Use googleapi.IsNotModified to check whether the returned error was
14416// because http.StatusNotModified was returned.
14417func (c *ProjectsLocationsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
14418	gensupport.SetOptions(c.urlParams_, opts...)
14419	res, err := c.doRequest("json")
14420	if res != nil && res.StatusCode == http.StatusNotModified {
14421		if res.Body != nil {
14422			res.Body.Close()
14423		}
14424		return nil, &googleapi.Error{
14425			Code:   res.StatusCode,
14426			Header: res.Header,
14427		}
14428	}
14429	if err != nil {
14430		return nil, err
14431	}
14432	defer googleapi.CloseBody(res)
14433	if err := googleapi.CheckResponse(res); err != nil {
14434		return nil, err
14435	}
14436	ret := &GoogleLongrunningListOperationsResponse{
14437		ServerResponse: googleapi.ServerResponse{
14438			Header:         res.Header,
14439			HTTPStatusCode: res.StatusCode,
14440		},
14441	}
14442	target := &ret
14443	if err := gensupport.DecodeResponse(target, res); err != nil {
14444		return nil, err
14445	}
14446	return ret, nil
14447	// {
14448	//   "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id.",
14449	//   "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/operations",
14450	//   "httpMethod": "GET",
14451	//   "id": "dialogflow.projects.locations.operations.list",
14452	//   "parameterOrder": [
14453	//     "name"
14454	//   ],
14455	//   "parameters": {
14456	//     "filter": {
14457	//       "description": "The standard list filter.",
14458	//       "location": "query",
14459	//       "type": "string"
14460	//     },
14461	//     "name": {
14462	//       "description": "The name of the operation's parent resource.",
14463	//       "location": "path",
14464	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
14465	//       "required": true,
14466	//       "type": "string"
14467	//     },
14468	//     "pageSize": {
14469	//       "description": "The standard list page size.",
14470	//       "format": "int32",
14471	//       "location": "query",
14472	//       "type": "integer"
14473	//     },
14474	//     "pageToken": {
14475	//       "description": "The standard list page token.",
14476	//       "location": "query",
14477	//       "type": "string"
14478	//     }
14479	//   },
14480	//   "path": "v2/{+name}/operations",
14481	//   "response": {
14482	//     "$ref": "GoogleLongrunningListOperationsResponse"
14483	//   },
14484	//   "scopes": [
14485	//     "https://www.googleapis.com/auth/cloud-platform",
14486	//     "https://www.googleapis.com/auth/dialogflow"
14487	//   ]
14488	// }
14489
14490}
14491
14492// Pages invokes f for each page of results.
14493// A non-nil error returned from f will halt the iteration.
14494// The provided context supersedes any context provided to the Context method.
14495func (c *ProjectsLocationsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
14496	c.ctx_ = ctx
14497	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
14498	for {
14499		x, err := c.Do()
14500		if err != nil {
14501			return err
14502		}
14503		if err := f(x); err != nil {
14504			return err
14505		}
14506		if x.NextPageToken == "" {
14507			return nil
14508		}
14509		c.PageToken(x.NextPageToken)
14510	}
14511}
14512
14513// method id "dialogflow.projects.operations.cancel":
14514
14515type ProjectsOperationsCancelCall struct {
14516	s          *Service
14517	name       string
14518	urlParams_ gensupport.URLParams
14519	ctx_       context.Context
14520	header_    http.Header
14521}
14522
14523// Cancel: Starts asynchronous cancellation on a long-running operation.
14524//  The server
14525// makes a best effort to cancel the operation, but success is
14526// not
14527// guaranteed.  If the server doesn't support this method, it
14528// returns
14529// `google.rpc.Code.UNIMPLEMENTED`.  Clients can
14530// use
14531// Operations.GetOperation or
14532// other methods to check whether the cancellation succeeded or whether
14533// the
14534// operation completed despite cancellation. On successful
14535// cancellation,
14536// the operation is not deleted; instead, it becomes an operation
14537// with
14538// an Operation.error value with a google.rpc.Status.code of
14539// 1,
14540// corresponding to `Code.CANCELLED`.
14541func (r *ProjectsOperationsService) Cancel(name string) *ProjectsOperationsCancelCall {
14542	c := &ProjectsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14543	c.name = name
14544	return c
14545}
14546
14547// Fields allows partial responses to be retrieved. See
14548// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14549// for more information.
14550func (c *ProjectsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsOperationsCancelCall {
14551	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14552	return c
14553}
14554
14555// Context sets the context to be used in this call's Do method. Any
14556// pending HTTP request will be aborted if the provided context is
14557// canceled.
14558func (c *ProjectsOperationsCancelCall) Context(ctx context.Context) *ProjectsOperationsCancelCall {
14559	c.ctx_ = ctx
14560	return c
14561}
14562
14563// Header returns an http.Header that can be modified by the caller to
14564// add HTTP headers to the request.
14565func (c *ProjectsOperationsCancelCall) Header() http.Header {
14566	if c.header_ == nil {
14567		c.header_ = make(http.Header)
14568	}
14569	return c.header_
14570}
14571
14572func (c *ProjectsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
14573	reqHeaders := make(http.Header)
14574	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
14575	for k, v := range c.header_ {
14576		reqHeaders[k] = v
14577	}
14578	reqHeaders.Set("User-Agent", c.s.userAgent())
14579	var body io.Reader = nil
14580	c.urlParams_.Set("alt", alt)
14581	c.urlParams_.Set("prettyPrint", "false")
14582	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}:cancel")
14583	urls += "?" + c.urlParams_.Encode()
14584	req, err := http.NewRequest("POST", urls, body)
14585	if err != nil {
14586		return nil, err
14587	}
14588	req.Header = reqHeaders
14589	googleapi.Expand(req.URL, map[string]string{
14590		"name": c.name,
14591	})
14592	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14593}
14594
14595// Do executes the "dialogflow.projects.operations.cancel" call.
14596// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
14597// non-2xx status code is an error. Response headers are in either
14598// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
14599// returned at all) in error.(*googleapi.Error).Header. Use
14600// googleapi.IsNotModified to check whether the returned error was
14601// because http.StatusNotModified was returned.
14602func (c *ProjectsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
14603	gensupport.SetOptions(c.urlParams_, opts...)
14604	res, err := c.doRequest("json")
14605	if res != nil && res.StatusCode == http.StatusNotModified {
14606		if res.Body != nil {
14607			res.Body.Close()
14608		}
14609		return nil, &googleapi.Error{
14610			Code:   res.StatusCode,
14611			Header: res.Header,
14612		}
14613	}
14614	if err != nil {
14615		return nil, err
14616	}
14617	defer googleapi.CloseBody(res)
14618	if err := googleapi.CheckResponse(res); err != nil {
14619		return nil, err
14620	}
14621	ret := &GoogleProtobufEmpty{
14622		ServerResponse: googleapi.ServerResponse{
14623			Header:         res.Header,
14624			HTTPStatusCode: res.StatusCode,
14625		},
14626	}
14627	target := &ret
14628	if err := gensupport.DecodeResponse(target, res); err != nil {
14629		return nil, err
14630	}
14631	return ret, nil
14632	// {
14633	//   "description": "Starts asynchronous cancellation on a long-running operation.  The server\nmakes a best effort to cancel the operation, but success is not\nguaranteed.  If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`.  Clients can use\nOperations.GetOperation or\nother methods to check whether the cancellation succeeded or whether the\noperation completed despite cancellation. On successful cancellation,\nthe operation is not deleted; instead, it becomes an operation with\nan Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.",
14634	//   "flatPath": "v2/projects/{projectsId}/operations/{operationsId}:cancel",
14635	//   "httpMethod": "POST",
14636	//   "id": "dialogflow.projects.operations.cancel",
14637	//   "parameterOrder": [
14638	//     "name"
14639	//   ],
14640	//   "parameters": {
14641	//     "name": {
14642	//       "description": "The name of the operation resource to be cancelled.",
14643	//       "location": "path",
14644	//       "pattern": "^projects/[^/]+/operations/[^/]+$",
14645	//       "required": true,
14646	//       "type": "string"
14647	//     }
14648	//   },
14649	//   "path": "v2/{+name}:cancel",
14650	//   "response": {
14651	//     "$ref": "GoogleProtobufEmpty"
14652	//   },
14653	//   "scopes": [
14654	//     "https://www.googleapis.com/auth/cloud-platform",
14655	//     "https://www.googleapis.com/auth/dialogflow"
14656	//   ]
14657	// }
14658
14659}
14660
14661// method id "dialogflow.projects.operations.get":
14662
14663type ProjectsOperationsGetCall struct {
14664	s            *Service
14665	name         string
14666	urlParams_   gensupport.URLParams
14667	ifNoneMatch_ string
14668	ctx_         context.Context
14669	header_      http.Header
14670}
14671
14672// Get: Gets the latest state of a long-running operation.  Clients can
14673// use this
14674// method to poll the operation result at intervals as recommended by
14675// the API
14676// service.
14677func (r *ProjectsOperationsService) Get(name string) *ProjectsOperationsGetCall {
14678	c := &ProjectsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14679	c.name = name
14680	return c
14681}
14682
14683// Fields allows partial responses to be retrieved. See
14684// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14685// for more information.
14686func (c *ProjectsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsOperationsGetCall {
14687	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14688	return c
14689}
14690
14691// IfNoneMatch sets the optional parameter which makes the operation
14692// fail if the object's ETag matches the given value. This is useful for
14693// getting updates only after the object has changed since the last
14694// request. Use googleapi.IsNotModified to check whether the response
14695// error from Do is the result of In-None-Match.
14696func (c *ProjectsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsOperationsGetCall {
14697	c.ifNoneMatch_ = entityTag
14698	return c
14699}
14700
14701// Context sets the context to be used in this call's Do method. Any
14702// pending HTTP request will be aborted if the provided context is
14703// canceled.
14704func (c *ProjectsOperationsGetCall) Context(ctx context.Context) *ProjectsOperationsGetCall {
14705	c.ctx_ = ctx
14706	return c
14707}
14708
14709// Header returns an http.Header that can be modified by the caller to
14710// add HTTP headers to the request.
14711func (c *ProjectsOperationsGetCall) Header() http.Header {
14712	if c.header_ == nil {
14713		c.header_ = make(http.Header)
14714	}
14715	return c.header_
14716}
14717
14718func (c *ProjectsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
14719	reqHeaders := make(http.Header)
14720	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
14721	for k, v := range c.header_ {
14722		reqHeaders[k] = v
14723	}
14724	reqHeaders.Set("User-Agent", c.s.userAgent())
14725	if c.ifNoneMatch_ != "" {
14726		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
14727	}
14728	var body io.Reader = nil
14729	c.urlParams_.Set("alt", alt)
14730	c.urlParams_.Set("prettyPrint", "false")
14731	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}")
14732	urls += "?" + c.urlParams_.Encode()
14733	req, err := http.NewRequest("GET", urls, body)
14734	if err != nil {
14735		return nil, err
14736	}
14737	req.Header = reqHeaders
14738	googleapi.Expand(req.URL, map[string]string{
14739		"name": c.name,
14740	})
14741	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14742}
14743
14744// Do executes the "dialogflow.projects.operations.get" call.
14745// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
14746// Any non-2xx status code is an error. Response headers are in either
14747// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
14748// was returned at all) in error.(*googleapi.Error).Header. Use
14749// googleapi.IsNotModified to check whether the returned error was
14750// because http.StatusNotModified was returned.
14751func (c *ProjectsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
14752	gensupport.SetOptions(c.urlParams_, opts...)
14753	res, err := c.doRequest("json")
14754	if res != nil && res.StatusCode == http.StatusNotModified {
14755		if res.Body != nil {
14756			res.Body.Close()
14757		}
14758		return nil, &googleapi.Error{
14759			Code:   res.StatusCode,
14760			Header: res.Header,
14761		}
14762	}
14763	if err != nil {
14764		return nil, err
14765	}
14766	defer googleapi.CloseBody(res)
14767	if err := googleapi.CheckResponse(res); err != nil {
14768		return nil, err
14769	}
14770	ret := &GoogleLongrunningOperation{
14771		ServerResponse: googleapi.ServerResponse{
14772			Header:         res.Header,
14773			HTTPStatusCode: res.StatusCode,
14774		},
14775	}
14776	target := &ret
14777	if err := gensupport.DecodeResponse(target, res); err != nil {
14778		return nil, err
14779	}
14780	return ret, nil
14781	// {
14782	//   "description": "Gets the latest state of a long-running operation.  Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.",
14783	//   "flatPath": "v2/projects/{projectsId}/operations/{operationsId}",
14784	//   "httpMethod": "GET",
14785	//   "id": "dialogflow.projects.operations.get",
14786	//   "parameterOrder": [
14787	//     "name"
14788	//   ],
14789	//   "parameters": {
14790	//     "name": {
14791	//       "description": "The name of the operation resource.",
14792	//       "location": "path",
14793	//       "pattern": "^projects/[^/]+/operations/[^/]+$",
14794	//       "required": true,
14795	//       "type": "string"
14796	//     }
14797	//   },
14798	//   "path": "v2/{+name}",
14799	//   "response": {
14800	//     "$ref": "GoogleLongrunningOperation"
14801	//   },
14802	//   "scopes": [
14803	//     "https://www.googleapis.com/auth/cloud-platform",
14804	//     "https://www.googleapis.com/auth/dialogflow"
14805	//   ]
14806	// }
14807
14808}
14809
14810// method id "dialogflow.projects.operations.list":
14811
14812type ProjectsOperationsListCall struct {
14813	s            *Service
14814	name         string
14815	urlParams_   gensupport.URLParams
14816	ifNoneMatch_ string
14817	ctx_         context.Context
14818	header_      http.Header
14819}
14820
14821// List: Lists operations that match the specified filter in the
14822// request. If the
14823// server doesn't support this method, it returns
14824// `UNIMPLEMENTED`.
14825//
14826// NOTE: the `name` binding allows API services to override the
14827// binding
14828// to use different resource name schemes, such as `users/*/operations`.
14829// To
14830// override the binding, API services can add a binding such
14831// as
14832// "/v1/{name=users/*}/operations" to their service configuration.
14833// For backwards compatibility, the default name includes the
14834// operations
14835// collection id, however overriding users must ensure the name
14836// binding
14837// is the parent resource, without the operations collection id.
14838func (r *ProjectsOperationsService) List(name string) *ProjectsOperationsListCall {
14839	c := &ProjectsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14840	c.name = name
14841	return c
14842}
14843
14844// Filter sets the optional parameter "filter": The standard list
14845// filter.
14846func (c *ProjectsOperationsListCall) Filter(filter string) *ProjectsOperationsListCall {
14847	c.urlParams_.Set("filter", filter)
14848	return c
14849}
14850
14851// PageSize sets the optional parameter "pageSize": The standard list
14852// page size.
14853func (c *ProjectsOperationsListCall) PageSize(pageSize int64) *ProjectsOperationsListCall {
14854	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
14855	return c
14856}
14857
14858// PageToken sets the optional parameter "pageToken": The standard list
14859// page token.
14860func (c *ProjectsOperationsListCall) PageToken(pageToken string) *ProjectsOperationsListCall {
14861	c.urlParams_.Set("pageToken", pageToken)
14862	return c
14863}
14864
14865// Fields allows partial responses to be retrieved. See
14866// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14867// for more information.
14868func (c *ProjectsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsOperationsListCall {
14869	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14870	return c
14871}
14872
14873// IfNoneMatch sets the optional parameter which makes the operation
14874// fail if the object's ETag matches the given value. This is useful for
14875// getting updates only after the object has changed since the last
14876// request. Use googleapi.IsNotModified to check whether the response
14877// error from Do is the result of In-None-Match.
14878func (c *ProjectsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsOperationsListCall {
14879	c.ifNoneMatch_ = entityTag
14880	return c
14881}
14882
14883// Context sets the context to be used in this call's Do method. Any
14884// pending HTTP request will be aborted if the provided context is
14885// canceled.
14886func (c *ProjectsOperationsListCall) Context(ctx context.Context) *ProjectsOperationsListCall {
14887	c.ctx_ = ctx
14888	return c
14889}
14890
14891// Header returns an http.Header that can be modified by the caller to
14892// add HTTP headers to the request.
14893func (c *ProjectsOperationsListCall) Header() http.Header {
14894	if c.header_ == nil {
14895		c.header_ = make(http.Header)
14896	}
14897	return c.header_
14898}
14899
14900func (c *ProjectsOperationsListCall) doRequest(alt string) (*http.Response, error) {
14901	reqHeaders := make(http.Header)
14902	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
14903	for k, v := range c.header_ {
14904		reqHeaders[k] = v
14905	}
14906	reqHeaders.Set("User-Agent", c.s.userAgent())
14907	if c.ifNoneMatch_ != "" {
14908		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
14909	}
14910	var body io.Reader = nil
14911	c.urlParams_.Set("alt", alt)
14912	c.urlParams_.Set("prettyPrint", "false")
14913	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}/operations")
14914	urls += "?" + c.urlParams_.Encode()
14915	req, err := http.NewRequest("GET", urls, body)
14916	if err != nil {
14917		return nil, err
14918	}
14919	req.Header = reqHeaders
14920	googleapi.Expand(req.URL, map[string]string{
14921		"name": c.name,
14922	})
14923	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14924}
14925
14926// Do executes the "dialogflow.projects.operations.list" call.
14927// Exactly one of *GoogleLongrunningListOperationsResponse or error will
14928// be non-nil. Any non-2xx status code is an error. Response headers are
14929// in either
14930// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if
14931// a response was returned at all) in error.(*googleapi.Error).Header.
14932// Use googleapi.IsNotModified to check whether the returned error was
14933// because http.StatusNotModified was returned.
14934func (c *ProjectsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
14935	gensupport.SetOptions(c.urlParams_, opts...)
14936	res, err := c.doRequest("json")
14937	if res != nil && res.StatusCode == http.StatusNotModified {
14938		if res.Body != nil {
14939			res.Body.Close()
14940		}
14941		return nil, &googleapi.Error{
14942			Code:   res.StatusCode,
14943			Header: res.Header,
14944		}
14945	}
14946	if err != nil {
14947		return nil, err
14948	}
14949	defer googleapi.CloseBody(res)
14950	if err := googleapi.CheckResponse(res); err != nil {
14951		return nil, err
14952	}
14953	ret := &GoogleLongrunningListOperationsResponse{
14954		ServerResponse: googleapi.ServerResponse{
14955			Header:         res.Header,
14956			HTTPStatusCode: res.StatusCode,
14957		},
14958	}
14959	target := &ret
14960	if err := gensupport.DecodeResponse(target, res); err != nil {
14961		return nil, err
14962	}
14963	return ret, nil
14964	// {
14965	//   "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id.",
14966	//   "flatPath": "v2/projects/{projectsId}/operations",
14967	//   "httpMethod": "GET",
14968	//   "id": "dialogflow.projects.operations.list",
14969	//   "parameterOrder": [
14970	//     "name"
14971	//   ],
14972	//   "parameters": {
14973	//     "filter": {
14974	//       "description": "The standard list filter.",
14975	//       "location": "query",
14976	//       "type": "string"
14977	//     },
14978	//     "name": {
14979	//       "description": "The name of the operation's parent resource.",
14980	//       "location": "path",
14981	//       "pattern": "^projects/[^/]+$",
14982	//       "required": true,
14983	//       "type": "string"
14984	//     },
14985	//     "pageSize": {
14986	//       "description": "The standard list page size.",
14987	//       "format": "int32",
14988	//       "location": "query",
14989	//       "type": "integer"
14990	//     },
14991	//     "pageToken": {
14992	//       "description": "The standard list page token.",
14993	//       "location": "query",
14994	//       "type": "string"
14995	//     }
14996	//   },
14997	//   "path": "v2/{+name}/operations",
14998	//   "response": {
14999	//     "$ref": "GoogleLongrunningListOperationsResponse"
15000	//   },
15001	//   "scopes": [
15002	//     "https://www.googleapis.com/auth/cloud-platform",
15003	//     "https://www.googleapis.com/auth/dialogflow"
15004	//   ]
15005	// }
15006
15007}
15008
15009// Pages invokes f for each page of results.
15010// A non-nil error returned from f will halt the iteration.
15011// The provided context supersedes any context provided to the Context method.
15012func (c *ProjectsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
15013	c.ctx_ = ctx
15014	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
15015	for {
15016		x, err := c.Do()
15017		if err != nil {
15018			return err
15019		}
15020		if err := f(x); err != nil {
15021			return err
15022		}
15023		if x.NextPageToken == "" {
15024			return nil
15025		}
15026		c.PageToken(x.NextPageToken)
15027	}
15028}
15029