1// Copyright 2020 Google LLC.
2// Use of this source code is governed by a BSD-style
3// license that can be found in the LICENSE file.
4
5// Code generated file. DO NOT EDIT.
6
7// Package 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/v3alpha1"
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/v3alpha1"
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	internaloption "google.golang.org/api/option/internaloption"
62	htransport "google.golang.org/api/transport/http"
63)
64
65// Always reference these packages, just in case the auto-generated code
66// below doesn't.
67var _ = bytes.NewBuffer
68var _ = strconv.Itoa
69var _ = fmt.Sprintf
70var _ = json.NewDecoder
71var _ = io.Copy
72var _ = url.Parse
73var _ = gensupport.MarshalJSON
74var _ = googleapi.Version
75var _ = errors.New
76var _ = strings.Replace
77var _ = context.Canceled
78var _ = internaloption.WithDefaultEndpoint
79
80const apiId = "dialogflow:v3alpha1"
81const apiName = "dialogflow"
82const apiVersion = "v3alpha1"
83const basePath = "https://dialogflow.googleapis.com/"
84
85// OAuth2 scopes used by this API.
86const (
87	// View and manage your data across Google Cloud Platform services
88	CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"
89
90	// View, manage and query your Dialogflow agents
91	DialogflowScope = "https://www.googleapis.com/auth/dialogflow"
92)
93
94// NewService creates a new Service.
95func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
96	scopesOption := option.WithScopes(
97		"https://www.googleapis.com/auth/cloud-platform",
98		"https://www.googleapis.com/auth/dialogflow",
99	)
100	// NOTE: prepend, so we don't override user-specified scopes.
101	opts = append([]option.ClientOption{scopesOption}, opts...)
102	opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
103	client, endpoint, err := htransport.NewClient(ctx, opts...)
104	if err != nil {
105		return nil, err
106	}
107	s, err := New(client)
108	if err != nil {
109		return nil, err
110	}
111	if endpoint != "" {
112		s.BasePath = endpoint
113	}
114	return s, nil
115}
116
117// New creates a new Service. It uses the provided http.Client for requests.
118//
119// Deprecated: please use NewService instead.
120// To provide a custom HTTP client, use option.WithHTTPClient.
121// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
122func New(client *http.Client) (*Service, error) {
123	if client == nil {
124		return nil, errors.New("client is nil")
125	}
126	s := &Service{client: client, BasePath: basePath}
127	s.Projects = NewProjectsService(s)
128	return s, nil
129}
130
131type Service struct {
132	client    *http.Client
133	BasePath  string // API endpoint base URL
134	UserAgent string // optional additional User-Agent fragment
135
136	Projects *ProjectsService
137}
138
139func (s *Service) userAgent() string {
140	if s.UserAgent == "" {
141		return googleapi.UserAgent
142	}
143	return googleapi.UserAgent + " " + s.UserAgent
144}
145
146func NewProjectsService(s *Service) *ProjectsService {
147	rs := &ProjectsService{s: s}
148	rs.Locations = NewProjectsLocationsService(s)
149	rs.Operations = NewProjectsOperationsService(s)
150	return rs
151}
152
153type ProjectsService struct {
154	s *Service
155
156	Locations *ProjectsLocationsService
157
158	Operations *ProjectsOperationsService
159}
160
161func NewProjectsLocationsService(s *Service) *ProjectsLocationsService {
162	rs := &ProjectsLocationsService{s: s}
163	rs.Operations = NewProjectsLocationsOperationsService(s)
164	return rs
165}
166
167type ProjectsLocationsService struct {
168	s *Service
169
170	Operations *ProjectsLocationsOperationsService
171}
172
173func NewProjectsLocationsOperationsService(s *Service) *ProjectsLocationsOperationsService {
174	rs := &ProjectsLocationsOperationsService{s: s}
175	return rs
176}
177
178type ProjectsLocationsOperationsService struct {
179	s *Service
180}
181
182func NewProjectsOperationsService(s *Service) *ProjectsOperationsService {
183	rs := &ProjectsOperationsService{s: s}
184	return rs
185}
186
187type ProjectsOperationsService struct {
188	s *Service
189}
190
191// GoogleCloudDialogflowCxV3beta1ExportAgentResponse: The response
192// message for Agents.ExportAgent.
193type GoogleCloudDialogflowCxV3beta1ExportAgentResponse struct {
194	// AgentContent: Uncompressed raw byte content for agent.
195	AgentContent string `json:"agentContent,omitempty"`
196
197	// AgentUri: The URI to a file containing the exported agent. This field
198	// is populated
199	// only if `agent_uri` is specified in ExportAgentRequest.
200	AgentUri string `json:"agentUri,omitempty"`
201
202	// ForceSendFields is a list of field names (e.g. "AgentContent") to
203	// unconditionally include in API requests. By default, fields with
204	// empty values are omitted from API requests. However, any non-pointer,
205	// non-interface field appearing in ForceSendFields will be sent to the
206	// server regardless of whether the field is empty or not. This may be
207	// used to include empty fields in Patch requests.
208	ForceSendFields []string `json:"-"`
209
210	// NullFields is a list of field names (e.g. "AgentContent") to include
211	// in API requests with the JSON null value. By default, fields with
212	// empty values are omitted from API requests. However, any field with
213	// an empty value appearing in NullFields will be sent to the server as
214	// null. It is an error if a field in this list has a non-empty value.
215	// This may be used to include null fields in Patch requests.
216	NullFields []string `json:"-"`
217}
218
219func (s *GoogleCloudDialogflowCxV3beta1ExportAgentResponse) MarshalJSON() ([]byte, error) {
220	type NoMethod GoogleCloudDialogflowCxV3beta1ExportAgentResponse
221	raw := NoMethod(*s)
222	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
223}
224
225// GoogleCloudDialogflowCxV3beta1PageInfo: Represents page information
226// communicated to and from the webhook.
227type GoogleCloudDialogflowCxV3beta1PageInfo struct {
228	// CurrentPage: Always present for WebhookRequest. Ignored for
229	// WebhookResponse.
230	// The unique identifier of the current page.
231	// Format: `projects/<Project ID>/locations/<Location
232	// ID>/agents/<Agent
233	// ID>/flows/<Flow ID>/pages/<Page ID>`.
234	CurrentPage string `json:"currentPage,omitempty"`
235
236	// FormInfo: Optional for both WebhookRequest and
237	// WebhookResponse.
238	// Information about the form.
239	FormInfo *GoogleCloudDialogflowCxV3beta1PageInfoFormInfo `json:"formInfo,omitempty"`
240
241	// NextPage: Deprecated. Please use WebhookResponse.target_page
242	// or
243	// WebhookResponse.target_flow instead.
244	//
245	// Optional for WebhookResponse.
246	// The unique identifier of the next page. This field can be set by
247	// the
248	// webhook to immediately transition to a page different from
249	// `current_page`.
250	// Format: `projects/<Project ID>/locations/<Location
251	// ID>/agents/<Agent
252	// ID>/flows/<Flow ID>/pages/<Page ID>`.
253	NextPage string `json:"nextPage,omitempty"`
254
255	// ForceSendFields is a list of field names (e.g. "CurrentPage") to
256	// unconditionally include in API requests. By default, fields with
257	// empty values are omitted from API requests. However, any non-pointer,
258	// non-interface field appearing in ForceSendFields will be sent to the
259	// server regardless of whether the field is empty or not. This may be
260	// used to include empty fields in Patch requests.
261	ForceSendFields []string `json:"-"`
262
263	// NullFields is a list of field names (e.g. "CurrentPage") to include
264	// in API requests with the JSON null value. By default, fields with
265	// empty values are omitted from API requests. However, any field with
266	// an empty value appearing in NullFields will be sent to the server as
267	// null. It is an error if a field in this list has a non-empty value.
268	// This may be used to include null fields in Patch requests.
269	NullFields []string `json:"-"`
270}
271
272func (s *GoogleCloudDialogflowCxV3beta1PageInfo) MarshalJSON() ([]byte, error) {
273	type NoMethod GoogleCloudDialogflowCxV3beta1PageInfo
274	raw := NoMethod(*s)
275	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
276}
277
278// GoogleCloudDialogflowCxV3beta1PageInfoFormInfo: Represents form
279// information.
280type GoogleCloudDialogflowCxV3beta1PageInfoFormInfo struct {
281	// ParameterInfo: Optional for both WebhookRequest and
282	// WebhookResponse.
283	// The parameters contained in the form. Note that the webhook cannot
284	// add
285	// or remove any form parameter.
286	ParameterInfo []*GoogleCloudDialogflowCxV3beta1PageInfoFormInfoParameterInfo `json:"parameterInfo,omitempty"`
287
288	// State: Always present for WebhookRequest. Ignored for
289	// WebhookResponse.
290	// The current state of the form.
291	//
292	// Possible values:
293	//   "FORM_STATE_UNSPECIFIED" - Not specified. This value should be
294	// never used.
295	//   "INITIALIZING" - The server is initializing the form. The webhook
296	// can process the form
297	// before parameter collection begins.
298	//   "COLLECTING" - The server is collecting form parameters from the
299	// user. The webhook can
300	// modify form parameters that have been collected or are to be
301	// collected.
302	//   "FINALIZED" - The server has collected all required form parameters
303	// from the user.
304	// The webhook can modify collected form parameters. If any
305	// required
306	// parameter is invalidated by the webhook, the form will return to
307	// the
308	// parameter collection state; otherwise, parameter collection
309	// will
310	// conclude.
311	State string `json:"state,omitempty"`
312
313	// ForceSendFields is a list of field names (e.g. "ParameterInfo") to
314	// unconditionally include in API requests. By default, fields with
315	// empty values are omitted from API requests. However, any non-pointer,
316	// non-interface field appearing in ForceSendFields will be sent to the
317	// server regardless of whether the field is empty or not. This may be
318	// used to include empty fields in Patch requests.
319	ForceSendFields []string `json:"-"`
320
321	// NullFields is a list of field names (e.g. "ParameterInfo") to include
322	// in API requests with the JSON null value. By default, fields with
323	// empty values are omitted from API requests. However, any field with
324	// an empty value appearing in NullFields will be sent to the server as
325	// null. It is an error if a field in this list has a non-empty value.
326	// This may be used to include null fields in Patch requests.
327	NullFields []string `json:"-"`
328}
329
330func (s *GoogleCloudDialogflowCxV3beta1PageInfoFormInfo) MarshalJSON() ([]byte, error) {
331	type NoMethod GoogleCloudDialogflowCxV3beta1PageInfoFormInfo
332	raw := NoMethod(*s)
333	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
334}
335
336// GoogleCloudDialogflowCxV3beta1PageInfoFormInfoParameterInfo:
337// Represents parameter information.
338type GoogleCloudDialogflowCxV3beta1PageInfoFormInfoParameterInfo struct {
339	// DisplayName: Always present for WebhookRequest. Required
340	// for
341	// WebhookResponse.
342	// The human-readable name of the parameter, unique within the form.
343	// This
344	// field cannot be modified by the webhook.
345	DisplayName string `json:"displayName,omitempty"`
346
347	// JustCollected: Optional for WebhookRequest. Ignored for
348	// WebhookResponse.
349	// Indicates if the parameter value was just collected on the
350	// last
351	// conversation turn.
352	JustCollected bool `json:"justCollected,omitempty"`
353
354	// Prompt: Not set for WebhookRequest. Optional for WebhookResponse.
355	// The prompt to send to the user to fill a required form parameter.
356	// This
357	// field can be set by the webhook. If set, this field overrides
358	// the
359	// prompt defined for the form parameter.
360	Prompt []*GoogleCloudDialogflowCxV3beta1ResponseMessage `json:"prompt,omitempty"`
361
362	// Required: Optional for both WebhookRequest and
363	// WebhookResponse.
364	// Indicates whether the parameter is required. Optional parameters
365	// will
366	// not trigger prompts; however, they are filled if the user
367	// specifies
368	// them. Required parameters must be filled before form filling
369	// concludes.
370	Required bool `json:"required,omitempty"`
371
372	// State: Always present for WebhookRequest. Required
373	// for
374	// WebhookResponse. The state of the parameter. This field can be set
375	// to INVALID by
376	// the webhook to invalidate the parameter; other values set by
377	// the
378	// webhook will be ignored.
379	//
380	// Possible values:
381	//   "PARAMETER_STATE_UNSPECIFIED" - Not specified. This value should be
382	// never used.
383	//   "EMPTY" - Indicates that the parameter does not have a value.
384	//   "INVALID" - Indicates that the parameter value is invalid. This
385	// field can be used
386	// by the webhook to invalidate the parameter and ask the server
387	// to
388	// collect it from the user again.
389	//   "FILLED" - Indicates that the parameter has a value.
390	State string `json:"state,omitempty"`
391
392	// Value: Optional for both WebhookRequest and WebhookResponse.
393	// The value of the parameter. This field can be set by the webhook
394	// to
395	// change the parameter value.
396	Value interface{} `json:"value,omitempty"`
397
398	// ForceSendFields is a list of field names (e.g. "DisplayName") to
399	// unconditionally include in API requests. By default, fields with
400	// empty values are omitted from API requests. However, any non-pointer,
401	// non-interface field appearing in ForceSendFields will be sent to the
402	// server regardless of whether the field is empty or not. This may be
403	// used to include empty fields in Patch requests.
404	ForceSendFields []string `json:"-"`
405
406	// NullFields is a list of field names (e.g. "DisplayName") to include
407	// in API requests with the JSON null value. By default, fields with
408	// empty values are omitted from API requests. However, any field with
409	// an empty value appearing in NullFields will be sent to the server as
410	// null. It is an error if a field in this list has a non-empty value.
411	// This may be used to include null fields in Patch requests.
412	NullFields []string `json:"-"`
413}
414
415func (s *GoogleCloudDialogflowCxV3beta1PageInfoFormInfoParameterInfo) MarshalJSON() ([]byte, error) {
416	type NoMethod GoogleCloudDialogflowCxV3beta1PageInfoFormInfoParameterInfo
417	raw := NoMethod(*s)
418	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
419}
420
421// GoogleCloudDialogflowCxV3beta1ResponseMessage: Represents a response
422// message that can be returned by a conversational agent.
423//
424// Response messages are also used for output audio synthesis. The
425// approach is
426// as follows:
427//
428// * If at least one OutputAudioText response is present, then all
429//   OutputAudioText responses are linearly concatenated, and the result
430// is used
431//   for output audio synthesis.
432// * If the OutputAudioText responses are a mixture of text and SSML,
433// then the
434//   concatenated result is treated as SSML; otherwise, the result is
435// treated as
436//   either text or SSML as appropriate. The agent designer should
437// ideally use
438//   either text or SSML consistently throughout the bot design.
439// * Otherwise, all Text responses are linearly concatenated, and the
440// result is
441//   used for output audio synthesis.
442//
443// This approach allows for more sophisticated user experience
444// scenarios, where
445// the text displayed to the user may differ from what is heard.
446type GoogleCloudDialogflowCxV3beta1ResponseMessage struct {
447	// ConversationSuccess: Indicates that the conversation succeeded.
448	ConversationSuccess *GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccess `json:"conversationSuccess,omitempty"`
449
450	// HumanAgentHandoff: Hands off conversation to a human agent.
451	HumanAgentHandoff *GoogleCloudDialogflowCxV3beta1ResponseMessageHumanAgentHandoff `json:"humanAgentHandoff,omitempty"`
452
453	// Payload: Returns a response containing a custom, platform-specific
454	// payload.
455	Payload googleapi.RawMessage `json:"payload,omitempty"`
456
457	// Text: Returns a text response.
458	Text *GoogleCloudDialogflowCxV3beta1ResponseMessageText `json:"text,omitempty"`
459
460	// ForceSendFields is a list of field names (e.g. "ConversationSuccess")
461	// to unconditionally include in API requests. By default, fields with
462	// empty values are omitted from API requests. However, any non-pointer,
463	// non-interface field appearing in ForceSendFields will be sent to the
464	// server regardless of whether the field is empty or not. This may be
465	// used to include empty fields in Patch requests.
466	ForceSendFields []string `json:"-"`
467
468	// NullFields is a list of field names (e.g. "ConversationSuccess") to
469	// include in API requests with the JSON null value. By default, fields
470	// with empty values are omitted from API requests. However, any field
471	// with an empty value appearing in NullFields will be sent to the
472	// server as null. It is an error if a field in this list has a
473	// non-empty value. This may be used to include null fields in Patch
474	// requests.
475	NullFields []string `json:"-"`
476}
477
478func (s *GoogleCloudDialogflowCxV3beta1ResponseMessage) MarshalJSON() ([]byte, error) {
479	type NoMethod GoogleCloudDialogflowCxV3beta1ResponseMessage
480	raw := NoMethod(*s)
481	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
482}
483
484// GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccess:
485// Indicates that the conversation succeeded, i.e., the bot handled the
486// issue
487// that the customer talked to it about.
488//
489// Dialogflow only uses this to determine which conversations should
490// be
491// counted as successful and doesn't process the metadata in this
492// message in
493// any way. Note that Dialogflow also considers conversations that get
494// to the
495// conversation end page as successful even if they don't
496// return
497// ConversationSuccess.
498//
499// You may set this, for example:
500// * In the entry_fulfillment of a Page if
501//   entering the page indicates that the conversation succeeded.
502// * In a webhook response when you determine that you handled the
503// customer
504//   issue.
505type GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccess struct {
506	// Metadata: Custom metadata. Dialogflow doesn't impose any structure on
507	// this.
508	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
509
510	// ForceSendFields is a list of field names (e.g. "Metadata") to
511	// unconditionally include in API requests. By default, fields with
512	// empty values are omitted from API requests. However, any non-pointer,
513	// non-interface field appearing in ForceSendFields will be sent to the
514	// server regardless of whether the field is empty or not. This may be
515	// used to include empty fields in Patch requests.
516	ForceSendFields []string `json:"-"`
517
518	// NullFields is a list of field names (e.g. "Metadata") to include in
519	// API requests with the JSON null value. By default, fields with empty
520	// values are omitted from API requests. However, any field with an
521	// empty value appearing in NullFields will be sent to the server as
522	// null. It is an error if a field in this list has a non-empty value.
523	// This may be used to include null fields in Patch requests.
524	NullFields []string `json:"-"`
525}
526
527func (s *GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccess) MarshalJSON() ([]byte, error) {
528	type NoMethod GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccess
529	raw := NoMethod(*s)
530	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
531}
532
533// GoogleCloudDialogflowCxV3beta1ResponseMessageHumanAgentHandoff:
534// Indicates that the conversation should be handed off to a human
535// agent.
536//
537// Dialogflow only uses this to determine which conversations were
538// handed off
539// to a human agent for measurement purposes. What else to do with this
540// signal
541// is up to you and your handoff procedures.
542//
543// You may set this, for example:
544// * In the entry_fulfillment of a Page if
545//   entering the page indicates something went extremely wrong in the
546//   conversation.
547// * In a webhook response when you determine that the customer issue
548// can only
549//   be handled by a human.
550type GoogleCloudDialogflowCxV3beta1ResponseMessageHumanAgentHandoff struct {
551	// Metadata: Custom metadata for your handoff procedure. Dialogflow
552	// doesn't impose
553	// any structure on this.
554	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
555
556	// ForceSendFields is a list of field names (e.g. "Metadata") to
557	// unconditionally include in API requests. By default, fields with
558	// empty values are omitted from API requests. However, any non-pointer,
559	// non-interface field appearing in ForceSendFields will be sent to the
560	// server regardless of whether the field is empty or not. This may be
561	// used to include empty fields in Patch requests.
562	ForceSendFields []string `json:"-"`
563
564	// NullFields is a list of field names (e.g. "Metadata") to include in
565	// API requests with the JSON null value. By default, fields with empty
566	// values are omitted from API requests. However, any field with an
567	// empty value appearing in NullFields will be sent to the server as
568	// null. It is an error if a field in this list has a non-empty value.
569	// This may be used to include null fields in Patch requests.
570	NullFields []string `json:"-"`
571}
572
573func (s *GoogleCloudDialogflowCxV3beta1ResponseMessageHumanAgentHandoff) MarshalJSON() ([]byte, error) {
574	type NoMethod GoogleCloudDialogflowCxV3beta1ResponseMessageHumanAgentHandoff
575	raw := NoMethod(*s)
576	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
577}
578
579// GoogleCloudDialogflowCxV3beta1ResponseMessageText: The text response
580// message.
581type GoogleCloudDialogflowCxV3beta1ResponseMessageText struct {
582	// Text: A collection of text responses.
583	Text []string `json:"text,omitempty"`
584
585	// ForceSendFields is a list of field names (e.g. "Text") to
586	// unconditionally include in API requests. By default, fields with
587	// empty values are omitted from API requests. However, any non-pointer,
588	// non-interface field appearing in ForceSendFields will be sent to the
589	// server regardless of whether the field is empty or not. This may be
590	// used to include empty fields in Patch requests.
591	ForceSendFields []string `json:"-"`
592
593	// NullFields is a list of field names (e.g. "Text") to include in API
594	// requests with the JSON null value. By default, fields with empty
595	// values are omitted from API requests. However, any field with an
596	// empty value appearing in NullFields will be sent to the server as
597	// null. It is an error if a field in this list has a non-empty value.
598	// This may be used to include null fields in Patch requests.
599	NullFields []string `json:"-"`
600}
601
602func (s *GoogleCloudDialogflowCxV3beta1ResponseMessageText) MarshalJSON() ([]byte, error) {
603	type NoMethod GoogleCloudDialogflowCxV3beta1ResponseMessageText
604	raw := NoMethod(*s)
605	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
606}
607
608// GoogleCloudDialogflowCxV3beta1SessionInfo: Represents session
609// information communicated to and from the webhook.
610type GoogleCloudDialogflowCxV3beta1SessionInfo struct {
611	// Parameters: Optional for WebhookRequest. Optional for
612	// WebhookResponse.
613	// All parameters collected from forms and intents during the
614	// session.
615	// Parameters can be created, updated, or removed by the webhook. To
616	// remove a
617	// parameter from the session, the webhook should explicitly set the
618	// parameter
619	// value to null in WebhookResponse. The map is keyed by
620	// parameters'
621	// display names.
622	Parameters googleapi.RawMessage `json:"parameters,omitempty"`
623
624	// Session: Always present for WebhookRequest. Ignored for
625	// WebhookResponse.
626	// The unique identifier of the session. This
627	// field can be used by the webhook to identify a user.
628	// Format: `projects/<Project ID>/locations/<Location
629	// ID>/agents/<Agent
630	// ID>/sessions/<Session ID>`.
631	Session string `json:"session,omitempty"`
632
633	// ForceSendFields is a list of field names (e.g. "Parameters") to
634	// unconditionally include in API requests. By default, fields with
635	// empty values are omitted from API requests. However, any non-pointer,
636	// non-interface field appearing in ForceSendFields will be sent to the
637	// server regardless of whether the field is empty or not. This may be
638	// used to include empty fields in Patch requests.
639	ForceSendFields []string `json:"-"`
640
641	// NullFields is a list of field names (e.g. "Parameters") to include in
642	// API requests with the JSON null value. By default, fields with empty
643	// values are omitted from API requests. However, any field with an
644	// empty value appearing in NullFields will be sent to the server as
645	// null. It is an error if a field in this list has a non-empty value.
646	// This may be used to include null fields in Patch requests.
647	NullFields []string `json:"-"`
648}
649
650func (s *GoogleCloudDialogflowCxV3beta1SessionInfo) MarshalJSON() ([]byte, error) {
651	type NoMethod GoogleCloudDialogflowCxV3beta1SessionInfo
652	raw := NoMethod(*s)
653	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
654}
655
656// GoogleCloudDialogflowCxV3beta1WebhookRequest: The request message for
657// a webhook call.
658type GoogleCloudDialogflowCxV3beta1WebhookRequest struct {
659	// DetectIntentResponseId: Always present. The unique identifier of the
660	// DetectIntentResponse that
661	// will be returned to the API caller.
662	DetectIntentResponseId string `json:"detectIntentResponseId,omitempty"`
663
664	// FulfillmentInfo: Always present. Information about the fulfillment
665	// that triggered this
666	// webhook call.
667	FulfillmentInfo *GoogleCloudDialogflowCxV3beta1WebhookRequestFulfillmentInfo `json:"fulfillmentInfo,omitempty"`
668
669	// IntentInfo: Information about the last matched intent.
670	IntentInfo *GoogleCloudDialogflowCxV3beta1WebhookRequestIntentInfo `json:"intentInfo,omitempty"`
671
672	// Messages: The list of rich message responses to present to the user.
673	// Webhook can
674	// choose to append or replace this list
675	// in
676	// WebhookResponse.fulfillment_response;
677	Messages []*GoogleCloudDialogflowCxV3beta1ResponseMessage `json:"messages,omitempty"`
678
679	// PageInfo: Information about page status.
680	PageInfo *GoogleCloudDialogflowCxV3beta1PageInfo `json:"pageInfo,omitempty"`
681
682	// Payload: Custom data set in QueryParameters.payload.
683	Payload googleapi.RawMessage `json:"payload,omitempty"`
684
685	// SessionInfo: Information about session status.
686	SessionInfo *GoogleCloudDialogflowCxV3beta1SessionInfo `json:"sessionInfo,omitempty"`
687
688	// ForceSendFields is a list of field names (e.g.
689	// "DetectIntentResponseId") to unconditionally include in API requests.
690	// By default, fields with empty values are omitted from API requests.
691	// However, any non-pointer, non-interface field appearing in
692	// ForceSendFields will be sent to the server regardless of whether the
693	// field is empty or not. This may be used to include empty fields in
694	// Patch requests.
695	ForceSendFields []string `json:"-"`
696
697	// NullFields is a list of field names (e.g. "DetectIntentResponseId")
698	// to include in API requests with the JSON null value. By default,
699	// fields with empty values are omitted from API requests. However, any
700	// field with an empty value appearing in NullFields will be sent to the
701	// server as null. It is an error if a field in this list has a
702	// non-empty value. This may be used to include null fields in Patch
703	// requests.
704	NullFields []string `json:"-"`
705}
706
707func (s *GoogleCloudDialogflowCxV3beta1WebhookRequest) MarshalJSON() ([]byte, error) {
708	type NoMethod GoogleCloudDialogflowCxV3beta1WebhookRequest
709	raw := NoMethod(*s)
710	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
711}
712
713// GoogleCloudDialogflowCxV3beta1WebhookRequestFulfillmentInfo:
714// Represents fulfillment information communicated to the webhook.
715type GoogleCloudDialogflowCxV3beta1WebhookRequestFulfillmentInfo struct {
716	// Tag: Always present. The tag used to identify which fulfillment is
717	// being
718	// called.
719	Tag string `json:"tag,omitempty"`
720
721	// ForceSendFields is a list of field names (e.g. "Tag") to
722	// unconditionally include in API requests. By default, fields with
723	// empty values are omitted from API requests. However, any non-pointer,
724	// non-interface field appearing in ForceSendFields will be sent to the
725	// server regardless of whether the field is empty or not. This may be
726	// used to include empty fields in Patch requests.
727	ForceSendFields []string `json:"-"`
728
729	// NullFields is a list of field names (e.g. "Tag") to include in API
730	// requests with the JSON null value. By default, fields with empty
731	// values are omitted from API requests. However, any field with an
732	// empty value appearing in NullFields will be sent to the server as
733	// null. It is an error if a field in this list has a non-empty value.
734	// This may be used to include null fields in Patch requests.
735	NullFields []string `json:"-"`
736}
737
738func (s *GoogleCloudDialogflowCxV3beta1WebhookRequestFulfillmentInfo) MarshalJSON() ([]byte, error) {
739	type NoMethod GoogleCloudDialogflowCxV3beta1WebhookRequestFulfillmentInfo
740	raw := NoMethod(*s)
741	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
742}
743
744// GoogleCloudDialogflowCxV3beta1WebhookRequestIntentInfo: Represents
745// intent information communicated to the webhook.
746type GoogleCloudDialogflowCxV3beta1WebhookRequestIntentInfo struct {
747	// LastMatchedIntent: Always present. The unique identifier of the last
748	// matched
749	// intent. Format: `projects/<Project
750	// ID>/locations/<Location
751	// ID>/agents/<Agent ID>/intents/<Intent ID>`.
752	LastMatchedIntent string `json:"lastMatchedIntent,omitempty"`
753
754	// Parameters: Parameters identified as a result of intent matching.
755	// This is a map of
756	// the name of the identified parameter to the value of the
757	// parameter
758	// identified from the user's utterance. All parameters defined in
759	// the
760	// matched intent that are identified will be surfaced here.
761	Parameters map[string]GoogleCloudDialogflowCxV3beta1WebhookRequestIntentInfoIntentParameterValue `json:"parameters,omitempty"`
762
763	// ForceSendFields is a list of field names (e.g. "LastMatchedIntent")
764	// to unconditionally include in API requests. By default, fields with
765	// empty values are omitted from API requests. However, any non-pointer,
766	// non-interface field appearing in ForceSendFields will be sent to the
767	// server regardless of whether the field is empty or not. This may be
768	// used to include empty fields in Patch requests.
769	ForceSendFields []string `json:"-"`
770
771	// NullFields is a list of field names (e.g. "LastMatchedIntent") to
772	// include in API requests with the JSON null value. By default, fields
773	// with empty values are omitted from API requests. However, any field
774	// with an empty value appearing in NullFields will be sent to the
775	// server as null. It is an error if a field in this list has a
776	// non-empty value. This may be used to include null fields in Patch
777	// requests.
778	NullFields []string `json:"-"`
779}
780
781func (s *GoogleCloudDialogflowCxV3beta1WebhookRequestIntentInfo) MarshalJSON() ([]byte, error) {
782	type NoMethod GoogleCloudDialogflowCxV3beta1WebhookRequestIntentInfo
783	raw := NoMethod(*s)
784	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
785}
786
787// GoogleCloudDialogflowCxV3beta1WebhookRequestIntentInfoIntentParameterV
788// alue: Represents a value for an intent parameter.
789type GoogleCloudDialogflowCxV3beta1WebhookRequestIntentInfoIntentParameterValue struct {
790	// OriginalValue: Always present. Original text value extracted from
791	// user utterance.
792	OriginalValue string `json:"originalValue,omitempty"`
793
794	// ResolvedValue: Always present. Structured value for the parameter
795	// extracted from user
796	// utterance.
797	ResolvedValue interface{} `json:"resolvedValue,omitempty"`
798
799	// ForceSendFields is a list of field names (e.g. "OriginalValue") to
800	// unconditionally include in API requests. By default, fields with
801	// empty values are omitted from API requests. However, any non-pointer,
802	// non-interface field appearing in ForceSendFields will be sent to the
803	// server regardless of whether the field is empty or not. This may be
804	// used to include empty fields in Patch requests.
805	ForceSendFields []string `json:"-"`
806
807	// NullFields is a list of field names (e.g. "OriginalValue") to include
808	// in API requests with the JSON null value. By default, fields with
809	// empty values are omitted from API requests. However, any field with
810	// an empty value appearing in NullFields will be sent to the server as
811	// null. It is an error if a field in this list has a non-empty value.
812	// This may be used to include null fields in Patch requests.
813	NullFields []string `json:"-"`
814}
815
816func (s *GoogleCloudDialogflowCxV3beta1WebhookRequestIntentInfoIntentParameterValue) MarshalJSON() ([]byte, error) {
817	type NoMethod GoogleCloudDialogflowCxV3beta1WebhookRequestIntentInfoIntentParameterValue
818	raw := NoMethod(*s)
819	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
820}
821
822// GoogleCloudDialogflowCxV3beta1WebhookResponse: The response message
823// for a webhook call.
824type GoogleCloudDialogflowCxV3beta1WebhookResponse struct {
825	// FulfillmentResponse: The fulfillment response to send to the user.
826	// This field can be omitted by
827	// the webhook if it does not intend to send any response to the user.
828	FulfillmentResponse *GoogleCloudDialogflowCxV3beta1WebhookResponseFulfillmentResponse `json:"fulfillmentResponse,omitempty"`
829
830	// PageInfo: Information about page status. This field can be omitted by
831	// the webhook if
832	// it does not intend to modify page status.
833	PageInfo *GoogleCloudDialogflowCxV3beta1PageInfo `json:"pageInfo,omitempty"`
834
835	// Payload: Value to append directly to QueryResult.webhook_payloads.
836	Payload googleapi.RawMessage `json:"payload,omitempty"`
837
838	// SessionInfo: Information about session status. This field can be
839	// omitted by the webhook
840	// if it does not intend to modify session status.
841	SessionInfo *GoogleCloudDialogflowCxV3beta1SessionInfo `json:"sessionInfo,omitempty"`
842
843	// TargetFlow: The target flow to transition to.
844	// Format: `projects/<Project ID>/locations/<Location
845	// ID>/agents/<Agent
846	// ID>/flows/<Flow ID>`.
847	TargetFlow string `json:"targetFlow,omitempty"`
848
849	// TargetPage: The target page to transition to.
850	// Format: `projects/<Project ID>/locations/<Location
851	// ID>/agents/<Agent
852	// ID>/flows/<Flow ID>/pages/<Page ID>`.
853	TargetPage string `json:"targetPage,omitempty"`
854
855	// ForceSendFields is a list of field names (e.g. "FulfillmentResponse")
856	// to unconditionally include in API requests. By default, fields with
857	// empty values are omitted from API requests. However, any non-pointer,
858	// non-interface field appearing in ForceSendFields will be sent to the
859	// server regardless of whether the field is empty or not. This may be
860	// used to include empty fields in Patch requests.
861	ForceSendFields []string `json:"-"`
862
863	// NullFields is a list of field names (e.g. "FulfillmentResponse") to
864	// include in API requests with the JSON null value. By default, fields
865	// with empty values are omitted from API requests. However, any field
866	// with an empty value appearing in NullFields will be sent to the
867	// server as null. It is an error if a field in this list has a
868	// non-empty value. This may be used to include null fields in Patch
869	// requests.
870	NullFields []string `json:"-"`
871}
872
873func (s *GoogleCloudDialogflowCxV3beta1WebhookResponse) MarshalJSON() ([]byte, error) {
874	type NoMethod GoogleCloudDialogflowCxV3beta1WebhookResponse
875	raw := NoMethod(*s)
876	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
877}
878
879// GoogleCloudDialogflowCxV3beta1WebhookResponseFulfillmentResponse:
880// Represents a fulfillment response to the user.
881type GoogleCloudDialogflowCxV3beta1WebhookResponseFulfillmentResponse struct {
882	// MergeBehavior: Merge behavior for `messages`.
883	//
884	// Possible values:
885	//   "MERGE_BEHAVIOR_UNSPECIFIED" - Not specified. `APPEND` will be
886	// used.
887	//   "APPEND" - `messages` will be appended to the list of messages
888	// waiting to be sent
889	// to the user.
890	//   "REPLACE" - `messages` will replace the list of messages waiting to
891	// be sent to the
892	// user.
893	MergeBehavior string `json:"mergeBehavior,omitempty"`
894
895	// Messages: The list of rich message responses to present to the user.
896	Messages []*GoogleCloudDialogflowCxV3beta1ResponseMessage `json:"messages,omitempty"`
897
898	// ForceSendFields is a list of field names (e.g. "MergeBehavior") to
899	// unconditionally include in API requests. By default, fields with
900	// empty values are omitted from API requests. However, any non-pointer,
901	// non-interface field appearing in ForceSendFields will be sent to the
902	// server regardless of whether the field is empty or not. This may be
903	// used to include empty fields in Patch requests.
904	ForceSendFields []string `json:"-"`
905
906	// NullFields is a list of field names (e.g. "MergeBehavior") to include
907	// in API requests with the JSON null value. By default, fields with
908	// empty values are omitted from API requests. However, any field with
909	// an empty value appearing in NullFields will be sent to the server as
910	// null. It is an error if a field in this list has a non-empty value.
911	// This may be used to include null fields in Patch requests.
912	NullFields []string `json:"-"`
913}
914
915func (s *GoogleCloudDialogflowCxV3beta1WebhookResponseFulfillmentResponse) MarshalJSON() ([]byte, error) {
916	type NoMethod GoogleCloudDialogflowCxV3beta1WebhookResponseFulfillmentResponse
917	raw := NoMethod(*s)
918	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
919}
920
921// GoogleCloudDialogflowV2AnnotatedMessagePart: Represents a part of a
922// message possibly annotated with an entity. The part
923// can be an entity or purely a part of the message between two entities
924// or
925// message start/end.
926type GoogleCloudDialogflowV2AnnotatedMessagePart struct {
927	// EntityType: The [Dialogflow system
928	// entity
929	// type](https://cloud.google.com/dialogflow/docs/reference/system
930	// -entities)
931	// of this message part. If this is empty, Dialogflow could not annotate
932	// the
933	// phrase part with a system entity.
934	EntityType string `json:"entityType,omitempty"`
935
936	// FormattedValue: The [Dialogflow system entity formatted
937	// value
938	// ](https://cloud.google.com/dialogflow/docs/reference/system-enti
939	// ties) of
940	// this message part. For example for a system entity of
941	// type
942	// `@sys.unit-currency`, this may contain:
943	// <pre>
944	// {
945	//   "amount": 5,
946	//   "currency": "USD"
947	// }
948	// </pre>
949	FormattedValue interface{} `json:"formattedValue,omitempty"`
950
951	// Text: A part of a message possibly annotated with an entity.
952	Text string `json:"text,omitempty"`
953
954	// ForceSendFields is a list of field names (e.g. "EntityType") to
955	// unconditionally include in API requests. By default, fields with
956	// empty values are omitted from API requests. However, any non-pointer,
957	// non-interface field appearing in ForceSendFields will be sent to the
958	// server regardless of whether the field is empty or not. This may be
959	// used to include empty fields in Patch requests.
960	ForceSendFields []string `json:"-"`
961
962	// NullFields is a list of field names (e.g. "EntityType") to include in
963	// API requests with the JSON null value. By default, fields with empty
964	// values are omitted from API requests. However, any field with an
965	// empty value appearing in NullFields will be sent to the server as
966	// null. It is an error if a field in this list has a non-empty value.
967	// This may be used to include null fields in Patch requests.
968	NullFields []string `json:"-"`
969}
970
971func (s *GoogleCloudDialogflowV2AnnotatedMessagePart) MarshalJSON() ([]byte, error) {
972	type NoMethod GoogleCloudDialogflowV2AnnotatedMessagePart
973	raw := NoMethod(*s)
974	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
975}
976
977// GoogleCloudDialogflowV2BatchUpdateEntityTypesResponse: The response
978// message for EntityTypes.BatchUpdateEntityTypes.
979type GoogleCloudDialogflowV2BatchUpdateEntityTypesResponse struct {
980	// EntityTypes: The collection of updated or created entity types.
981	EntityTypes []*GoogleCloudDialogflowV2EntityType `json:"entityTypes,omitempty"`
982
983	// ForceSendFields is a list of field names (e.g. "EntityTypes") to
984	// unconditionally include in API requests. By default, fields with
985	// empty values are omitted from API requests. However, any non-pointer,
986	// non-interface field appearing in ForceSendFields will be sent to the
987	// server regardless of whether the field is empty or not. This may be
988	// used to include empty fields in Patch requests.
989	ForceSendFields []string `json:"-"`
990
991	// NullFields is a list of field names (e.g. "EntityTypes") to include
992	// in API requests with the JSON null value. By default, fields with
993	// empty values are omitted from API requests. However, any field with
994	// an empty value appearing in NullFields will be sent to the server as
995	// null. It is an error if a field in this list has a non-empty value.
996	// This may be used to include null fields in Patch requests.
997	NullFields []string `json:"-"`
998}
999
1000func (s *GoogleCloudDialogflowV2BatchUpdateEntityTypesResponse) MarshalJSON() ([]byte, error) {
1001	type NoMethod GoogleCloudDialogflowV2BatchUpdateEntityTypesResponse
1002	raw := NoMethod(*s)
1003	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1004}
1005
1006// GoogleCloudDialogflowV2BatchUpdateIntentsResponse: The response
1007// message for Intents.BatchUpdateIntents.
1008type GoogleCloudDialogflowV2BatchUpdateIntentsResponse struct {
1009	// Intents: The collection of updated or created intents.
1010	Intents []*GoogleCloudDialogflowV2Intent `json:"intents,omitempty"`
1011
1012	// ForceSendFields is a list of field names (e.g. "Intents") to
1013	// unconditionally include in API requests. By default, fields with
1014	// empty values are omitted from API requests. However, any non-pointer,
1015	// non-interface field appearing in ForceSendFields will be sent to the
1016	// server regardless of whether the field is empty or not. This may be
1017	// used to include empty fields in Patch requests.
1018	ForceSendFields []string `json:"-"`
1019
1020	// NullFields is a list of field names (e.g. "Intents") to include in
1021	// API requests with the JSON null value. By default, fields with empty
1022	// values are omitted from API requests. However, any field with an
1023	// empty value appearing in NullFields will be sent to the server as
1024	// null. It is an error if a field in this list has a non-empty value.
1025	// This may be used to include null fields in Patch requests.
1026	NullFields []string `json:"-"`
1027}
1028
1029func (s *GoogleCloudDialogflowV2BatchUpdateIntentsResponse) MarshalJSON() ([]byte, error) {
1030	type NoMethod GoogleCloudDialogflowV2BatchUpdateIntentsResponse
1031	raw := NoMethod(*s)
1032	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1033}
1034
1035// GoogleCloudDialogflowV2Context: Represents a context.
1036type GoogleCloudDialogflowV2Context struct {
1037	// LifespanCount: Optional. The number of conversational query requests
1038	// after which the
1039	// context expires. The default is `0`. If set to `0`, the context
1040	// expires
1041	// immediately. Contexts expire automatically after 20 minutes if
1042	// there
1043	// are no matching queries.
1044	LifespanCount int64 `json:"lifespanCount,omitempty"`
1045
1046	// Name: Required. The unique identifier of the context.
1047	// Format:
1048	// `projects/<Project ID>/agent/sessions/<Session ID>/contexts/<Context
1049	// ID>`,
1050	// or `projects/<Project ID>/agent/environments/<Environment
1051	// ID>/users/<User
1052	// ID>/sessions/<Session ID>/contexts/<Context ID>`.
1053	//
1054	// The `Context ID` is always converted to lowercase, may only
1055	// contain
1056	// characters in a-zA-Z0-9_-% and may be at most 250 bytes long.
1057	//
1058	// If `Environment ID` is not specified, we assume default
1059	// 'draft'
1060	// environment. If `User ID` is not specified, we assume default '-'
1061	// user.
1062	//
1063	// The following context names are reserved for internal use by
1064	// Dialogflow.
1065	// You should not use these contexts or create contexts with these
1066	// names:
1067	//
1068	// * `__system_counters__`
1069	// * `*_id_dialog_context`
1070	// * `*_dialog_params_size`
1071	Name string `json:"name,omitempty"`
1072
1073	// Parameters: Optional. The collection of parameters associated with
1074	// this context.
1075	//
1076	// Depending on your protocol or client library language, this is a
1077	// map, associative array, symbol table, dictionary, or JSON
1078	// object
1079	// composed of a collection of (MapKey, MapValue) pairs:
1080	//
1081	// -   MapKey type: string
1082	// -   MapKey value: parameter name
1083	// -   MapValue type:
1084	//     -   If parameter's entity type is a composite entity: map
1085	//     -   Else: string or number, depending on parameter value type
1086	// -   MapValue value:
1087	//     -   If parameter's entity type is a composite entity:
1088	//         map from composite entity property names to property values
1089	//     -   Else: parameter value
1090	Parameters googleapi.RawMessage `json:"parameters,omitempty"`
1091
1092	// ForceSendFields is a list of field names (e.g. "LifespanCount") to
1093	// unconditionally include in API requests. By default, fields with
1094	// empty values are omitted from API requests. However, any non-pointer,
1095	// non-interface field appearing in ForceSendFields will be sent to the
1096	// server regardless of whether the field is empty or not. This may be
1097	// used to include empty fields in Patch requests.
1098	ForceSendFields []string `json:"-"`
1099
1100	// NullFields is a list of field names (e.g. "LifespanCount") to include
1101	// in API requests with the JSON null value. By default, fields with
1102	// empty values are omitted from API requests. However, any field with
1103	// an empty value appearing in NullFields will be sent to the server as
1104	// null. It is an error if a field in this list has a non-empty value.
1105	// This may be used to include null fields in Patch requests.
1106	NullFields []string `json:"-"`
1107}
1108
1109func (s *GoogleCloudDialogflowV2Context) MarshalJSON() ([]byte, error) {
1110	type NoMethod GoogleCloudDialogflowV2Context
1111	raw := NoMethod(*s)
1112	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1113}
1114
1115// GoogleCloudDialogflowV2ConversationEvent: Represents a notification
1116// sent to Cloud Pub/Sub subscribers for conversation
1117// lifecycle events.
1118type GoogleCloudDialogflowV2ConversationEvent struct {
1119	// Conversation: The unique identifier of the conversation this
1120	// notification
1121	// refers to.
1122	// Format: `projects/<Project ID>/conversations/<Conversation ID>`.
1123	Conversation string `json:"conversation,omitempty"`
1124
1125	// ErrorStatus: More detailed information about an error. Only set for
1126	// type
1127	// UNRECOVERABLE_ERROR_IN_PHONE_CALL.
1128	ErrorStatus *GoogleRpcStatus `json:"errorStatus,omitempty"`
1129
1130	// NewMessagePayload: Payload of NEW_MESSAGE event.
1131	NewMessagePayload *GoogleCloudDialogflowV2Message `json:"newMessagePayload,omitempty"`
1132
1133	// Type: The type of the event that this notification refers to.
1134	//
1135	// Possible values:
1136	//   "TYPE_UNSPECIFIED" - Type not set.
1137	//   "CONVERSATION_STARTED" - A new conversation has been opened. This
1138	// is fired when a telephone call
1139	// is answered, or a conversation is created via the API.
1140	//   "CONVERSATION_FINISHED" - An existing conversation has closed. This
1141	// is fired when a telephone call
1142	// is terminated, or a conversation is closed via the API.
1143	//   "HUMAN_INTERVENTION_NEEDED" - An existing conversation has received
1144	// notification from Dialogflow that
1145	// human intervention is required.
1146	//   "NEW_MESSAGE" - An existing conversation has received a new
1147	// message, either from API or
1148	// telephony. It is configured
1149	// in
1150	// ConversationProfile.new_message_event_notification_config
1151	//   "UNRECOVERABLE_ERROR" - Unrecoverable error during a telephone
1152	// call.
1153	//
1154	// In general non-recoverable errors only occur if something
1155	// was
1156	// misconfigured in the ConversationProfile corresponding to the call.
1157	// After
1158	// a non-recoverable error, Dialogflow may stop responding.
1159	//
1160	// We don't fire this event:
1161	// * in an API call because we can directly return the error, or,
1162	// * when we can recover from an error.
1163	Type string `json:"type,omitempty"`
1164
1165	// ForceSendFields is a list of field names (e.g. "Conversation") to
1166	// unconditionally include in API requests. By default, fields with
1167	// empty values are omitted from API requests. However, any non-pointer,
1168	// non-interface field appearing in ForceSendFields will be sent to the
1169	// server regardless of whether the field is empty or not. This may be
1170	// used to include empty fields in Patch requests.
1171	ForceSendFields []string `json:"-"`
1172
1173	// NullFields is a list of field names (e.g. "Conversation") to include
1174	// in API requests with the JSON null value. By default, fields with
1175	// empty values are omitted from API requests. However, any field with
1176	// an empty value appearing in NullFields will be sent to the server as
1177	// null. It is an error if a field in this list has a non-empty value.
1178	// This may be used to include null fields in Patch requests.
1179	NullFields []string `json:"-"`
1180}
1181
1182func (s *GoogleCloudDialogflowV2ConversationEvent) MarshalJSON() ([]byte, error) {
1183	type NoMethod GoogleCloudDialogflowV2ConversationEvent
1184	raw := NoMethod(*s)
1185	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1186}
1187
1188// GoogleCloudDialogflowV2EntityType: Represents an entity type.
1189// Entity types serve as a tool for extracting parameter values from
1190// natural
1191// language queries.
1192type GoogleCloudDialogflowV2EntityType struct {
1193	// AutoExpansionMode: Optional. Indicates whether the entity type can be
1194	// automatically
1195	// expanded.
1196	//
1197	// Possible values:
1198	//   "AUTO_EXPANSION_MODE_UNSPECIFIED" - Auto expansion disabled for the
1199	// entity.
1200	//   "AUTO_EXPANSION_MODE_DEFAULT" - Allows an agent to recognize values
1201	// that have not been explicitly
1202	// listed in the entity.
1203	AutoExpansionMode string `json:"autoExpansionMode,omitempty"`
1204
1205	// DisplayName: Required. The name of the entity type.
1206	DisplayName string `json:"displayName,omitempty"`
1207
1208	// EnableFuzzyExtraction: Optional. Enables fuzzy entity extraction
1209	// during classification.
1210	EnableFuzzyExtraction bool `json:"enableFuzzyExtraction,omitempty"`
1211
1212	// Entities: Optional. The collection of entity entries associated with
1213	// the entity type.
1214	Entities []*GoogleCloudDialogflowV2EntityTypeEntity `json:"entities,omitempty"`
1215
1216	// Kind: Required. Indicates the kind of entity type.
1217	//
1218	// Possible values:
1219	//   "KIND_UNSPECIFIED" - Not specified. This value should be never
1220	// used.
1221	//   "KIND_MAP" - Map entity types allow mapping of a group of synonyms
1222	// to a reference
1223	// value.
1224	//   "KIND_LIST" - List entity types contain a set of entries that do
1225	// not map to reference
1226	// values. However, list entity types can contain references to other
1227	// entity
1228	// types (with or without aliases).
1229	//   "KIND_REGEXP" - Regexp entity types allow to specify regular
1230	// expressions in entries
1231	// values.
1232	Kind string `json:"kind,omitempty"`
1233
1234	// Name: The unique identifier of the entity type.
1235	// Required for EntityTypes.UpdateEntityType
1236	// and
1237	// EntityTypes.BatchUpdateEntityTypes methods.
1238	// Format: `projects/<Project ID>/agent/entityTypes/<Entity Type ID>`.
1239	Name string `json:"name,omitempty"`
1240
1241	// ForceSendFields is a list of field names (e.g. "AutoExpansionMode")
1242	// to unconditionally include in API requests. By default, fields with
1243	// empty values are omitted from API requests. However, any non-pointer,
1244	// non-interface field appearing in ForceSendFields will be sent to the
1245	// server regardless of whether the field is empty or not. This may be
1246	// used to include empty fields in Patch requests.
1247	ForceSendFields []string `json:"-"`
1248
1249	// NullFields is a list of field names (e.g. "AutoExpansionMode") to
1250	// include in API requests with the JSON null value. By default, fields
1251	// with empty values are omitted from API requests. However, any field
1252	// with an empty value appearing in NullFields will be sent to the
1253	// server as null. It is an error if a field in this list has a
1254	// non-empty value. This may be used to include null fields in Patch
1255	// requests.
1256	NullFields []string `json:"-"`
1257}
1258
1259func (s *GoogleCloudDialogflowV2EntityType) MarshalJSON() ([]byte, error) {
1260	type NoMethod GoogleCloudDialogflowV2EntityType
1261	raw := NoMethod(*s)
1262	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1263}
1264
1265// GoogleCloudDialogflowV2EntityTypeEntity: An **entity entry** for an
1266// associated entity type.
1267type GoogleCloudDialogflowV2EntityTypeEntity struct {
1268	// Synonyms: Required. A collection of value synonyms. For example, if
1269	// the entity type
1270	// is *vegetable*, and `value` is *scallions*, a synonym could be
1271	// *green
1272	// onions*.
1273	//
1274	// For `KIND_LIST` entity types:
1275	//
1276	// *   This collection must contain exactly one synonym equal to
1277	// `value`.
1278	Synonyms []string `json:"synonyms,omitempty"`
1279
1280	// Value: Required. The primary value associated with this entity
1281	// entry.
1282	// For example, if the entity type is *vegetable*, the value could
1283	// be
1284	// *scallions*.
1285	//
1286	// For `KIND_MAP` entity types:
1287	//
1288	// *   A reference value to be used in place of synonyms.
1289	//
1290	// For `KIND_LIST` entity types:
1291	//
1292	// *   A string that can contain references to other entity types (with
1293	// or
1294	//     without aliases).
1295	Value string `json:"value,omitempty"`
1296
1297	// ForceSendFields is a list of field names (e.g. "Synonyms") to
1298	// unconditionally include in API requests. By default, fields with
1299	// empty values are omitted from API requests. However, any non-pointer,
1300	// non-interface field appearing in ForceSendFields will be sent to the
1301	// server regardless of whether the field is empty or not. This may be
1302	// used to include empty fields in Patch requests.
1303	ForceSendFields []string `json:"-"`
1304
1305	// NullFields is a list of field names (e.g. "Synonyms") to include in
1306	// API requests with the JSON null value. By default, fields with empty
1307	// values are omitted from API requests. However, any field with an
1308	// empty value appearing in NullFields will be sent to the server as
1309	// null. It is an error if a field in this list has a non-empty value.
1310	// This may be used to include null fields in Patch requests.
1311	NullFields []string `json:"-"`
1312}
1313
1314func (s *GoogleCloudDialogflowV2EntityTypeEntity) MarshalJSON() ([]byte, error) {
1315	type NoMethod GoogleCloudDialogflowV2EntityTypeEntity
1316	raw := NoMethod(*s)
1317	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1318}
1319
1320// GoogleCloudDialogflowV2EventInput: Events allow for matching intents
1321// by event name instead of the natural
1322// language input. For instance, input `<event: { name:
1323// "welcome_event",
1324// parameters: { name: "Sam" } }>` can trigger a personalized welcome
1325// response.
1326// The parameter `name` may be used by the agent in the
1327// response:
1328// "Hello #welcome_event.name! What can I do for you today?".
1329type GoogleCloudDialogflowV2EventInput struct {
1330	// LanguageCode: Required. The language of this query. See
1331	// [Language
1332	// Support](https://cloud.google.com/dialogflow/docs/reference/
1333	// language)
1334	// for a list of the currently supported language codes. Note that
1335	// queries in
1336	// the same session do not necessarily need to specify the same
1337	// language.
1338	LanguageCode string `json:"languageCode,omitempty"`
1339
1340	// Name: Required. The unique identifier of the event.
1341	Name string `json:"name,omitempty"`
1342
1343	// Parameters: The collection of parameters associated with the
1344	// event.
1345	//
1346	// Depending on your protocol or client library language, this is a
1347	// map, associative array, symbol table, dictionary, or JSON
1348	// object
1349	// composed of a collection of (MapKey, MapValue) pairs:
1350	//
1351	// -   MapKey type: string
1352	// -   MapKey value: parameter name
1353	// -   MapValue type:
1354	//     -   If parameter's entity type is a composite entity: map
1355	//     -   Else: string or number, depending on parameter value type
1356	// -   MapValue value:
1357	//     -   If parameter's entity type is a composite entity:
1358	//         map from composite entity property names to property values
1359	//     -   Else: parameter value
1360	Parameters googleapi.RawMessage `json:"parameters,omitempty"`
1361
1362	// ForceSendFields is a list of field names (e.g. "LanguageCode") to
1363	// unconditionally include in API requests. By default, fields with
1364	// empty values are omitted from API requests. However, any non-pointer,
1365	// non-interface field appearing in ForceSendFields will be sent to the
1366	// server regardless of whether the field is empty or not. This may be
1367	// used to include empty fields in Patch requests.
1368	ForceSendFields []string `json:"-"`
1369
1370	// NullFields is a list of field names (e.g. "LanguageCode") to include
1371	// in API requests with the JSON null value. By default, fields with
1372	// empty values are omitted from API requests. However, any field with
1373	// an empty value appearing in NullFields will be sent to the server as
1374	// null. It is an error if a field in this list has a non-empty value.
1375	// This may be used to include null fields in Patch requests.
1376	NullFields []string `json:"-"`
1377}
1378
1379func (s *GoogleCloudDialogflowV2EventInput) MarshalJSON() ([]byte, error) {
1380	type NoMethod GoogleCloudDialogflowV2EventInput
1381	raw := NoMethod(*s)
1382	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1383}
1384
1385// GoogleCloudDialogflowV2ExportAgentResponse: The response message for
1386// Agents.ExportAgent.
1387type GoogleCloudDialogflowV2ExportAgentResponse struct {
1388	// AgentContent: Zip compressed raw byte content for agent.
1389	AgentContent string `json:"agentContent,omitempty"`
1390
1391	// AgentUri: The URI to a file containing the exported agent. This field
1392	// is populated
1393	// only if `agent_uri` is specified in `ExportAgentRequest`.
1394	AgentUri string `json:"agentUri,omitempty"`
1395
1396	// ForceSendFields is a list of field names (e.g. "AgentContent") to
1397	// unconditionally include in API requests. By default, fields with
1398	// empty values are omitted from API requests. However, any non-pointer,
1399	// non-interface field appearing in ForceSendFields will be sent to the
1400	// server regardless of whether the field is empty or not. This may be
1401	// used to include empty fields in Patch requests.
1402	ForceSendFields []string `json:"-"`
1403
1404	// NullFields is a list of field names (e.g. "AgentContent") to include
1405	// in API requests with the JSON null value. By default, fields with
1406	// empty values are omitted from API requests. However, any field with
1407	// an empty value appearing in NullFields will be sent to the server as
1408	// null. It is an error if a field in this list has a non-empty value.
1409	// This may be used to include null fields in Patch requests.
1410	NullFields []string `json:"-"`
1411}
1412
1413func (s *GoogleCloudDialogflowV2ExportAgentResponse) MarshalJSON() ([]byte, error) {
1414	type NoMethod GoogleCloudDialogflowV2ExportAgentResponse
1415	raw := NoMethod(*s)
1416	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1417}
1418
1419// GoogleCloudDialogflowV2Intent: Represents an intent.
1420// Intents convert a number of user expressions or patterns into an
1421// action. An
1422// action is an extraction of a user command or sentence semantics.
1423type GoogleCloudDialogflowV2Intent struct {
1424	// Action: Optional. The name of the action associated with the
1425	// intent.
1426	// Note: The action name must not contain whitespaces.
1427	Action string `json:"action,omitempty"`
1428
1429	// DefaultResponsePlatforms: Optional. The list of platforms for which
1430	// the first responses will be
1431	// copied from the messages in PLATFORM_UNSPECIFIED (i.e. default
1432	// platform).
1433	//
1434	// Possible values:
1435	//   "PLATFORM_UNSPECIFIED" - Default platform.
1436	//   "FACEBOOK" - Facebook.
1437	//   "SLACK" - Slack.
1438	//   "TELEGRAM" - Telegram.
1439	//   "KIK" - Kik.
1440	//   "SKYPE" - Skype.
1441	//   "LINE" - Line.
1442	//   "VIBER" - Viber.
1443	//   "ACTIONS_ON_GOOGLE" - Google Assistant
1444	// See [Dialogflow
1445	// webhook
1446	// format](https://developers.google.com/assistant/actions/build/
1447	// json/dialogflow-webhook-json)
1448	//   "GOOGLE_HANGOUTS" - Google Hangouts.
1449	DefaultResponsePlatforms []string `json:"defaultResponsePlatforms,omitempty"`
1450
1451	// DisplayName: Required. The name of this intent.
1452	DisplayName string `json:"displayName,omitempty"`
1453
1454	// Events: Optional. The collection of event names that trigger the
1455	// intent.
1456	// If the collection of input contexts is not empty, all of the contexts
1457	// must
1458	// be present in the active user session for an event to trigger this
1459	// intent.
1460	// Event names are limited to 150 characters.
1461	Events []string `json:"events,omitempty"`
1462
1463	// FollowupIntentInfo: Read-only. Information about all followup intents
1464	// that have this intent as
1465	// a direct or indirect parent. We populate this field only in the
1466	// output.
1467	FollowupIntentInfo []*GoogleCloudDialogflowV2IntentFollowupIntentInfo `json:"followupIntentInfo,omitempty"`
1468
1469	// InputContextNames: Optional. The list of context names required for
1470	// this intent to be
1471	// triggered.
1472	// Format: `projects/<Project ID>/agent/sessions/-/contexts/<Context
1473	// ID>`.
1474	InputContextNames []string `json:"inputContextNames,omitempty"`
1475
1476	// IsFallback: Optional. Indicates whether this is a fallback intent.
1477	IsFallback bool `json:"isFallback,omitempty"`
1478
1479	// Messages: Optional. The collection of rich messages corresponding to
1480	// the
1481	// `Response` field in the Dialogflow console.
1482	Messages []*GoogleCloudDialogflowV2IntentMessage `json:"messages,omitempty"`
1483
1484	// MlDisabled: Optional. Indicates whether Machine Learning is disabled
1485	// for the intent.
1486	// Note: If `ml_disabled` setting is set to true, then this intent is
1487	// not
1488	// taken into account during inference in `ML ONLY` match mode.
1489	// Also,
1490	// auto-markup in the UI is turned off.
1491	MlDisabled bool `json:"mlDisabled,omitempty"`
1492
1493	// Name: Optional. The unique identifier of this intent.
1494	// Required for Intents.UpdateIntent and
1495	// Intents.BatchUpdateIntents
1496	// methods.
1497	// Format: `projects/<Project ID>/agent/intents/<Intent ID>`.
1498	Name string `json:"name,omitempty"`
1499
1500	// OutputContexts: Optional. The collection of contexts that are
1501	// activated when the intent
1502	// is matched. Context messages in this collection should not set
1503	// the
1504	// parameters field. Setting the `lifespan_count` to 0 will reset the
1505	// context
1506	// when the intent is matched.
1507	// Format: `projects/<Project ID>/agent/sessions/-/contexts/<Context
1508	// ID>`.
1509	OutputContexts []*GoogleCloudDialogflowV2Context `json:"outputContexts,omitempty"`
1510
1511	// Parameters: Optional. The collection of parameters associated with
1512	// the intent.
1513	Parameters []*GoogleCloudDialogflowV2IntentParameter `json:"parameters,omitempty"`
1514
1515	// ParentFollowupIntentName: Read-only after creation. The unique
1516	// identifier of the parent intent in the
1517	// chain of followup intents. You can set this field when creating an
1518	// intent,
1519	// for example with CreateIntent or
1520	// BatchUpdateIntents, in order to make this
1521	// intent a followup intent.
1522	//
1523	// It identifies the parent followup intent.
1524	// Format: `projects/<Project ID>/agent/intents/<Intent ID>`.
1525	ParentFollowupIntentName string `json:"parentFollowupIntentName,omitempty"`
1526
1527	// Priority: Optional. The priority of this intent. Higher numbers
1528	// represent higher
1529	// priorities.
1530	//
1531	// - If the supplied value is unspecified or 0, the service
1532	//   translates the value to 500,000, which corresponds to the
1533	//   `Normal` priority in the console.
1534	// - If the supplied value is negative, the intent is ignored
1535	//   in runtime detect intent requests.
1536	Priority int64 `json:"priority,omitempty"`
1537
1538	// ResetContexts: Optional. Indicates whether to delete all contexts in
1539	// the current
1540	// session when this intent is matched.
1541	ResetContexts bool `json:"resetContexts,omitempty"`
1542
1543	// RootFollowupIntentName: Read-only. The unique identifier of the root
1544	// intent in the chain of
1545	// followup intents. It identifies the correct followup intents chain
1546	// for
1547	// this intent. We populate this field only in the output.
1548	//
1549	// Format: `projects/<Project ID>/agent/intents/<Intent ID>`.
1550	RootFollowupIntentName string `json:"rootFollowupIntentName,omitempty"`
1551
1552	// TrainingPhrases: Optional. The collection of examples that the agent
1553	// is
1554	// trained on.
1555	TrainingPhrases []*GoogleCloudDialogflowV2IntentTrainingPhrase `json:"trainingPhrases,omitempty"`
1556
1557	// WebhookState: Optional. Indicates whether webhooks are enabled for
1558	// the intent.
1559	//
1560	// Possible values:
1561	//   "WEBHOOK_STATE_UNSPECIFIED" - Webhook is disabled in the agent and
1562	// in the intent.
1563	//   "WEBHOOK_STATE_ENABLED" - Webhook is enabled in the agent and in
1564	// the intent.
1565	//   "WEBHOOK_STATE_ENABLED_FOR_SLOT_FILLING" - Webhook is enabled in
1566	// the agent and in the intent. Also, each slot
1567	// filling prompt is forwarded to the webhook.
1568	WebhookState string `json:"webhookState,omitempty"`
1569
1570	// ForceSendFields is a list of field names (e.g. "Action") to
1571	// unconditionally include in API requests. By default, fields with
1572	// empty values are omitted from API requests. However, any non-pointer,
1573	// non-interface field appearing in ForceSendFields will be sent to the
1574	// server regardless of whether the field is empty or not. This may be
1575	// used to include empty fields in Patch requests.
1576	ForceSendFields []string `json:"-"`
1577
1578	// NullFields is a list of field names (e.g. "Action") to include in API
1579	// requests with the JSON null value. By default, fields with empty
1580	// values are omitted from API requests. However, any field with an
1581	// empty value appearing in NullFields will be sent to the server as
1582	// null. It is an error if a field in this list has a non-empty value.
1583	// This may be used to include null fields in Patch requests.
1584	NullFields []string `json:"-"`
1585}
1586
1587func (s *GoogleCloudDialogflowV2Intent) MarshalJSON() ([]byte, error) {
1588	type NoMethod GoogleCloudDialogflowV2Intent
1589	raw := NoMethod(*s)
1590	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1591}
1592
1593// GoogleCloudDialogflowV2IntentFollowupIntentInfo: Represents a single
1594// followup intent in the chain.
1595type GoogleCloudDialogflowV2IntentFollowupIntentInfo struct {
1596	// FollowupIntentName: The unique identifier of the followup
1597	// intent.
1598	// Format: `projects/<Project ID>/agent/intents/<Intent ID>`.
1599	FollowupIntentName string `json:"followupIntentName,omitempty"`
1600
1601	// ParentFollowupIntentName: The unique identifier of the followup
1602	// intent's parent.
1603	// Format: `projects/<Project ID>/agent/intents/<Intent ID>`.
1604	ParentFollowupIntentName string `json:"parentFollowupIntentName,omitempty"`
1605
1606	// ForceSendFields is a list of field names (e.g. "FollowupIntentName")
1607	// to unconditionally include in API requests. By default, fields with
1608	// empty values are omitted from API requests. However, any non-pointer,
1609	// non-interface field appearing in ForceSendFields will be sent to the
1610	// server regardless of whether the field is empty or not. This may be
1611	// used to include empty fields in Patch requests.
1612	ForceSendFields []string `json:"-"`
1613
1614	// NullFields is a list of field names (e.g. "FollowupIntentName") to
1615	// include in API requests with the JSON null value. By default, fields
1616	// with empty values are omitted from API requests. However, any field
1617	// with an empty value appearing in NullFields will be sent to the
1618	// server as null. It is an error if a field in this list has a
1619	// non-empty value. This may be used to include null fields in Patch
1620	// requests.
1621	NullFields []string `json:"-"`
1622}
1623
1624func (s *GoogleCloudDialogflowV2IntentFollowupIntentInfo) MarshalJSON() ([]byte, error) {
1625	type NoMethod GoogleCloudDialogflowV2IntentFollowupIntentInfo
1626	raw := NoMethod(*s)
1627	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1628}
1629
1630// GoogleCloudDialogflowV2IntentMessage: A rich response
1631// message.
1632// Corresponds to the intent `Response` field in the Dialogflow
1633// console.
1634// For more information, see
1635// [Rich
1636// response
1637// messages](https://cloud.google.com/dialogflow/docs/intents-ri
1638// ch-messages).
1639type GoogleCloudDialogflowV2IntentMessage struct {
1640	// BasicCard: The basic card response for Actions on Google.
1641	BasicCard *GoogleCloudDialogflowV2IntentMessageBasicCard `json:"basicCard,omitempty"`
1642
1643	// BrowseCarouselCard: Browse carousel card for Actions on Google.
1644	BrowseCarouselCard *GoogleCloudDialogflowV2IntentMessageBrowseCarouselCard `json:"browseCarouselCard,omitempty"`
1645
1646	// Card: The card response.
1647	Card *GoogleCloudDialogflowV2IntentMessageCard `json:"card,omitempty"`
1648
1649	// CarouselSelect: The carousel card response for Actions on Google.
1650	CarouselSelect *GoogleCloudDialogflowV2IntentMessageCarouselSelect `json:"carouselSelect,omitempty"`
1651
1652	// Image: The image response.
1653	Image *GoogleCloudDialogflowV2IntentMessageImage `json:"image,omitempty"`
1654
1655	// LinkOutSuggestion: The link out suggestion chip for Actions on
1656	// Google.
1657	LinkOutSuggestion *GoogleCloudDialogflowV2IntentMessageLinkOutSuggestion `json:"linkOutSuggestion,omitempty"`
1658
1659	// ListSelect: The list card response for Actions on Google.
1660	ListSelect *GoogleCloudDialogflowV2IntentMessageListSelect `json:"listSelect,omitempty"`
1661
1662	// MediaContent: The media content card for Actions on Google.
1663	MediaContent *GoogleCloudDialogflowV2IntentMessageMediaContent `json:"mediaContent,omitempty"`
1664
1665	// Payload: A custom platform-specific response.
1666	Payload googleapi.RawMessage `json:"payload,omitempty"`
1667
1668	// Platform: Optional. The platform that this message is intended for.
1669	//
1670	// Possible values:
1671	//   "PLATFORM_UNSPECIFIED" - Default platform.
1672	//   "FACEBOOK" - Facebook.
1673	//   "SLACK" - Slack.
1674	//   "TELEGRAM" - Telegram.
1675	//   "KIK" - Kik.
1676	//   "SKYPE" - Skype.
1677	//   "LINE" - Line.
1678	//   "VIBER" - Viber.
1679	//   "ACTIONS_ON_GOOGLE" - Google Assistant
1680	// See [Dialogflow
1681	// webhook
1682	// format](https://developers.google.com/assistant/actions/build/
1683	// json/dialogflow-webhook-json)
1684	//   "GOOGLE_HANGOUTS" - Google Hangouts.
1685	Platform string `json:"platform,omitempty"`
1686
1687	// QuickReplies: The quick replies response.
1688	QuickReplies *GoogleCloudDialogflowV2IntentMessageQuickReplies `json:"quickReplies,omitempty"`
1689
1690	// SimpleResponses: The voice and text-only responses for Actions on
1691	// Google.
1692	SimpleResponses *GoogleCloudDialogflowV2IntentMessageSimpleResponses `json:"simpleResponses,omitempty"`
1693
1694	// Suggestions: The suggestion chips for Actions on Google.
1695	Suggestions *GoogleCloudDialogflowV2IntentMessageSuggestions `json:"suggestions,omitempty"`
1696
1697	// TableCard: Table card for Actions on Google.
1698	TableCard *GoogleCloudDialogflowV2IntentMessageTableCard `json:"tableCard,omitempty"`
1699
1700	// Text: The text response.
1701	Text *GoogleCloudDialogflowV2IntentMessageText `json:"text,omitempty"`
1702
1703	// ForceSendFields is a list of field names (e.g. "BasicCard") to
1704	// unconditionally include in API requests. By default, fields with
1705	// empty values are omitted from API requests. However, any non-pointer,
1706	// non-interface field appearing in ForceSendFields will be sent to the
1707	// server regardless of whether the field is empty or not. This may be
1708	// used to include empty fields in Patch requests.
1709	ForceSendFields []string `json:"-"`
1710
1711	// NullFields is a list of field names (e.g. "BasicCard") to include in
1712	// API requests with the JSON null value. By default, fields with empty
1713	// values are omitted from API requests. However, any field with an
1714	// empty value appearing in NullFields will be sent to the server as
1715	// null. It is an error if a field in this list has a non-empty value.
1716	// This may be used to include null fields in Patch requests.
1717	NullFields []string `json:"-"`
1718}
1719
1720func (s *GoogleCloudDialogflowV2IntentMessage) MarshalJSON() ([]byte, error) {
1721	type NoMethod GoogleCloudDialogflowV2IntentMessage
1722	raw := NoMethod(*s)
1723	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1724}
1725
1726// GoogleCloudDialogflowV2IntentMessageBasicCard: The basic card
1727// message. Useful for displaying information.
1728type GoogleCloudDialogflowV2IntentMessageBasicCard struct {
1729	// Buttons: Optional. The collection of card buttons.
1730	Buttons []*GoogleCloudDialogflowV2IntentMessageBasicCardButton `json:"buttons,omitempty"`
1731
1732	// FormattedText: Required, unless image is present. The body text of
1733	// the card.
1734	FormattedText string `json:"formattedText,omitempty"`
1735
1736	// Image: Optional. The image for the card.
1737	Image *GoogleCloudDialogflowV2IntentMessageImage `json:"image,omitempty"`
1738
1739	// Subtitle: Optional. The subtitle of the card.
1740	Subtitle string `json:"subtitle,omitempty"`
1741
1742	// Title: Optional. The title of the card.
1743	Title string `json:"title,omitempty"`
1744
1745	// ForceSendFields is a list of field names (e.g. "Buttons") to
1746	// unconditionally include in API requests. By default, fields with
1747	// empty values are omitted from API requests. However, any non-pointer,
1748	// non-interface field appearing in ForceSendFields will be sent to the
1749	// server regardless of whether the field is empty or not. This may be
1750	// used to include empty fields in Patch requests.
1751	ForceSendFields []string `json:"-"`
1752
1753	// NullFields is a list of field names (e.g. "Buttons") to include in
1754	// API requests with the JSON null value. By default, fields with empty
1755	// values are omitted from API requests. However, any field with an
1756	// empty value appearing in NullFields will be sent to the server as
1757	// null. It is an error if a field in this list has a non-empty value.
1758	// This may be used to include null fields in Patch requests.
1759	NullFields []string `json:"-"`
1760}
1761
1762func (s *GoogleCloudDialogflowV2IntentMessageBasicCard) MarshalJSON() ([]byte, error) {
1763	type NoMethod GoogleCloudDialogflowV2IntentMessageBasicCard
1764	raw := NoMethod(*s)
1765	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1766}
1767
1768// GoogleCloudDialogflowV2IntentMessageBasicCardButton: The button
1769// object that appears at the bottom of a card.
1770type GoogleCloudDialogflowV2IntentMessageBasicCardButton struct {
1771	// OpenUriAction: Required. Action to take when a user taps on the
1772	// button.
1773	OpenUriAction *GoogleCloudDialogflowV2IntentMessageBasicCardButtonOpenUriAction `json:"openUriAction,omitempty"`
1774
1775	// Title: Required. The title of the button.
1776	Title string `json:"title,omitempty"`
1777
1778	// ForceSendFields is a list of field names (e.g. "OpenUriAction") to
1779	// unconditionally include in API requests. By default, fields with
1780	// empty values are omitted from API requests. However, any non-pointer,
1781	// non-interface field appearing in ForceSendFields will be sent to the
1782	// server regardless of whether the field is empty or not. This may be
1783	// used to include empty fields in Patch requests.
1784	ForceSendFields []string `json:"-"`
1785
1786	// NullFields is a list of field names (e.g. "OpenUriAction") to include
1787	// in API requests with the JSON null value. By default, fields with
1788	// empty values are omitted from API requests. However, any field with
1789	// an empty value appearing in NullFields will be sent to the server as
1790	// null. It is an error if a field in this list has a non-empty value.
1791	// This may be used to include null fields in Patch requests.
1792	NullFields []string `json:"-"`
1793}
1794
1795func (s *GoogleCloudDialogflowV2IntentMessageBasicCardButton) MarshalJSON() ([]byte, error) {
1796	type NoMethod GoogleCloudDialogflowV2IntentMessageBasicCardButton
1797	raw := NoMethod(*s)
1798	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1799}
1800
1801// GoogleCloudDialogflowV2IntentMessageBasicCardButtonOpenUriAction:
1802// Opens the given URI.
1803type GoogleCloudDialogflowV2IntentMessageBasicCardButtonOpenUriAction struct {
1804	// Uri: Required. The HTTP or HTTPS scheme URI.
1805	Uri string `json:"uri,omitempty"`
1806
1807	// ForceSendFields is a list of field names (e.g. "Uri") to
1808	// unconditionally include in API requests. By default, fields with
1809	// empty values are omitted from API requests. However, any non-pointer,
1810	// non-interface field appearing in ForceSendFields will be sent to the
1811	// server regardless of whether the field is empty or not. This may be
1812	// used to include empty fields in Patch requests.
1813	ForceSendFields []string `json:"-"`
1814
1815	// NullFields is a list of field names (e.g. "Uri") to include in API
1816	// requests with the JSON null value. By default, fields with empty
1817	// values are omitted from API requests. However, any field with an
1818	// empty value appearing in NullFields will be sent to the server as
1819	// null. It is an error if a field in this list has a non-empty value.
1820	// This may be used to include null fields in Patch requests.
1821	NullFields []string `json:"-"`
1822}
1823
1824func (s *GoogleCloudDialogflowV2IntentMessageBasicCardButtonOpenUriAction) MarshalJSON() ([]byte, error) {
1825	type NoMethod GoogleCloudDialogflowV2IntentMessageBasicCardButtonOpenUriAction
1826	raw := NoMethod(*s)
1827	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1828}
1829
1830// GoogleCloudDialogflowV2IntentMessageBrowseCarouselCard: Browse
1831// Carousel Card for Actions on
1832// Google.
1833// https://developers.google.com/actions/assistant/responses#brow
1834// sing_carousel
1835type GoogleCloudDialogflowV2IntentMessageBrowseCarouselCard struct {
1836	// ImageDisplayOptions: Optional. Settings for displaying the image.
1837	// Applies to every image in
1838	// items.
1839	//
1840	// Possible values:
1841	//   "IMAGE_DISPLAY_OPTIONS_UNSPECIFIED" - Fill the gaps between the
1842	// image and the image container with gray
1843	// bars.
1844	//   "GRAY" - Fill the gaps between the image and the image container
1845	// with gray
1846	// bars.
1847	//   "WHITE" - Fill the gaps between the image and the image container
1848	// with white
1849	// bars.
1850	//   "CROPPED" - Image is scaled such that the image width and height
1851	// match or exceed
1852	// the container dimensions. This may crop the top and bottom of
1853	// the
1854	// image if the scaled image height is greater than the
1855	// container
1856	// height, or crop the left and right of the image if the scaled
1857	// image
1858	// width is greater than the container width. This is similar to
1859	// "Zoom
1860	// Mode" on a widescreen TV when playing a 4:3 video.
1861	//   "BLURRED_BACKGROUND" - Pad the gaps between image and image frame
1862	// with a blurred copy of the
1863	// same image.
1864	ImageDisplayOptions string `json:"imageDisplayOptions,omitempty"`
1865
1866	// Items: Required. List of items in the Browse Carousel Card. Minimum
1867	// of two
1868	// items, maximum of ten.
1869	Items []*GoogleCloudDialogflowV2IntentMessageBrowseCarouselCardBrowseCarouselCardItem `json:"items,omitempty"`
1870
1871	// ForceSendFields is a list of field names (e.g. "ImageDisplayOptions")
1872	// to unconditionally include in API requests. By default, fields with
1873	// empty values are omitted from API requests. However, any non-pointer,
1874	// non-interface field appearing in ForceSendFields will be sent to the
1875	// server regardless of whether the field is empty or not. This may be
1876	// used to include empty fields in Patch requests.
1877	ForceSendFields []string `json:"-"`
1878
1879	// NullFields is a list of field names (e.g. "ImageDisplayOptions") to
1880	// include in API requests with the JSON null value. By default, fields
1881	// with empty values are omitted from API requests. However, any field
1882	// with an empty value appearing in NullFields will be sent to the
1883	// server as null. It is an error if a field in this list has a
1884	// non-empty value. This may be used to include null fields in Patch
1885	// requests.
1886	NullFields []string `json:"-"`
1887}
1888
1889func (s *GoogleCloudDialogflowV2IntentMessageBrowseCarouselCard) MarshalJSON() ([]byte, error) {
1890	type NoMethod GoogleCloudDialogflowV2IntentMessageBrowseCarouselCard
1891	raw := NoMethod(*s)
1892	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1893}
1894
1895// GoogleCloudDialogflowV2IntentMessageBrowseCarouselCardBrowseCarouselCa
1896// rdItem: Browsing carousel tile
1897type GoogleCloudDialogflowV2IntentMessageBrowseCarouselCardBrowseCarouselCardItem struct {
1898	// Description: Optional. Description of the carousel item. Maximum of
1899	// four lines of
1900	// text.
1901	Description string `json:"description,omitempty"`
1902
1903	// Footer: Optional. Text that appears at the bottom of the Browse
1904	// Carousel
1905	// Card. Maximum of one line of text.
1906	Footer string `json:"footer,omitempty"`
1907
1908	// Image: Optional. Hero image for the carousel item.
1909	Image *GoogleCloudDialogflowV2IntentMessageImage `json:"image,omitempty"`
1910
1911	// OpenUriAction: Required. Action to present to the user.
1912	OpenUriAction *GoogleCloudDialogflowV2IntentMessageBrowseCarouselCardBrowseCarouselCardItemOpenUrlAction `json:"openUriAction,omitempty"`
1913
1914	// Title: Required. Title of the carousel item. Maximum of two lines of
1915	// text.
1916	Title string `json:"title,omitempty"`
1917
1918	// ForceSendFields is a list of field names (e.g. "Description") to
1919	// unconditionally include in API requests. By default, fields with
1920	// empty values are omitted from API requests. However, any non-pointer,
1921	// non-interface field appearing in ForceSendFields will be sent to the
1922	// server regardless of whether the field is empty or not. This may be
1923	// used to include empty fields in Patch requests.
1924	ForceSendFields []string `json:"-"`
1925
1926	// NullFields is a list of field names (e.g. "Description") to include
1927	// in API requests with the JSON null value. By default, fields with
1928	// empty values are omitted from API requests. However, any field with
1929	// an empty value appearing in NullFields will be sent to the server as
1930	// null. It is an error if a field in this list has a non-empty value.
1931	// This may be used to include null fields in Patch requests.
1932	NullFields []string `json:"-"`
1933}
1934
1935func (s *GoogleCloudDialogflowV2IntentMessageBrowseCarouselCardBrowseCarouselCardItem) MarshalJSON() ([]byte, error) {
1936	type NoMethod GoogleCloudDialogflowV2IntentMessageBrowseCarouselCardBrowseCarouselCardItem
1937	raw := NoMethod(*s)
1938	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1939}
1940
1941// GoogleCloudDialogflowV2IntentMessageBrowseCarouselCardBrowseCarouselCa
1942// rdItemOpenUrlAction: Actions on Google action to open a given url.
1943type GoogleCloudDialogflowV2IntentMessageBrowseCarouselCardBrowseCarouselCardItemOpenUrlAction struct {
1944	// Url: Required. URL
1945	Url string `json:"url,omitempty"`
1946
1947	// UrlTypeHint: Optional. Specifies the type of viewer that is used when
1948	// opening
1949	// the URL. Defaults to opening via web browser.
1950	//
1951	// Possible values:
1952	//   "URL_TYPE_HINT_UNSPECIFIED" - Unspecified
1953	//   "AMP_ACTION" - Url would be an amp action
1954	//   "AMP_CONTENT" - URL that points directly to AMP content, or to a
1955	// canonical URL
1956	// which refers to AMP content via <link rel="amphtml">.
1957	UrlTypeHint string `json:"urlTypeHint,omitempty"`
1958
1959	// ForceSendFields is a list of field names (e.g. "Url") to
1960	// unconditionally include in API requests. By default, fields with
1961	// empty values are omitted from API requests. However, any non-pointer,
1962	// non-interface field appearing in ForceSendFields will be sent to the
1963	// server regardless of whether the field is empty or not. This may be
1964	// used to include empty fields in Patch requests.
1965	ForceSendFields []string `json:"-"`
1966
1967	// NullFields is a list of field names (e.g. "Url") to include in API
1968	// requests with the JSON null value. By default, fields with empty
1969	// values are omitted from API requests. However, any field with an
1970	// empty value appearing in NullFields will be sent to the server as
1971	// null. It is an error if a field in this list has a non-empty value.
1972	// This may be used to include null fields in Patch requests.
1973	NullFields []string `json:"-"`
1974}
1975
1976func (s *GoogleCloudDialogflowV2IntentMessageBrowseCarouselCardBrowseCarouselCardItemOpenUrlAction) MarshalJSON() ([]byte, error) {
1977	type NoMethod GoogleCloudDialogflowV2IntentMessageBrowseCarouselCardBrowseCarouselCardItemOpenUrlAction
1978	raw := NoMethod(*s)
1979	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1980}
1981
1982// GoogleCloudDialogflowV2IntentMessageCard: The card response message.
1983type GoogleCloudDialogflowV2IntentMessageCard struct {
1984	// Buttons: Optional. The collection of card buttons.
1985	Buttons []*GoogleCloudDialogflowV2IntentMessageCardButton `json:"buttons,omitempty"`
1986
1987	// ImageUri: Optional. The public URI to an image file for the card.
1988	ImageUri string `json:"imageUri,omitempty"`
1989
1990	// Subtitle: Optional. The subtitle of the card.
1991	Subtitle string `json:"subtitle,omitempty"`
1992
1993	// Title: Optional. The title of the card.
1994	Title string `json:"title,omitempty"`
1995
1996	// ForceSendFields is a list of field names (e.g. "Buttons") to
1997	// unconditionally include in API requests. By default, fields with
1998	// empty values are omitted from API requests. However, any non-pointer,
1999	// non-interface field appearing in ForceSendFields will be sent to the
2000	// server regardless of whether the field is empty or not. This may be
2001	// used to include empty fields in Patch requests.
2002	ForceSendFields []string `json:"-"`
2003
2004	// NullFields is a list of field names (e.g. "Buttons") to include in
2005	// API requests with the JSON null value. By default, fields with empty
2006	// values are omitted from API requests. However, any field with an
2007	// empty value appearing in NullFields will be sent to the server as
2008	// null. It is an error if a field in this list has a non-empty value.
2009	// This may be used to include null fields in Patch requests.
2010	NullFields []string `json:"-"`
2011}
2012
2013func (s *GoogleCloudDialogflowV2IntentMessageCard) MarshalJSON() ([]byte, error) {
2014	type NoMethod GoogleCloudDialogflowV2IntentMessageCard
2015	raw := NoMethod(*s)
2016	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2017}
2018
2019// GoogleCloudDialogflowV2IntentMessageCardButton: Contains information
2020// about a button.
2021type GoogleCloudDialogflowV2IntentMessageCardButton struct {
2022	// Postback: Optional. The text to send back to the Dialogflow API or a
2023	// URI to
2024	// open.
2025	Postback string `json:"postback,omitempty"`
2026
2027	// Text: Optional. The text to show on the button.
2028	Text string `json:"text,omitempty"`
2029
2030	// ForceSendFields is a list of field names (e.g. "Postback") to
2031	// unconditionally include in API requests. By default, fields with
2032	// empty values are omitted from API requests. However, any non-pointer,
2033	// non-interface field appearing in ForceSendFields will be sent to the
2034	// server regardless of whether the field is empty or not. This may be
2035	// used to include empty fields in Patch requests.
2036	ForceSendFields []string `json:"-"`
2037
2038	// NullFields is a list of field names (e.g. "Postback") to include in
2039	// API requests with the JSON null value. By default, fields with empty
2040	// values are omitted from API requests. However, any field with an
2041	// empty value appearing in NullFields will be sent to the server as
2042	// null. It is an error if a field in this list has a non-empty value.
2043	// This may be used to include null fields in Patch requests.
2044	NullFields []string `json:"-"`
2045}
2046
2047func (s *GoogleCloudDialogflowV2IntentMessageCardButton) MarshalJSON() ([]byte, error) {
2048	type NoMethod GoogleCloudDialogflowV2IntentMessageCardButton
2049	raw := NoMethod(*s)
2050	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2051}
2052
2053// GoogleCloudDialogflowV2IntentMessageCarouselSelect: The card for
2054// presenting a carousel of options to select from.
2055type GoogleCloudDialogflowV2IntentMessageCarouselSelect struct {
2056	// Items: Required. Carousel items.
2057	Items []*GoogleCloudDialogflowV2IntentMessageCarouselSelectItem `json:"items,omitempty"`
2058
2059	// ForceSendFields is a list of field names (e.g. "Items") to
2060	// unconditionally include in API requests. By default, fields with
2061	// empty values are omitted from API requests. However, any non-pointer,
2062	// non-interface field appearing in ForceSendFields will be sent to the
2063	// server regardless of whether the field is empty or not. This may be
2064	// used to include empty fields in Patch requests.
2065	ForceSendFields []string `json:"-"`
2066
2067	// NullFields is a list of field names (e.g. "Items") to include in API
2068	// requests with the JSON null value. By default, fields with empty
2069	// values are omitted from API requests. However, any field with an
2070	// empty value appearing in NullFields will be sent to the server as
2071	// null. It is an error if a field in this list has a non-empty value.
2072	// This may be used to include null fields in Patch requests.
2073	NullFields []string `json:"-"`
2074}
2075
2076func (s *GoogleCloudDialogflowV2IntentMessageCarouselSelect) MarshalJSON() ([]byte, error) {
2077	type NoMethod GoogleCloudDialogflowV2IntentMessageCarouselSelect
2078	raw := NoMethod(*s)
2079	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2080}
2081
2082// GoogleCloudDialogflowV2IntentMessageCarouselSelectItem: An item in
2083// the carousel.
2084type GoogleCloudDialogflowV2IntentMessageCarouselSelectItem struct {
2085	// Description: Optional. The body text of the card.
2086	Description string `json:"description,omitempty"`
2087
2088	// Image: Optional. The image to display.
2089	Image *GoogleCloudDialogflowV2IntentMessageImage `json:"image,omitempty"`
2090
2091	// Info: Required. Additional info about the option item.
2092	Info *GoogleCloudDialogflowV2IntentMessageSelectItemInfo `json:"info,omitempty"`
2093
2094	// Title: Required. Title of the carousel item.
2095	Title string `json:"title,omitempty"`
2096
2097	// ForceSendFields is a list of field names (e.g. "Description") to
2098	// unconditionally include in API requests. By default, fields with
2099	// empty values are omitted from API requests. However, any non-pointer,
2100	// non-interface field appearing in ForceSendFields will be sent to the
2101	// server regardless of whether the field is empty or not. This may be
2102	// used to include empty fields in Patch requests.
2103	ForceSendFields []string `json:"-"`
2104
2105	// NullFields is a list of field names (e.g. "Description") to include
2106	// in API requests with the JSON null value. By default, fields with
2107	// empty values are omitted from API requests. However, any field with
2108	// an empty value appearing in NullFields will be sent to the server as
2109	// null. It is an error if a field in this list has a non-empty value.
2110	// This may be used to include null fields in Patch requests.
2111	NullFields []string `json:"-"`
2112}
2113
2114func (s *GoogleCloudDialogflowV2IntentMessageCarouselSelectItem) MarshalJSON() ([]byte, error) {
2115	type NoMethod GoogleCloudDialogflowV2IntentMessageCarouselSelectItem
2116	raw := NoMethod(*s)
2117	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2118}
2119
2120// GoogleCloudDialogflowV2IntentMessageColumnProperties: Column
2121// properties for TableCard.
2122type GoogleCloudDialogflowV2IntentMessageColumnProperties struct {
2123	// Header: Required. Column heading.
2124	Header string `json:"header,omitempty"`
2125
2126	// HorizontalAlignment: Optional. Defines text alignment for all cells
2127	// in this column.
2128	//
2129	// Possible values:
2130	//   "HORIZONTAL_ALIGNMENT_UNSPECIFIED" - Text is aligned to the leading
2131	// edge of the column.
2132	//   "LEADING" - Text is aligned to the leading edge of the column.
2133	//   "CENTER" - Text is centered in the column.
2134	//   "TRAILING" - Text is aligned to the trailing edge of the column.
2135	HorizontalAlignment string `json:"horizontalAlignment,omitempty"`
2136
2137	// ForceSendFields is a list of field names (e.g. "Header") to
2138	// unconditionally include in API requests. By default, fields with
2139	// empty values are omitted from API requests. However, any non-pointer,
2140	// non-interface field appearing in ForceSendFields will be sent to the
2141	// server regardless of whether the field is empty or not. This may be
2142	// used to include empty fields in Patch requests.
2143	ForceSendFields []string `json:"-"`
2144
2145	// NullFields is a list of field names (e.g. "Header") to include in API
2146	// requests with the JSON null value. By default, fields with empty
2147	// values are omitted from API requests. However, any field with an
2148	// empty value appearing in NullFields will be sent to the server as
2149	// null. It is an error if a field in this list has a non-empty value.
2150	// This may be used to include null fields in Patch requests.
2151	NullFields []string `json:"-"`
2152}
2153
2154func (s *GoogleCloudDialogflowV2IntentMessageColumnProperties) MarshalJSON() ([]byte, error) {
2155	type NoMethod GoogleCloudDialogflowV2IntentMessageColumnProperties
2156	raw := NoMethod(*s)
2157	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2158}
2159
2160// GoogleCloudDialogflowV2IntentMessageImage: The image response
2161// message.
2162type GoogleCloudDialogflowV2IntentMessageImage struct {
2163	// AccessibilityText: Optional. A text description of the image to be
2164	// used for accessibility,
2165	// e.g., screen readers.
2166	AccessibilityText string `json:"accessibilityText,omitempty"`
2167
2168	// ImageUri: Optional. The public URI to an image file.
2169	ImageUri string `json:"imageUri,omitempty"`
2170
2171	// ForceSendFields is a list of field names (e.g. "AccessibilityText")
2172	// to unconditionally include in API requests. By default, fields with
2173	// empty values are omitted from API requests. However, any non-pointer,
2174	// non-interface field appearing in ForceSendFields will be sent to the
2175	// server regardless of whether the field is empty or not. This may be
2176	// used to include empty fields in Patch requests.
2177	ForceSendFields []string `json:"-"`
2178
2179	// NullFields is a list of field names (e.g. "AccessibilityText") to
2180	// include in API requests with the JSON null value. By default, fields
2181	// with empty values are omitted from API requests. However, any field
2182	// with an empty value appearing in NullFields will be sent to the
2183	// server as null. It is an error if a field in this list has a
2184	// non-empty value. This may be used to include null fields in Patch
2185	// requests.
2186	NullFields []string `json:"-"`
2187}
2188
2189func (s *GoogleCloudDialogflowV2IntentMessageImage) MarshalJSON() ([]byte, error) {
2190	type NoMethod GoogleCloudDialogflowV2IntentMessageImage
2191	raw := NoMethod(*s)
2192	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2193}
2194
2195// GoogleCloudDialogflowV2IntentMessageLinkOutSuggestion: The suggestion
2196// chip message that allows the user to jump out to the app
2197// or website associated with this agent.
2198type GoogleCloudDialogflowV2IntentMessageLinkOutSuggestion struct {
2199	// DestinationName: Required. The name of the app or site this chip is
2200	// linking to.
2201	DestinationName string `json:"destinationName,omitempty"`
2202
2203	// Uri: Required. The URI of the app or site to open when the user taps
2204	// the
2205	// suggestion chip.
2206	Uri string `json:"uri,omitempty"`
2207
2208	// ForceSendFields is a list of field names (e.g. "DestinationName") to
2209	// unconditionally include in API requests. By default, fields with
2210	// empty values are omitted from API requests. However, any non-pointer,
2211	// non-interface field appearing in ForceSendFields will be sent to the
2212	// server regardless of whether the field is empty or not. This may be
2213	// used to include empty fields in Patch requests.
2214	ForceSendFields []string `json:"-"`
2215
2216	// NullFields is a list of field names (e.g. "DestinationName") to
2217	// include in API requests with the JSON null value. By default, fields
2218	// with empty values are omitted from API requests. However, any field
2219	// with an empty value appearing in NullFields will be sent to the
2220	// server as null. It is an error if a field in this list has a
2221	// non-empty value. This may be used to include null fields in Patch
2222	// requests.
2223	NullFields []string `json:"-"`
2224}
2225
2226func (s *GoogleCloudDialogflowV2IntentMessageLinkOutSuggestion) MarshalJSON() ([]byte, error) {
2227	type NoMethod GoogleCloudDialogflowV2IntentMessageLinkOutSuggestion
2228	raw := NoMethod(*s)
2229	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2230}
2231
2232// GoogleCloudDialogflowV2IntentMessageListSelect: The card for
2233// presenting a list of options to select from.
2234type GoogleCloudDialogflowV2IntentMessageListSelect struct {
2235	// Items: Required. List items.
2236	Items []*GoogleCloudDialogflowV2IntentMessageListSelectItem `json:"items,omitempty"`
2237
2238	// Subtitle: Optional. Subtitle of the list.
2239	Subtitle string `json:"subtitle,omitempty"`
2240
2241	// Title: Optional. The overall title of the list.
2242	Title string `json:"title,omitempty"`
2243
2244	// ForceSendFields is a list of field names (e.g. "Items") to
2245	// unconditionally include in API requests. By default, fields with
2246	// empty values are omitted from API requests. However, any non-pointer,
2247	// non-interface field appearing in ForceSendFields will be sent to the
2248	// server regardless of whether the field is empty or not. This may be
2249	// used to include empty fields in Patch requests.
2250	ForceSendFields []string `json:"-"`
2251
2252	// NullFields is a list of field names (e.g. "Items") to include in API
2253	// requests with the JSON null value. By default, fields with empty
2254	// values are omitted from API requests. However, any field with an
2255	// empty value appearing in NullFields will be sent to the server as
2256	// null. It is an error if a field in this list has a non-empty value.
2257	// This may be used to include null fields in Patch requests.
2258	NullFields []string `json:"-"`
2259}
2260
2261func (s *GoogleCloudDialogflowV2IntentMessageListSelect) MarshalJSON() ([]byte, error) {
2262	type NoMethod GoogleCloudDialogflowV2IntentMessageListSelect
2263	raw := NoMethod(*s)
2264	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2265}
2266
2267// GoogleCloudDialogflowV2IntentMessageListSelectItem: An item in the
2268// list.
2269type GoogleCloudDialogflowV2IntentMessageListSelectItem struct {
2270	// Description: Optional. The main text describing the item.
2271	Description string `json:"description,omitempty"`
2272
2273	// Image: Optional. The image to display.
2274	Image *GoogleCloudDialogflowV2IntentMessageImage `json:"image,omitempty"`
2275
2276	// Info: Required. Additional information about this option.
2277	Info *GoogleCloudDialogflowV2IntentMessageSelectItemInfo `json:"info,omitempty"`
2278
2279	// Title: Required. The title of the list item.
2280	Title string `json:"title,omitempty"`
2281
2282	// ForceSendFields is a list of field names (e.g. "Description") to
2283	// unconditionally include in API requests. By default, fields with
2284	// empty values are omitted from API requests. However, any non-pointer,
2285	// non-interface field appearing in ForceSendFields will be sent to the
2286	// server regardless of whether the field is empty or not. This may be
2287	// used to include empty fields in Patch requests.
2288	ForceSendFields []string `json:"-"`
2289
2290	// NullFields is a list of field names (e.g. "Description") to include
2291	// in API requests with the JSON null value. By default, fields with
2292	// empty values are omitted from API requests. However, any field with
2293	// an empty value appearing in NullFields will be sent to the server as
2294	// null. It is an error if a field in this list has a non-empty value.
2295	// This may be used to include null fields in Patch requests.
2296	NullFields []string `json:"-"`
2297}
2298
2299func (s *GoogleCloudDialogflowV2IntentMessageListSelectItem) MarshalJSON() ([]byte, error) {
2300	type NoMethod GoogleCloudDialogflowV2IntentMessageListSelectItem
2301	raw := NoMethod(*s)
2302	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2303}
2304
2305// GoogleCloudDialogflowV2IntentMessageMediaContent: The media content
2306// card for Actions on Google.
2307type GoogleCloudDialogflowV2IntentMessageMediaContent struct {
2308	// MediaObjects: Required. List of media objects.
2309	MediaObjects []*GoogleCloudDialogflowV2IntentMessageMediaContentResponseMediaObject `json:"mediaObjects,omitempty"`
2310
2311	// MediaType: Optional. What type of media is the content (ie "audio").
2312	//
2313	// Possible values:
2314	//   "RESPONSE_MEDIA_TYPE_UNSPECIFIED" - Unspecified.
2315	//   "AUDIO" - Response media type is audio.
2316	MediaType string `json:"mediaType,omitempty"`
2317
2318	// ForceSendFields is a list of field names (e.g. "MediaObjects") to
2319	// unconditionally include in API requests. By default, fields with
2320	// empty values are omitted from API requests. However, any non-pointer,
2321	// non-interface field appearing in ForceSendFields will be sent to the
2322	// server regardless of whether the field is empty or not. This may be
2323	// used to include empty fields in Patch requests.
2324	ForceSendFields []string `json:"-"`
2325
2326	// NullFields is a list of field names (e.g. "MediaObjects") to include
2327	// in API requests with the JSON null value. By default, fields with
2328	// empty values are omitted from API requests. However, any field with
2329	// an empty value appearing in NullFields will be sent to the server as
2330	// null. It is an error if a field in this list has a non-empty value.
2331	// This may be used to include null fields in Patch requests.
2332	NullFields []string `json:"-"`
2333}
2334
2335func (s *GoogleCloudDialogflowV2IntentMessageMediaContent) MarshalJSON() ([]byte, error) {
2336	type NoMethod GoogleCloudDialogflowV2IntentMessageMediaContent
2337	raw := NoMethod(*s)
2338	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2339}
2340
2341// GoogleCloudDialogflowV2IntentMessageMediaContentResponseMediaObject:
2342// Response media object for media content card.
2343type GoogleCloudDialogflowV2IntentMessageMediaContentResponseMediaObject struct {
2344	// ContentUrl: Required. Url where the media is stored.
2345	ContentUrl string `json:"contentUrl,omitempty"`
2346
2347	// Description: Optional. Description of media card.
2348	Description string `json:"description,omitempty"`
2349
2350	// Icon: Optional. Icon to display above media content.
2351	Icon *GoogleCloudDialogflowV2IntentMessageImage `json:"icon,omitempty"`
2352
2353	// LargeImage: Optional. Image to display above media content.
2354	LargeImage *GoogleCloudDialogflowV2IntentMessageImage `json:"largeImage,omitempty"`
2355
2356	// Name: Required. Name of media card.
2357	Name string `json:"name,omitempty"`
2358
2359	// ForceSendFields is a list of field names (e.g. "ContentUrl") to
2360	// unconditionally include in API requests. By default, fields with
2361	// empty values are omitted from API requests. However, any non-pointer,
2362	// non-interface field appearing in ForceSendFields will be sent to the
2363	// server regardless of whether the field is empty or not. This may be
2364	// used to include empty fields in Patch requests.
2365	ForceSendFields []string `json:"-"`
2366
2367	// NullFields is a list of field names (e.g. "ContentUrl") to include in
2368	// API requests with the JSON null value. By default, fields with empty
2369	// values are omitted from API requests. However, any field with an
2370	// empty value appearing in NullFields will be sent to the server as
2371	// null. It is an error if a field in this list has a non-empty value.
2372	// This may be used to include null fields in Patch requests.
2373	NullFields []string `json:"-"`
2374}
2375
2376func (s *GoogleCloudDialogflowV2IntentMessageMediaContentResponseMediaObject) MarshalJSON() ([]byte, error) {
2377	type NoMethod GoogleCloudDialogflowV2IntentMessageMediaContentResponseMediaObject
2378	raw := NoMethod(*s)
2379	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2380}
2381
2382// GoogleCloudDialogflowV2IntentMessageQuickReplies: The quick replies
2383// response message.
2384type GoogleCloudDialogflowV2IntentMessageQuickReplies struct {
2385	// QuickReplies: Optional. The collection of quick replies.
2386	QuickReplies []string `json:"quickReplies,omitempty"`
2387
2388	// Title: Optional. The title of the collection of quick replies.
2389	Title string `json:"title,omitempty"`
2390
2391	// ForceSendFields is a list of field names (e.g. "QuickReplies") to
2392	// unconditionally include in API requests. By default, fields with
2393	// empty values are omitted from API requests. However, any non-pointer,
2394	// non-interface field appearing in ForceSendFields will be sent to the
2395	// server regardless of whether the field is empty or not. This may be
2396	// used to include empty fields in Patch requests.
2397	ForceSendFields []string `json:"-"`
2398
2399	// NullFields is a list of field names (e.g. "QuickReplies") to include
2400	// in API requests with the JSON null value. By default, fields with
2401	// empty values are omitted from API requests. However, any field with
2402	// an empty value appearing in NullFields will be sent to the server as
2403	// null. It is an error if a field in this list has a non-empty value.
2404	// This may be used to include null fields in Patch requests.
2405	NullFields []string `json:"-"`
2406}
2407
2408func (s *GoogleCloudDialogflowV2IntentMessageQuickReplies) MarshalJSON() ([]byte, error) {
2409	type NoMethod GoogleCloudDialogflowV2IntentMessageQuickReplies
2410	raw := NoMethod(*s)
2411	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2412}
2413
2414// GoogleCloudDialogflowV2IntentMessageSelectItemInfo: Additional info
2415// about the select item for when it is triggered in a
2416// dialog.
2417type GoogleCloudDialogflowV2IntentMessageSelectItemInfo struct {
2418	// Key: Required. A unique key that will be sent back to the agent if
2419	// this
2420	// response is given.
2421	Key string `json:"key,omitempty"`
2422
2423	// Synonyms: Optional. A list of synonyms that can also be used to
2424	// trigger this
2425	// item in dialog.
2426	Synonyms []string `json:"synonyms,omitempty"`
2427
2428	// ForceSendFields is a list of field names (e.g. "Key") to
2429	// unconditionally include in API requests. By default, fields with
2430	// empty values are omitted from API requests. However, any non-pointer,
2431	// non-interface field appearing in ForceSendFields will be sent to the
2432	// server regardless of whether the field is empty or not. This may be
2433	// used to include empty fields in Patch requests.
2434	ForceSendFields []string `json:"-"`
2435
2436	// NullFields is a list of field names (e.g. "Key") to include in API
2437	// requests with the JSON null value. By default, fields with empty
2438	// values are omitted from API requests. However, any field with an
2439	// empty value appearing in NullFields will be sent to the server as
2440	// null. It is an error if a field in this list has a non-empty value.
2441	// This may be used to include null fields in Patch requests.
2442	NullFields []string `json:"-"`
2443}
2444
2445func (s *GoogleCloudDialogflowV2IntentMessageSelectItemInfo) MarshalJSON() ([]byte, error) {
2446	type NoMethod GoogleCloudDialogflowV2IntentMessageSelectItemInfo
2447	raw := NoMethod(*s)
2448	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2449}
2450
2451// GoogleCloudDialogflowV2IntentMessageSimpleResponse: The simple
2452// response message containing speech or text.
2453type GoogleCloudDialogflowV2IntentMessageSimpleResponse struct {
2454	// DisplayText: Optional. The text to display.
2455	DisplayText string `json:"displayText,omitempty"`
2456
2457	// Ssml: One of text_to_speech or ssml must be provided. Structured
2458	// spoken
2459	// response to the user in the SSML format. Mutually exclusive
2460	// with
2461	// text_to_speech.
2462	Ssml string `json:"ssml,omitempty"`
2463
2464	// TextToSpeech: One of text_to_speech or ssml must be provided. The
2465	// plain text of the
2466	// speech output. Mutually exclusive with ssml.
2467	TextToSpeech string `json:"textToSpeech,omitempty"`
2468
2469	// ForceSendFields is a list of field names (e.g. "DisplayText") to
2470	// unconditionally include in API requests. By default, fields with
2471	// empty values are omitted from API requests. However, any non-pointer,
2472	// non-interface field appearing in ForceSendFields will be sent to the
2473	// server regardless of whether the field is empty or not. This may be
2474	// used to include empty fields in Patch requests.
2475	ForceSendFields []string `json:"-"`
2476
2477	// NullFields is a list of field names (e.g. "DisplayText") to include
2478	// in API requests with the JSON null value. By default, fields with
2479	// empty values are omitted from API requests. However, any field with
2480	// an empty value appearing in NullFields will be sent to the server as
2481	// null. It is an error if a field in this list has a non-empty value.
2482	// This may be used to include null fields in Patch requests.
2483	NullFields []string `json:"-"`
2484}
2485
2486func (s *GoogleCloudDialogflowV2IntentMessageSimpleResponse) MarshalJSON() ([]byte, error) {
2487	type NoMethod GoogleCloudDialogflowV2IntentMessageSimpleResponse
2488	raw := NoMethod(*s)
2489	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2490}
2491
2492// GoogleCloudDialogflowV2IntentMessageSimpleResponses: The collection
2493// of simple response candidates.
2494// This message in `QueryResult.fulfillment_messages`
2495// and
2496// `WebhookResponse.fulfillment_messages` should contain only
2497// one
2498// `SimpleResponse`.
2499type GoogleCloudDialogflowV2IntentMessageSimpleResponses struct {
2500	// SimpleResponses: Required. The list of simple responses.
2501	SimpleResponses []*GoogleCloudDialogflowV2IntentMessageSimpleResponse `json:"simpleResponses,omitempty"`
2502
2503	// ForceSendFields is a list of field names (e.g. "SimpleResponses") to
2504	// unconditionally include in API requests. By default, fields with
2505	// empty values are omitted from API requests. However, any non-pointer,
2506	// non-interface field appearing in ForceSendFields will be sent to the
2507	// server regardless of whether the field is empty or not. This may be
2508	// used to include empty fields in Patch requests.
2509	ForceSendFields []string `json:"-"`
2510
2511	// NullFields is a list of field names (e.g. "SimpleResponses") to
2512	// include in API requests with the JSON null value. By default, fields
2513	// with empty values are omitted from API requests. However, any field
2514	// with an empty value appearing in NullFields will be sent to the
2515	// server as null. It is an error if a field in this list has a
2516	// non-empty value. This may be used to include null fields in Patch
2517	// requests.
2518	NullFields []string `json:"-"`
2519}
2520
2521func (s *GoogleCloudDialogflowV2IntentMessageSimpleResponses) MarshalJSON() ([]byte, error) {
2522	type NoMethod GoogleCloudDialogflowV2IntentMessageSimpleResponses
2523	raw := NoMethod(*s)
2524	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2525}
2526
2527// GoogleCloudDialogflowV2IntentMessageSuggestion: The suggestion chip
2528// message that the user can tap to quickly post a reply
2529// to the conversation.
2530type GoogleCloudDialogflowV2IntentMessageSuggestion struct {
2531	// Title: Required. The text shown the in the suggestion chip.
2532	Title string `json:"title,omitempty"`
2533
2534	// ForceSendFields is a list of field names (e.g. "Title") to
2535	// unconditionally include in API requests. By default, fields with
2536	// empty values are omitted from API requests. However, any non-pointer,
2537	// non-interface field appearing in ForceSendFields will be sent to the
2538	// server regardless of whether the field is empty or not. This may be
2539	// used to include empty fields in Patch requests.
2540	ForceSendFields []string `json:"-"`
2541
2542	// NullFields is a list of field names (e.g. "Title") to include in API
2543	// requests with the JSON null value. By default, fields with empty
2544	// values are omitted from API requests. However, any field with an
2545	// empty value appearing in NullFields will be sent to the server as
2546	// null. It is an error if a field in this list has a non-empty value.
2547	// This may be used to include null fields in Patch requests.
2548	NullFields []string `json:"-"`
2549}
2550
2551func (s *GoogleCloudDialogflowV2IntentMessageSuggestion) MarshalJSON() ([]byte, error) {
2552	type NoMethod GoogleCloudDialogflowV2IntentMessageSuggestion
2553	raw := NoMethod(*s)
2554	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2555}
2556
2557// GoogleCloudDialogflowV2IntentMessageSuggestions: The collection of
2558// suggestions.
2559type GoogleCloudDialogflowV2IntentMessageSuggestions struct {
2560	// Suggestions: Required. The list of suggested replies.
2561	Suggestions []*GoogleCloudDialogflowV2IntentMessageSuggestion `json:"suggestions,omitempty"`
2562
2563	// ForceSendFields is a list of field names (e.g. "Suggestions") to
2564	// unconditionally include in API requests. By default, fields with
2565	// empty values are omitted from API requests. However, any non-pointer,
2566	// non-interface field appearing in ForceSendFields will be sent to the
2567	// server regardless of whether the field is empty or not. This may be
2568	// used to include empty fields in Patch requests.
2569	ForceSendFields []string `json:"-"`
2570
2571	// NullFields is a list of field names (e.g. "Suggestions") to include
2572	// in API requests with the JSON null value. By default, fields with
2573	// empty values are omitted from API requests. However, any field with
2574	// an empty value appearing in NullFields will be sent to the server as
2575	// null. It is an error if a field in this list has a non-empty value.
2576	// This may be used to include null fields in Patch requests.
2577	NullFields []string `json:"-"`
2578}
2579
2580func (s *GoogleCloudDialogflowV2IntentMessageSuggestions) MarshalJSON() ([]byte, error) {
2581	type NoMethod GoogleCloudDialogflowV2IntentMessageSuggestions
2582	raw := NoMethod(*s)
2583	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2584}
2585
2586// GoogleCloudDialogflowV2IntentMessageTableCard: Table card for Actions
2587// on Google.
2588type GoogleCloudDialogflowV2IntentMessageTableCard struct {
2589	// Buttons: Optional. List of buttons for the card.
2590	Buttons []*GoogleCloudDialogflowV2IntentMessageBasicCardButton `json:"buttons,omitempty"`
2591
2592	// ColumnProperties: Optional. Display properties for the columns in
2593	// this table.
2594	ColumnProperties []*GoogleCloudDialogflowV2IntentMessageColumnProperties `json:"columnProperties,omitempty"`
2595
2596	// Image: Optional. Image which should be displayed on the card.
2597	Image *GoogleCloudDialogflowV2IntentMessageImage `json:"image,omitempty"`
2598
2599	// Rows: Optional. Rows in this table of data.
2600	Rows []*GoogleCloudDialogflowV2IntentMessageTableCardRow `json:"rows,omitempty"`
2601
2602	// Subtitle: Optional. Subtitle to the title.
2603	Subtitle string `json:"subtitle,omitempty"`
2604
2605	// Title: Required. Title of the card.
2606	Title string `json:"title,omitempty"`
2607
2608	// ForceSendFields is a list of field names (e.g. "Buttons") to
2609	// unconditionally include in API requests. By default, fields with
2610	// empty values are omitted from API requests. However, any non-pointer,
2611	// non-interface field appearing in ForceSendFields will be sent to the
2612	// server regardless of whether the field is empty or not. This may be
2613	// used to include empty fields in Patch requests.
2614	ForceSendFields []string `json:"-"`
2615
2616	// NullFields is a list of field names (e.g. "Buttons") to include in
2617	// API requests with the JSON null value. By default, fields with empty
2618	// values are omitted from API requests. However, any field with an
2619	// empty value appearing in NullFields will be sent to the server as
2620	// null. It is an error if a field in this list has a non-empty value.
2621	// This may be used to include null fields in Patch requests.
2622	NullFields []string `json:"-"`
2623}
2624
2625func (s *GoogleCloudDialogflowV2IntentMessageTableCard) MarshalJSON() ([]byte, error) {
2626	type NoMethod GoogleCloudDialogflowV2IntentMessageTableCard
2627	raw := NoMethod(*s)
2628	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2629}
2630
2631// GoogleCloudDialogflowV2IntentMessageTableCardCell: Cell of
2632// TableCardRow.
2633type GoogleCloudDialogflowV2IntentMessageTableCardCell struct {
2634	// Text: Required. Text in this cell.
2635	Text string `json:"text,omitempty"`
2636
2637	// ForceSendFields is a list of field names (e.g. "Text") to
2638	// unconditionally include in API requests. By default, fields with
2639	// empty values are omitted from API requests. However, any non-pointer,
2640	// non-interface field appearing in ForceSendFields will be sent to the
2641	// server regardless of whether the field is empty or not. This may be
2642	// used to include empty fields in Patch requests.
2643	ForceSendFields []string `json:"-"`
2644
2645	// NullFields is a list of field names (e.g. "Text") to include in API
2646	// requests with the JSON null value. By default, fields with empty
2647	// values are omitted from API requests. However, any field with an
2648	// empty value appearing in NullFields will be sent to the server as
2649	// null. It is an error if a field in this list has a non-empty value.
2650	// This may be used to include null fields in Patch requests.
2651	NullFields []string `json:"-"`
2652}
2653
2654func (s *GoogleCloudDialogflowV2IntentMessageTableCardCell) MarshalJSON() ([]byte, error) {
2655	type NoMethod GoogleCloudDialogflowV2IntentMessageTableCardCell
2656	raw := NoMethod(*s)
2657	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2658}
2659
2660// GoogleCloudDialogflowV2IntentMessageTableCardRow: Row of TableCard.
2661type GoogleCloudDialogflowV2IntentMessageTableCardRow struct {
2662	// Cells: Optional. List of cells that make up this row.
2663	Cells []*GoogleCloudDialogflowV2IntentMessageTableCardCell `json:"cells,omitempty"`
2664
2665	// DividerAfter: Optional. Whether to add a visual divider after this
2666	// row.
2667	DividerAfter bool `json:"dividerAfter,omitempty"`
2668
2669	// ForceSendFields is a list of field names (e.g. "Cells") to
2670	// unconditionally include in API requests. By default, fields with
2671	// empty values are omitted from API requests. However, any non-pointer,
2672	// non-interface field appearing in ForceSendFields will be sent to the
2673	// server regardless of whether the field is empty or not. This may be
2674	// used to include empty fields in Patch requests.
2675	ForceSendFields []string `json:"-"`
2676
2677	// NullFields is a list of field names (e.g. "Cells") to include in API
2678	// requests with the JSON null value. By default, fields with empty
2679	// values are omitted from API requests. However, any field with an
2680	// empty value appearing in NullFields will be sent to the server as
2681	// null. It is an error if a field in this list has a non-empty value.
2682	// This may be used to include null fields in Patch requests.
2683	NullFields []string `json:"-"`
2684}
2685
2686func (s *GoogleCloudDialogflowV2IntentMessageTableCardRow) MarshalJSON() ([]byte, error) {
2687	type NoMethod GoogleCloudDialogflowV2IntentMessageTableCardRow
2688	raw := NoMethod(*s)
2689	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2690}
2691
2692// GoogleCloudDialogflowV2IntentMessageText: The text response message.
2693type GoogleCloudDialogflowV2IntentMessageText struct {
2694	// Text: Optional. The collection of the agent's responses.
2695	Text []string `json:"text,omitempty"`
2696
2697	// ForceSendFields is a list of field names (e.g. "Text") to
2698	// unconditionally include in API requests. By default, fields with
2699	// empty values are omitted from API requests. However, any non-pointer,
2700	// non-interface field appearing in ForceSendFields will be sent to the
2701	// server regardless of whether the field is empty or not. This may be
2702	// used to include empty fields in Patch requests.
2703	ForceSendFields []string `json:"-"`
2704
2705	// NullFields is a list of field names (e.g. "Text") to include in API
2706	// requests with the JSON null value. By default, fields with empty
2707	// values are omitted from API requests. However, any field with an
2708	// empty value appearing in NullFields will be sent to the server as
2709	// null. It is an error if a field in this list has a non-empty value.
2710	// This may be used to include null fields in Patch requests.
2711	NullFields []string `json:"-"`
2712}
2713
2714func (s *GoogleCloudDialogflowV2IntentMessageText) MarshalJSON() ([]byte, error) {
2715	type NoMethod GoogleCloudDialogflowV2IntentMessageText
2716	raw := NoMethod(*s)
2717	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2718}
2719
2720// GoogleCloudDialogflowV2IntentParameter: Represents intent parameters.
2721type GoogleCloudDialogflowV2IntentParameter struct {
2722	// DefaultValue: Optional. The default value to use when the `value`
2723	// yields an empty
2724	// result.
2725	// Default values can be extracted from contexts by using the
2726	// following
2727	// syntax: `#context_name.parameter_name`.
2728	DefaultValue string `json:"defaultValue,omitempty"`
2729
2730	// DisplayName: Required. The name of the parameter.
2731	DisplayName string `json:"displayName,omitempty"`
2732
2733	// EntityTypeDisplayName: Optional. The name of the entity type,
2734	// prefixed with `@`, that
2735	// describes values of the parameter. If the parameter is
2736	// required, this must be provided.
2737	EntityTypeDisplayName string `json:"entityTypeDisplayName,omitempty"`
2738
2739	// IsList: Optional. Indicates whether the parameter represents a list
2740	// of values.
2741	IsList bool `json:"isList,omitempty"`
2742
2743	// Mandatory: Optional. Indicates whether the parameter is required.
2744	// That is,
2745	// whether the intent cannot be completed without collecting the
2746	// parameter
2747	// value.
2748	Mandatory bool `json:"mandatory,omitempty"`
2749
2750	// Name: The unique identifier of this parameter.
2751	Name string `json:"name,omitempty"`
2752
2753	// Prompts: Optional. The collection of prompts that the agent can
2754	// present to the
2755	// user in order to collect a value for the parameter.
2756	Prompts []string `json:"prompts,omitempty"`
2757
2758	// Value: Optional. The definition of the parameter value. It can be:
2759	//
2760	// - a constant string,
2761	// - a parameter value defined as `$parameter_name`,
2762	// - an original parameter value defined as
2763	// `$parameter_name.original`,
2764	// - a parameter value from some context defined as
2765	//   `#context_name.parameter_name`.
2766	Value string `json:"value,omitempty"`
2767
2768	// ForceSendFields is a list of field names (e.g. "DefaultValue") to
2769	// unconditionally include in API requests. By default, fields with
2770	// empty values are omitted from API requests. However, any non-pointer,
2771	// non-interface field appearing in ForceSendFields will be sent to the
2772	// server regardless of whether the field is empty or not. This may be
2773	// used to include empty fields in Patch requests.
2774	ForceSendFields []string `json:"-"`
2775
2776	// NullFields is a list of field names (e.g. "DefaultValue") to include
2777	// in API requests with the JSON null value. By default, fields with
2778	// empty values are omitted from API requests. However, any field with
2779	// an empty value appearing in NullFields will be sent to the server as
2780	// null. It is an error if a field in this list has a non-empty value.
2781	// This may be used to include null fields in Patch requests.
2782	NullFields []string `json:"-"`
2783}
2784
2785func (s *GoogleCloudDialogflowV2IntentParameter) MarshalJSON() ([]byte, error) {
2786	type NoMethod GoogleCloudDialogflowV2IntentParameter
2787	raw := NoMethod(*s)
2788	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2789}
2790
2791// GoogleCloudDialogflowV2IntentTrainingPhrase: Represents an example
2792// that the agent is trained on.
2793type GoogleCloudDialogflowV2IntentTrainingPhrase struct {
2794	// Name: Output only. The unique identifier of this training phrase.
2795	Name string `json:"name,omitempty"`
2796
2797	// Parts: Required. The ordered list of training phrase parts.
2798	// The parts are concatenated in order to form the training
2799	// phrase.
2800	//
2801	// Note: The API does not automatically annotate training phrases like
2802	// the
2803	// Dialogflow Console does.
2804	//
2805	// Note: Do not forget to include whitespace at part boundaries,
2806	// so the training phrase is well formatted when the parts are
2807	// concatenated.
2808	//
2809	// If the training phrase does not need to be annotated with
2810	// parameters,
2811	// you just need a single part with only the Part.text field set.
2812	//
2813	// If you want to annotate the training phrase, you must create
2814	// multiple
2815	// parts, where the fields of each part are populated in one of two
2816	// ways:
2817	//
2818	// -   `Part.text` is set to a part of the phrase that has no
2819	// parameters.
2820	// -   `Part.text` is set to a part of the phrase that you want to
2821	// annotate,
2822	//     and the `entity_type`, `alias`, and `user_defined` fields are
2823	// all
2824	//     set.
2825	Parts []*GoogleCloudDialogflowV2IntentTrainingPhrasePart `json:"parts,omitempty"`
2826
2827	// TimesAddedCount: Optional. Indicates how many times this example was
2828	// added to
2829	// the intent. Each time a developer adds an existing sample by editing
2830	// an
2831	// intent or training, this counter is increased.
2832	TimesAddedCount int64 `json:"timesAddedCount,omitempty"`
2833
2834	// Type: Required. The type of the training phrase.
2835	//
2836	// Possible values:
2837	//   "TYPE_UNSPECIFIED" - Not specified. This value should never be
2838	// used.
2839	//   "EXAMPLE" - Examples do not contain @-prefixed entity type names,
2840	// but example parts
2841	// can be annotated with entity types.
2842	//   "TEMPLATE" - Templates are not annotated with entity types, but
2843	// they can contain
2844	// @-prefixed entity type names as substrings.
2845	// Template mode has been deprecated. Example mode is the only
2846	// supported
2847	// way to create new training phrases. If you have existing
2848	// training
2849	// phrases that you've created in template mode, those will continue
2850	// to
2851	// work.
2852	Type string `json:"type,omitempty"`
2853
2854	// ForceSendFields is a list of field names (e.g. "Name") to
2855	// unconditionally include in API requests. By default, fields with
2856	// empty values are omitted from API requests. However, any non-pointer,
2857	// non-interface field appearing in ForceSendFields will be sent to the
2858	// server regardless of whether the field is empty or not. This may be
2859	// used to include empty fields in Patch requests.
2860	ForceSendFields []string `json:"-"`
2861
2862	// NullFields is a list of field names (e.g. "Name") to include in API
2863	// requests with the JSON null value. By default, fields with empty
2864	// values are omitted from API requests. However, any field with an
2865	// empty value appearing in NullFields will be sent to the server as
2866	// null. It is an error if a field in this list has a non-empty value.
2867	// This may be used to include null fields in Patch requests.
2868	NullFields []string `json:"-"`
2869}
2870
2871func (s *GoogleCloudDialogflowV2IntentTrainingPhrase) MarshalJSON() ([]byte, error) {
2872	type NoMethod GoogleCloudDialogflowV2IntentTrainingPhrase
2873	raw := NoMethod(*s)
2874	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2875}
2876
2877// GoogleCloudDialogflowV2IntentTrainingPhrasePart: Represents a part of
2878// a training phrase.
2879type GoogleCloudDialogflowV2IntentTrainingPhrasePart struct {
2880	// Alias: Optional. The parameter name for the value extracted from
2881	// the
2882	// annotated part of the example.
2883	// This field is required for annotated parts of the training phrase.
2884	Alias string `json:"alias,omitempty"`
2885
2886	// EntityType: Optional. The entity type name prefixed with `@`.
2887	// This field is required for annotated parts of the training phrase.
2888	EntityType string `json:"entityType,omitempty"`
2889
2890	// Text: Required. The text for this part.
2891	Text string `json:"text,omitempty"`
2892
2893	// UserDefined: Optional. Indicates whether the text was manually
2894	// annotated.
2895	// This field is set to true when the Dialogflow Console is used
2896	// to
2897	// manually annotate the part. When creating an annotated part with
2898	// the
2899	// API, you must set this to true.
2900	UserDefined bool `json:"userDefined,omitempty"`
2901
2902	// ForceSendFields is a list of field names (e.g. "Alias") to
2903	// unconditionally include in API requests. By default, fields with
2904	// empty values are omitted from API requests. However, any non-pointer,
2905	// non-interface field appearing in ForceSendFields will be sent to the
2906	// server regardless of whether the field is empty or not. This may be
2907	// used to include empty fields in Patch requests.
2908	ForceSendFields []string `json:"-"`
2909
2910	// NullFields is a list of field names (e.g. "Alias") to include in API
2911	// requests with the JSON null value. By default, fields with empty
2912	// values are omitted from API requests. However, any field with an
2913	// empty value appearing in NullFields will be sent to the server as
2914	// null. It is an error if a field in this list has a non-empty value.
2915	// This may be used to include null fields in Patch requests.
2916	NullFields []string `json:"-"`
2917}
2918
2919func (s *GoogleCloudDialogflowV2IntentTrainingPhrasePart) MarshalJSON() ([]byte, error) {
2920	type NoMethod GoogleCloudDialogflowV2IntentTrainingPhrasePart
2921	raw := NoMethod(*s)
2922	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2923}
2924
2925// GoogleCloudDialogflowV2Message: Represents a message posted into a
2926// conversation.
2927type GoogleCloudDialogflowV2Message struct {
2928	// Content: Required. The message content.
2929	Content string `json:"content,omitempty"`
2930
2931	// CreateTime: Output only. The time when the message was created.
2932	CreateTime string `json:"createTime,omitempty"`
2933
2934	// LanguageCode: Optional. The message language.
2935	// This should be a
2936	// [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt)
2937	// language tag. Example: "en-US".
2938	LanguageCode string `json:"languageCode,omitempty"`
2939
2940	// MessageAnnotation: Output only. The annotation for the message.
2941	MessageAnnotation *GoogleCloudDialogflowV2MessageAnnotation `json:"messageAnnotation,omitempty"`
2942
2943	// Name: The unique identifier of the message.
2944	// Format: `projects/<Project
2945	// ID>/conversations/<Conversation
2946	// ID>/messages/<Message ID>`.
2947	Name string `json:"name,omitempty"`
2948
2949	// Participant: Output only. The participant that sends this message.
2950	Participant string `json:"participant,omitempty"`
2951
2952	// ParticipantRole: Output only. The role of the participant.
2953	//
2954	// Possible values:
2955	//   "ROLE_UNSPECIFIED" - Participant role not set.
2956	//   "HUMAN_AGENT" - Participant is a human agent.
2957	//   "AUTOMATED_AGENT" - Participant is an automated agent, such as a
2958	// Dialogflow agent.
2959	//   "END_USER" - Participant is an end user that has called or chatted
2960	// with
2961	// Dialogflow services.
2962	ParticipantRole string `json:"participantRole,omitempty"`
2963
2964	// ForceSendFields is a list of field names (e.g. "Content") to
2965	// unconditionally include in API requests. By default, fields with
2966	// empty values are omitted from API requests. However, any non-pointer,
2967	// non-interface field appearing in ForceSendFields will be sent to the
2968	// server regardless of whether the field is empty or not. This may be
2969	// used to include empty fields in Patch requests.
2970	ForceSendFields []string `json:"-"`
2971
2972	// NullFields is a list of field names (e.g. "Content") to include in
2973	// API requests with the JSON null value. By default, fields with empty
2974	// values are omitted from API requests. However, any field with an
2975	// empty value appearing in NullFields will be sent to the server as
2976	// null. It is an error if a field in this list has a non-empty value.
2977	// This may be used to include null fields in Patch requests.
2978	NullFields []string `json:"-"`
2979}
2980
2981func (s *GoogleCloudDialogflowV2Message) MarshalJSON() ([]byte, error) {
2982	type NoMethod GoogleCloudDialogflowV2Message
2983	raw := NoMethod(*s)
2984	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2985}
2986
2987// GoogleCloudDialogflowV2MessageAnnotation: Represents the result of
2988// annotation for the message.
2989type GoogleCloudDialogflowV2MessageAnnotation struct {
2990	// ContainEntities: Indicates whether the text message contains
2991	// entities.
2992	ContainEntities bool `json:"containEntities,omitempty"`
2993
2994	// Parts: The collection of annotated message parts ordered by
2995	// their
2996	// position in the message. You can recover the annotated message
2997	// by
2998	// concatenating [AnnotatedMessagePart.text].
2999	Parts []*GoogleCloudDialogflowV2AnnotatedMessagePart `json:"parts,omitempty"`
3000
3001	// ForceSendFields is a list of field names (e.g. "ContainEntities") to
3002	// unconditionally include in API requests. By default, fields with
3003	// empty values are omitted from API requests. However, any non-pointer,
3004	// non-interface field appearing in ForceSendFields will be sent to the
3005	// server regardless of whether the field is empty or not. This may be
3006	// used to include empty fields in Patch requests.
3007	ForceSendFields []string `json:"-"`
3008
3009	// NullFields is a list of field names (e.g. "ContainEntities") to
3010	// include in API requests with the JSON null value. By default, fields
3011	// with empty values are omitted from API requests. However, any field
3012	// with an empty value appearing in NullFields will be sent to the
3013	// server as null. It is an error if a field in this list has a
3014	// non-empty value. This may be used to include null fields in Patch
3015	// requests.
3016	NullFields []string `json:"-"`
3017}
3018
3019func (s *GoogleCloudDialogflowV2MessageAnnotation) MarshalJSON() ([]byte, error) {
3020	type NoMethod GoogleCloudDialogflowV2MessageAnnotation
3021	raw := NoMethod(*s)
3022	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3023}
3024
3025// GoogleCloudDialogflowV2OriginalDetectIntentRequest: Represents the
3026// contents of the original request that was passed to
3027// the `[Streaming]DetectIntent` call.
3028type GoogleCloudDialogflowV2OriginalDetectIntentRequest struct {
3029	// Payload: Optional. This field is set to the value of the
3030	// `QueryParameters.payload`
3031	// field passed in the request. Some integrations that query a
3032	// Dialogflow
3033	// agent may provide additional information in the payload.
3034	//
3035	// In particular, for the Dialogflow Phone Gateway integration, this
3036	// field has
3037	// the form:
3038	// <pre>{
3039	//  "telephony": {
3040	//    "caller_id": "+18558363987"
3041	//  }
3042	// }</pre>
3043	// Note: The caller ID field (`caller_id`) will be redacted for
3044	// Standard
3045	// Edition agents and populated with the caller ID in
3046	// [E.164
3047	// format](https://en.wikipedia.org/wiki/E.164) for Enterprise Edition
3048	// agents.
3049	Payload googleapi.RawMessage `json:"payload,omitempty"`
3050
3051	// Source: The source of this request, e.g., `google`, `facebook`,
3052	// `slack`. It is set
3053	// by Dialogflow-owned servers.
3054	Source string `json:"source,omitempty"`
3055
3056	// Version: Optional. The version of the protocol used for this
3057	// request.
3058	// This field is AoG-specific.
3059	Version string `json:"version,omitempty"`
3060
3061	// ForceSendFields is a list of field names (e.g. "Payload") to
3062	// unconditionally include in API requests. By default, fields with
3063	// empty values are omitted from API requests. However, any non-pointer,
3064	// non-interface field appearing in ForceSendFields will be sent to the
3065	// server regardless of whether the field is empty or not. This may be
3066	// used to include empty fields in Patch requests.
3067	ForceSendFields []string `json:"-"`
3068
3069	// NullFields is a list of field names (e.g. "Payload") to include in
3070	// API requests with the JSON null value. By default, fields with empty
3071	// values are omitted from API requests. However, any field with an
3072	// empty value appearing in NullFields will be sent to the server as
3073	// null. It is an error if a field in this list has a non-empty value.
3074	// This may be used to include null fields in Patch requests.
3075	NullFields []string `json:"-"`
3076}
3077
3078func (s *GoogleCloudDialogflowV2OriginalDetectIntentRequest) MarshalJSON() ([]byte, error) {
3079	type NoMethod GoogleCloudDialogflowV2OriginalDetectIntentRequest
3080	raw := NoMethod(*s)
3081	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3082}
3083
3084// GoogleCloudDialogflowV2QueryResult: Represents the result of
3085// conversational query or event processing.
3086type GoogleCloudDialogflowV2QueryResult struct {
3087	// Action: The action name from the matched intent.
3088	Action string `json:"action,omitempty"`
3089
3090	// AllRequiredParamsPresent: This field is set to:
3091	//
3092	// - `false` if the matched intent has required parameters and not all
3093	// of
3094	//    the required parameter values have been collected.
3095	// - `true` if all required parameter values have been collected, or if
3096	// the
3097	//    matched intent doesn't contain any required parameters.
3098	AllRequiredParamsPresent bool `json:"allRequiredParamsPresent,omitempty"`
3099
3100	// DiagnosticInfo: Free-form diagnostic information for the associated
3101	// detect intent request.
3102	// The fields of this data can change without notice, so you should not
3103	// write
3104	// code that depends on its structure.
3105	// The data may contain:
3106	//
3107	// - webhook call latency
3108	// - webhook errors
3109	DiagnosticInfo googleapi.RawMessage `json:"diagnosticInfo,omitempty"`
3110
3111	// FulfillmentMessages: The collection of rich messages to present to
3112	// the user.
3113	FulfillmentMessages []*GoogleCloudDialogflowV2IntentMessage `json:"fulfillmentMessages,omitempty"`
3114
3115	// FulfillmentText: The text to be pronounced to the user or shown on
3116	// the screen.
3117	// Note: This is a legacy field, `fulfillment_messages` should be
3118	// preferred.
3119	FulfillmentText string `json:"fulfillmentText,omitempty"`
3120
3121	// Intent: The intent that matched the conversational query. Some,
3122	// not
3123	// all fields are filled in this message, including but not limited
3124	// to:
3125	// `name`, `display_name`, `end_interaction` and `is_fallback`.
3126	Intent *GoogleCloudDialogflowV2Intent `json:"intent,omitempty"`
3127
3128	// IntentDetectionConfidence: The intent detection confidence. Values
3129	// range from 0.0
3130	// (completely uncertain) to 1.0 (completely certain).
3131	// This value is for informational purpose only and is only used to
3132	// help match the best intent within the classification threshold.
3133	// This value may change for the same end-user expression at any time
3134	// due to a
3135	// model retraining or change in implementation.
3136	// If there are `multiple knowledge_answers` messages, this value is set
3137	// to
3138	// the greatest `knowledgeAnswers.match_confidence` value in the list.
3139	IntentDetectionConfidence float64 `json:"intentDetectionConfidence,omitempty"`
3140
3141	// LanguageCode: The language that was triggered during intent
3142	// detection.
3143	// See
3144	// [Language
3145	// Support](https://cloud.google.com/dialogflow/docs/reference/
3146	// language)
3147	// for a list of the currently supported language codes.
3148	LanguageCode string `json:"languageCode,omitempty"`
3149
3150	// OutputContexts: The collection of output contexts. If
3151	// applicable,
3152	// `output_contexts.parameters` contains entries with name
3153	// `<parameter name>.original` containing the original parameter
3154	// values
3155	// before the query.
3156	OutputContexts []*GoogleCloudDialogflowV2Context `json:"outputContexts,omitempty"`
3157
3158	// Parameters: The collection of extracted parameters.
3159	//
3160	// Depending on your protocol or client library language, this is a
3161	// map, associative array, symbol table, dictionary, or JSON
3162	// object
3163	// composed of a collection of (MapKey, MapValue) pairs:
3164	//
3165	// -   MapKey type: string
3166	// -   MapKey value: parameter name
3167	// -   MapValue type:
3168	//     -   If parameter's entity type is a composite entity: map
3169	//     -   Else: string or number, depending on parameter value type
3170	// -   MapValue value:
3171	//     -   If parameter's entity type is a composite entity:
3172	//         map from composite entity property names to property values
3173	//     -   Else: parameter value
3174	Parameters googleapi.RawMessage `json:"parameters,omitempty"`
3175
3176	// QueryText: The original conversational query text:
3177	//
3178	// - If natural language text was provided as input, `query_text`
3179	// contains
3180	//   a copy of the input.
3181	// - If natural language speech audio was provided as input,
3182	// `query_text`
3183	//   contains the speech recognition result. If speech recognizer
3184	// produced
3185	//   multiple alternatives, a particular one is picked.
3186	// - If automatic spell correction is enabled, `query_text` will contain
3187	// the
3188	//   corrected user input.
3189	QueryText string `json:"queryText,omitempty"`
3190
3191	// SentimentAnalysisResult: The sentiment analysis result, which depends
3192	// on the
3193	// `sentiment_analysis_request_config` specified in the request.
3194	SentimentAnalysisResult *GoogleCloudDialogflowV2SentimentAnalysisResult `json:"sentimentAnalysisResult,omitempty"`
3195
3196	// SpeechRecognitionConfidence: The Speech recognition confidence
3197	// between 0.0 and 1.0. A higher number
3198	// indicates an estimated greater likelihood that the recognized words
3199	// are
3200	// correct. The default of 0.0 is a sentinel value indicating that
3201	// confidence
3202	// was not set.
3203	//
3204	// This field is not guaranteed to be accurate or set. In particular
3205	// this
3206	// field isn't set for StreamingDetectIntent since the streaming
3207	// endpoint has
3208	// separate confidence estimates per portion of the audio
3209	// in
3210	// StreamingRecognitionResult.
3211	SpeechRecognitionConfidence float64 `json:"speechRecognitionConfidence,omitempty"`
3212
3213	// WebhookPayload: If the query was fulfilled by a webhook call, this
3214	// field is set to the
3215	// value of the `payload` field returned in the webhook response.
3216	WebhookPayload googleapi.RawMessage `json:"webhookPayload,omitempty"`
3217
3218	// WebhookSource: If the query was fulfilled by a webhook call, this
3219	// field is set to the
3220	// value of the `source` field returned in the webhook response.
3221	WebhookSource string `json:"webhookSource,omitempty"`
3222
3223	// ForceSendFields is a list of field names (e.g. "Action") to
3224	// unconditionally include in API requests. By default, fields with
3225	// empty values are omitted from API requests. However, any non-pointer,
3226	// non-interface field appearing in ForceSendFields will be sent to the
3227	// server regardless of whether the field is empty or not. This may be
3228	// used to include empty fields in Patch requests.
3229	ForceSendFields []string `json:"-"`
3230
3231	// NullFields is a list of field names (e.g. "Action") to include in API
3232	// requests with the JSON null value. By default, fields with empty
3233	// values are omitted from API requests. However, any field with an
3234	// empty value appearing in NullFields will be sent to the server as
3235	// null. It is an error if a field in this list has a non-empty value.
3236	// This may be used to include null fields in Patch requests.
3237	NullFields []string `json:"-"`
3238}
3239
3240func (s *GoogleCloudDialogflowV2QueryResult) MarshalJSON() ([]byte, error) {
3241	type NoMethod GoogleCloudDialogflowV2QueryResult
3242	raw := NoMethod(*s)
3243	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3244}
3245
3246func (s *GoogleCloudDialogflowV2QueryResult) UnmarshalJSON(data []byte) error {
3247	type NoMethod GoogleCloudDialogflowV2QueryResult
3248	var s1 struct {
3249		IntentDetectionConfidence   gensupport.JSONFloat64 `json:"intentDetectionConfidence"`
3250		SpeechRecognitionConfidence gensupport.JSONFloat64 `json:"speechRecognitionConfidence"`
3251		*NoMethod
3252	}
3253	s1.NoMethod = (*NoMethod)(s)
3254	if err := json.Unmarshal(data, &s1); err != nil {
3255		return err
3256	}
3257	s.IntentDetectionConfidence = float64(s1.IntentDetectionConfidence)
3258	s.SpeechRecognitionConfidence = float64(s1.SpeechRecognitionConfidence)
3259	return nil
3260}
3261
3262// GoogleCloudDialogflowV2Sentiment: The sentiment, such as
3263// positive/negative feeling or association, for a unit
3264// of analysis, such as the query text.
3265type GoogleCloudDialogflowV2Sentiment struct {
3266	// Magnitude: A non-negative number in the [0, +inf) range, which
3267	// represents the absolute
3268	// magnitude of sentiment, regardless of score (positive or negative).
3269	Magnitude float64 `json:"magnitude,omitempty"`
3270
3271	// Score: Sentiment score between -1.0 (negative sentiment) and 1.0
3272	// (positive
3273	// sentiment).
3274	Score float64 `json:"score,omitempty"`
3275
3276	// ForceSendFields is a list of field names (e.g. "Magnitude") to
3277	// unconditionally include in API requests. By default, fields with
3278	// empty values are omitted from API requests. However, any non-pointer,
3279	// non-interface field appearing in ForceSendFields will be sent to the
3280	// server regardless of whether the field is empty or not. This may be
3281	// used to include empty fields in Patch requests.
3282	ForceSendFields []string `json:"-"`
3283
3284	// NullFields is a list of field names (e.g. "Magnitude") to include in
3285	// API requests with the JSON null value. By default, fields with empty
3286	// values are omitted from API requests. However, any field with an
3287	// empty value appearing in NullFields will be sent to the server as
3288	// null. It is an error if a field in this list has a non-empty value.
3289	// This may be used to include null fields in Patch requests.
3290	NullFields []string `json:"-"`
3291}
3292
3293func (s *GoogleCloudDialogflowV2Sentiment) MarshalJSON() ([]byte, error) {
3294	type NoMethod GoogleCloudDialogflowV2Sentiment
3295	raw := NoMethod(*s)
3296	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3297}
3298
3299func (s *GoogleCloudDialogflowV2Sentiment) UnmarshalJSON(data []byte) error {
3300	type NoMethod GoogleCloudDialogflowV2Sentiment
3301	var s1 struct {
3302		Magnitude gensupport.JSONFloat64 `json:"magnitude"`
3303		Score     gensupport.JSONFloat64 `json:"score"`
3304		*NoMethod
3305	}
3306	s1.NoMethod = (*NoMethod)(s)
3307	if err := json.Unmarshal(data, &s1); err != nil {
3308		return err
3309	}
3310	s.Magnitude = float64(s1.Magnitude)
3311	s.Score = float64(s1.Score)
3312	return nil
3313}
3314
3315// GoogleCloudDialogflowV2SentimentAnalysisResult: The result of
3316// sentiment analysis as configured
3317// by
3318// `sentiment_analysis_request_config`.
3319type GoogleCloudDialogflowV2SentimentAnalysisResult struct {
3320	// QueryTextSentiment: The sentiment analysis result for `query_text`.
3321	QueryTextSentiment *GoogleCloudDialogflowV2Sentiment `json:"queryTextSentiment,omitempty"`
3322
3323	// ForceSendFields is a list of field names (e.g. "QueryTextSentiment")
3324	// to unconditionally include in API requests. By default, fields with
3325	// empty values are omitted from API requests. However, any non-pointer,
3326	// non-interface field appearing in ForceSendFields will be sent to the
3327	// server regardless of whether the field is empty or not. This may be
3328	// used to include empty fields in Patch requests.
3329	ForceSendFields []string `json:"-"`
3330
3331	// NullFields is a list of field names (e.g. "QueryTextSentiment") to
3332	// include in API requests with the JSON null value. By default, fields
3333	// with empty values are omitted from API requests. However, any field
3334	// with an empty value appearing in NullFields will be sent to the
3335	// server as null. It is an error if a field in this list has a
3336	// non-empty value. This may be used to include null fields in Patch
3337	// requests.
3338	NullFields []string `json:"-"`
3339}
3340
3341func (s *GoogleCloudDialogflowV2SentimentAnalysisResult) MarshalJSON() ([]byte, error) {
3342	type NoMethod GoogleCloudDialogflowV2SentimentAnalysisResult
3343	raw := NoMethod(*s)
3344	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3345}
3346
3347// GoogleCloudDialogflowV2SessionEntityType: Represents a session entity
3348// type.
3349//
3350// Extends or replaces a custom entity type at the user session level
3351// (we
3352// refer to the entity types defined at the agent level as "custom
3353// entity
3354// types").
3355//
3356// Note: session entity types apply to all queries, regardless of the
3357// language.
3358type GoogleCloudDialogflowV2SessionEntityType struct {
3359	// Entities: Required. The collection of entities associated with this
3360	// session entity
3361	// type.
3362	Entities []*GoogleCloudDialogflowV2EntityTypeEntity `json:"entities,omitempty"`
3363
3364	// EntityOverrideMode: Required. Indicates whether the additional data
3365	// should override or
3366	// supplement the custom entity type definition.
3367	//
3368	// Possible values:
3369	//   "ENTITY_OVERRIDE_MODE_UNSPECIFIED" - Not specified. This value
3370	// should be never used.
3371	//   "ENTITY_OVERRIDE_MODE_OVERRIDE" - The collection of session
3372	// entities overrides the collection of entities
3373	// in the corresponding custom entity type.
3374	//   "ENTITY_OVERRIDE_MODE_SUPPLEMENT" - The collection of session
3375	// entities extends the collection of entities in
3376	// the corresponding custom entity type.
3377	//
3378	// Note: Even in this override mode calls to
3379	// `ListSessionEntityTypes`,
3380	// `GetSessionEntityType`, `CreateSessionEntityType`
3381	// and
3382	// `UpdateSessionEntityType` only return the additional entities added
3383	// in
3384	// this session entity type. If you want to get the supplemented
3385	// list,
3386	// please call EntityTypes.GetEntityType on the custom entity type
3387	// and merge.
3388	EntityOverrideMode string `json:"entityOverrideMode,omitempty"`
3389
3390	// Name: Required. The unique identifier of this session entity type.
3391	// Format:
3392	// `projects/<Project ID>/agent/sessions/<Session
3393	// ID>/entityTypes/<Entity Type
3394	// Display Name>`, or `projects/<Project
3395	// ID>/agent/environments/<Environment
3396	// ID>/users/<User ID>/sessions/<Session ID>/entityTypes/<Entity Type
3397	// Display
3398	// Name>`.
3399	// If `Environment ID` is not specified, we assume default
3400	// 'draft'
3401	// environment. If `User ID` is not specified, we assume default '-'
3402	// user.
3403	//
3404	// `<Entity Type Display Name>` must be the display name of an existing
3405	// entity
3406	// type in the same agent that will be overridden or supplemented.
3407	Name string `json:"name,omitempty"`
3408
3409	// ForceSendFields is a list of field names (e.g. "Entities") to
3410	// unconditionally include in API requests. By default, fields with
3411	// empty values are omitted from API requests. However, any non-pointer,
3412	// non-interface field appearing in ForceSendFields will be sent to the
3413	// server regardless of whether the field is empty or not. This may be
3414	// used to include empty fields in Patch requests.
3415	ForceSendFields []string `json:"-"`
3416
3417	// NullFields is a list of field names (e.g. "Entities") to include in
3418	// API requests with the JSON null value. By default, fields with empty
3419	// values are omitted from API requests. However, any field with an
3420	// empty value appearing in NullFields will be sent to the server as
3421	// null. It is an error if a field in this list has a non-empty value.
3422	// This may be used to include null fields in Patch requests.
3423	NullFields []string `json:"-"`
3424}
3425
3426func (s *GoogleCloudDialogflowV2SessionEntityType) MarshalJSON() ([]byte, error) {
3427	type NoMethod GoogleCloudDialogflowV2SessionEntityType
3428	raw := NoMethod(*s)
3429	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3430}
3431
3432// GoogleCloudDialogflowV2WebhookRequest: The request message for a
3433// webhook call.
3434type GoogleCloudDialogflowV2WebhookRequest struct {
3435	// OriginalDetectIntentRequest: Optional. The contents of the original
3436	// request that was passed to
3437	// `[Streaming]DetectIntent` call.
3438	OriginalDetectIntentRequest *GoogleCloudDialogflowV2OriginalDetectIntentRequest `json:"originalDetectIntentRequest,omitempty"`
3439
3440	// QueryResult: The result of the conversational query or event
3441	// processing. Contains the
3442	// same value as `[Streaming]DetectIntentResponse.query_result`.
3443	QueryResult *GoogleCloudDialogflowV2QueryResult `json:"queryResult,omitempty"`
3444
3445	// ResponseId: The unique identifier of the response. Contains the same
3446	// value as
3447	// `[Streaming]DetectIntentResponse.response_id`.
3448	ResponseId string `json:"responseId,omitempty"`
3449
3450	// Session: The unique identifier of detectIntent request session.
3451	// Can be used to identify end-user inside webhook
3452	// implementation.
3453	// Format: `projects/<Project ID>/agent/sessions/<Session ID>`,
3454	// or
3455	// `projects/<Project ID>/agent/environments/<Environment
3456	// ID>/users/<User
3457	// ID>/sessions/<Session ID>`.
3458	Session string `json:"session,omitempty"`
3459
3460	// ForceSendFields is a list of field names (e.g.
3461	// "OriginalDetectIntentRequest") to unconditionally include in API
3462	// requests. By default, fields with empty values are omitted from API
3463	// requests. However, any non-pointer, non-interface field appearing in
3464	// ForceSendFields will be sent to the server regardless of whether the
3465	// field is empty or not. This may be used to include empty fields in
3466	// Patch requests.
3467	ForceSendFields []string `json:"-"`
3468
3469	// NullFields is a list of field names (e.g.
3470	// "OriginalDetectIntentRequest") to include in API requests with the
3471	// JSON null value. By default, fields with empty values are omitted
3472	// from API requests. However, any field with an empty value appearing
3473	// in NullFields will be sent to the server as null. It is an error if a
3474	// field in this list has a non-empty value. This may be used to include
3475	// null fields in Patch requests.
3476	NullFields []string `json:"-"`
3477}
3478
3479func (s *GoogleCloudDialogflowV2WebhookRequest) MarshalJSON() ([]byte, error) {
3480	type NoMethod GoogleCloudDialogflowV2WebhookRequest
3481	raw := NoMethod(*s)
3482	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3483}
3484
3485// GoogleCloudDialogflowV2WebhookResponse: The response message for a
3486// webhook call.
3487//
3488// This response is validated by the Dialogflow server. If validation
3489// fails,
3490// an error will be returned in the QueryResult.diagnostic_info
3491// field.
3492// Setting JSON fields to an empty value with the wrong type is a common
3493// error.
3494// To avoid this error:
3495//
3496// - Use "" for empty strings
3497// - Use `{}` or `null` for empty objects
3498// - Use `[]` or `null` for empty arrays
3499//
3500// For more information, see the
3501// [Protocol Buffers
3502// Language
3503// Guide](https://developers.google.com/protocol-buffers/docs/pr
3504// oto3#json).
3505type GoogleCloudDialogflowV2WebhookResponse struct {
3506	// FollowupEventInput: Optional. Invokes the supplied events.
3507	// When this field is set, Dialogflow ignores the
3508	// `fulfillment_text`,
3509	// `fulfillment_messages`, and `payload` fields.
3510	FollowupEventInput *GoogleCloudDialogflowV2EventInput `json:"followupEventInput,omitempty"`
3511
3512	// FulfillmentMessages: Optional. The rich response messages intended
3513	// for the end-user.
3514	// When provided, Dialogflow uses this field to
3515	// populate
3516	// QueryResult.fulfillment_messages sent to the integration or API
3517	// caller.
3518	FulfillmentMessages []*GoogleCloudDialogflowV2IntentMessage `json:"fulfillmentMessages,omitempty"`
3519
3520	// FulfillmentText: Optional. The text response message intended for the
3521	// end-user.
3522	// It is recommended to use `fulfillment_messages.text.text[0]`
3523	// instead.
3524	// When provided, Dialogflow uses this field to
3525	// populate
3526	// QueryResult.fulfillment_text sent to the integration or API caller.
3527	FulfillmentText string `json:"fulfillmentText,omitempty"`
3528
3529	// OutputContexts: Optional. The collection of output contexts that will
3530	// overwrite currently
3531	// active contexts for the session and reset their lifespans.
3532	// When provided, Dialogflow uses this field to
3533	// populate
3534	// QueryResult.output_contexts sent to the integration or API caller.
3535	OutputContexts []*GoogleCloudDialogflowV2Context `json:"outputContexts,omitempty"`
3536
3537	// Payload: Optional. This field can be used to pass custom data from
3538	// your webhook to the
3539	// integration or API caller. Arbitrary JSON objects are supported.
3540	// When provided, Dialogflow uses this field to
3541	// populate
3542	// QueryResult.webhook_payload sent to the integration or API
3543	// caller.
3544	// This field is also used by the
3545	// [Google
3546	// Assistant
3547	// integration](https://cloud.google.com/dialogflow/docs/integr
3548	// ations/aog)
3549	// for rich response messages.
3550	// See the format definition at [Google Assistant Dialogflow
3551	// webhook
3552	// format](https://developers.google.com/assistant/actions/build/
3553	// json/dialogflow-webhook-json)
3554	Payload googleapi.RawMessage `json:"payload,omitempty"`
3555
3556	// SessionEntityTypes: Optional. Additional session entity types to
3557	// replace or extend developer
3558	// entity types with. The entity synonyms apply to all languages and
3559	// persist
3560	// for the session. Setting this data from a webhook overwrites
3561	// the session entity types that have been set using
3562	// `detectIntent`,
3563	// `streamingDetectIntent` or SessionEntityType management methods.
3564	SessionEntityTypes []*GoogleCloudDialogflowV2SessionEntityType `json:"sessionEntityTypes,omitempty"`
3565
3566	// Source: Optional. A custom field used to identify the webhook
3567	// source.
3568	// Arbitrary strings are supported.
3569	// When provided, Dialogflow uses this field to
3570	// populate
3571	// QueryResult.webhook_source sent to the integration or API caller.
3572	Source string `json:"source,omitempty"`
3573
3574	// ForceSendFields is a list of field names (e.g. "FollowupEventInput")
3575	// to unconditionally include in API requests. By default, fields with
3576	// empty values are omitted from API requests. However, any non-pointer,
3577	// non-interface field appearing in ForceSendFields will be sent to the
3578	// server regardless of whether the field is empty or not. This may be
3579	// used to include empty fields in Patch requests.
3580	ForceSendFields []string `json:"-"`
3581
3582	// NullFields is a list of field names (e.g. "FollowupEventInput") to
3583	// include in API requests with the JSON null value. By default, fields
3584	// with empty values are omitted from API requests. However, any field
3585	// with an empty value appearing in NullFields will be sent to the
3586	// server as null. It is an error if a field in this list has a
3587	// non-empty value. This may be used to include null fields in Patch
3588	// requests.
3589	NullFields []string `json:"-"`
3590}
3591
3592func (s *GoogleCloudDialogflowV2WebhookResponse) MarshalJSON() ([]byte, error) {
3593	type NoMethod GoogleCloudDialogflowV2WebhookResponse
3594	raw := NoMethod(*s)
3595	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3596}
3597
3598// GoogleCloudDialogflowV2beta1AnnotatedConversationDataset: Represents
3599// an annotated conversation dataset.
3600// ConversationDataset can have multiple AnnotatedConversationDataset,
3601// each of
3602// them represents one result from one annotation
3603// task.
3604// AnnotatedConversationDataset can only be generated from annotation
3605// task,
3606// which will be triggered by LabelConversation.
3607type GoogleCloudDialogflowV2beta1AnnotatedConversationDataset struct {
3608	// CompletedExampleCount: Output only. Number of examples that have
3609	// annotations in the annotated
3610	// conversation dataset.
3611	CompletedExampleCount int64 `json:"completedExampleCount,omitempty,string"`
3612
3613	// CreateTime: Output only. Creation time of this annotated conversation
3614	// dataset.
3615	CreateTime string `json:"createTime,omitempty"`
3616
3617	// Description: Optional. The description of the annotated conversation
3618	// dataset.
3619	// Maximum of 10000 bytes.
3620	Description string `json:"description,omitempty"`
3621
3622	// DisplayName: Required. The display name of the annotated conversation
3623	// dataset.
3624	// It's specified when user starts an annotation task. Maximum of 64
3625	// bytes.
3626	DisplayName string `json:"displayName,omitempty"`
3627
3628	// ExampleCount: Output only. Number of examples in the annotated
3629	// conversation dataset.
3630	ExampleCount int64 `json:"exampleCount,omitempty,string"`
3631
3632	// Name: Output only. AnnotatedConversationDataset resource name.
3633	// Format:
3634	// `projects/<Project ID>/conversationDatasets/<Conversation
3635	// Dataset
3636	// ID>/annotatedConversationDatasets/<Annotated Conversation Dataset
3637	// ID>`
3638	Name string `json:"name,omitempty"`
3639
3640	// QuestionTypeName: Output only. Question type name that identifies a
3641	// labeling task.
3642	// A question is a single task that a worker answers. A question type is
3643	// set
3644	// of related questions. Each question belongs to a particular question
3645	// type.
3646	// It can be used in CrowdCompute UI to filter and manage labeling
3647	// tasks.
3648	QuestionTypeName string `json:"questionTypeName,omitempty"`
3649
3650	// ForceSendFields is a list of field names (e.g.
3651	// "CompletedExampleCount") to unconditionally include in API requests.
3652	// By default, fields with empty values are omitted from API requests.
3653	// However, any non-pointer, non-interface field appearing in
3654	// ForceSendFields will be sent to the server regardless of whether the
3655	// field is empty or not. This may be used to include empty fields in
3656	// Patch requests.
3657	ForceSendFields []string `json:"-"`
3658
3659	// NullFields is a list of field names (e.g. "CompletedExampleCount") to
3660	// include in API requests with the JSON null value. By default, fields
3661	// with empty values are omitted from API requests. However, any field
3662	// with an empty value appearing in NullFields will be sent to the
3663	// server as null. It is an error if a field in this list has a
3664	// non-empty value. This may be used to include null fields in Patch
3665	// requests.
3666	NullFields []string `json:"-"`
3667}
3668
3669func (s *GoogleCloudDialogflowV2beta1AnnotatedConversationDataset) MarshalJSON() ([]byte, error) {
3670	type NoMethod GoogleCloudDialogflowV2beta1AnnotatedConversationDataset
3671	raw := NoMethod(*s)
3672	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3673}
3674
3675// GoogleCloudDialogflowV2beta1BatchUpdateEntityTypesResponse: The
3676// response message for EntityTypes.BatchUpdateEntityTypes.
3677type GoogleCloudDialogflowV2beta1BatchUpdateEntityTypesResponse struct {
3678	// EntityTypes: The collection of updated or created entity types.
3679	EntityTypes []*GoogleCloudDialogflowV2beta1EntityType `json:"entityTypes,omitempty"`
3680
3681	// ForceSendFields is a list of field names (e.g. "EntityTypes") to
3682	// unconditionally include in API requests. By default, fields with
3683	// empty values are omitted from API requests. However, any non-pointer,
3684	// non-interface field appearing in ForceSendFields will be sent to the
3685	// server regardless of whether the field is empty or not. This may be
3686	// used to include empty fields in Patch requests.
3687	ForceSendFields []string `json:"-"`
3688
3689	// NullFields is a list of field names (e.g. "EntityTypes") to include
3690	// in API requests with the JSON null value. By default, fields with
3691	// empty values are omitted from API requests. However, any field with
3692	// an empty value appearing in NullFields will be sent to the server as
3693	// null. It is an error if a field in this list has a non-empty value.
3694	// This may be used to include null fields in Patch requests.
3695	NullFields []string `json:"-"`
3696}
3697
3698func (s *GoogleCloudDialogflowV2beta1BatchUpdateEntityTypesResponse) MarshalJSON() ([]byte, error) {
3699	type NoMethod GoogleCloudDialogflowV2beta1BatchUpdateEntityTypesResponse
3700	raw := NoMethod(*s)
3701	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3702}
3703
3704// GoogleCloudDialogflowV2beta1BatchUpdateIntentsResponse: The response
3705// message for Intents.BatchUpdateIntents.
3706type GoogleCloudDialogflowV2beta1BatchUpdateIntentsResponse struct {
3707	// Intents: The collection of updated or created intents.
3708	Intents []*GoogleCloudDialogflowV2beta1Intent `json:"intents,omitempty"`
3709
3710	// ForceSendFields is a list of field names (e.g. "Intents") to
3711	// unconditionally include in API requests. By default, fields with
3712	// empty values are omitted from API requests. However, any non-pointer,
3713	// non-interface field appearing in ForceSendFields will be sent to the
3714	// server regardless of whether the field is empty or not. This may be
3715	// used to include empty fields in Patch requests.
3716	ForceSendFields []string `json:"-"`
3717
3718	// NullFields is a list of field names (e.g. "Intents") to include in
3719	// API requests with the JSON null value. By default, fields with empty
3720	// values are omitted from API requests. However, any field with an
3721	// empty value appearing in NullFields will be sent to the server as
3722	// null. It is an error if a field in this list has a non-empty value.
3723	// This may be used to include null fields in Patch requests.
3724	NullFields []string `json:"-"`
3725}
3726
3727func (s *GoogleCloudDialogflowV2beta1BatchUpdateIntentsResponse) MarshalJSON() ([]byte, error) {
3728	type NoMethod GoogleCloudDialogflowV2beta1BatchUpdateIntentsResponse
3729	raw := NoMethod(*s)
3730	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3731}
3732
3733// GoogleCloudDialogflowV2beta1Context: Represents a context.
3734type GoogleCloudDialogflowV2beta1Context struct {
3735	// LifespanCount: Optional. The number of conversational query requests
3736	// after which the
3737	// context expires. The default is `0`. If set to `0`, the context
3738	// expires
3739	// immediately. Contexts expire automatically after 20 minutes if
3740	// there
3741	// are no matching queries.
3742	LifespanCount int64 `json:"lifespanCount,omitempty"`
3743
3744	// Name: Required. The unique identifier of the context.
3745	// Format:
3746	// `projects/<Project ID>/agent/sessions/<Session ID>/contexts/<Context
3747	// ID>`,
3748	// or `projects/<Project ID>/agent/environments/<Environment
3749	// ID>/users/<User
3750	// ID>/sessions/<Session ID>/contexts/<Context ID>`.
3751	//
3752	// The `Context ID` is always converted to lowercase, may only
3753	// contain
3754	// characters in a-zA-Z0-9_-% and may be at most 250 bytes long.
3755	//
3756	// If `Environment ID` is not specified, we assume default
3757	// 'draft'
3758	// environment. If `User ID` is not specified, we assume default '-'
3759	// user.
3760	//
3761	// The following context names are reserved for internal use by
3762	// Dialogflow.
3763	// You should not use these contexts or create contexts with these
3764	// names:
3765	//
3766	// * `__system_counters__`
3767	// * `*_id_dialog_context`
3768	// * `*_dialog_params_size`
3769	Name string `json:"name,omitempty"`
3770
3771	// Parameters: Optional. The collection of parameters associated with
3772	// this context.
3773	//
3774	// Depending on your protocol or client library language, this is a
3775	// map, associative array, symbol table, dictionary, or JSON
3776	// object
3777	// composed of a collection of (MapKey, MapValue) pairs:
3778	//
3779	// -   MapKey type: string
3780	// -   MapKey value: parameter name
3781	// -   MapValue type:
3782	//     -   If parameter's entity type is a composite entity: map
3783	//     -   Else: string or number, depending on parameter value type
3784	// -   MapValue value:
3785	//     -   If parameter's entity type is a composite entity:
3786	//         map from composite entity property names to property values
3787	//     -   Else: parameter value
3788	Parameters googleapi.RawMessage `json:"parameters,omitempty"`
3789
3790	// ForceSendFields is a list of field names (e.g. "LifespanCount") to
3791	// unconditionally include in API requests. By default, fields with
3792	// empty values are omitted from API requests. However, any non-pointer,
3793	// non-interface field appearing in ForceSendFields will be sent to the
3794	// server regardless of whether the field is empty or not. This may be
3795	// used to include empty fields in Patch requests.
3796	ForceSendFields []string `json:"-"`
3797
3798	// NullFields is a list of field names (e.g. "LifespanCount") to include
3799	// in API requests with the JSON null value. By default, fields with
3800	// empty values are omitted from API requests. However, any field with
3801	// an empty value appearing in NullFields will be sent to the server as
3802	// null. It is an error if a field in this list has a non-empty value.
3803	// This may be used to include null fields in Patch requests.
3804	NullFields []string `json:"-"`
3805}
3806
3807func (s *GoogleCloudDialogflowV2beta1Context) MarshalJSON() ([]byte, error) {
3808	type NoMethod GoogleCloudDialogflowV2beta1Context
3809	raw := NoMethod(*s)
3810	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3811}
3812
3813// GoogleCloudDialogflowV2beta1EntityType: Represents an entity
3814// type.
3815// Entity types serve as a tool for extracting parameter values from
3816// natural
3817// language queries.
3818type GoogleCloudDialogflowV2beta1EntityType struct {
3819	// AutoExpansionMode: Optional. Indicates whether the entity type can be
3820	// automatically
3821	// expanded.
3822	//
3823	// Possible values:
3824	//   "AUTO_EXPANSION_MODE_UNSPECIFIED" - Auto expansion disabled for the
3825	// entity.
3826	//   "AUTO_EXPANSION_MODE_DEFAULT" - Allows an agent to recognize values
3827	// that have not been explicitly
3828	// listed in the entity.
3829	AutoExpansionMode string `json:"autoExpansionMode,omitempty"`
3830
3831	// DisplayName: Required. The name of the entity type.
3832	DisplayName string `json:"displayName,omitempty"`
3833
3834	// EnableFuzzyExtraction: Optional. Enables fuzzy entity extraction
3835	// during classification.
3836	EnableFuzzyExtraction bool `json:"enableFuzzyExtraction,omitempty"`
3837
3838	// Entities: Optional. The collection of entity entries associated with
3839	// the entity type.
3840	Entities []*GoogleCloudDialogflowV2beta1EntityTypeEntity `json:"entities,omitempty"`
3841
3842	// Kind: Required. Indicates the kind of entity type.
3843	//
3844	// Possible values:
3845	//   "KIND_UNSPECIFIED" - Not specified. This value should be never
3846	// used.
3847	//   "KIND_MAP" - Map entity types allow mapping of a group of synonyms
3848	// to a reference
3849	// value.
3850	//   "KIND_LIST" - List entity types contain a set of entries that do
3851	// not map to reference
3852	// values. However, list entity types can contain references to other
3853	// entity
3854	// types (with or without aliases).
3855	//   "KIND_REGEXP" - Regexp entity types allow to specify regular
3856	// expressions in entries
3857	// values.
3858	Kind string `json:"kind,omitempty"`
3859
3860	// Name: The unique identifier of the entity type.
3861	// Required for EntityTypes.UpdateEntityType
3862	// and
3863	// EntityTypes.BatchUpdateEntityTypes methods.
3864	// Format: `projects/<Project ID>/agent/entityTypes/<Entity Type ID>`.
3865	Name string `json:"name,omitempty"`
3866
3867	// ForceSendFields is a list of field names (e.g. "AutoExpansionMode")
3868	// to unconditionally include in API requests. By default, fields with
3869	// empty values are omitted from API requests. However, any non-pointer,
3870	// non-interface field appearing in ForceSendFields will be sent to the
3871	// server regardless of whether the field is empty or not. This may be
3872	// used to include empty fields in Patch requests.
3873	ForceSendFields []string `json:"-"`
3874
3875	// NullFields is a list of field names (e.g. "AutoExpansionMode") to
3876	// include in API requests with the JSON null value. By default, fields
3877	// with empty values are omitted from API requests. However, any field
3878	// with an empty value appearing in NullFields will be sent to the
3879	// server as null. It is an error if a field in this list has a
3880	// non-empty value. This may be used to include null fields in Patch
3881	// requests.
3882	NullFields []string `json:"-"`
3883}
3884
3885func (s *GoogleCloudDialogflowV2beta1EntityType) MarshalJSON() ([]byte, error) {
3886	type NoMethod GoogleCloudDialogflowV2beta1EntityType
3887	raw := NoMethod(*s)
3888	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3889}
3890
3891// GoogleCloudDialogflowV2beta1EntityTypeEntity: An **entity entry** for
3892// an associated entity type.
3893type GoogleCloudDialogflowV2beta1EntityTypeEntity struct {
3894	// Synonyms: Required. A collection of value synonyms. For example, if
3895	// the entity type
3896	// is *vegetable*, and `value` is *scallions*, a synonym could be
3897	// *green
3898	// onions*.
3899	//
3900	// For `KIND_LIST` entity types:
3901	//
3902	// *   This collection must contain exactly one synonym equal to
3903	// `value`.
3904	Synonyms []string `json:"synonyms,omitempty"`
3905
3906	// Value: Required. The primary value associated with this entity
3907	// entry.
3908	// For example, if the entity type is *vegetable*, the value could
3909	// be
3910	// *scallions*.
3911	//
3912	// For `KIND_MAP` entity types:
3913	//
3914	// *   A reference value to be used in place of synonyms.
3915	//
3916	// For `KIND_LIST` entity types:
3917	//
3918	// *   A string that can contain references to other entity types (with
3919	// or
3920	//     without aliases).
3921	Value string `json:"value,omitempty"`
3922
3923	// ForceSendFields is a list of field names (e.g. "Synonyms") to
3924	// unconditionally include in API requests. By default, fields with
3925	// empty values are omitted from API requests. However, any non-pointer,
3926	// non-interface field appearing in ForceSendFields will be sent to the
3927	// server regardless of whether the field is empty or not. This may be
3928	// used to include empty fields in Patch requests.
3929	ForceSendFields []string `json:"-"`
3930
3931	// NullFields is a list of field names (e.g. "Synonyms") to include in
3932	// API requests with the JSON null value. By default, fields with empty
3933	// values are omitted from API requests. However, any field with an
3934	// empty value appearing in NullFields will be sent to the server as
3935	// null. It is an error if a field in this list has a non-empty value.
3936	// This may be used to include null fields in Patch requests.
3937	NullFields []string `json:"-"`
3938}
3939
3940func (s *GoogleCloudDialogflowV2beta1EntityTypeEntity) MarshalJSON() ([]byte, error) {
3941	type NoMethod GoogleCloudDialogflowV2beta1EntityTypeEntity
3942	raw := NoMethod(*s)
3943	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3944}
3945
3946// GoogleCloudDialogflowV2beta1EventInput: Events allow for matching
3947// intents by event name instead of the natural
3948// language input. For instance, input `<event: { name:
3949// "welcome_event",
3950// parameters: { name: "Sam" } }>` can trigger a personalized welcome
3951// response.
3952// The parameter `name` may be used by the agent in the
3953// response:
3954// "Hello #welcome_event.name! What can I do for you today?".
3955type GoogleCloudDialogflowV2beta1EventInput struct {
3956	// LanguageCode: Required. The language of this query. See
3957	// [Language
3958	// Support](https://cloud.google.com/dialogflow/docs/reference/
3959	// language)
3960	// for a list of the currently supported language codes. Note that
3961	// queries in
3962	// the same session do not necessarily need to specify the same
3963	// language.
3964	LanguageCode string `json:"languageCode,omitempty"`
3965
3966	// Name: Required. The unique identifier of the event.
3967	Name string `json:"name,omitempty"`
3968
3969	// Parameters: The collection of parameters associated with the
3970	// event.
3971	//
3972	// Depending on your protocol or client library language, this is a
3973	// map, associative array, symbol table, dictionary, or JSON
3974	// object
3975	// composed of a collection of (MapKey, MapValue) pairs:
3976	//
3977	// -   MapKey type: string
3978	// -   MapKey value: parameter name
3979	// -   MapValue type:
3980	//     -   If parameter's entity type is a composite entity: map
3981	//     -   Else: string or number, depending on parameter value type
3982	// -   MapValue value:
3983	//     -   If parameter's entity type is a composite entity:
3984	//         map from composite entity property names to property values
3985	//     -   Else: parameter value
3986	Parameters googleapi.RawMessage `json:"parameters,omitempty"`
3987
3988	// ForceSendFields is a list of field names (e.g. "LanguageCode") to
3989	// unconditionally include in API requests. By default, fields with
3990	// empty values are omitted from API requests. However, any non-pointer,
3991	// non-interface field appearing in ForceSendFields will be sent to the
3992	// server regardless of whether the field is empty or not. This may be
3993	// used to include empty fields in Patch requests.
3994	ForceSendFields []string `json:"-"`
3995
3996	// NullFields is a list of field names (e.g. "LanguageCode") to include
3997	// in API requests with the JSON null value. By default, fields with
3998	// empty values are omitted from API requests. However, any field with
3999	// an empty value appearing in NullFields will be sent to the server as
4000	// null. It is an error if a field in this list has a non-empty value.
4001	// This may be used to include null fields in Patch requests.
4002	NullFields []string `json:"-"`
4003}
4004
4005func (s *GoogleCloudDialogflowV2beta1EventInput) MarshalJSON() ([]byte, error) {
4006	type NoMethod GoogleCloudDialogflowV2beta1EventInput
4007	raw := NoMethod(*s)
4008	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4009}
4010
4011// GoogleCloudDialogflowV2beta1ExportAgentResponse: The response message
4012// for Agents.ExportAgent.
4013type GoogleCloudDialogflowV2beta1ExportAgentResponse struct {
4014	// AgentContent: Zip compressed raw byte content for agent.
4015	AgentContent string `json:"agentContent,omitempty"`
4016
4017	// AgentUri: The URI to a file containing the exported agent. This field
4018	// is populated
4019	// only if `agent_uri` is specified in `ExportAgentRequest`.
4020	AgentUri string `json:"agentUri,omitempty"`
4021
4022	// ForceSendFields is a list of field names (e.g. "AgentContent") to
4023	// unconditionally include in API requests. By default, fields with
4024	// empty values are omitted from API requests. However, any non-pointer,
4025	// non-interface field appearing in ForceSendFields will be sent to the
4026	// server regardless of whether the field is empty or not. This may be
4027	// used to include empty fields in Patch requests.
4028	ForceSendFields []string `json:"-"`
4029
4030	// NullFields is a list of field names (e.g. "AgentContent") to include
4031	// in API requests with the JSON null value. By default, fields with
4032	// empty values are omitted from API requests. However, any field with
4033	// an empty value appearing in NullFields will be sent to the server as
4034	// null. It is an error if a field in this list has a non-empty value.
4035	// This may be used to include null fields in Patch requests.
4036	NullFields []string `json:"-"`
4037}
4038
4039func (s *GoogleCloudDialogflowV2beta1ExportAgentResponse) MarshalJSON() ([]byte, error) {
4040	type NoMethod GoogleCloudDialogflowV2beta1ExportAgentResponse
4041	raw := NoMethod(*s)
4042	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4043}
4044
4045// GoogleCloudDialogflowV2beta1Intent: Represents an intent.
4046// Intents convert a number of user expressions or patterns into an
4047// action. An
4048// action is an extraction of a user command or sentence semantics.
4049type GoogleCloudDialogflowV2beta1Intent struct {
4050	// Action: Optional. The name of the action associated with the
4051	// intent.
4052	// Note: The action name must not contain whitespaces.
4053	Action string `json:"action,omitempty"`
4054
4055	// DefaultResponsePlatforms: Optional. The list of platforms for which
4056	// the first responses will be
4057	// copied from the messages in PLATFORM_UNSPECIFIED (i.e. default
4058	// platform).
4059	//
4060	// Possible values:
4061	//   "PLATFORM_UNSPECIFIED" - Not specified.
4062	//   "FACEBOOK" - Facebook.
4063	//   "SLACK" - Slack.
4064	//   "TELEGRAM" - Telegram.
4065	//   "KIK" - Kik.
4066	//   "SKYPE" - Skype.
4067	//   "LINE" - Line.
4068	//   "VIBER" - Viber.
4069	//   "ACTIONS_ON_GOOGLE" - Google Assistant
4070	// See [Dialogflow
4071	// webhook
4072	// format](https://developers.google.com/assistant/actions/build/
4073	// json/dialogflow-webhook-json)
4074	//   "TELEPHONY" - Telephony Gateway.
4075	//   "GOOGLE_HANGOUTS" - Google Hangouts.
4076	DefaultResponsePlatforms []string `json:"defaultResponsePlatforms,omitempty"`
4077
4078	// DisplayName: Required. The name of this intent.
4079	DisplayName string `json:"displayName,omitempty"`
4080
4081	// EndInteraction: Optional. Indicates that this intent ends an
4082	// interaction. Some integrations
4083	// (e.g., Actions on Google or Dialogflow phone gateway) use this
4084	// information
4085	// to close interaction with an end user. Default is false.
4086	EndInteraction bool `json:"endInteraction,omitempty"`
4087
4088	// Events: Optional. The collection of event names that trigger the
4089	// intent.
4090	// If the collection of input contexts is not empty, all of the contexts
4091	// must
4092	// be present in the active user session for an event to trigger this
4093	// intent.
4094	// Event names are limited to 150 characters.
4095	Events []string `json:"events,omitempty"`
4096
4097	// FollowupIntentInfo: Output only. Information about all followup
4098	// intents that have this intent as
4099	// a direct or indirect parent. We populate this field only in the
4100	// output.
4101	FollowupIntentInfo []*GoogleCloudDialogflowV2beta1IntentFollowupIntentInfo `json:"followupIntentInfo,omitempty"`
4102
4103	// InputContextNames: Optional. The list of context names required for
4104	// this intent to be
4105	// triggered.
4106	// Format: `projects/<Project ID>/agent/sessions/-/contexts/<Context
4107	// ID>`.
4108	InputContextNames []string `json:"inputContextNames,omitempty"`
4109
4110	// IsFallback: Optional. Indicates whether this is a fallback intent.
4111	IsFallback bool `json:"isFallback,omitempty"`
4112
4113	// Messages: Optional. The collection of rich messages corresponding to
4114	// the
4115	// `Response` field in the Dialogflow console.
4116	Messages []*GoogleCloudDialogflowV2beta1IntentMessage `json:"messages,omitempty"`
4117
4118	// MlDisabled: Optional. Indicates whether Machine Learning is disabled
4119	// for the intent.
4120	// Note: If `ml_disabled` setting is set to true, then this intent is
4121	// not
4122	// taken into account during inference in `ML ONLY` match mode.
4123	// Also,
4124	// auto-markup in the UI is turned off.
4125	MlDisabled bool `json:"mlDisabled,omitempty"`
4126
4127	// MlEnabled: Optional. Indicates whether Machine Learning is enabled
4128	// for the intent.
4129	// Note: If `ml_enabled` setting is set to false, then this intent is
4130	// not
4131	// taken into account during inference in `ML ONLY` match mode.
4132	// Also,
4133	// auto-markup in the UI is turned off.
4134	// DEPRECATED! Please use `ml_disabled` field instead.
4135	// NOTE: If both `ml_enabled` and `ml_disabled` are either not set or
4136	// false,
4137	// then the default value is determined as follows:
4138	// - Before April 15th, 2018 the default is:
4139	//   ml_enabled = false / ml_disabled = true.
4140	// - After April 15th, 2018 the default is:
4141	//   ml_enabled = true / ml_disabled = false.
4142	MlEnabled bool `json:"mlEnabled,omitempty"`
4143
4144	// Name: Optional. The unique identifier of this intent.
4145	// Required for Intents.UpdateIntent and
4146	// Intents.BatchUpdateIntents
4147	// methods.
4148	// Format: `projects/<Project ID>/agent/intents/<Intent ID>`.
4149	Name string `json:"name,omitempty"`
4150
4151	// OutputContexts: Optional. The collection of contexts that are
4152	// activated when the intent
4153	// is matched. Context messages in this collection should not set
4154	// the
4155	// parameters field. Setting the `lifespan_count` to 0 will reset the
4156	// context
4157	// when the intent is matched.
4158	// Format: `projects/<Project ID>/agent/sessions/-/contexts/<Context
4159	// ID>`.
4160	OutputContexts []*GoogleCloudDialogflowV2beta1Context `json:"outputContexts,omitempty"`
4161
4162	// Parameters: Optional. The collection of parameters associated with
4163	// the intent.
4164	Parameters []*GoogleCloudDialogflowV2beta1IntentParameter `json:"parameters,omitempty"`
4165
4166	// ParentFollowupIntentName: Optional. The unique identifier of the
4167	// parent intent in the
4168	// chain of followup intents. You can set this field when creating an
4169	// intent,
4170	// for example with CreateIntent or
4171	// BatchUpdateIntents, in order to make this
4172	// intent a followup intent.
4173	//
4174	// It identifies the parent followup intent.
4175	// Format: `projects/<Project ID>/agent/intents/<Intent ID>`.
4176	ParentFollowupIntentName string `json:"parentFollowupIntentName,omitempty"`
4177
4178	// Priority: Optional. The priority of this intent. Higher numbers
4179	// represent higher
4180	// priorities.
4181	//
4182	// - If the supplied value is unspecified or 0, the service
4183	//   translates the value to 500,000, which corresponds to the
4184	//   `Normal` priority in the console.
4185	// - If the supplied value is negative, the intent is ignored
4186	//   in runtime detect intent requests.
4187	Priority int64 `json:"priority,omitempty"`
4188
4189	// ResetContexts: Optional. Indicates whether to delete all contexts in
4190	// the current
4191	// session when this intent is matched.
4192	ResetContexts bool `json:"resetContexts,omitempty"`
4193
4194	// RootFollowupIntentName: Output only. The unique identifier of the
4195	// root intent in the chain of
4196	// followup intents. It identifies the correct followup intents chain
4197	// for
4198	// this intent.
4199	//
4200	// Format: `projects/<Project ID>/agent/intents/<Intent ID>`.
4201	RootFollowupIntentName string `json:"rootFollowupIntentName,omitempty"`
4202
4203	// TrainingPhrases: Optional. The collection of examples that the agent
4204	// is
4205	// trained on.
4206	TrainingPhrases []*GoogleCloudDialogflowV2beta1IntentTrainingPhrase `json:"trainingPhrases,omitempty"`
4207
4208	// WebhookState: Optional. Indicates whether webhooks are enabled for
4209	// the intent.
4210	//
4211	// Possible values:
4212	//   "WEBHOOK_STATE_UNSPECIFIED" - Webhook is disabled in the agent and
4213	// in the intent.
4214	//   "WEBHOOK_STATE_ENABLED" - Webhook is enabled in the agent and in
4215	// the intent.
4216	//   "WEBHOOK_STATE_ENABLED_FOR_SLOT_FILLING" - Webhook is enabled in
4217	// the agent and in the intent. Also, each slot
4218	// filling prompt is forwarded to the webhook.
4219	WebhookState string `json:"webhookState,omitempty"`
4220
4221	// ForceSendFields is a list of field names (e.g. "Action") to
4222	// unconditionally include in API requests. By default, fields with
4223	// empty values are omitted from API requests. However, any non-pointer,
4224	// non-interface field appearing in ForceSendFields will be sent to the
4225	// server regardless of whether the field is empty or not. This may be
4226	// used to include empty fields in Patch requests.
4227	ForceSendFields []string `json:"-"`
4228
4229	// NullFields is a list of field names (e.g. "Action") to include in API
4230	// requests with the JSON null value. By default, fields with empty
4231	// values are omitted from API requests. However, any field with an
4232	// empty value appearing in NullFields will be sent to the server as
4233	// null. It is an error if a field in this list has a non-empty value.
4234	// This may be used to include null fields in Patch requests.
4235	NullFields []string `json:"-"`
4236}
4237
4238func (s *GoogleCloudDialogflowV2beta1Intent) MarshalJSON() ([]byte, error) {
4239	type NoMethod GoogleCloudDialogflowV2beta1Intent
4240	raw := NoMethod(*s)
4241	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4242}
4243
4244// GoogleCloudDialogflowV2beta1IntentFollowupIntentInfo: Represents a
4245// single followup intent in the chain.
4246type GoogleCloudDialogflowV2beta1IntentFollowupIntentInfo struct {
4247	// FollowupIntentName: The unique identifier of the followup
4248	// intent.
4249	// Format: `projects/<Project ID>/agent/intents/<Intent ID>`.
4250	FollowupIntentName string `json:"followupIntentName,omitempty"`
4251
4252	// ParentFollowupIntentName: The unique identifier of the followup
4253	// intent's parent.
4254	// Format: `projects/<Project ID>/agent/intents/<Intent ID>`.
4255	ParentFollowupIntentName string `json:"parentFollowupIntentName,omitempty"`
4256
4257	// ForceSendFields is a list of field names (e.g. "FollowupIntentName")
4258	// to unconditionally include in API requests. By default, fields with
4259	// empty values are omitted from API requests. However, any non-pointer,
4260	// non-interface field appearing in ForceSendFields will be sent to the
4261	// server regardless of whether the field is empty or not. This may be
4262	// used to include empty fields in Patch requests.
4263	ForceSendFields []string `json:"-"`
4264
4265	// NullFields is a list of field names (e.g. "FollowupIntentName") to
4266	// include in API requests with the JSON null value. By default, fields
4267	// with empty values are omitted from API requests. However, any field
4268	// with an empty value appearing in NullFields will be sent to the
4269	// server as null. It is an error if a field in this list has a
4270	// non-empty value. This may be used to include null fields in Patch
4271	// requests.
4272	NullFields []string `json:"-"`
4273}
4274
4275func (s *GoogleCloudDialogflowV2beta1IntentFollowupIntentInfo) MarshalJSON() ([]byte, error) {
4276	type NoMethod GoogleCloudDialogflowV2beta1IntentFollowupIntentInfo
4277	raw := NoMethod(*s)
4278	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4279}
4280
4281// GoogleCloudDialogflowV2beta1IntentMessage: Corresponds to the
4282// `Response` field in the Dialogflow console.
4283type GoogleCloudDialogflowV2beta1IntentMessage struct {
4284	// BasicCard: Displays a basic card for Actions on Google.
4285	BasicCard *GoogleCloudDialogflowV2beta1IntentMessageBasicCard `json:"basicCard,omitempty"`
4286
4287	// BrowseCarouselCard: Browse carousel card for Actions on Google.
4288	BrowseCarouselCard *GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCard `json:"browseCarouselCard,omitempty"`
4289
4290	// Card: Displays a card.
4291	Card *GoogleCloudDialogflowV2beta1IntentMessageCard `json:"card,omitempty"`
4292
4293	// CarouselSelect: Displays a carousel card for Actions on Google.
4294	CarouselSelect *GoogleCloudDialogflowV2beta1IntentMessageCarouselSelect `json:"carouselSelect,omitempty"`
4295
4296	// Image: Displays an image.
4297	Image *GoogleCloudDialogflowV2beta1IntentMessageImage `json:"image,omitempty"`
4298
4299	// LinkOutSuggestion: Displays a link out suggestion chip for Actions on
4300	// Google.
4301	LinkOutSuggestion *GoogleCloudDialogflowV2beta1IntentMessageLinkOutSuggestion `json:"linkOutSuggestion,omitempty"`
4302
4303	// ListSelect: Displays a list card for Actions on Google.
4304	ListSelect *GoogleCloudDialogflowV2beta1IntentMessageListSelect `json:"listSelect,omitempty"`
4305
4306	// MediaContent: The media content card for Actions on Google.
4307	MediaContent *GoogleCloudDialogflowV2beta1IntentMessageMediaContent `json:"mediaContent,omitempty"`
4308
4309	// Payload: A custom platform-specific response.
4310	Payload googleapi.RawMessage `json:"payload,omitempty"`
4311
4312	// Platform: Optional. The platform that this message is intended for.
4313	//
4314	// Possible values:
4315	//   "PLATFORM_UNSPECIFIED" - Not specified.
4316	//   "FACEBOOK" - Facebook.
4317	//   "SLACK" - Slack.
4318	//   "TELEGRAM" - Telegram.
4319	//   "KIK" - Kik.
4320	//   "SKYPE" - Skype.
4321	//   "LINE" - Line.
4322	//   "VIBER" - Viber.
4323	//   "ACTIONS_ON_GOOGLE" - Google Assistant
4324	// See [Dialogflow
4325	// webhook
4326	// format](https://developers.google.com/assistant/actions/build/
4327	// json/dialogflow-webhook-json)
4328	//   "TELEPHONY" - Telephony Gateway.
4329	//   "GOOGLE_HANGOUTS" - Google Hangouts.
4330	Platform string `json:"platform,omitempty"`
4331
4332	// QuickReplies: Displays quick replies.
4333	QuickReplies *GoogleCloudDialogflowV2beta1IntentMessageQuickReplies `json:"quickReplies,omitempty"`
4334
4335	// RbmCarouselRichCard: Rich Business Messaging (RBM) carousel rich card
4336	// response.
4337	RbmCarouselRichCard *GoogleCloudDialogflowV2beta1IntentMessageRbmCarouselCard `json:"rbmCarouselRichCard,omitempty"`
4338
4339	// RbmStandaloneRichCard: Standalone Rich Business Messaging (RBM) rich
4340	// card response.
4341	RbmStandaloneRichCard *GoogleCloudDialogflowV2beta1IntentMessageRbmStandaloneCard `json:"rbmStandaloneRichCard,omitempty"`
4342
4343	// RbmText: Rich Business Messaging (RBM) text response.
4344	//
4345	// RBM allows businesses to send enriched and branded versions of SMS.
4346	// See
4347	// https://jibe.google.com/business-messaging.
4348	RbmText *GoogleCloudDialogflowV2beta1IntentMessageRbmText `json:"rbmText,omitempty"`
4349
4350	// SimpleResponses: Returns a voice or text-only response for Actions on
4351	// Google.
4352	SimpleResponses *GoogleCloudDialogflowV2beta1IntentMessageSimpleResponses `json:"simpleResponses,omitempty"`
4353
4354	// Suggestions: Displays suggestion chips for Actions on Google.
4355	Suggestions *GoogleCloudDialogflowV2beta1IntentMessageSuggestions `json:"suggestions,omitempty"`
4356
4357	// TableCard: Table card for Actions on Google.
4358	TableCard *GoogleCloudDialogflowV2beta1IntentMessageTableCard `json:"tableCard,omitempty"`
4359
4360	// TelephonyPlayAudio: Plays audio from a file in Telephony Gateway.
4361	TelephonyPlayAudio *GoogleCloudDialogflowV2beta1IntentMessageTelephonyPlayAudio `json:"telephonyPlayAudio,omitempty"`
4362
4363	// TelephonySynthesizeSpeech: Synthesizes speech in Telephony Gateway.
4364	TelephonySynthesizeSpeech *GoogleCloudDialogflowV2beta1IntentMessageTelephonySynthesizeSpeech `json:"telephonySynthesizeSpeech,omitempty"`
4365
4366	// TelephonyTransferCall: Transfers the call in Telephony Gateway.
4367	TelephonyTransferCall *GoogleCloudDialogflowV2beta1IntentMessageTelephonyTransferCall `json:"telephonyTransferCall,omitempty"`
4368
4369	// Text: Returns a text response.
4370	Text *GoogleCloudDialogflowV2beta1IntentMessageText `json:"text,omitempty"`
4371
4372	// ForceSendFields is a list of field names (e.g. "BasicCard") to
4373	// unconditionally include in API requests. By default, fields with
4374	// empty values are omitted from API requests. However, any non-pointer,
4375	// non-interface field appearing in ForceSendFields will be sent to the
4376	// server regardless of whether the field is empty or not. This may be
4377	// used to include empty fields in Patch requests.
4378	ForceSendFields []string `json:"-"`
4379
4380	// NullFields is a list of field names (e.g. "BasicCard") to include in
4381	// API requests with the JSON null value. By default, fields with empty
4382	// values are omitted from API requests. However, any field with an
4383	// empty value appearing in NullFields will be sent to the server as
4384	// null. It is an error if a field in this list has a non-empty value.
4385	// This may be used to include null fields in Patch requests.
4386	NullFields []string `json:"-"`
4387}
4388
4389func (s *GoogleCloudDialogflowV2beta1IntentMessage) MarshalJSON() ([]byte, error) {
4390	type NoMethod GoogleCloudDialogflowV2beta1IntentMessage
4391	raw := NoMethod(*s)
4392	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4393}
4394
4395// GoogleCloudDialogflowV2beta1IntentMessageBasicCard: The basic card
4396// message. Useful for displaying information.
4397type GoogleCloudDialogflowV2beta1IntentMessageBasicCard struct {
4398	// Buttons: Optional. The collection of card buttons.
4399	Buttons []*GoogleCloudDialogflowV2beta1IntentMessageBasicCardButton `json:"buttons,omitempty"`
4400
4401	// FormattedText: Required, unless image is present. The body text of
4402	// the card.
4403	FormattedText string `json:"formattedText,omitempty"`
4404
4405	// Image: Optional. The image for the card.
4406	Image *GoogleCloudDialogflowV2beta1IntentMessageImage `json:"image,omitempty"`
4407
4408	// Subtitle: Optional. The subtitle of the card.
4409	Subtitle string `json:"subtitle,omitempty"`
4410
4411	// Title: Optional. The title of the card.
4412	Title string `json:"title,omitempty"`
4413
4414	// ForceSendFields is a list of field names (e.g. "Buttons") to
4415	// unconditionally include in API requests. By default, fields with
4416	// empty values are omitted from API requests. However, any non-pointer,
4417	// non-interface field appearing in ForceSendFields will be sent to the
4418	// server regardless of whether the field is empty or not. This may be
4419	// used to include empty fields in Patch requests.
4420	ForceSendFields []string `json:"-"`
4421
4422	// NullFields is a list of field names (e.g. "Buttons") to include in
4423	// API requests with the JSON null value. By default, fields with empty
4424	// values are omitted from API requests. However, any field with an
4425	// empty value appearing in NullFields will be sent to the server as
4426	// null. It is an error if a field in this list has a non-empty value.
4427	// This may be used to include null fields in Patch requests.
4428	NullFields []string `json:"-"`
4429}
4430
4431func (s *GoogleCloudDialogflowV2beta1IntentMessageBasicCard) MarshalJSON() ([]byte, error) {
4432	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageBasicCard
4433	raw := NoMethod(*s)
4434	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4435}
4436
4437// GoogleCloudDialogflowV2beta1IntentMessageBasicCardButton: The button
4438// object that appears at the bottom of a card.
4439type GoogleCloudDialogflowV2beta1IntentMessageBasicCardButton struct {
4440	// OpenUriAction: Required. Action to take when a user taps on the
4441	// button.
4442	OpenUriAction *GoogleCloudDialogflowV2beta1IntentMessageBasicCardButtonOpenUriAction `json:"openUriAction,omitempty"`
4443
4444	// Title: Required. The title of the button.
4445	Title string `json:"title,omitempty"`
4446
4447	// ForceSendFields is a list of field names (e.g. "OpenUriAction") to
4448	// unconditionally include in API requests. By default, fields with
4449	// empty values are omitted from API requests. However, any non-pointer,
4450	// non-interface field appearing in ForceSendFields will be sent to the
4451	// server regardless of whether the field is empty or not. This may be
4452	// used to include empty fields in Patch requests.
4453	ForceSendFields []string `json:"-"`
4454
4455	// NullFields is a list of field names (e.g. "OpenUriAction") to include
4456	// in API requests with the JSON null value. By default, fields with
4457	// empty values are omitted from API requests. However, any field with
4458	// an empty value appearing in NullFields will be sent to the server as
4459	// null. It is an error if a field in this list has a non-empty value.
4460	// This may be used to include null fields in Patch requests.
4461	NullFields []string `json:"-"`
4462}
4463
4464func (s *GoogleCloudDialogflowV2beta1IntentMessageBasicCardButton) MarshalJSON() ([]byte, error) {
4465	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageBasicCardButton
4466	raw := NoMethod(*s)
4467	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4468}
4469
4470// GoogleCloudDialogflowV2beta1IntentMessageBasicCardButtonOpenUriAction:
4471//  Opens the given URI.
4472type GoogleCloudDialogflowV2beta1IntentMessageBasicCardButtonOpenUriAction struct {
4473	// Uri: Required. The HTTP or HTTPS scheme URI.
4474	Uri string `json:"uri,omitempty"`
4475
4476	// ForceSendFields is a list of field names (e.g. "Uri") to
4477	// unconditionally include in API requests. By default, fields with
4478	// empty values are omitted from API requests. However, any non-pointer,
4479	// non-interface field appearing in ForceSendFields will be sent to the
4480	// server regardless of whether the field is empty or not. This may be
4481	// used to include empty fields in Patch requests.
4482	ForceSendFields []string `json:"-"`
4483
4484	// NullFields is a list of field names (e.g. "Uri") to include in API
4485	// requests with the JSON null value. By default, fields with empty
4486	// values are omitted from API requests. However, any field with an
4487	// empty value appearing in NullFields will be sent to the server as
4488	// null. It is an error if a field in this list has a non-empty value.
4489	// This may be used to include null fields in Patch requests.
4490	NullFields []string `json:"-"`
4491}
4492
4493func (s *GoogleCloudDialogflowV2beta1IntentMessageBasicCardButtonOpenUriAction) MarshalJSON() ([]byte, error) {
4494	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageBasicCardButtonOpenUriAction
4495	raw := NoMethod(*s)
4496	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4497}
4498
4499// GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCard: Browse
4500// Carousel Card for Actions on
4501// Google.
4502// https://developers.google.com/actions/assistant/responses#brow
4503// sing_carousel
4504type GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCard struct {
4505	// ImageDisplayOptions: Optional. Settings for displaying the image.
4506	// Applies to every image in
4507	// items.
4508	//
4509	// Possible values:
4510	//   "IMAGE_DISPLAY_OPTIONS_UNSPECIFIED" - Fill the gaps between the
4511	// image and the image container with gray
4512	// bars.
4513	//   "GRAY" - Fill the gaps between the image and the image container
4514	// with gray
4515	// bars.
4516	//   "WHITE" - Fill the gaps between the image and the image container
4517	// with white
4518	// bars.
4519	//   "CROPPED" - Image is scaled such that the image width and height
4520	// match or exceed
4521	// the container dimensions. This may crop the top and bottom of
4522	// the
4523	// image if the scaled image height is greater than the
4524	// container
4525	// height, or crop the left and right of the image if the scaled
4526	// image
4527	// width is greater than the container width. This is similar to
4528	// "Zoom
4529	// Mode" on a widescreen TV when playing a 4:3 video.
4530	//   "BLURRED_BACKGROUND" - Pad the gaps between image and image frame
4531	// with a blurred copy of the
4532	// same image.
4533	ImageDisplayOptions string `json:"imageDisplayOptions,omitempty"`
4534
4535	// Items: Required. List of items in the Browse Carousel Card. Minimum
4536	// of two
4537	// items, maximum of ten.
4538	Items []*GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCardBrowseCarouselCardItem `json:"items,omitempty"`
4539
4540	// ForceSendFields is a list of field names (e.g. "ImageDisplayOptions")
4541	// to unconditionally include in API requests. By default, fields with
4542	// empty values are omitted from API requests. However, any non-pointer,
4543	// non-interface field appearing in ForceSendFields will be sent to the
4544	// server regardless of whether the field is empty or not. This may be
4545	// used to include empty fields in Patch requests.
4546	ForceSendFields []string `json:"-"`
4547
4548	// NullFields is a list of field names (e.g. "ImageDisplayOptions") to
4549	// include in API requests with the JSON null value. By default, fields
4550	// with empty values are omitted from API requests. However, any field
4551	// with an empty value appearing in NullFields will be sent to the
4552	// server as null. It is an error if a field in this list has a
4553	// non-empty value. This may be used to include null fields in Patch
4554	// requests.
4555	NullFields []string `json:"-"`
4556}
4557
4558func (s *GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCard) MarshalJSON() ([]byte, error) {
4559	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCard
4560	raw := NoMethod(*s)
4561	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4562}
4563
4564// GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCardBrowseCarou
4565// selCardItem: Browsing carousel tile
4566type GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCardBrowseCarouselCardItem struct {
4567	// Description: Optional. Description of the carousel item. Maximum of
4568	// four lines of
4569	// text.
4570	Description string `json:"description,omitempty"`
4571
4572	// Footer: Optional. Text that appears at the bottom of the Browse
4573	// Carousel
4574	// Card. Maximum of one line of text.
4575	Footer string `json:"footer,omitempty"`
4576
4577	// Image: Optional. Hero image for the carousel item.
4578	Image *GoogleCloudDialogflowV2beta1IntentMessageImage `json:"image,omitempty"`
4579
4580	// OpenUriAction: Required. Action to present to the user.
4581	OpenUriAction *GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCardBrowseCarouselCardItemOpenUrlAction `json:"openUriAction,omitempty"`
4582
4583	// Title: Required. Title of the carousel item. Maximum of two lines of
4584	// text.
4585	Title string `json:"title,omitempty"`
4586
4587	// ForceSendFields is a list of field names (e.g. "Description") to
4588	// unconditionally include in API requests. By default, fields with
4589	// empty values are omitted from API requests. However, any non-pointer,
4590	// non-interface field appearing in ForceSendFields will be sent to the
4591	// server regardless of whether the field is empty or not. This may be
4592	// used to include empty fields in Patch requests.
4593	ForceSendFields []string `json:"-"`
4594
4595	// NullFields is a list of field names (e.g. "Description") to include
4596	// in API requests with the JSON null value. By default, fields with
4597	// empty values are omitted from API requests. However, any field with
4598	// an empty value appearing in NullFields will be sent to the server as
4599	// null. It is an error if a field in this list has a non-empty value.
4600	// This may be used to include null fields in Patch requests.
4601	NullFields []string `json:"-"`
4602}
4603
4604func (s *GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCardBrowseCarouselCardItem) MarshalJSON() ([]byte, error) {
4605	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCardBrowseCarouselCardItem
4606	raw := NoMethod(*s)
4607	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4608}
4609
4610// GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCardBrowseCarou
4611// selCardItemOpenUrlAction: Actions on Google action to open a given
4612// url.
4613type GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCardBrowseCarouselCardItemOpenUrlAction struct {
4614	// Url: Required. URL
4615	Url string `json:"url,omitempty"`
4616
4617	// UrlTypeHint: Optional. Specifies the type of viewer that is used when
4618	// opening
4619	// the URL. Defaults to opening via web browser.
4620	//
4621	// Possible values:
4622	//   "URL_TYPE_HINT_UNSPECIFIED" - Unspecified
4623	//   "AMP_ACTION" - Url would be an amp action
4624	//   "AMP_CONTENT" - URL that points directly to AMP content, or to a
4625	// canonical URL
4626	// which refers to AMP content via <link rel="amphtml">.
4627	UrlTypeHint string `json:"urlTypeHint,omitempty"`
4628
4629	// ForceSendFields is a list of field names (e.g. "Url") to
4630	// unconditionally include in API requests. By default, fields with
4631	// empty values are omitted from API requests. However, any non-pointer,
4632	// non-interface field appearing in ForceSendFields will be sent to the
4633	// server regardless of whether the field is empty or not. This may be
4634	// used to include empty fields in Patch requests.
4635	ForceSendFields []string `json:"-"`
4636
4637	// NullFields is a list of field names (e.g. "Url") to include in API
4638	// requests with the JSON null value. By default, fields with empty
4639	// values are omitted from API requests. However, any field with an
4640	// empty value appearing in NullFields will be sent to the server as
4641	// null. It is an error if a field in this list has a non-empty value.
4642	// This may be used to include null fields in Patch requests.
4643	NullFields []string `json:"-"`
4644}
4645
4646func (s *GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCardBrowseCarouselCardItemOpenUrlAction) MarshalJSON() ([]byte, error) {
4647	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCardBrowseCarouselCardItemOpenUrlAction
4648	raw := NoMethod(*s)
4649	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4650}
4651
4652// GoogleCloudDialogflowV2beta1IntentMessageCard: The card response
4653// message.
4654type GoogleCloudDialogflowV2beta1IntentMessageCard struct {
4655	// Buttons: Optional. The collection of card buttons.
4656	Buttons []*GoogleCloudDialogflowV2beta1IntentMessageCardButton `json:"buttons,omitempty"`
4657
4658	// ImageUri: Optional. The public URI to an image file for the card.
4659	ImageUri string `json:"imageUri,omitempty"`
4660
4661	// Subtitle: Optional. The subtitle of the card.
4662	Subtitle string `json:"subtitle,omitempty"`
4663
4664	// Title: Optional. The title of the card.
4665	Title string `json:"title,omitempty"`
4666
4667	// ForceSendFields is a list of field names (e.g. "Buttons") to
4668	// unconditionally include in API requests. By default, fields with
4669	// empty values are omitted from API requests. However, any non-pointer,
4670	// non-interface field appearing in ForceSendFields will be sent to the
4671	// server regardless of whether the field is empty or not. This may be
4672	// used to include empty fields in Patch requests.
4673	ForceSendFields []string `json:"-"`
4674
4675	// NullFields is a list of field names (e.g. "Buttons") to include in
4676	// API requests with the JSON null value. By default, fields with empty
4677	// values are omitted from API requests. However, any field with an
4678	// empty value appearing in NullFields will be sent to the server as
4679	// null. It is an error if a field in this list has a non-empty value.
4680	// This may be used to include null fields in Patch requests.
4681	NullFields []string `json:"-"`
4682}
4683
4684func (s *GoogleCloudDialogflowV2beta1IntentMessageCard) MarshalJSON() ([]byte, error) {
4685	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageCard
4686	raw := NoMethod(*s)
4687	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4688}
4689
4690// GoogleCloudDialogflowV2beta1IntentMessageCardButton: Optional.
4691// Contains information about a button.
4692type GoogleCloudDialogflowV2beta1IntentMessageCardButton struct {
4693	// Postback: Optional. The text to send back to the Dialogflow API or a
4694	// URI to
4695	// open.
4696	Postback string `json:"postback,omitempty"`
4697
4698	// Text: Optional. The text to show on the button.
4699	Text string `json:"text,omitempty"`
4700
4701	// ForceSendFields is a list of field names (e.g. "Postback") to
4702	// unconditionally include in API requests. By default, fields with
4703	// empty values are omitted from API requests. However, any non-pointer,
4704	// non-interface field appearing in ForceSendFields will be sent to the
4705	// server regardless of whether the field is empty or not. This may be
4706	// used to include empty fields in Patch requests.
4707	ForceSendFields []string `json:"-"`
4708
4709	// NullFields is a list of field names (e.g. "Postback") to include in
4710	// API requests with the JSON null value. By default, fields with empty
4711	// values are omitted from API requests. However, any field with an
4712	// empty value appearing in NullFields will be sent to the server as
4713	// null. It is an error if a field in this list has a non-empty value.
4714	// This may be used to include null fields in Patch requests.
4715	NullFields []string `json:"-"`
4716}
4717
4718func (s *GoogleCloudDialogflowV2beta1IntentMessageCardButton) MarshalJSON() ([]byte, error) {
4719	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageCardButton
4720	raw := NoMethod(*s)
4721	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4722}
4723
4724// GoogleCloudDialogflowV2beta1IntentMessageCarouselSelect: The card for
4725// presenting a carousel of options to select from.
4726type GoogleCloudDialogflowV2beta1IntentMessageCarouselSelect struct {
4727	// Items: Required. Carousel items.
4728	Items []*GoogleCloudDialogflowV2beta1IntentMessageCarouselSelectItem `json:"items,omitempty"`
4729
4730	// ForceSendFields is a list of field names (e.g. "Items") to
4731	// unconditionally include in API requests. By default, fields with
4732	// empty values are omitted from API requests. However, any non-pointer,
4733	// non-interface field appearing in ForceSendFields will be sent to the
4734	// server regardless of whether the field is empty or not. This may be
4735	// used to include empty fields in Patch requests.
4736	ForceSendFields []string `json:"-"`
4737
4738	// NullFields is a list of field names (e.g. "Items") to include in API
4739	// requests with the JSON null value. By default, fields with empty
4740	// values are omitted from API requests. However, any field with an
4741	// empty value appearing in NullFields will be sent to the server as
4742	// null. It is an error if a field in this list has a non-empty value.
4743	// This may be used to include null fields in Patch requests.
4744	NullFields []string `json:"-"`
4745}
4746
4747func (s *GoogleCloudDialogflowV2beta1IntentMessageCarouselSelect) MarshalJSON() ([]byte, error) {
4748	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageCarouselSelect
4749	raw := NoMethod(*s)
4750	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4751}
4752
4753// GoogleCloudDialogflowV2beta1IntentMessageCarouselSelectItem: An item
4754// in the carousel.
4755type GoogleCloudDialogflowV2beta1IntentMessageCarouselSelectItem struct {
4756	// Description: Optional. The body text of the card.
4757	Description string `json:"description,omitempty"`
4758
4759	// Image: Optional. The image to display.
4760	Image *GoogleCloudDialogflowV2beta1IntentMessageImage `json:"image,omitempty"`
4761
4762	// Info: Required. Additional info about the option item.
4763	Info *GoogleCloudDialogflowV2beta1IntentMessageSelectItemInfo `json:"info,omitempty"`
4764
4765	// Title: Required. Title of the carousel item.
4766	Title string `json:"title,omitempty"`
4767
4768	// ForceSendFields is a list of field names (e.g. "Description") to
4769	// unconditionally include in API requests. By default, fields with
4770	// empty values are omitted from API requests. However, any non-pointer,
4771	// non-interface field appearing in ForceSendFields will be sent to the
4772	// server regardless of whether the field is empty or not. This may be
4773	// used to include empty fields in Patch requests.
4774	ForceSendFields []string `json:"-"`
4775
4776	// NullFields is a list of field names (e.g. "Description") to include
4777	// in API requests with the JSON null value. By default, fields with
4778	// empty values are omitted from API requests. However, any field with
4779	// an empty value appearing in NullFields will be sent to the server as
4780	// null. It is an error if a field in this list has a non-empty value.
4781	// This may be used to include null fields in Patch requests.
4782	NullFields []string `json:"-"`
4783}
4784
4785func (s *GoogleCloudDialogflowV2beta1IntentMessageCarouselSelectItem) MarshalJSON() ([]byte, error) {
4786	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageCarouselSelectItem
4787	raw := NoMethod(*s)
4788	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4789}
4790
4791// GoogleCloudDialogflowV2beta1IntentMessageColumnProperties: Column
4792// properties for TableCard.
4793type GoogleCloudDialogflowV2beta1IntentMessageColumnProperties struct {
4794	// Header: Required. Column heading.
4795	Header string `json:"header,omitempty"`
4796
4797	// HorizontalAlignment: Optional. Defines text alignment for all cells
4798	// in this column.
4799	//
4800	// Possible values:
4801	//   "HORIZONTAL_ALIGNMENT_UNSPECIFIED" - Text is aligned to the leading
4802	// edge of the column.
4803	//   "LEADING" - Text is aligned to the leading edge of the column.
4804	//   "CENTER" - Text is centered in the column.
4805	//   "TRAILING" - Text is aligned to the trailing edge of the column.
4806	HorizontalAlignment string `json:"horizontalAlignment,omitempty"`
4807
4808	// ForceSendFields is a list of field names (e.g. "Header") to
4809	// unconditionally include in API requests. By default, fields with
4810	// empty values are omitted from API requests. However, any non-pointer,
4811	// non-interface field appearing in ForceSendFields will be sent to the
4812	// server regardless of whether the field is empty or not. This may be
4813	// used to include empty fields in Patch requests.
4814	ForceSendFields []string `json:"-"`
4815
4816	// NullFields is a list of field names (e.g. "Header") to include in API
4817	// requests with the JSON null value. By default, fields with empty
4818	// values are omitted from API requests. However, any field with an
4819	// empty value appearing in NullFields will be sent to the server as
4820	// null. It is an error if a field in this list has a non-empty value.
4821	// This may be used to include null fields in Patch requests.
4822	NullFields []string `json:"-"`
4823}
4824
4825func (s *GoogleCloudDialogflowV2beta1IntentMessageColumnProperties) MarshalJSON() ([]byte, error) {
4826	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageColumnProperties
4827	raw := NoMethod(*s)
4828	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4829}
4830
4831// GoogleCloudDialogflowV2beta1IntentMessageImage: The image response
4832// message.
4833type GoogleCloudDialogflowV2beta1IntentMessageImage struct {
4834	// AccessibilityText: A text description of the image to be used for
4835	// accessibility,
4836	// e.g., screen readers. Required if image_uri is set for
4837	// CarouselSelect.
4838	AccessibilityText string `json:"accessibilityText,omitempty"`
4839
4840	// ImageUri: Optional. The public URI to an image file.
4841	ImageUri string `json:"imageUri,omitempty"`
4842
4843	// ForceSendFields is a list of field names (e.g. "AccessibilityText")
4844	// to unconditionally include in API requests. By default, fields with
4845	// empty values are omitted from API requests. However, any non-pointer,
4846	// non-interface field appearing in ForceSendFields will be sent to the
4847	// server regardless of whether the field is empty or not. This may be
4848	// used to include empty fields in Patch requests.
4849	ForceSendFields []string `json:"-"`
4850
4851	// NullFields is a list of field names (e.g. "AccessibilityText") to
4852	// include in API requests with the JSON null value. By default, fields
4853	// with empty values are omitted from API requests. However, any field
4854	// with an empty value appearing in NullFields will be sent to the
4855	// server as null. It is an error if a field in this list has a
4856	// non-empty value. This may be used to include null fields in Patch
4857	// requests.
4858	NullFields []string `json:"-"`
4859}
4860
4861func (s *GoogleCloudDialogflowV2beta1IntentMessageImage) MarshalJSON() ([]byte, error) {
4862	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageImage
4863	raw := NoMethod(*s)
4864	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4865}
4866
4867// GoogleCloudDialogflowV2beta1IntentMessageLinkOutSuggestion: The
4868// suggestion chip message that allows the user to jump out to the
4869// app
4870// or website associated with this agent.
4871type GoogleCloudDialogflowV2beta1IntentMessageLinkOutSuggestion struct {
4872	// DestinationName: Required. The name of the app or site this chip is
4873	// linking to.
4874	DestinationName string `json:"destinationName,omitempty"`
4875
4876	// Uri: Required. The URI of the app or site to open when the user taps
4877	// the
4878	// suggestion chip.
4879	Uri string `json:"uri,omitempty"`
4880
4881	// ForceSendFields is a list of field names (e.g. "DestinationName") to
4882	// unconditionally include in API requests. By default, fields with
4883	// empty values are omitted from API requests. However, any non-pointer,
4884	// non-interface field appearing in ForceSendFields will be sent to the
4885	// server regardless of whether the field is empty or not. This may be
4886	// used to include empty fields in Patch requests.
4887	ForceSendFields []string `json:"-"`
4888
4889	// NullFields is a list of field names (e.g. "DestinationName") to
4890	// include in API requests with the JSON null value. By default, fields
4891	// with empty values are omitted from API requests. However, any field
4892	// with an empty value appearing in NullFields will be sent to the
4893	// server as null. It is an error if a field in this list has a
4894	// non-empty value. This may be used to include null fields in Patch
4895	// requests.
4896	NullFields []string `json:"-"`
4897}
4898
4899func (s *GoogleCloudDialogflowV2beta1IntentMessageLinkOutSuggestion) MarshalJSON() ([]byte, error) {
4900	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageLinkOutSuggestion
4901	raw := NoMethod(*s)
4902	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4903}
4904
4905// GoogleCloudDialogflowV2beta1IntentMessageListSelect: The card for
4906// presenting a list of options to select from.
4907type GoogleCloudDialogflowV2beta1IntentMessageListSelect struct {
4908	// Items: Required. List items.
4909	Items []*GoogleCloudDialogflowV2beta1IntentMessageListSelectItem `json:"items,omitempty"`
4910
4911	// Subtitle: Optional. Subtitle of the list.
4912	Subtitle string `json:"subtitle,omitempty"`
4913
4914	// Title: Optional. The overall title of the list.
4915	Title string `json:"title,omitempty"`
4916
4917	// ForceSendFields is a list of field names (e.g. "Items") to
4918	// unconditionally include in API requests. By default, fields with
4919	// empty values are omitted from API requests. However, any non-pointer,
4920	// non-interface field appearing in ForceSendFields will be sent to the
4921	// server regardless of whether the field is empty or not. This may be
4922	// used to include empty fields in Patch requests.
4923	ForceSendFields []string `json:"-"`
4924
4925	// NullFields is a list of field names (e.g. "Items") to include in API
4926	// requests with the JSON null value. By default, fields with empty
4927	// values are omitted from API requests. However, any field with an
4928	// empty value appearing in NullFields will be sent to the server as
4929	// null. It is an error if a field in this list has a non-empty value.
4930	// This may be used to include null fields in Patch requests.
4931	NullFields []string `json:"-"`
4932}
4933
4934func (s *GoogleCloudDialogflowV2beta1IntentMessageListSelect) MarshalJSON() ([]byte, error) {
4935	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageListSelect
4936	raw := NoMethod(*s)
4937	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4938}
4939
4940// GoogleCloudDialogflowV2beta1IntentMessageListSelectItem: An item in
4941// the list.
4942type GoogleCloudDialogflowV2beta1IntentMessageListSelectItem struct {
4943	// Description: Optional. The main text describing the item.
4944	Description string `json:"description,omitempty"`
4945
4946	// Image: Optional. The image to display.
4947	Image *GoogleCloudDialogflowV2beta1IntentMessageImage `json:"image,omitempty"`
4948
4949	// Info: Required. Additional information about this option.
4950	Info *GoogleCloudDialogflowV2beta1IntentMessageSelectItemInfo `json:"info,omitempty"`
4951
4952	// Title: Required. The title of the list item.
4953	Title string `json:"title,omitempty"`
4954
4955	// ForceSendFields is a list of field names (e.g. "Description") to
4956	// unconditionally include in API requests. By default, fields with
4957	// empty values are omitted from API requests. However, any non-pointer,
4958	// non-interface field appearing in ForceSendFields will be sent to the
4959	// server regardless of whether the field is empty or not. This may be
4960	// used to include empty fields in Patch requests.
4961	ForceSendFields []string `json:"-"`
4962
4963	// NullFields is a list of field names (e.g. "Description") to include
4964	// in API requests with the JSON null value. By default, fields with
4965	// empty values are omitted from API requests. However, any field with
4966	// an empty value appearing in NullFields will be sent to the server as
4967	// null. It is an error if a field in this list has a non-empty value.
4968	// This may be used to include null fields in Patch requests.
4969	NullFields []string `json:"-"`
4970}
4971
4972func (s *GoogleCloudDialogflowV2beta1IntentMessageListSelectItem) MarshalJSON() ([]byte, error) {
4973	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageListSelectItem
4974	raw := NoMethod(*s)
4975	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4976}
4977
4978// GoogleCloudDialogflowV2beta1IntentMessageMediaContent: The media
4979// content card for Actions on Google.
4980type GoogleCloudDialogflowV2beta1IntentMessageMediaContent struct {
4981	// MediaObjects: Required. List of media objects.
4982	MediaObjects []*GoogleCloudDialogflowV2beta1IntentMessageMediaContentResponseMediaObject `json:"mediaObjects,omitempty"`
4983
4984	// MediaType: Optional. What type of media is the content (ie "audio").
4985	//
4986	// Possible values:
4987	//   "RESPONSE_MEDIA_TYPE_UNSPECIFIED" - Unspecified.
4988	//   "AUDIO" - Response media type is audio.
4989	MediaType string `json:"mediaType,omitempty"`
4990
4991	// ForceSendFields is a list of field names (e.g. "MediaObjects") to
4992	// unconditionally include in API requests. By default, fields with
4993	// empty values are omitted from API requests. However, any non-pointer,
4994	// non-interface field appearing in ForceSendFields will be sent to the
4995	// server regardless of whether the field is empty or not. This may be
4996	// used to include empty fields in Patch requests.
4997	ForceSendFields []string `json:"-"`
4998
4999	// NullFields is a list of field names (e.g. "MediaObjects") to include
5000	// in API requests with the JSON null value. By default, fields with
5001	// empty values are omitted from API requests. However, any field with
5002	// an empty value appearing in NullFields will be sent to the server as
5003	// null. It is an error if a field in this list has a non-empty value.
5004	// This may be used to include null fields in Patch requests.
5005	NullFields []string `json:"-"`
5006}
5007
5008func (s *GoogleCloudDialogflowV2beta1IntentMessageMediaContent) MarshalJSON() ([]byte, error) {
5009	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageMediaContent
5010	raw := NoMethod(*s)
5011	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5012}
5013
5014// GoogleCloudDialogflowV2beta1IntentMessageMediaContentResponseMediaObje
5015// ct: Response media object for media content card.
5016type GoogleCloudDialogflowV2beta1IntentMessageMediaContentResponseMediaObject struct {
5017	// ContentUrl: Required. Url where the media is stored.
5018	ContentUrl string `json:"contentUrl,omitempty"`
5019
5020	// Description: Optional. Description of media card.
5021	Description string `json:"description,omitempty"`
5022
5023	// Icon: Optional. Icon to display above media content.
5024	Icon *GoogleCloudDialogflowV2beta1IntentMessageImage `json:"icon,omitempty"`
5025
5026	// LargeImage: Optional. Image to display above media content.
5027	LargeImage *GoogleCloudDialogflowV2beta1IntentMessageImage `json:"largeImage,omitempty"`
5028
5029	// Name: Required. Name of media card.
5030	Name string `json:"name,omitempty"`
5031
5032	// ForceSendFields is a list of field names (e.g. "ContentUrl") to
5033	// unconditionally include in API requests. By default, fields with
5034	// empty values are omitted from API requests. However, any non-pointer,
5035	// non-interface field appearing in ForceSendFields will be sent to the
5036	// server regardless of whether the field is empty or not. This may be
5037	// used to include empty fields in Patch requests.
5038	ForceSendFields []string `json:"-"`
5039
5040	// NullFields is a list of field names (e.g. "ContentUrl") to include in
5041	// API requests with the JSON null value. By default, fields with empty
5042	// values are omitted from API requests. However, any field with an
5043	// empty value appearing in NullFields will be sent to the server as
5044	// null. It is an error if a field in this list has a non-empty value.
5045	// This may be used to include null fields in Patch requests.
5046	NullFields []string `json:"-"`
5047}
5048
5049func (s *GoogleCloudDialogflowV2beta1IntentMessageMediaContentResponseMediaObject) MarshalJSON() ([]byte, error) {
5050	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageMediaContentResponseMediaObject
5051	raw := NoMethod(*s)
5052	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5053}
5054
5055// GoogleCloudDialogflowV2beta1IntentMessageQuickReplies: The quick
5056// replies response message.
5057type GoogleCloudDialogflowV2beta1IntentMessageQuickReplies struct {
5058	// QuickReplies: Optional. The collection of quick replies.
5059	QuickReplies []string `json:"quickReplies,omitempty"`
5060
5061	// Title: Optional. The title of the collection of quick replies.
5062	Title string `json:"title,omitempty"`
5063
5064	// ForceSendFields is a list of field names (e.g. "QuickReplies") to
5065	// unconditionally include in API requests. By default, fields with
5066	// empty values are omitted from API requests. However, any non-pointer,
5067	// non-interface field appearing in ForceSendFields will be sent to the
5068	// server regardless of whether the field is empty or not. This may be
5069	// used to include empty fields in Patch requests.
5070	ForceSendFields []string `json:"-"`
5071
5072	// NullFields is a list of field names (e.g. "QuickReplies") to include
5073	// in API requests with the JSON null value. By default, fields with
5074	// empty values are omitted from API requests. However, any field with
5075	// an empty value appearing in NullFields will be sent to the server as
5076	// null. It is an error if a field in this list has a non-empty value.
5077	// This may be used to include null fields in Patch requests.
5078	NullFields []string `json:"-"`
5079}
5080
5081func (s *GoogleCloudDialogflowV2beta1IntentMessageQuickReplies) MarshalJSON() ([]byte, error) {
5082	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageQuickReplies
5083	raw := NoMethod(*s)
5084	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5085}
5086
5087// GoogleCloudDialogflowV2beta1IntentMessageRbmCardContent: Rich
5088// Business Messaging (RBM) Card content
5089type GoogleCloudDialogflowV2beta1IntentMessageRbmCardContent struct {
5090	// Description: Optional. Description of the card (at most 2000
5091	// bytes).
5092	//
5093	// At least one of the title, description or media must be set.
5094	Description string `json:"description,omitempty"`
5095
5096	// Media: Optional. However at least one of the title, description or
5097	// media must
5098	// be set. Media (image, GIF or a video) to include in the card.
5099	Media *GoogleCloudDialogflowV2beta1IntentMessageRbmCardContentRbmMedia `json:"media,omitempty"`
5100
5101	// Suggestions: Optional. List of suggestions to include in the card.
5102	Suggestions []*GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestion `json:"suggestions,omitempty"`
5103
5104	// Title: Optional. Title of the card (at most 200 bytes).
5105	//
5106	// At least one of the title, description or media must be set.
5107	Title string `json:"title,omitempty"`
5108
5109	// ForceSendFields is a list of field names (e.g. "Description") to
5110	// unconditionally include in API requests. By default, fields with
5111	// empty values are omitted from API requests. However, any non-pointer,
5112	// non-interface field appearing in ForceSendFields will be sent to the
5113	// server regardless of whether the field is empty or not. This may be
5114	// used to include empty fields in Patch requests.
5115	ForceSendFields []string `json:"-"`
5116
5117	// NullFields is a list of field names (e.g. "Description") to include
5118	// in API requests with the JSON null value. By default, fields with
5119	// empty values are omitted from API requests. However, any field with
5120	// an empty value appearing in NullFields will be sent to the server as
5121	// null. It is an error if a field in this list has a non-empty value.
5122	// This may be used to include null fields in Patch requests.
5123	NullFields []string `json:"-"`
5124}
5125
5126func (s *GoogleCloudDialogflowV2beta1IntentMessageRbmCardContent) MarshalJSON() ([]byte, error) {
5127	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageRbmCardContent
5128	raw := NoMethod(*s)
5129	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5130}
5131
5132// GoogleCloudDialogflowV2beta1IntentMessageRbmCardContentRbmMedia: Rich
5133// Business Messaging (RBM) Media displayed in Cards
5134// The following media-types are currently supported:
5135//
5136// Image Types
5137//
5138// * image/jpeg
5139// * image/jpg'
5140// * image/gif
5141// * image/png
5142//
5143// Video Types
5144//
5145// * video/h263
5146// * video/m4v
5147// * video/mp4
5148// * video/mpeg
5149// * video/mpeg4
5150// * video/webm
5151type GoogleCloudDialogflowV2beta1IntentMessageRbmCardContentRbmMedia struct {
5152	// FileUri: Required. Publicly reachable URI of the file. The RBM
5153	// platform
5154	// determines the MIME type of the file from the content-type field
5155	// in
5156	// the HTTP headers when the platform fetches the file. The
5157	// content-type
5158	// field must be present and accurate in the HTTP response from the URL.
5159	FileUri string `json:"fileUri,omitempty"`
5160
5161	// Height: Required for cards with vertical orientation. The height of
5162	// the media
5163	// within a rich card with a vertical layout.
5164	// (https://goo.gl/NeFCjz).
5165	// For a standalone card with horizontal layout, height is
5166	// not
5167	// customizable, and this field is ignored.
5168	//
5169	// Possible values:
5170	//   "HEIGHT_UNSPECIFIED" - Not specified.
5171	//   "SHORT" - 112 DP.
5172	//   "MEDIUM" - 168 DP.
5173	//   "TALL" - 264 DP. Not available for rich card carousels when the
5174	// card width
5175	// is set to small.
5176	Height string `json:"height,omitempty"`
5177
5178	// ThumbnailUri: Optional. Publicly reachable URI of the thumbnail.If
5179	// you don't
5180	// provide a thumbnail URI, the RBM platform displays a
5181	// blank
5182	// placeholder thumbnail until the user's device downloads the
5183	// file.
5184	// Depending on the user's setting, the file may not
5185	// download
5186	// automatically and may require the user to tap a download button.
5187	ThumbnailUri string `json:"thumbnailUri,omitempty"`
5188
5189	// ForceSendFields is a list of field names (e.g. "FileUri") to
5190	// unconditionally include in API requests. By default, fields with
5191	// empty values are omitted from API requests. However, any non-pointer,
5192	// non-interface field appearing in ForceSendFields will be sent to the
5193	// server regardless of whether the field is empty or not. This may be
5194	// used to include empty fields in Patch requests.
5195	ForceSendFields []string `json:"-"`
5196
5197	// NullFields is a list of field names (e.g. "FileUri") to include in
5198	// API requests with the JSON null value. By default, fields with empty
5199	// values are omitted from API requests. However, any field with an
5200	// empty value appearing in NullFields will be sent to the server as
5201	// null. It is an error if a field in this list has a non-empty value.
5202	// This may be used to include null fields in Patch requests.
5203	NullFields []string `json:"-"`
5204}
5205
5206func (s *GoogleCloudDialogflowV2beta1IntentMessageRbmCardContentRbmMedia) MarshalJSON() ([]byte, error) {
5207	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageRbmCardContentRbmMedia
5208	raw := NoMethod(*s)
5209	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5210}
5211
5212// GoogleCloudDialogflowV2beta1IntentMessageRbmCarouselCard: Carousel
5213// Rich Business Messaging (RBM) rich card.
5214//
5215// Rich cards allow you to respond to users with more vivid content,
5216// e.g.
5217// with media and suggestions.
5218//
5219// For more details about RBM rich cards, please
5220// see:
5221// https://developers.google.com/business-communications/rcs-busines
5222// s-messaging/guides/build/messages/send#rich-cards
5223// If you want to show a single card with more control over the
5224// layout,
5225// please use RbmStandaloneCard instead.
5226type GoogleCloudDialogflowV2beta1IntentMessageRbmCarouselCard struct {
5227	// CardContents: Required. The cards in the carousel. A carousel must
5228	// have at least
5229	// 2 cards and at most 10.
5230	CardContents []*GoogleCloudDialogflowV2beta1IntentMessageRbmCardContent `json:"cardContents,omitempty"`
5231
5232	// CardWidth: Required. The width of the cards in the carousel.
5233	//
5234	// Possible values:
5235	//   "CARD_WIDTH_UNSPECIFIED" - Not specified.
5236	//   "SMALL" - 120 DP. Note that tall media cannot be used.
5237	//   "MEDIUM" - 232 DP.
5238	CardWidth string `json:"cardWidth,omitempty"`
5239
5240	// ForceSendFields is a list of field names (e.g. "CardContents") to
5241	// unconditionally include in API requests. By default, fields with
5242	// empty values are omitted from API requests. However, any non-pointer,
5243	// non-interface field appearing in ForceSendFields will be sent to the
5244	// server regardless of whether the field is empty or not. This may be
5245	// used to include empty fields in Patch requests.
5246	ForceSendFields []string `json:"-"`
5247
5248	// NullFields is a list of field names (e.g. "CardContents") to include
5249	// in API requests with the JSON null value. By default, fields with
5250	// empty values are omitted from API requests. However, any field with
5251	// an empty value appearing in NullFields will be sent to the server as
5252	// null. It is an error if a field in this list has a non-empty value.
5253	// This may be used to include null fields in Patch requests.
5254	NullFields []string `json:"-"`
5255}
5256
5257func (s *GoogleCloudDialogflowV2beta1IntentMessageRbmCarouselCard) MarshalJSON() ([]byte, error) {
5258	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageRbmCarouselCard
5259	raw := NoMethod(*s)
5260	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5261}
5262
5263// GoogleCloudDialogflowV2beta1IntentMessageRbmStandaloneCard:
5264// Standalone Rich Business Messaging (RBM) rich card.
5265//
5266// Rich cards allow you to respond to users with more vivid content,
5267// e.g.
5268// with media and suggestions.
5269//
5270// For more details about RBM rich cards, please
5271// see:
5272// https://developers.google.com/business-communications/rcs-busines
5273// s-messaging/guides/build/messages/send#rich-cards
5274// You can group multiple rich cards into one using RbmCarouselCard
5275// but
5276// carousel cards will give you less control over the card layout.
5277type GoogleCloudDialogflowV2beta1IntentMessageRbmStandaloneCard struct {
5278	// CardContent: Required. Card content.
5279	CardContent *GoogleCloudDialogflowV2beta1IntentMessageRbmCardContent `json:"cardContent,omitempty"`
5280
5281	// CardOrientation: Required. Orientation of the card.
5282	//
5283	// Possible values:
5284	//   "CARD_ORIENTATION_UNSPECIFIED" - Not specified.
5285	//   "HORIZONTAL" - Horizontal layout.
5286	//   "VERTICAL" - Vertical layout.
5287	CardOrientation string `json:"cardOrientation,omitempty"`
5288
5289	// ThumbnailImageAlignment: Required if orientation is horizontal.
5290	// Image preview alignment for standalone cards with horizontal layout.
5291	//
5292	// Possible values:
5293	//   "THUMBNAIL_IMAGE_ALIGNMENT_UNSPECIFIED" - Not specified.
5294	//   "LEFT" - Thumbnail preview is left-aligned.
5295	//   "RIGHT" - Thumbnail preview is right-aligned.
5296	ThumbnailImageAlignment string `json:"thumbnailImageAlignment,omitempty"`
5297
5298	// ForceSendFields is a list of field names (e.g. "CardContent") to
5299	// unconditionally include in API requests. By default, fields with
5300	// empty values are omitted from API requests. However, any non-pointer,
5301	// non-interface field appearing in ForceSendFields will be sent to the
5302	// server regardless of whether the field is empty or not. This may be
5303	// used to include empty fields in Patch requests.
5304	ForceSendFields []string `json:"-"`
5305
5306	// NullFields is a list of field names (e.g. "CardContent") to include
5307	// in API requests with the JSON null value. By default, fields with
5308	// empty values are omitted from API requests. However, any field with
5309	// an empty value appearing in NullFields will be sent to the server as
5310	// null. It is an error if a field in this list has a non-empty value.
5311	// This may be used to include null fields in Patch requests.
5312	NullFields []string `json:"-"`
5313}
5314
5315func (s *GoogleCloudDialogflowV2beta1IntentMessageRbmStandaloneCard) MarshalJSON() ([]byte, error) {
5316	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageRbmStandaloneCard
5317	raw := NoMethod(*s)
5318	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5319}
5320
5321// GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedAction: Rich
5322// Business Messaging (RBM) suggested client-side action that the
5323// user
5324// can choose from the card.
5325type GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedAction struct {
5326	// Dial: Suggested client side action: Dial a phone number
5327	Dial *GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionDial `json:"dial,omitempty"`
5328
5329	// OpenUrl: Suggested client side action: Open a URI on device
5330	OpenUrl *GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionOpenUri `json:"openUrl,omitempty"`
5331
5332	// PostbackData: Opaque payload that the Dialogflow receives in a user
5333	// event
5334	// when the user taps the suggested action. This data will be
5335	// also
5336	// forwarded to webhook to allow performing custom business logic.
5337	PostbackData string `json:"postbackData,omitempty"`
5338
5339	// ShareLocation: Suggested client side action: Share user location
5340	ShareLocation *GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionShareLocation `json:"shareLocation,omitempty"`
5341
5342	// Text: Text to display alongside the action.
5343	Text string `json:"text,omitempty"`
5344
5345	// ForceSendFields is a list of field names (e.g. "Dial") to
5346	// unconditionally include in API requests. By default, fields with
5347	// empty values are omitted from API requests. However, any non-pointer,
5348	// non-interface field appearing in ForceSendFields will be sent to the
5349	// server regardless of whether the field is empty or not. This may be
5350	// used to include empty fields in Patch requests.
5351	ForceSendFields []string `json:"-"`
5352
5353	// NullFields is a list of field names (e.g. "Dial") to include in API
5354	// requests with the JSON null value. By default, fields with empty
5355	// values are omitted from API requests. However, any field with an
5356	// empty value appearing in NullFields will be sent to the server as
5357	// null. It is an error if a field in this list has a non-empty value.
5358	// This may be used to include null fields in Patch requests.
5359	NullFields []string `json:"-"`
5360}
5361
5362func (s *GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedAction) MarshalJSON() ([]byte, error) {
5363	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedAction
5364	raw := NoMethod(*s)
5365	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5366}
5367
5368// GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggeste
5369// dActionDial: Opens the user's default dialer app with the specified
5370// phone number
5371// but does not dial automatically (https://goo.gl/ergbB2).
5372type GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionDial struct {
5373	// PhoneNumber: Required. The phone number to fill in the default dialer
5374	// app.
5375	// This field should be in
5376	// [E.164](https://en.wikipedia.org/wiki/E.164)
5377	// format. An example of a correctly formatted phone
5378	// number:
5379	// +15556767888.
5380	PhoneNumber string `json:"phoneNumber,omitempty"`
5381
5382	// ForceSendFields is a list of field names (e.g. "PhoneNumber") to
5383	// unconditionally include in API requests. By default, fields with
5384	// empty values are omitted from API requests. However, any non-pointer,
5385	// non-interface field appearing in ForceSendFields will be sent to the
5386	// server regardless of whether the field is empty or not. This may be
5387	// used to include empty fields in Patch requests.
5388	ForceSendFields []string `json:"-"`
5389
5390	// NullFields is a list of field names (e.g. "PhoneNumber") to include
5391	// in API requests with the JSON null value. By default, fields with
5392	// empty values are omitted from API requests. However, any field with
5393	// an empty value appearing in NullFields will be sent to the server as
5394	// null. It is an error if a field in this list has a non-empty value.
5395	// This may be used to include null fields in Patch requests.
5396	NullFields []string `json:"-"`
5397}
5398
5399func (s *GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionDial) MarshalJSON() ([]byte, error) {
5400	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionDial
5401	raw := NoMethod(*s)
5402	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5403}
5404
5405// GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggeste
5406// dActionOpenUri: Opens the user's default web browser app to the
5407// specified uri
5408// (https://goo.gl/6GLJD2). If the user has an app installed that
5409// is
5410// registered as the default handler for the URL, then this app will
5411// be
5412// opened instead, and its icon will be used in the suggested action UI.
5413type GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionOpenUri struct {
5414	// Uri: Required. The uri to open on the user device
5415	Uri string `json:"uri,omitempty"`
5416
5417	// ForceSendFields is a list of field names (e.g. "Uri") to
5418	// unconditionally include in API requests. By default, fields with
5419	// empty values are omitted from API requests. However, any non-pointer,
5420	// non-interface field appearing in ForceSendFields will be sent to the
5421	// server regardless of whether the field is empty or not. This may be
5422	// used to include empty fields in Patch requests.
5423	ForceSendFields []string `json:"-"`
5424
5425	// NullFields is a list of field names (e.g. "Uri") to include in API
5426	// requests with the JSON null value. By default, fields with empty
5427	// values are omitted from API requests. However, any field with an
5428	// empty value appearing in NullFields will be sent to the server as
5429	// null. It is an error if a field in this list has a non-empty value.
5430	// This may be used to include null fields in Patch requests.
5431	NullFields []string `json:"-"`
5432}
5433
5434func (s *GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionOpenUri) MarshalJSON() ([]byte, error) {
5435	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionOpenUri
5436	raw := NoMethod(*s)
5437	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5438}
5439
5440// GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggeste
5441// dActionShareLocation: Opens the device's location chooser so the user
5442// can pick a location
5443// to send back to the agent (https://goo.gl/GXotJW).
5444type GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionShareLocation struct {
5445}
5446
5447// GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedReply: Rich
5448// Business Messaging (RBM) suggested reply that the user can
5449// click
5450// instead of typing in their own response.
5451type GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedReply struct {
5452	// PostbackData: Opaque payload that the Dialogflow receives in a user
5453	// event
5454	// when the user taps the suggested reply. This data will be
5455	// also
5456	// forwarded to webhook to allow performing custom business logic.
5457	PostbackData string `json:"postbackData,omitempty"`
5458
5459	// Text: Suggested reply text.
5460	Text string `json:"text,omitempty"`
5461
5462	// ForceSendFields is a list of field names (e.g. "PostbackData") to
5463	// unconditionally include in API requests. By default, fields with
5464	// empty values are omitted from API requests. However, any non-pointer,
5465	// non-interface field appearing in ForceSendFields will be sent to the
5466	// server regardless of whether the field is empty or not. This may be
5467	// used to include empty fields in Patch requests.
5468	ForceSendFields []string `json:"-"`
5469
5470	// NullFields is a list of field names (e.g. "PostbackData") to include
5471	// in API requests with the JSON null value. By default, fields with
5472	// empty values are omitted from API requests. However, any field with
5473	// an empty value appearing in NullFields will be sent to the server as
5474	// null. It is an error if a field in this list has a non-empty value.
5475	// This may be used to include null fields in Patch requests.
5476	NullFields []string `json:"-"`
5477}
5478
5479func (s *GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedReply) MarshalJSON() ([]byte, error) {
5480	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedReply
5481	raw := NoMethod(*s)
5482	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5483}
5484
5485// GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestion: Rich Business
5486// Messaging (RBM) suggestion. Suggestions allow user to
5487// easily select/click a predefined response or perform an action
5488// (like
5489// opening a web uri).
5490type GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestion struct {
5491	// Action: Predefined client side actions that user can choose
5492	Action *GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedAction `json:"action,omitempty"`
5493
5494	// Reply: Predefined replies for user to select instead of typing
5495	Reply *GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedReply `json:"reply,omitempty"`
5496
5497	// ForceSendFields is a list of field names (e.g. "Action") to
5498	// unconditionally include in API requests. By default, fields with
5499	// empty values are omitted from API requests. However, any non-pointer,
5500	// non-interface field appearing in ForceSendFields will be sent to the
5501	// server regardless of whether the field is empty or not. This may be
5502	// used to include empty fields in Patch requests.
5503	ForceSendFields []string `json:"-"`
5504
5505	// NullFields is a list of field names (e.g. "Action") to include in API
5506	// requests with the JSON null value. By default, fields with empty
5507	// values are omitted from API requests. However, any field with an
5508	// empty value appearing in NullFields will be sent to the server as
5509	// null. It is an error if a field in this list has a non-empty value.
5510	// This may be used to include null fields in Patch requests.
5511	NullFields []string `json:"-"`
5512}
5513
5514func (s *GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestion) MarshalJSON() ([]byte, error) {
5515	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestion
5516	raw := NoMethod(*s)
5517	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5518}
5519
5520// GoogleCloudDialogflowV2beta1IntentMessageRbmText: Rich Business
5521// Messaging (RBM) text response with suggestions.
5522type GoogleCloudDialogflowV2beta1IntentMessageRbmText struct {
5523	// RbmSuggestion: Optional. One or more suggestions to show to the user.
5524	RbmSuggestion []*GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestion `json:"rbmSuggestion,omitempty"`
5525
5526	// Text: Required. Text sent and displayed to the user.
5527	Text string `json:"text,omitempty"`
5528
5529	// ForceSendFields is a list of field names (e.g. "RbmSuggestion") to
5530	// unconditionally include in API requests. By default, fields with
5531	// empty values are omitted from API requests. However, any non-pointer,
5532	// non-interface field appearing in ForceSendFields will be sent to the
5533	// server regardless of whether the field is empty or not. This may be
5534	// used to include empty fields in Patch requests.
5535	ForceSendFields []string `json:"-"`
5536
5537	// NullFields is a list of field names (e.g. "RbmSuggestion") to include
5538	// in API requests with the JSON null value. By default, fields with
5539	// empty values are omitted from API requests. However, any field with
5540	// an empty value appearing in NullFields will be sent to the server as
5541	// null. It is an error if a field in this list has a non-empty value.
5542	// This may be used to include null fields in Patch requests.
5543	NullFields []string `json:"-"`
5544}
5545
5546func (s *GoogleCloudDialogflowV2beta1IntentMessageRbmText) MarshalJSON() ([]byte, error) {
5547	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageRbmText
5548	raw := NoMethod(*s)
5549	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5550}
5551
5552// GoogleCloudDialogflowV2beta1IntentMessageSelectItemInfo: Additional
5553// info about the select item for when it is triggered in a
5554// dialog.
5555type GoogleCloudDialogflowV2beta1IntentMessageSelectItemInfo struct {
5556	// Key: Required. A unique key that will be sent back to the agent if
5557	// this
5558	// response is given.
5559	Key string `json:"key,omitempty"`
5560
5561	// Synonyms: Optional. A list of synonyms that can also be used to
5562	// trigger this
5563	// item in dialog.
5564	Synonyms []string `json:"synonyms,omitempty"`
5565
5566	// ForceSendFields is a list of field names (e.g. "Key") to
5567	// unconditionally include in API requests. By default, fields with
5568	// empty values are omitted from API requests. However, any non-pointer,
5569	// non-interface field appearing in ForceSendFields will be sent to the
5570	// server regardless of whether the field is empty or not. This may be
5571	// used to include empty fields in Patch requests.
5572	ForceSendFields []string `json:"-"`
5573
5574	// NullFields is a list of field names (e.g. "Key") to include in API
5575	// requests with the JSON null value. By default, fields with empty
5576	// values are omitted from API requests. However, any field with an
5577	// empty value appearing in NullFields will be sent to the server as
5578	// null. It is an error if a field in this list has a non-empty value.
5579	// This may be used to include null fields in Patch requests.
5580	NullFields []string `json:"-"`
5581}
5582
5583func (s *GoogleCloudDialogflowV2beta1IntentMessageSelectItemInfo) MarshalJSON() ([]byte, error) {
5584	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageSelectItemInfo
5585	raw := NoMethod(*s)
5586	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5587}
5588
5589// GoogleCloudDialogflowV2beta1IntentMessageSimpleResponse: The simple
5590// response message containing speech or text.
5591type GoogleCloudDialogflowV2beta1IntentMessageSimpleResponse struct {
5592	// DisplayText: Optional. The text to display.
5593	DisplayText string `json:"displayText,omitempty"`
5594
5595	// Ssml: One of text_to_speech or ssml must be provided. Structured
5596	// spoken
5597	// response to the user in the SSML format. Mutually exclusive
5598	// with
5599	// text_to_speech.
5600	Ssml string `json:"ssml,omitempty"`
5601
5602	// TextToSpeech: One of text_to_speech or ssml must be provided. The
5603	// plain text of the
5604	// speech output. Mutually exclusive with ssml.
5605	TextToSpeech string `json:"textToSpeech,omitempty"`
5606
5607	// ForceSendFields is a list of field names (e.g. "DisplayText") to
5608	// unconditionally include in API requests. By default, fields with
5609	// empty values are omitted from API requests. However, any non-pointer,
5610	// non-interface field appearing in ForceSendFields will be sent to the
5611	// server regardless of whether the field is empty or not. This may be
5612	// used to include empty fields in Patch requests.
5613	ForceSendFields []string `json:"-"`
5614
5615	// NullFields is a list of field names (e.g. "DisplayText") to include
5616	// in API requests with the JSON null value. By default, fields with
5617	// empty values are omitted from API requests. However, any field with
5618	// an empty value appearing in NullFields will be sent to the server as
5619	// null. It is an error if a field in this list has a non-empty value.
5620	// This may be used to include null fields in Patch requests.
5621	NullFields []string `json:"-"`
5622}
5623
5624func (s *GoogleCloudDialogflowV2beta1IntentMessageSimpleResponse) MarshalJSON() ([]byte, error) {
5625	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageSimpleResponse
5626	raw := NoMethod(*s)
5627	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5628}
5629
5630// GoogleCloudDialogflowV2beta1IntentMessageSimpleResponses: The
5631// collection of simple response candidates.
5632// This message in `QueryResult.fulfillment_messages`
5633// and
5634// `WebhookResponse.fulfillment_messages` should contain only
5635// one
5636// `SimpleResponse`.
5637type GoogleCloudDialogflowV2beta1IntentMessageSimpleResponses struct {
5638	// SimpleResponses: Required. The list of simple responses.
5639	SimpleResponses []*GoogleCloudDialogflowV2beta1IntentMessageSimpleResponse `json:"simpleResponses,omitempty"`
5640
5641	// ForceSendFields is a list of field names (e.g. "SimpleResponses") to
5642	// unconditionally include in API requests. By default, fields with
5643	// empty values are omitted from API requests. However, any non-pointer,
5644	// non-interface field appearing in ForceSendFields will be sent to the
5645	// server regardless of whether the field is empty or not. This may be
5646	// used to include empty fields in Patch requests.
5647	ForceSendFields []string `json:"-"`
5648
5649	// NullFields is a list of field names (e.g. "SimpleResponses") to
5650	// include in API requests with the JSON null value. By default, fields
5651	// with empty values are omitted from API requests. However, any field
5652	// with an empty value appearing in NullFields will be sent to the
5653	// server as null. It is an error if a field in this list has a
5654	// non-empty value. This may be used to include null fields in Patch
5655	// requests.
5656	NullFields []string `json:"-"`
5657}
5658
5659func (s *GoogleCloudDialogflowV2beta1IntentMessageSimpleResponses) MarshalJSON() ([]byte, error) {
5660	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageSimpleResponses
5661	raw := NoMethod(*s)
5662	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5663}
5664
5665// GoogleCloudDialogflowV2beta1IntentMessageSuggestion: The suggestion
5666// chip message that the user can tap to quickly post a reply
5667// to the conversation.
5668type GoogleCloudDialogflowV2beta1IntentMessageSuggestion struct {
5669	// Title: Required. The text shown the in the suggestion chip.
5670	Title string `json:"title,omitempty"`
5671
5672	// ForceSendFields is a list of field names (e.g. "Title") to
5673	// unconditionally include in API requests. By default, fields with
5674	// empty values are omitted from API requests. However, any non-pointer,
5675	// non-interface field appearing in ForceSendFields will be sent to the
5676	// server regardless of whether the field is empty or not. This may be
5677	// used to include empty fields in Patch requests.
5678	ForceSendFields []string `json:"-"`
5679
5680	// NullFields is a list of field names (e.g. "Title") to include in API
5681	// requests with the JSON null value. By default, fields with empty
5682	// values are omitted from API requests. However, any field with an
5683	// empty value appearing in NullFields will be sent to the server as
5684	// null. It is an error if a field in this list has a non-empty value.
5685	// This may be used to include null fields in Patch requests.
5686	NullFields []string `json:"-"`
5687}
5688
5689func (s *GoogleCloudDialogflowV2beta1IntentMessageSuggestion) MarshalJSON() ([]byte, error) {
5690	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageSuggestion
5691	raw := NoMethod(*s)
5692	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5693}
5694
5695// GoogleCloudDialogflowV2beta1IntentMessageSuggestions: The collection
5696// of suggestions.
5697type GoogleCloudDialogflowV2beta1IntentMessageSuggestions struct {
5698	// Suggestions: Required. The list of suggested replies.
5699	Suggestions []*GoogleCloudDialogflowV2beta1IntentMessageSuggestion `json:"suggestions,omitempty"`
5700
5701	// ForceSendFields is a list of field names (e.g. "Suggestions") to
5702	// unconditionally include in API requests. By default, fields with
5703	// empty values are omitted from API requests. However, any non-pointer,
5704	// non-interface field appearing in ForceSendFields will be sent to the
5705	// server regardless of whether the field is empty or not. This may be
5706	// used to include empty fields in Patch requests.
5707	ForceSendFields []string `json:"-"`
5708
5709	// NullFields is a list of field names (e.g. "Suggestions") to include
5710	// in API requests with the JSON null value. By default, fields with
5711	// empty values are omitted from API requests. However, any field with
5712	// an empty value appearing in NullFields will be sent to the server as
5713	// null. It is an error if a field in this list has a non-empty value.
5714	// This may be used to include null fields in Patch requests.
5715	NullFields []string `json:"-"`
5716}
5717
5718func (s *GoogleCloudDialogflowV2beta1IntentMessageSuggestions) MarshalJSON() ([]byte, error) {
5719	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageSuggestions
5720	raw := NoMethod(*s)
5721	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5722}
5723
5724// GoogleCloudDialogflowV2beta1IntentMessageTableCard: Table card for
5725// Actions on Google.
5726type GoogleCloudDialogflowV2beta1IntentMessageTableCard struct {
5727	// Buttons: Optional. List of buttons for the card.
5728	Buttons []*GoogleCloudDialogflowV2beta1IntentMessageBasicCardButton `json:"buttons,omitempty"`
5729
5730	// ColumnProperties: Optional. Display properties for the columns in
5731	// this table.
5732	ColumnProperties []*GoogleCloudDialogflowV2beta1IntentMessageColumnProperties `json:"columnProperties,omitempty"`
5733
5734	// Image: Optional. Image which should be displayed on the card.
5735	Image *GoogleCloudDialogflowV2beta1IntentMessageImage `json:"image,omitempty"`
5736
5737	// Rows: Optional. Rows in this table of data.
5738	Rows []*GoogleCloudDialogflowV2beta1IntentMessageTableCardRow `json:"rows,omitempty"`
5739
5740	// Subtitle: Optional. Subtitle to the title.
5741	Subtitle string `json:"subtitle,omitempty"`
5742
5743	// Title: Required. Title of the card.
5744	Title string `json:"title,omitempty"`
5745
5746	// ForceSendFields is a list of field names (e.g. "Buttons") to
5747	// unconditionally include in API requests. By default, fields with
5748	// empty values are omitted from API requests. However, any non-pointer,
5749	// non-interface field appearing in ForceSendFields will be sent to the
5750	// server regardless of whether the field is empty or not. This may be
5751	// used to include empty fields in Patch requests.
5752	ForceSendFields []string `json:"-"`
5753
5754	// NullFields is a list of field names (e.g. "Buttons") to include in
5755	// API requests with the JSON null value. By default, fields with empty
5756	// values are omitted from API requests. However, any field with an
5757	// empty value appearing in NullFields will be sent to the server as
5758	// null. It is an error if a field in this list has a non-empty value.
5759	// This may be used to include null fields in Patch requests.
5760	NullFields []string `json:"-"`
5761}
5762
5763func (s *GoogleCloudDialogflowV2beta1IntentMessageTableCard) MarshalJSON() ([]byte, error) {
5764	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageTableCard
5765	raw := NoMethod(*s)
5766	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5767}
5768
5769// GoogleCloudDialogflowV2beta1IntentMessageTableCardCell: Cell of
5770// TableCardRow.
5771type GoogleCloudDialogflowV2beta1IntentMessageTableCardCell struct {
5772	// Text: Required. Text in this cell.
5773	Text string `json:"text,omitempty"`
5774
5775	// ForceSendFields is a list of field names (e.g. "Text") to
5776	// unconditionally include in API requests. By default, fields with
5777	// empty values are omitted from API requests. However, any non-pointer,
5778	// non-interface field appearing in ForceSendFields will be sent to the
5779	// server regardless of whether the field is empty or not. This may be
5780	// used to include empty fields in Patch requests.
5781	ForceSendFields []string `json:"-"`
5782
5783	// NullFields is a list of field names (e.g. "Text") to include in API
5784	// requests with the JSON null value. By default, fields with empty
5785	// values are omitted from API requests. However, any field with an
5786	// empty value appearing in NullFields will be sent to the server as
5787	// null. It is an error if a field in this list has a non-empty value.
5788	// This may be used to include null fields in Patch requests.
5789	NullFields []string `json:"-"`
5790}
5791
5792func (s *GoogleCloudDialogflowV2beta1IntentMessageTableCardCell) MarshalJSON() ([]byte, error) {
5793	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageTableCardCell
5794	raw := NoMethod(*s)
5795	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5796}
5797
5798// GoogleCloudDialogflowV2beta1IntentMessageTableCardRow: Row of
5799// TableCard.
5800type GoogleCloudDialogflowV2beta1IntentMessageTableCardRow struct {
5801	// Cells: Optional. List of cells that make up this row.
5802	Cells []*GoogleCloudDialogflowV2beta1IntentMessageTableCardCell `json:"cells,omitempty"`
5803
5804	// DividerAfter: Optional. Whether to add a visual divider after this
5805	// row.
5806	DividerAfter bool `json:"dividerAfter,omitempty"`
5807
5808	// ForceSendFields is a list of field names (e.g. "Cells") to
5809	// unconditionally include in API requests. By default, fields with
5810	// empty values are omitted from API requests. However, any non-pointer,
5811	// non-interface field appearing in ForceSendFields will be sent to the
5812	// server regardless of whether the field is empty or not. This may be
5813	// used to include empty fields in Patch requests.
5814	ForceSendFields []string `json:"-"`
5815
5816	// NullFields is a list of field names (e.g. "Cells") to include in API
5817	// requests with the JSON null value. By default, fields with empty
5818	// values are omitted from API requests. However, any field with an
5819	// empty value appearing in NullFields will be sent to the server as
5820	// null. It is an error if a field in this list has a non-empty value.
5821	// This may be used to include null fields in Patch requests.
5822	NullFields []string `json:"-"`
5823}
5824
5825func (s *GoogleCloudDialogflowV2beta1IntentMessageTableCardRow) MarshalJSON() ([]byte, error) {
5826	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageTableCardRow
5827	raw := NoMethod(*s)
5828	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5829}
5830
5831// GoogleCloudDialogflowV2beta1IntentMessageTelephonyPlayAudio: Plays
5832// audio from a file in Telephony Gateway.
5833type GoogleCloudDialogflowV2beta1IntentMessageTelephonyPlayAudio struct {
5834	// AudioUri: Required. URI to a Google Cloud Storage object containing
5835	// the audio to
5836	// play, e.g., "gs://bucket/object". The object must contain a
5837	// single
5838	// channel (mono) of linear PCM audio (2 bytes / sample) at 8kHz.
5839	//
5840	// This object must be readable by the
5841	// `service-<Project
5842	// Number>@gcp-sa-dialogflow.iam.gserviceaccount.com` service
5843	// account
5844	// where <Project Number> is the number of the Telephony Gateway
5845	// project
5846	// (usually the same as the Dialogflow agent project). If the Google
5847	// Cloud
5848	// Storage bucket is in the Telephony Gateway project, this permission
5849	// is
5850	// added by default when enabling the Dialogflow V2 API.
5851	//
5852	// For audio from other sources, consider using
5853	// the
5854	// `TelephonySynthesizeSpeech` message with SSML.
5855	AudioUri string `json:"audioUri,omitempty"`
5856
5857	// ForceSendFields is a list of field names (e.g. "AudioUri") to
5858	// unconditionally include in API requests. By default, fields with
5859	// empty values are omitted from API requests. However, any non-pointer,
5860	// non-interface field appearing in ForceSendFields will be sent to the
5861	// server regardless of whether the field is empty or not. This may be
5862	// used to include empty fields in Patch requests.
5863	ForceSendFields []string `json:"-"`
5864
5865	// NullFields is a list of field names (e.g. "AudioUri") to include in
5866	// API requests with the JSON null value. By default, fields with empty
5867	// values are omitted from API requests. However, any field with an
5868	// empty value appearing in NullFields will be sent to the server as
5869	// null. It is an error if a field in this list has a non-empty value.
5870	// This may be used to include null fields in Patch requests.
5871	NullFields []string `json:"-"`
5872}
5873
5874func (s *GoogleCloudDialogflowV2beta1IntentMessageTelephonyPlayAudio) MarshalJSON() ([]byte, error) {
5875	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageTelephonyPlayAudio
5876	raw := NoMethod(*s)
5877	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5878}
5879
5880// GoogleCloudDialogflowV2beta1IntentMessageTelephonySynthesizeSpeech:
5881// Synthesizes speech and plays back the synthesized audio to the caller
5882// in
5883// Telephony Gateway.
5884//
5885// Telephony Gateway takes the synthesizer settings
5886// from
5887// `DetectIntentResponse.output_audio_config` which can either be set
5888// at request-level or can come from the agent-level synthesizer config.
5889type GoogleCloudDialogflowV2beta1IntentMessageTelephonySynthesizeSpeech struct {
5890	// Ssml: The SSML to be synthesized. For more information,
5891	// see
5892	// [SSML](https://developers.google.com/actions/reference/ssml).
5893	Ssml string `json:"ssml,omitempty"`
5894
5895	// Text: The raw text to be synthesized.
5896	Text string `json:"text,omitempty"`
5897
5898	// ForceSendFields is a list of field names (e.g. "Ssml") to
5899	// unconditionally include in API requests. By default, fields with
5900	// empty values are omitted from API requests. However, any non-pointer,
5901	// non-interface field appearing in ForceSendFields will be sent to the
5902	// server regardless of whether the field is empty or not. This may be
5903	// used to include empty fields in Patch requests.
5904	ForceSendFields []string `json:"-"`
5905
5906	// NullFields is a list of field names (e.g. "Ssml") to include in API
5907	// requests with the JSON null value. By default, fields with empty
5908	// values are omitted from API requests. However, any field with an
5909	// empty value appearing in NullFields will be sent to the server as
5910	// null. It is an error if a field in this list has a non-empty value.
5911	// This may be used to include null fields in Patch requests.
5912	NullFields []string `json:"-"`
5913}
5914
5915func (s *GoogleCloudDialogflowV2beta1IntentMessageTelephonySynthesizeSpeech) MarshalJSON() ([]byte, error) {
5916	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageTelephonySynthesizeSpeech
5917	raw := NoMethod(*s)
5918	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5919}
5920
5921// GoogleCloudDialogflowV2beta1IntentMessageTelephonyTransferCall:
5922// Transfers the call in Telephony Gateway.
5923type GoogleCloudDialogflowV2beta1IntentMessageTelephonyTransferCall struct {
5924	// PhoneNumber: Required. The phone number to transfer the call to
5925	// in [E.164 format](https://en.wikipedia.org/wiki/E.164).
5926	//
5927	// We currently only allow transferring to US numbers (+1xxxyyyzzzz).
5928	PhoneNumber string `json:"phoneNumber,omitempty"`
5929
5930	// ForceSendFields is a list of field names (e.g. "PhoneNumber") to
5931	// unconditionally include in API requests. By default, fields with
5932	// empty values are omitted from API requests. However, any non-pointer,
5933	// non-interface field appearing in ForceSendFields will be sent to the
5934	// server regardless of whether the field is empty or not. This may be
5935	// used to include empty fields in Patch requests.
5936	ForceSendFields []string `json:"-"`
5937
5938	// NullFields is a list of field names (e.g. "PhoneNumber") to include
5939	// in API requests with the JSON null value. By default, fields with
5940	// empty values are omitted from API requests. However, any field with
5941	// an empty value appearing in NullFields will be sent to the server as
5942	// null. It is an error if a field in this list has a non-empty value.
5943	// This may be used to include null fields in Patch requests.
5944	NullFields []string `json:"-"`
5945}
5946
5947func (s *GoogleCloudDialogflowV2beta1IntentMessageTelephonyTransferCall) MarshalJSON() ([]byte, error) {
5948	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageTelephonyTransferCall
5949	raw := NoMethod(*s)
5950	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5951}
5952
5953// GoogleCloudDialogflowV2beta1IntentMessageText: The text response
5954// message.
5955type GoogleCloudDialogflowV2beta1IntentMessageText struct {
5956	// Text: Optional. The collection of the agent's responses.
5957	Text []string `json:"text,omitempty"`
5958
5959	// ForceSendFields is a list of field names (e.g. "Text") to
5960	// unconditionally include in API requests. By default, fields with
5961	// empty values are omitted from API requests. However, any non-pointer,
5962	// non-interface field appearing in ForceSendFields will be sent to the
5963	// server regardless of whether the field is empty or not. This may be
5964	// used to include empty fields in Patch requests.
5965	ForceSendFields []string `json:"-"`
5966
5967	// NullFields is a list of field names (e.g. "Text") to include in API
5968	// requests with the JSON null value. By default, fields with empty
5969	// values are omitted from API requests. However, any field with an
5970	// empty value appearing in NullFields will be sent to the server as
5971	// null. It is an error if a field in this list has a non-empty value.
5972	// This may be used to include null fields in Patch requests.
5973	NullFields []string `json:"-"`
5974}
5975
5976func (s *GoogleCloudDialogflowV2beta1IntentMessageText) MarshalJSON() ([]byte, error) {
5977	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageText
5978	raw := NoMethod(*s)
5979	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5980}
5981
5982// GoogleCloudDialogflowV2beta1IntentParameter: Represents intent
5983// parameters.
5984type GoogleCloudDialogflowV2beta1IntentParameter struct {
5985	// DefaultValue: Optional. The default value to use when the `value`
5986	// yields an empty
5987	// result.
5988	// Default values can be extracted from contexts by using the
5989	// following
5990	// syntax: `#context_name.parameter_name`.
5991	DefaultValue string `json:"defaultValue,omitempty"`
5992
5993	// DisplayName: Required. The name of the parameter.
5994	DisplayName string `json:"displayName,omitempty"`
5995
5996	// EntityTypeDisplayName: Optional. The name of the entity type,
5997	// prefixed with `@`, that
5998	// describes values of the parameter. If the parameter is
5999	// required, this must be provided.
6000	EntityTypeDisplayName string `json:"entityTypeDisplayName,omitempty"`
6001
6002	// IsList: Optional. Indicates whether the parameter represents a list
6003	// of values.
6004	IsList bool `json:"isList,omitempty"`
6005
6006	// Mandatory: Optional. Indicates whether the parameter is required.
6007	// That is,
6008	// whether the intent cannot be completed without collecting the
6009	// parameter
6010	// value.
6011	Mandatory bool `json:"mandatory,omitempty"`
6012
6013	// Name: The unique identifier of this parameter.
6014	Name string `json:"name,omitempty"`
6015
6016	// Prompts: Optional. The collection of prompts that the agent can
6017	// present to the
6018	// user in order to collect a value for the parameter.
6019	Prompts []string `json:"prompts,omitempty"`
6020
6021	// Value: Optional. The definition of the parameter value. It can be:
6022	//
6023	// - a constant string,
6024	// - a parameter value defined as `$parameter_name`,
6025	// - an original parameter value defined as
6026	// `$parameter_name.original`,
6027	// - a parameter value from some context defined as
6028	//   `#context_name.parameter_name`.
6029	Value string `json:"value,omitempty"`
6030
6031	// ForceSendFields is a list of field names (e.g. "DefaultValue") to
6032	// unconditionally include in API requests. By default, fields with
6033	// empty values are omitted from API requests. However, any non-pointer,
6034	// non-interface field appearing in ForceSendFields will be sent to the
6035	// server regardless of whether the field is empty or not. This may be
6036	// used to include empty fields in Patch requests.
6037	ForceSendFields []string `json:"-"`
6038
6039	// NullFields is a list of field names (e.g. "DefaultValue") to include
6040	// in API requests with the JSON null value. By default, fields with
6041	// empty values are omitted from API requests. However, any field with
6042	// an empty value appearing in NullFields will be sent to the server as
6043	// null. It is an error if a field in this list has a non-empty value.
6044	// This may be used to include null fields in Patch requests.
6045	NullFields []string `json:"-"`
6046}
6047
6048func (s *GoogleCloudDialogflowV2beta1IntentParameter) MarshalJSON() ([]byte, error) {
6049	type NoMethod GoogleCloudDialogflowV2beta1IntentParameter
6050	raw := NoMethod(*s)
6051	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6052}
6053
6054// GoogleCloudDialogflowV2beta1IntentTrainingPhrase: Represents an
6055// example that the agent is trained on.
6056type GoogleCloudDialogflowV2beta1IntentTrainingPhrase struct {
6057	// Name: Output only. The unique identifier of this training phrase.
6058	Name string `json:"name,omitempty"`
6059
6060	// Parts: Required. The ordered list of training phrase parts.
6061	// The parts are concatenated in order to form the training
6062	// phrase.
6063	//
6064	// Note: The API does not automatically annotate training phrases like
6065	// the
6066	// Dialogflow Console does.
6067	//
6068	// Note: Do not forget to include whitespace at part boundaries,
6069	// so the training phrase is well formatted when the parts are
6070	// concatenated.
6071	//
6072	// If the training phrase does not need to be annotated with
6073	// parameters,
6074	// you just need a single part with only the Part.text field set.
6075	//
6076	// If you want to annotate the training phrase, you must create
6077	// multiple
6078	// parts, where the fields of each part are populated in one of two
6079	// ways:
6080	//
6081	// -   `Part.text` is set to a part of the phrase that has no
6082	// parameters.
6083	// -   `Part.text` is set to a part of the phrase that you want to
6084	// annotate,
6085	//     and the `entity_type`, `alias`, and `user_defined` fields are
6086	// all
6087	//     set.
6088	Parts []*GoogleCloudDialogflowV2beta1IntentTrainingPhrasePart `json:"parts,omitempty"`
6089
6090	// TimesAddedCount: Optional. Indicates how many times this example was
6091	// added to
6092	// the intent. Each time a developer adds an existing sample by editing
6093	// an
6094	// intent or training, this counter is increased.
6095	TimesAddedCount int64 `json:"timesAddedCount,omitempty"`
6096
6097	// Type: Required. The type of the training phrase.
6098	//
6099	// Possible values:
6100	//   "TYPE_UNSPECIFIED" - Not specified. This value should never be
6101	// used.
6102	//   "EXAMPLE" - Examples do not contain @-prefixed entity type names,
6103	// but example parts
6104	// can be annotated with entity types.
6105	//   "TEMPLATE" - Templates are not annotated with entity types, but
6106	// they can contain
6107	// @-prefixed entity type names as substrings.
6108	// Template mode has been deprecated. Example mode is the only
6109	// supported
6110	// way to create new training phrases. If you have existing
6111	// training
6112	// phrases that you've created in template mode, those will continue
6113	// to
6114	// work.
6115	Type string `json:"type,omitempty"`
6116
6117	// ForceSendFields is a list of field names (e.g. "Name") to
6118	// unconditionally include in API requests. By default, fields with
6119	// empty values are omitted from API requests. However, any non-pointer,
6120	// non-interface field appearing in ForceSendFields will be sent to the
6121	// server regardless of whether the field is empty or not. This may be
6122	// used to include empty fields in Patch requests.
6123	ForceSendFields []string `json:"-"`
6124
6125	// NullFields is a list of field names (e.g. "Name") to include in API
6126	// requests with the JSON null value. By default, fields with empty
6127	// values are omitted from API requests. However, any field with an
6128	// empty value appearing in NullFields will be sent to the server as
6129	// null. It is an error if a field in this list has a non-empty value.
6130	// This may be used to include null fields in Patch requests.
6131	NullFields []string `json:"-"`
6132}
6133
6134func (s *GoogleCloudDialogflowV2beta1IntentTrainingPhrase) MarshalJSON() ([]byte, error) {
6135	type NoMethod GoogleCloudDialogflowV2beta1IntentTrainingPhrase
6136	raw := NoMethod(*s)
6137	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6138}
6139
6140// GoogleCloudDialogflowV2beta1IntentTrainingPhrasePart: Represents a
6141// part of a training phrase.
6142type GoogleCloudDialogflowV2beta1IntentTrainingPhrasePart struct {
6143	// Alias: Optional. The parameter name for the value extracted from
6144	// the
6145	// annotated part of the example.
6146	// This field is required for annotated parts of the training phrase.
6147	Alias string `json:"alias,omitempty"`
6148
6149	// EntityType: Optional. The entity type name prefixed with `@`.
6150	// This field is required for annotated parts of the training phrase.
6151	EntityType string `json:"entityType,omitempty"`
6152
6153	// Text: Required. The text for this part.
6154	Text string `json:"text,omitempty"`
6155
6156	// UserDefined: Optional. Indicates whether the text was manually
6157	// annotated.
6158	// This field is set to true when the Dialogflow Console is used
6159	// to
6160	// manually annotate the part. When creating an annotated part with
6161	// the
6162	// API, you must set this to true.
6163	UserDefined bool `json:"userDefined,omitempty"`
6164
6165	// ForceSendFields is a list of field names (e.g. "Alias") to
6166	// unconditionally include in API requests. By default, fields with
6167	// empty values are omitted from API requests. However, any non-pointer,
6168	// non-interface field appearing in ForceSendFields will be sent to the
6169	// server regardless of whether the field is empty or not. This may be
6170	// used to include empty fields in Patch requests.
6171	ForceSendFields []string `json:"-"`
6172
6173	// NullFields is a list of field names (e.g. "Alias") to include in API
6174	// requests with the JSON null value. By default, fields with empty
6175	// values are omitted from API requests. However, any field with an
6176	// empty value appearing in NullFields will be sent to the server as
6177	// null. It is an error if a field in this list has a non-empty value.
6178	// This may be used to include null fields in Patch requests.
6179	NullFields []string `json:"-"`
6180}
6181
6182func (s *GoogleCloudDialogflowV2beta1IntentTrainingPhrasePart) MarshalJSON() ([]byte, error) {
6183	type NoMethod GoogleCloudDialogflowV2beta1IntentTrainingPhrasePart
6184	raw := NoMethod(*s)
6185	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6186}
6187
6188// GoogleCloudDialogflowV2beta1KnowledgeAnswers: Represents the result
6189// of querying a Knowledge base.
6190type GoogleCloudDialogflowV2beta1KnowledgeAnswers struct {
6191	// Answers: A list of answers from Knowledge Connector.
6192	Answers []*GoogleCloudDialogflowV2beta1KnowledgeAnswersAnswer `json:"answers,omitempty"`
6193
6194	// ForceSendFields is a list of field names (e.g. "Answers") to
6195	// unconditionally include in API requests. By default, fields with
6196	// empty values are omitted from API requests. However, any non-pointer,
6197	// non-interface field appearing in ForceSendFields will be sent to the
6198	// server regardless of whether the field is empty or not. This may be
6199	// used to include empty fields in Patch requests.
6200	ForceSendFields []string `json:"-"`
6201
6202	// NullFields is a list of field names (e.g. "Answers") to include in
6203	// API requests with the JSON null value. By default, fields with empty
6204	// values are omitted from API requests. However, any field with an
6205	// empty value appearing in NullFields will be sent to the server as
6206	// null. It is an error if a field in this list has a non-empty value.
6207	// This may be used to include null fields in Patch requests.
6208	NullFields []string `json:"-"`
6209}
6210
6211func (s *GoogleCloudDialogflowV2beta1KnowledgeAnswers) MarshalJSON() ([]byte, error) {
6212	type NoMethod GoogleCloudDialogflowV2beta1KnowledgeAnswers
6213	raw := NoMethod(*s)
6214	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6215}
6216
6217// GoogleCloudDialogflowV2beta1KnowledgeAnswersAnswer: An answer from
6218// Knowledge Connector.
6219type GoogleCloudDialogflowV2beta1KnowledgeAnswersAnswer struct {
6220	// Answer: The piece of text from the `source` knowledge base document
6221	// that answers
6222	// this conversational query.
6223	Answer string `json:"answer,omitempty"`
6224
6225	// FaqQuestion: The corresponding FAQ question if the answer was
6226	// extracted from a FAQ
6227	// Document, empty otherwise.
6228	FaqQuestion string `json:"faqQuestion,omitempty"`
6229
6230	// MatchConfidence: The system's confidence score that this Knowledge
6231	// answer is a good match
6232	// for this conversational query.
6233	// The range is from 0.0 (completely uncertain) to 1.0 (completely
6234	// certain).
6235	// Note: The confidence score is likely to vary somewhat (possibly even
6236	// for
6237	// identical requests), as the underlying model is under
6238	// constant
6239	// improvement. It may be deprecated in the future. We recommend
6240	// using
6241	// `match_confidence_level` which should be generally more stable.
6242	MatchConfidence float64 `json:"matchConfidence,omitempty"`
6243
6244	// MatchConfidenceLevel: The system's confidence level that this
6245	// knowledge answer is a good match
6246	// for this conversational query.
6247	// NOTE: The confidence level for a given `<query, answer>` pair may
6248	// change
6249	// without notice, as it depends on models that are constantly
6250	// being
6251	// improved. However, it will change less frequently than the
6252	// confidence
6253	// score below, and should be preferred for referencing the quality of
6254	// an
6255	// answer.
6256	//
6257	// Possible values:
6258	//   "MATCH_CONFIDENCE_LEVEL_UNSPECIFIED" - Not specified.
6259	//   "LOW" - Indicates that the confidence is low.
6260	//   "MEDIUM" - Indicates our confidence is medium.
6261	//   "HIGH" - Indicates our confidence is high.
6262	MatchConfidenceLevel string `json:"matchConfidenceLevel,omitempty"`
6263
6264	// Source: Indicates which Knowledge Document this answer was extracted
6265	// from.
6266	// Format: `projects/<Project ID>/knowledgeBases/<Knowledge
6267	// Base
6268	// ID>/documents/<Document ID>`.
6269	Source string `json:"source,omitempty"`
6270
6271	// ForceSendFields is a list of field names (e.g. "Answer") to
6272	// unconditionally include in API requests. By default, fields with
6273	// empty values are omitted from API requests. However, any non-pointer,
6274	// non-interface field appearing in ForceSendFields will be sent to the
6275	// server regardless of whether the field is empty or not. This may be
6276	// used to include empty fields in Patch requests.
6277	ForceSendFields []string `json:"-"`
6278
6279	// NullFields is a list of field names (e.g. "Answer") to include in API
6280	// requests with the JSON null value. By default, fields with empty
6281	// values are omitted from API requests. However, any field with an
6282	// empty value appearing in NullFields will be sent to the server as
6283	// null. It is an error if a field in this list has a non-empty value.
6284	// This may be used to include null fields in Patch requests.
6285	NullFields []string `json:"-"`
6286}
6287
6288func (s *GoogleCloudDialogflowV2beta1KnowledgeAnswersAnswer) MarshalJSON() ([]byte, error) {
6289	type NoMethod GoogleCloudDialogflowV2beta1KnowledgeAnswersAnswer
6290	raw := NoMethod(*s)
6291	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6292}
6293
6294func (s *GoogleCloudDialogflowV2beta1KnowledgeAnswersAnswer) UnmarshalJSON(data []byte) error {
6295	type NoMethod GoogleCloudDialogflowV2beta1KnowledgeAnswersAnswer
6296	var s1 struct {
6297		MatchConfidence gensupport.JSONFloat64 `json:"matchConfidence"`
6298		*NoMethod
6299	}
6300	s1.NoMethod = (*NoMethod)(s)
6301	if err := json.Unmarshal(data, &s1); err != nil {
6302		return err
6303	}
6304	s.MatchConfidence = float64(s1.MatchConfidence)
6305	return nil
6306}
6307
6308// GoogleCloudDialogflowV2beta1KnowledgeOperationMetadata: Metadata in
6309// google::longrunning::Operation for Knowledge operations.
6310type GoogleCloudDialogflowV2beta1KnowledgeOperationMetadata struct {
6311	// State: Required. Output only. The current state of this operation.
6312	//
6313	// Possible values:
6314	//   "STATE_UNSPECIFIED" - State unspecified.
6315	//   "PENDING" - The operation has been created.
6316	//   "RUNNING" - The operation is currently running.
6317	//   "DONE" - The operation is done, either cancelled or completed.
6318	State string `json:"state,omitempty"`
6319
6320	// ForceSendFields is a list of field names (e.g. "State") to
6321	// unconditionally include in API requests. By default, fields with
6322	// empty values are omitted from API requests. However, any non-pointer,
6323	// non-interface field appearing in ForceSendFields will be sent to the
6324	// server regardless of whether the field is empty or not. This may be
6325	// used to include empty fields in Patch requests.
6326	ForceSendFields []string `json:"-"`
6327
6328	// NullFields is a list of field names (e.g. "State") to include in API
6329	// requests with the JSON null value. By default, fields with empty
6330	// values are omitted from API requests. However, any field with an
6331	// empty value appearing in NullFields will be sent to the server as
6332	// null. It is an error if a field in this list has a non-empty value.
6333	// This may be used to include null fields in Patch requests.
6334	NullFields []string `json:"-"`
6335}
6336
6337func (s *GoogleCloudDialogflowV2beta1KnowledgeOperationMetadata) MarshalJSON() ([]byte, error) {
6338	type NoMethod GoogleCloudDialogflowV2beta1KnowledgeOperationMetadata
6339	raw := NoMethod(*s)
6340	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6341}
6342
6343// GoogleCloudDialogflowV2beta1LabelConversationResponse: The response
6344// for
6345// ConversationDatasets.LabelConversation.
6346type GoogleCloudDialogflowV2beta1LabelConversationResponse struct {
6347	// AnnotatedConversationDataset: New annotated conversation dataset
6348	// created by the labeling task.
6349	AnnotatedConversationDataset *GoogleCloudDialogflowV2beta1AnnotatedConversationDataset `json:"annotatedConversationDataset,omitempty"`
6350
6351	// ForceSendFields is a list of field names (e.g.
6352	// "AnnotatedConversationDataset") to unconditionally include in API
6353	// requests. By default, fields with empty values are omitted from API
6354	// requests. However, any non-pointer, non-interface field appearing in
6355	// ForceSendFields will be sent to the server regardless of whether the
6356	// field is empty or not. This may be used to include empty fields in
6357	// Patch requests.
6358	ForceSendFields []string `json:"-"`
6359
6360	// NullFields is a list of field names (e.g.
6361	// "AnnotatedConversationDataset") to include in API requests with the
6362	// JSON null value. By default, fields with empty values are omitted
6363	// from API requests. However, any field with an empty value appearing
6364	// in NullFields will be sent to the server as null. It is an error if a
6365	// field in this list has a non-empty value. This may be used to include
6366	// null fields in Patch requests.
6367	NullFields []string `json:"-"`
6368}
6369
6370func (s *GoogleCloudDialogflowV2beta1LabelConversationResponse) MarshalJSON() ([]byte, error) {
6371	type NoMethod GoogleCloudDialogflowV2beta1LabelConversationResponse
6372	raw := NoMethod(*s)
6373	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6374}
6375
6376// GoogleCloudDialogflowV2beta1OriginalDetectIntentRequest: Represents
6377// the contents of the original request that was passed to
6378// the `[Streaming]DetectIntent` call.
6379type GoogleCloudDialogflowV2beta1OriginalDetectIntentRequest struct {
6380	// Payload: Optional. This field is set to the value of the
6381	// `QueryParameters.payload`
6382	// field passed in the request. Some integrations that query a
6383	// Dialogflow
6384	// agent may provide additional information in the payload.
6385	//
6386	// In particular, for the Dialogflow Phone Gateway integration, this
6387	// field has
6388	// the form:
6389	// <pre>{
6390	//  "telephony": {
6391	//    "caller_id": "+18558363987"
6392	//  }
6393	// }</pre>
6394	// Note: The caller ID field (`caller_id`) will be redacted for
6395	// Standard
6396	// Edition agents and populated with the caller ID in
6397	// [E.164
6398	// format](https://en.wikipedia.org/wiki/E.164) for Enterprise Edition
6399	// agents.
6400	Payload googleapi.RawMessage `json:"payload,omitempty"`
6401
6402	// Source: The source of this request, e.g., `google`, `facebook`,
6403	// `slack`. It is set
6404	// by Dialogflow-owned servers.
6405	Source string `json:"source,omitempty"`
6406
6407	// Version: Optional. The version of the protocol used for this
6408	// request.
6409	// This field is AoG-specific.
6410	Version string `json:"version,omitempty"`
6411
6412	// ForceSendFields is a list of field names (e.g. "Payload") to
6413	// unconditionally include in API requests. By default, fields with
6414	// empty values are omitted from API requests. However, any non-pointer,
6415	// non-interface field appearing in ForceSendFields will be sent to the
6416	// server regardless of whether the field is empty or not. This may be
6417	// used to include empty fields in Patch requests.
6418	ForceSendFields []string `json:"-"`
6419
6420	// NullFields is a list of field names (e.g. "Payload") to include in
6421	// API requests with the JSON null value. By default, fields with empty
6422	// values are omitted from API requests. However, any field with an
6423	// empty value appearing in NullFields will be sent to the server as
6424	// null. It is an error if a field in this list has a non-empty value.
6425	// This may be used to include null fields in Patch requests.
6426	NullFields []string `json:"-"`
6427}
6428
6429func (s *GoogleCloudDialogflowV2beta1OriginalDetectIntentRequest) MarshalJSON() ([]byte, error) {
6430	type NoMethod GoogleCloudDialogflowV2beta1OriginalDetectIntentRequest
6431	raw := NoMethod(*s)
6432	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6433}
6434
6435// GoogleCloudDialogflowV2beta1QueryResult: Represents the result of
6436// conversational query or event processing.
6437type GoogleCloudDialogflowV2beta1QueryResult struct {
6438	// Action: The action name from the matched intent.
6439	Action string `json:"action,omitempty"`
6440
6441	// AllRequiredParamsPresent: This field is set to:
6442	//
6443	// - `false` if the matched intent has required parameters and not all
6444	// of
6445	//    the required parameter values have been collected.
6446	// - `true` if all required parameter values have been collected, or if
6447	// the
6448	//    matched intent doesn't contain any required parameters.
6449	AllRequiredParamsPresent bool `json:"allRequiredParamsPresent,omitempty"`
6450
6451	// DiagnosticInfo: Free-form diagnostic information for the associated
6452	// detect intent request.
6453	// The fields of this data can change without notice, so you should not
6454	// write
6455	// code that depends on its structure.
6456	// The data may contain:
6457	//
6458	// - webhook call latency
6459	// - webhook errors
6460	DiagnosticInfo googleapi.RawMessage `json:"diagnosticInfo,omitempty"`
6461
6462	// FulfillmentMessages: The collection of rich messages to present to
6463	// the user.
6464	FulfillmentMessages []*GoogleCloudDialogflowV2beta1IntentMessage `json:"fulfillmentMessages,omitempty"`
6465
6466	// FulfillmentText: The text to be pronounced to the user or shown on
6467	// the screen.
6468	// Note: This is a legacy field, `fulfillment_messages` should be
6469	// preferred.
6470	FulfillmentText string `json:"fulfillmentText,omitempty"`
6471
6472	// Intent: The intent that matched the conversational query. Some,
6473	// not
6474	// all fields are filled in this message, including but not limited
6475	// to:
6476	// `name`, `display_name`, `end_interaction` and `is_fallback`.
6477	Intent *GoogleCloudDialogflowV2beta1Intent `json:"intent,omitempty"`
6478
6479	// IntentDetectionConfidence: The intent detection confidence. Values
6480	// range from 0.0
6481	// (completely uncertain) to 1.0 (completely certain).
6482	// This value is for informational purpose only and is only used to
6483	// help match the best intent within the classification threshold.
6484	// This value may change for the same end-user expression at any time
6485	// due to a
6486	// model retraining or change in implementation.
6487	// If there are `multiple knowledge_answers` messages, this value is set
6488	// to
6489	// the greatest `knowledgeAnswers.match_confidence` value in the list.
6490	IntentDetectionConfidence float64 `json:"intentDetectionConfidence,omitempty"`
6491
6492	// KnowledgeAnswers: The result from Knowledge Connector (if any),
6493	// ordered by decreasing
6494	// `KnowledgeAnswers.match_confidence`.
6495	KnowledgeAnswers *GoogleCloudDialogflowV2beta1KnowledgeAnswers `json:"knowledgeAnswers,omitempty"`
6496
6497	// LanguageCode: The language that was triggered during intent
6498	// detection.
6499	// See
6500	// [Language
6501	// Support](https://cloud.google.com/dialogflow/docs/reference/
6502	// language)
6503	// for a list of the currently supported language codes.
6504	LanguageCode string `json:"languageCode,omitempty"`
6505
6506	// OutputContexts: The collection of output contexts. If
6507	// applicable,
6508	// `output_contexts.parameters` contains entries with name
6509	// `<parameter name>.original` containing the original parameter
6510	// values
6511	// before the query.
6512	OutputContexts []*GoogleCloudDialogflowV2beta1Context `json:"outputContexts,omitempty"`
6513
6514	// Parameters: The collection of extracted parameters.
6515	//
6516	// Depending on your protocol or client library language, this is a
6517	// map, associative array, symbol table, dictionary, or JSON
6518	// object
6519	// composed of a collection of (MapKey, MapValue) pairs:
6520	//
6521	// -   MapKey type: string
6522	// -   MapKey value: parameter name
6523	// -   MapValue type:
6524	//     -   If parameter's entity type is a composite entity: map
6525	//     -   Else: string or number, depending on parameter value type
6526	// -   MapValue value:
6527	//     -   If parameter's entity type is a composite entity:
6528	//         map from composite entity property names to property values
6529	//     -   Else: parameter value
6530	Parameters googleapi.RawMessage `json:"parameters,omitempty"`
6531
6532	// QueryText: The original conversational query text:
6533	//
6534	// - If natural language text was provided as input, `query_text`
6535	// contains
6536	//   a copy of the input.
6537	// - If natural language speech audio was provided as input,
6538	// `query_text`
6539	//   contains the speech recognition result. If speech recognizer
6540	// produced
6541	//   multiple alternatives, a particular one is picked.
6542	// - If automatic spell correction is enabled, `query_text` will contain
6543	// the
6544	//   corrected user input.
6545	QueryText string `json:"queryText,omitempty"`
6546
6547	// SentimentAnalysisResult: The sentiment analysis result, which depends
6548	// on the
6549	// `sentiment_analysis_request_config` specified in the request.
6550	SentimentAnalysisResult *GoogleCloudDialogflowV2beta1SentimentAnalysisResult `json:"sentimentAnalysisResult,omitempty"`
6551
6552	// SpeechRecognitionConfidence: The Speech recognition confidence
6553	// between 0.0 and 1.0. A higher number
6554	// indicates an estimated greater likelihood that the recognized words
6555	// are
6556	// correct. The default of 0.0 is a sentinel value indicating that
6557	// confidence
6558	// was not set.
6559	//
6560	// This field is not guaranteed to be accurate or set. In particular
6561	// this
6562	// field isn't set for StreamingDetectIntent since the streaming
6563	// endpoint has
6564	// separate confidence estimates per portion of the audio
6565	// in
6566	// StreamingRecognitionResult.
6567	SpeechRecognitionConfidence float64 `json:"speechRecognitionConfidence,omitempty"`
6568
6569	// WebhookPayload: If the query was fulfilled by a webhook call, this
6570	// field is set to the
6571	// value of the `payload` field returned in the webhook response.
6572	WebhookPayload googleapi.RawMessage `json:"webhookPayload,omitempty"`
6573
6574	// WebhookSource: If the query was fulfilled by a webhook call, this
6575	// field is set to the
6576	// value of the `source` field returned in the webhook response.
6577	WebhookSource string `json:"webhookSource,omitempty"`
6578
6579	// ForceSendFields is a list of field names (e.g. "Action") to
6580	// unconditionally include in API requests. By default, fields with
6581	// empty values are omitted from API requests. However, any non-pointer,
6582	// non-interface field appearing in ForceSendFields will be sent to the
6583	// server regardless of whether the field is empty or not. This may be
6584	// used to include empty fields in Patch requests.
6585	ForceSendFields []string `json:"-"`
6586
6587	// NullFields is a list of field names (e.g. "Action") to include in API
6588	// requests with the JSON null value. By default, fields with empty
6589	// values are omitted from API requests. However, any field with an
6590	// empty value appearing in NullFields will be sent to the server as
6591	// null. It is an error if a field in this list has a non-empty value.
6592	// This may be used to include null fields in Patch requests.
6593	NullFields []string `json:"-"`
6594}
6595
6596func (s *GoogleCloudDialogflowV2beta1QueryResult) MarshalJSON() ([]byte, error) {
6597	type NoMethod GoogleCloudDialogflowV2beta1QueryResult
6598	raw := NoMethod(*s)
6599	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6600}
6601
6602func (s *GoogleCloudDialogflowV2beta1QueryResult) UnmarshalJSON(data []byte) error {
6603	type NoMethod GoogleCloudDialogflowV2beta1QueryResult
6604	var s1 struct {
6605		IntentDetectionConfidence   gensupport.JSONFloat64 `json:"intentDetectionConfidence"`
6606		SpeechRecognitionConfidence gensupport.JSONFloat64 `json:"speechRecognitionConfidence"`
6607		*NoMethod
6608	}
6609	s1.NoMethod = (*NoMethod)(s)
6610	if err := json.Unmarshal(data, &s1); err != nil {
6611		return err
6612	}
6613	s.IntentDetectionConfidence = float64(s1.IntentDetectionConfidence)
6614	s.SpeechRecognitionConfidence = float64(s1.SpeechRecognitionConfidence)
6615	return nil
6616}
6617
6618// GoogleCloudDialogflowV2beta1Sentiment: The sentiment, such as
6619// positive/negative feeling or association, for a unit
6620// of analysis, such as the query text.
6621type GoogleCloudDialogflowV2beta1Sentiment struct {
6622	// Magnitude: A non-negative number in the [0, +inf) range, which
6623	// represents the absolute
6624	// magnitude of sentiment, regardless of score (positive or negative).
6625	Magnitude float64 `json:"magnitude,omitempty"`
6626
6627	// Score: Sentiment score between -1.0 (negative sentiment) and 1.0
6628	// (positive
6629	// sentiment).
6630	Score float64 `json:"score,omitempty"`
6631
6632	// ForceSendFields is a list of field names (e.g. "Magnitude") to
6633	// unconditionally include in API requests. By default, fields with
6634	// empty values are omitted from API requests. However, any non-pointer,
6635	// non-interface field appearing in ForceSendFields will be sent to the
6636	// server regardless of whether the field is empty or not. This may be
6637	// used to include empty fields in Patch requests.
6638	ForceSendFields []string `json:"-"`
6639
6640	// NullFields is a list of field names (e.g. "Magnitude") to include in
6641	// API requests with the JSON null value. By default, fields with empty
6642	// values are omitted from API requests. However, any field with an
6643	// empty value appearing in NullFields will be sent to the server as
6644	// null. It is an error if a field in this list has a non-empty value.
6645	// This may be used to include null fields in Patch requests.
6646	NullFields []string `json:"-"`
6647}
6648
6649func (s *GoogleCloudDialogflowV2beta1Sentiment) MarshalJSON() ([]byte, error) {
6650	type NoMethod GoogleCloudDialogflowV2beta1Sentiment
6651	raw := NoMethod(*s)
6652	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6653}
6654
6655func (s *GoogleCloudDialogflowV2beta1Sentiment) UnmarshalJSON(data []byte) error {
6656	type NoMethod GoogleCloudDialogflowV2beta1Sentiment
6657	var s1 struct {
6658		Magnitude gensupport.JSONFloat64 `json:"magnitude"`
6659		Score     gensupport.JSONFloat64 `json:"score"`
6660		*NoMethod
6661	}
6662	s1.NoMethod = (*NoMethod)(s)
6663	if err := json.Unmarshal(data, &s1); err != nil {
6664		return err
6665	}
6666	s.Magnitude = float64(s1.Magnitude)
6667	s.Score = float64(s1.Score)
6668	return nil
6669}
6670
6671// GoogleCloudDialogflowV2beta1SentimentAnalysisResult: The result of
6672// sentiment analysis as configured
6673// by
6674// `sentiment_analysis_request_config`.
6675type GoogleCloudDialogflowV2beta1SentimentAnalysisResult struct {
6676	// QueryTextSentiment: The sentiment analysis result for `query_text`.
6677	QueryTextSentiment *GoogleCloudDialogflowV2beta1Sentiment `json:"queryTextSentiment,omitempty"`
6678
6679	// ForceSendFields is a list of field names (e.g. "QueryTextSentiment")
6680	// to unconditionally include in API requests. By default, fields with
6681	// empty values are omitted from API requests. However, any non-pointer,
6682	// non-interface field appearing in ForceSendFields will be sent to the
6683	// server regardless of whether the field is empty or not. This may be
6684	// used to include empty fields in Patch requests.
6685	ForceSendFields []string `json:"-"`
6686
6687	// NullFields is a list of field names (e.g. "QueryTextSentiment") to
6688	// include in API requests with the JSON null value. By default, fields
6689	// with empty values are omitted from API requests. However, any field
6690	// with an empty value appearing in NullFields will be sent to the
6691	// server as null. It is an error if a field in this list has a
6692	// non-empty value. This may be used to include null fields in Patch
6693	// requests.
6694	NullFields []string `json:"-"`
6695}
6696
6697func (s *GoogleCloudDialogflowV2beta1SentimentAnalysisResult) MarshalJSON() ([]byte, error) {
6698	type NoMethod GoogleCloudDialogflowV2beta1SentimentAnalysisResult
6699	raw := NoMethod(*s)
6700	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6701}
6702
6703// GoogleCloudDialogflowV2beta1SessionEntityType: Represents a session
6704// entity type.
6705//
6706// Extends or replaces a custom entity type at the user session level
6707// (we
6708// refer to the entity types defined at the agent level as "custom
6709// entity
6710// types").
6711//
6712// Note: session entity types apply to all queries, regardless of the
6713// language.
6714type GoogleCloudDialogflowV2beta1SessionEntityType struct {
6715	// Entities: Required. The collection of entities associated with this
6716	// session entity
6717	// type.
6718	Entities []*GoogleCloudDialogflowV2beta1EntityTypeEntity `json:"entities,omitempty"`
6719
6720	// EntityOverrideMode: Required. Indicates whether the additional data
6721	// should override or
6722	// supplement the custom entity type definition.
6723	//
6724	// Possible values:
6725	//   "ENTITY_OVERRIDE_MODE_UNSPECIFIED" - Not specified. This value
6726	// should be never used.
6727	//   "ENTITY_OVERRIDE_MODE_OVERRIDE" - The collection of session
6728	// entities overrides the collection of entities
6729	// in the corresponding custom entity type.
6730	//   "ENTITY_OVERRIDE_MODE_SUPPLEMENT" - The collection of session
6731	// entities extends the collection of entities in
6732	// the corresponding custom entity type.
6733	//
6734	// Note: Even in this override mode calls to
6735	// `ListSessionEntityTypes`,
6736	// `GetSessionEntityType`, `CreateSessionEntityType`
6737	// and
6738	// `UpdateSessionEntityType` only return the additional entities added
6739	// in
6740	// this session entity type. If you want to get the supplemented
6741	// list,
6742	// please call EntityTypes.GetEntityType on the custom entity type
6743	// and merge.
6744	EntityOverrideMode string `json:"entityOverrideMode,omitempty"`
6745
6746	// Name: Required. The unique identifier of this session entity type.
6747	// Format:
6748	// `projects/<Project ID>/agent/sessions/<Session
6749	// ID>/entityTypes/<Entity Type
6750	// Display Name>`, or
6751	// `projects/<Project ID>/agent/environments/<Environment
6752	// ID>/users/<User
6753	// ID>/sessions/<Session ID>/entityTypes/<Entity Type Display Name>`.
6754	// If `Environment ID` is not specified, we assume default
6755	// 'draft'
6756	// environment. If `User ID` is not specified, we assume default '-'
6757	// user.
6758	//
6759	// `<Entity Type Display Name>` must be the display name of an existing
6760	// entity
6761	// type in the same agent that will be overridden or supplemented.
6762	Name string `json:"name,omitempty"`
6763
6764	// ForceSendFields is a list of field names (e.g. "Entities") to
6765	// unconditionally include in API requests. By default, fields with
6766	// empty values are omitted from API requests. However, any non-pointer,
6767	// non-interface field appearing in ForceSendFields will be sent to the
6768	// server regardless of whether the field is empty or not. This may be
6769	// used to include empty fields in Patch requests.
6770	ForceSendFields []string `json:"-"`
6771
6772	// NullFields is a list of field names (e.g. "Entities") to include in
6773	// API requests with the JSON null value. By default, fields with empty
6774	// values are omitted from API requests. However, any field with an
6775	// empty value appearing in NullFields will be sent to the server as
6776	// null. It is an error if a field in this list has a non-empty value.
6777	// This may be used to include null fields in Patch requests.
6778	NullFields []string `json:"-"`
6779}
6780
6781func (s *GoogleCloudDialogflowV2beta1SessionEntityType) MarshalJSON() ([]byte, error) {
6782	type NoMethod GoogleCloudDialogflowV2beta1SessionEntityType
6783	raw := NoMethod(*s)
6784	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6785}
6786
6787// GoogleCloudDialogflowV2beta1WebhookRequest: The request message for a
6788// webhook call.
6789type GoogleCloudDialogflowV2beta1WebhookRequest struct {
6790	// AlternativeQueryResults: Alternative query results from
6791	// KnowledgeService.
6792	AlternativeQueryResults []*GoogleCloudDialogflowV2beta1QueryResult `json:"alternativeQueryResults,omitempty"`
6793
6794	// OriginalDetectIntentRequest: Optional. The contents of the original
6795	// request that was passed to
6796	// `[Streaming]DetectIntent` call.
6797	OriginalDetectIntentRequest *GoogleCloudDialogflowV2beta1OriginalDetectIntentRequest `json:"originalDetectIntentRequest,omitempty"`
6798
6799	// QueryResult: The result of the conversational query or event
6800	// processing. Contains the
6801	// same value as `[Streaming]DetectIntentResponse.query_result`.
6802	QueryResult *GoogleCloudDialogflowV2beta1QueryResult `json:"queryResult,omitempty"`
6803
6804	// ResponseId: The unique identifier of the response. Contains the same
6805	// value as
6806	// `[Streaming]DetectIntentResponse.response_id`.
6807	ResponseId string `json:"responseId,omitempty"`
6808
6809	// Session: The unique identifier of detectIntent request session.
6810	// Can be used to identify end-user inside webhook
6811	// implementation.
6812	// Format: `projects/<Project ID>/agent/sessions/<Session ID>`,
6813	// or
6814	// `projects/<Project ID>/agent/environments/<Environment
6815	// ID>/users/<User
6816	// ID>/sessions/<Session ID>`.
6817	Session string `json:"session,omitempty"`
6818
6819	// ForceSendFields is a list of field names (e.g.
6820	// "AlternativeQueryResults") to unconditionally include in API
6821	// requests. By default, fields with empty values are omitted from API
6822	// requests. However, any non-pointer, non-interface field appearing in
6823	// ForceSendFields will be sent to the server regardless of whether the
6824	// field is empty or not. This may be used to include empty fields in
6825	// Patch requests.
6826	ForceSendFields []string `json:"-"`
6827
6828	// NullFields is a list of field names (e.g. "AlternativeQueryResults")
6829	// to include in API requests with the JSON null value. By default,
6830	// fields with empty values are omitted from API requests. However, any
6831	// field with an empty value appearing in NullFields will be sent to the
6832	// server as null. It is an error if a field in this list has a
6833	// non-empty value. This may be used to include null fields in Patch
6834	// requests.
6835	NullFields []string `json:"-"`
6836}
6837
6838func (s *GoogleCloudDialogflowV2beta1WebhookRequest) MarshalJSON() ([]byte, error) {
6839	type NoMethod GoogleCloudDialogflowV2beta1WebhookRequest
6840	raw := NoMethod(*s)
6841	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6842}
6843
6844// GoogleCloudDialogflowV2beta1WebhookResponse: The response message for
6845// a webhook call.
6846//
6847// This response is validated by the Dialogflow server. If validation
6848// fails,
6849// an error will be returned in the QueryResult.diagnostic_info
6850// field.
6851// Setting JSON fields to an empty value with the wrong type is a common
6852// error.
6853// To avoid this error:
6854//
6855// - Use "" for empty strings
6856// - Use `{}` or `null` for empty objects
6857// - Use `[]` or `null` for empty arrays
6858//
6859// For more information, see the
6860// [Protocol Buffers
6861// Language
6862// Guide](https://developers.google.com/protocol-buffers/docs/pr
6863// oto3#json).
6864type GoogleCloudDialogflowV2beta1WebhookResponse struct {
6865	// EndInteraction: Optional. Indicates that this intent ends an
6866	// interaction. Some integrations
6867	// (e.g., Actions on Google or Dialogflow phone gateway) use this
6868	// information
6869	// to close interaction with an end user. Default is false.
6870	EndInteraction bool `json:"endInteraction,omitempty"`
6871
6872	// FollowupEventInput: Optional. Invokes the supplied events.
6873	// When this field is set, Dialogflow ignores the
6874	// `fulfillment_text`,
6875	// `fulfillment_messages`, and `payload` fields.
6876	FollowupEventInput *GoogleCloudDialogflowV2beta1EventInput `json:"followupEventInput,omitempty"`
6877
6878	// FulfillmentMessages: Optional. The rich response messages intended
6879	// for the end-user.
6880	// When provided, Dialogflow uses this field to
6881	// populate
6882	// QueryResult.fulfillment_messages sent to the integration or API
6883	// caller.
6884	FulfillmentMessages []*GoogleCloudDialogflowV2beta1IntentMessage `json:"fulfillmentMessages,omitempty"`
6885
6886	// FulfillmentText: Optional. The text response message intended for the
6887	// end-user.
6888	// It is recommended to use `fulfillment_messages.text.text[0]`
6889	// instead.
6890	// When provided, Dialogflow uses this field to
6891	// populate
6892	// QueryResult.fulfillment_text sent to the integration or API caller.
6893	FulfillmentText string `json:"fulfillmentText,omitempty"`
6894
6895	// OutputContexts: Optional. The collection of output contexts that will
6896	// overwrite currently
6897	// active contexts for the session and reset their lifespans.
6898	// When provided, Dialogflow uses this field to
6899	// populate
6900	// QueryResult.output_contexts sent to the integration or API caller.
6901	OutputContexts []*GoogleCloudDialogflowV2beta1Context `json:"outputContexts,omitempty"`
6902
6903	// Payload: Optional. This field can be used to pass custom data from
6904	// your webhook to the
6905	// integration or API caller. Arbitrary JSON objects are supported.
6906	// When provided, Dialogflow uses this field to
6907	// populate
6908	// QueryResult.webhook_payload sent to the integration or API
6909	// caller.
6910	// This field is also used by the
6911	// [Google
6912	// Assistant
6913	// integration](https://cloud.google.com/dialogflow/docs/integr
6914	// ations/aog)
6915	// for rich response messages.
6916	// See the format definition at [Google Assistant Dialogflow
6917	// webhook
6918	// format](https://developers.google.com/assistant/actions/build/
6919	// json/dialogflow-webhook-json)
6920	Payload googleapi.RawMessage `json:"payload,omitempty"`
6921
6922	// SessionEntityTypes: Optional. Additional session entity types to
6923	// replace or extend developer
6924	// entity types with. The entity synonyms apply to all languages and
6925	// persist
6926	// for the session. Setting this data from a webhook overwrites
6927	// the session entity types that have been set using
6928	// `detectIntent`,
6929	// `streamingDetectIntent` or SessionEntityType management methods.
6930	SessionEntityTypes []*GoogleCloudDialogflowV2beta1SessionEntityType `json:"sessionEntityTypes,omitempty"`
6931
6932	// Source: Optional. A custom field used to identify the webhook
6933	// source.
6934	// Arbitrary strings are supported.
6935	// When provided, Dialogflow uses this field to
6936	// populate
6937	// QueryResult.webhook_source sent to the integration or API caller.
6938	Source string `json:"source,omitempty"`
6939
6940	// ForceSendFields is a list of field names (e.g. "EndInteraction") to
6941	// unconditionally include in API requests. By default, fields with
6942	// empty values are omitted from API requests. However, any non-pointer,
6943	// non-interface field appearing in ForceSendFields will be sent to the
6944	// server regardless of whether the field is empty or not. This may be
6945	// used to include empty fields in Patch requests.
6946	ForceSendFields []string `json:"-"`
6947
6948	// NullFields is a list of field names (e.g. "EndInteraction") to
6949	// include in API requests with the JSON null value. By default, fields
6950	// with empty values are omitted from API requests. However, any field
6951	// with an empty value appearing in NullFields will be sent to the
6952	// server as null. It is an error if a field in this list has a
6953	// non-empty value. This may be used to include null fields in Patch
6954	// requests.
6955	NullFields []string `json:"-"`
6956}
6957
6958func (s *GoogleCloudDialogflowV2beta1WebhookResponse) MarshalJSON() ([]byte, error) {
6959	type NoMethod GoogleCloudDialogflowV2beta1WebhookResponse
6960	raw := NoMethod(*s)
6961	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6962}
6963
6964// GoogleCloudDialogflowV3alpha1ExportAgentResponse: The response
6965// message for Agents.ExportAgent.
6966type GoogleCloudDialogflowV3alpha1ExportAgentResponse struct {
6967	// AgentContent: Uncompressed raw byte content for agent.
6968	AgentContent string `json:"agentContent,omitempty"`
6969
6970	// AgentUri: The URI to a file containing the exported agent. This field
6971	// is populated
6972	// only if `agent_uri` is specified in ExportAgentRequest.
6973	AgentUri string `json:"agentUri,omitempty"`
6974
6975	// ForceSendFields is a list of field names (e.g. "AgentContent") to
6976	// unconditionally include in API requests. By default, fields with
6977	// empty values are omitted from API requests. However, any non-pointer,
6978	// non-interface field appearing in ForceSendFields will be sent to the
6979	// server regardless of whether the field is empty or not. This may be
6980	// used to include empty fields in Patch requests.
6981	ForceSendFields []string `json:"-"`
6982
6983	// NullFields is a list of field names (e.g. "AgentContent") to include
6984	// in API requests with the JSON null value. By default, fields with
6985	// empty values are omitted from API requests. However, any field with
6986	// an empty value appearing in NullFields will be sent to the server as
6987	// null. It is an error if a field in this list has a non-empty value.
6988	// This may be used to include null fields in Patch requests.
6989	NullFields []string `json:"-"`
6990}
6991
6992func (s *GoogleCloudDialogflowV3alpha1ExportAgentResponse) MarshalJSON() ([]byte, error) {
6993	type NoMethod GoogleCloudDialogflowV3alpha1ExportAgentResponse
6994	raw := NoMethod(*s)
6995	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6996}
6997
6998// GoogleLongrunningListOperationsResponse: The response message for
6999// Operations.ListOperations.
7000type GoogleLongrunningListOperationsResponse struct {
7001	// NextPageToken: The standard List next-page token.
7002	NextPageToken string `json:"nextPageToken,omitempty"`
7003
7004	// Operations: A list of operations that matches the specified filter in
7005	// the request.
7006	Operations []*GoogleLongrunningOperation `json:"operations,omitempty"`
7007
7008	// ServerResponse contains the HTTP response code and headers from the
7009	// server.
7010	googleapi.ServerResponse `json:"-"`
7011
7012	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
7013	// unconditionally include in API requests. By default, fields with
7014	// empty values are omitted from API requests. However, any non-pointer,
7015	// non-interface field appearing in ForceSendFields will be sent to the
7016	// server regardless of whether the field is empty or not. This may be
7017	// used to include empty fields in Patch requests.
7018	ForceSendFields []string `json:"-"`
7019
7020	// NullFields is a list of field names (e.g. "NextPageToken") to include
7021	// in API requests with the JSON null value. By default, fields with
7022	// empty values are omitted from API requests. However, any field with
7023	// an empty value appearing in NullFields will be sent to the server as
7024	// null. It is an error if a field in this list has a non-empty value.
7025	// This may be used to include null fields in Patch requests.
7026	NullFields []string `json:"-"`
7027}
7028
7029func (s *GoogleLongrunningListOperationsResponse) MarshalJSON() ([]byte, error) {
7030	type NoMethod GoogleLongrunningListOperationsResponse
7031	raw := NoMethod(*s)
7032	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7033}
7034
7035// GoogleLongrunningOperation: This resource represents a long-running
7036// operation that is the result of a
7037// network API call.
7038type GoogleLongrunningOperation struct {
7039	// Done: If the value is `false`, it means the operation is still in
7040	// progress.
7041	// If `true`, the operation is completed, and either `error` or
7042	// `response` is
7043	// available.
7044	Done bool `json:"done,omitempty"`
7045
7046	// Error: The error result of the operation in case of failure or
7047	// cancellation.
7048	Error *GoogleRpcStatus `json:"error,omitempty"`
7049
7050	// Metadata: Service-specific metadata associated with the operation.
7051	// It typically
7052	// contains progress information and common metadata such as create
7053	// time.
7054	// Some services might not provide such metadata.  Any method that
7055	// returns a
7056	// long-running operation should document the metadata type, if any.
7057	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
7058
7059	// Name: The server-assigned name, which is only unique within the same
7060	// service that
7061	// originally returns it. If you use the default HTTP mapping,
7062	// the
7063	// `name` should be a resource name ending with
7064	// `operations/{unique_id}`.
7065	Name string `json:"name,omitempty"`
7066
7067	// Response: The normal response of the operation in case of success.
7068	// If the original
7069	// method returns no data on success, such as `Delete`, the response
7070	// is
7071	// `google.protobuf.Empty`.  If the original method is
7072	// standard
7073	// `Get`/`Create`/`Update`, the response should be the resource.  For
7074	// other
7075	// methods, the response should have the type `XxxResponse`, where
7076	// `Xxx`
7077	// is the original method name.  For example, if the original method
7078	// name
7079	// is `TakeSnapshot()`, the inferred response type
7080	// is
7081	// `TakeSnapshotResponse`.
7082	Response googleapi.RawMessage `json:"response,omitempty"`
7083
7084	// ServerResponse contains the HTTP response code and headers from the
7085	// server.
7086	googleapi.ServerResponse `json:"-"`
7087
7088	// ForceSendFields is a list of field names (e.g. "Done") to
7089	// unconditionally include in API requests. By default, fields with
7090	// empty values are omitted from API requests. However, any non-pointer,
7091	// non-interface field appearing in ForceSendFields will be sent to the
7092	// server regardless of whether the field is empty or not. This may be
7093	// used to include empty fields in Patch requests.
7094	ForceSendFields []string `json:"-"`
7095
7096	// NullFields is a list of field names (e.g. "Done") to include in API
7097	// requests with the JSON null value. By default, fields with empty
7098	// values are omitted from API requests. However, any field with an
7099	// empty value appearing in NullFields will be sent to the server as
7100	// null. It is an error if a field in this list has a non-empty value.
7101	// This may be used to include null fields in Patch requests.
7102	NullFields []string `json:"-"`
7103}
7104
7105func (s *GoogleLongrunningOperation) MarshalJSON() ([]byte, error) {
7106	type NoMethod GoogleLongrunningOperation
7107	raw := NoMethod(*s)
7108	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7109}
7110
7111// GoogleProtobufEmpty: A generic empty message that you can re-use to
7112// avoid defining duplicated
7113// empty messages in your APIs. A typical example is to use it as the
7114// request
7115// or the response type of an API method. For instance:
7116//
7117//     service Foo {
7118//       rpc Bar(google.protobuf.Empty) returns
7119// (google.protobuf.Empty);
7120//     }
7121//
7122// The JSON representation for `Empty` is empty JSON object `{}`.
7123type GoogleProtobufEmpty struct {
7124	// ServerResponse contains the HTTP response code and headers from the
7125	// server.
7126	googleapi.ServerResponse `json:"-"`
7127}
7128
7129// GoogleRpcStatus: The `Status` type defines a logical error model that
7130// is suitable for
7131// different programming environments, including REST APIs and RPC APIs.
7132// It is
7133// used by [gRPC](https://github.com/grpc). Each `Status` message
7134// contains
7135// three pieces of data: error code, error message, and error
7136// details.
7137//
7138// You can find out more about this error model and how to work with it
7139// in the
7140// [API Design Guide](https://cloud.google.com/apis/design/errors).
7141type GoogleRpcStatus struct {
7142	// Code: The status code, which should be an enum value of
7143	// google.rpc.Code.
7144	Code int64 `json:"code,omitempty"`
7145
7146	// Details: A list of messages that carry the error details.  There is a
7147	// common set of
7148	// message types for APIs to use.
7149	Details []googleapi.RawMessage `json:"details,omitempty"`
7150
7151	// Message: A developer-facing error message, which should be in
7152	// English. Any
7153	// user-facing error message should be localized and sent in
7154	// the
7155	// google.rpc.Status.details field, or localized by the client.
7156	Message string `json:"message,omitempty"`
7157
7158	// ForceSendFields is a list of field names (e.g. "Code") to
7159	// unconditionally include in API requests. By default, fields with
7160	// empty values are omitted from API requests. However, any non-pointer,
7161	// non-interface field appearing in ForceSendFields will be sent to the
7162	// server regardless of whether the field is empty or not. This may be
7163	// used to include empty fields in Patch requests.
7164	ForceSendFields []string `json:"-"`
7165
7166	// NullFields is a list of field names (e.g. "Code") to include in API
7167	// requests with the JSON null value. By default, fields with empty
7168	// values are omitted from API requests. However, any field with an
7169	// empty value appearing in NullFields will be sent to the server as
7170	// null. It is an error if a field in this list has a non-empty value.
7171	// This may be used to include null fields in Patch requests.
7172	NullFields []string `json:"-"`
7173}
7174
7175func (s *GoogleRpcStatus) MarshalJSON() ([]byte, error) {
7176	type NoMethod GoogleRpcStatus
7177	raw := NoMethod(*s)
7178	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7179}
7180
7181// method id "dialogflow.projects.locations.operations.cancel":
7182
7183type ProjectsLocationsOperationsCancelCall struct {
7184	s          *Service
7185	name       string
7186	urlParams_ gensupport.URLParams
7187	ctx_       context.Context
7188	header_    http.Header
7189}
7190
7191// Cancel: Starts asynchronous cancellation on a long-running operation.
7192//  The server
7193// makes a best effort to cancel the operation, but success is
7194// not
7195// guaranteed.  If the server doesn't support this method, it
7196// returns
7197// `google.rpc.Code.UNIMPLEMENTED`.  Clients can
7198// use
7199// Operations.GetOperation or
7200// other methods to check whether the cancellation succeeded or whether
7201// the
7202// operation completed despite cancellation. On successful
7203// cancellation,
7204// the operation is not deleted; instead, it becomes an operation
7205// with
7206// an Operation.error value with a google.rpc.Status.code of
7207// 1,
7208// corresponding to `Code.CANCELLED`.
7209func (r *ProjectsLocationsOperationsService) Cancel(name string) *ProjectsLocationsOperationsCancelCall {
7210	c := &ProjectsLocationsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7211	c.name = name
7212	return c
7213}
7214
7215// Fields allows partial responses to be retrieved. See
7216// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7217// for more information.
7218func (c *ProjectsLocationsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsCancelCall {
7219	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7220	return c
7221}
7222
7223// Context sets the context to be used in this call's Do method. Any
7224// pending HTTP request will be aborted if the provided context is
7225// canceled.
7226func (c *ProjectsLocationsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsOperationsCancelCall {
7227	c.ctx_ = ctx
7228	return c
7229}
7230
7231// Header returns an http.Header that can be modified by the caller to
7232// add HTTP headers to the request.
7233func (c *ProjectsLocationsOperationsCancelCall) Header() http.Header {
7234	if c.header_ == nil {
7235		c.header_ = make(http.Header)
7236	}
7237	return c.header_
7238}
7239
7240func (c *ProjectsLocationsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
7241	reqHeaders := make(http.Header)
7242	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200518")
7243	for k, v := range c.header_ {
7244		reqHeaders[k] = v
7245	}
7246	reqHeaders.Set("User-Agent", c.s.userAgent())
7247	var body io.Reader = nil
7248	c.urlParams_.Set("alt", alt)
7249	c.urlParams_.Set("prettyPrint", "false")
7250	urls := googleapi.ResolveRelative(c.s.BasePath, "v3alpha1/{+name}:cancel")
7251	urls += "?" + c.urlParams_.Encode()
7252	req, err := http.NewRequest("POST", urls, body)
7253	if err != nil {
7254		return nil, err
7255	}
7256	req.Header = reqHeaders
7257	googleapi.Expand(req.URL, map[string]string{
7258		"name": c.name,
7259	})
7260	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7261}
7262
7263// Do executes the "dialogflow.projects.locations.operations.cancel" call.
7264// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
7265// non-2xx status code is an error. Response headers are in either
7266// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
7267// returned at all) in error.(*googleapi.Error).Header. Use
7268// googleapi.IsNotModified to check whether the returned error was
7269// because http.StatusNotModified was returned.
7270func (c *ProjectsLocationsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
7271	gensupport.SetOptions(c.urlParams_, opts...)
7272	res, err := c.doRequest("json")
7273	if res != nil && res.StatusCode == http.StatusNotModified {
7274		if res.Body != nil {
7275			res.Body.Close()
7276		}
7277		return nil, &googleapi.Error{
7278			Code:   res.StatusCode,
7279			Header: res.Header,
7280		}
7281	}
7282	if err != nil {
7283		return nil, err
7284	}
7285	defer googleapi.CloseBody(res)
7286	if err := googleapi.CheckResponse(res); err != nil {
7287		return nil, err
7288	}
7289	ret := &GoogleProtobufEmpty{
7290		ServerResponse: googleapi.ServerResponse{
7291			Header:         res.Header,
7292			HTTPStatusCode: res.StatusCode,
7293		},
7294	}
7295	target := &ret
7296	if err := gensupport.DecodeResponse(target, res); err != nil {
7297		return nil, err
7298	}
7299	return ret, nil
7300	// {
7301	//   "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`.",
7302	//   "flatPath": "v3alpha1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel",
7303	//   "httpMethod": "POST",
7304	//   "id": "dialogflow.projects.locations.operations.cancel",
7305	//   "parameterOrder": [
7306	//     "name"
7307	//   ],
7308	//   "parameters": {
7309	//     "name": {
7310	//       "description": "The name of the operation resource to be cancelled.",
7311	//       "location": "path",
7312	//       "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
7313	//       "required": true,
7314	//       "type": "string"
7315	//     }
7316	//   },
7317	//   "path": "v3alpha1/{+name}:cancel",
7318	//   "response": {
7319	//     "$ref": "GoogleProtobufEmpty"
7320	//   },
7321	//   "scopes": [
7322	//     "https://www.googleapis.com/auth/cloud-platform",
7323	//     "https://www.googleapis.com/auth/dialogflow"
7324	//   ]
7325	// }
7326
7327}
7328
7329// method id "dialogflow.projects.locations.operations.get":
7330
7331type ProjectsLocationsOperationsGetCall struct {
7332	s            *Service
7333	name         string
7334	urlParams_   gensupport.URLParams
7335	ifNoneMatch_ string
7336	ctx_         context.Context
7337	header_      http.Header
7338}
7339
7340// Get: Gets the latest state of a long-running operation.  Clients can
7341// use this
7342// method to poll the operation result at intervals as recommended by
7343// the API
7344// service.
7345func (r *ProjectsLocationsOperationsService) Get(name string) *ProjectsLocationsOperationsGetCall {
7346	c := &ProjectsLocationsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7347	c.name = name
7348	return c
7349}
7350
7351// Fields allows partial responses to be retrieved. See
7352// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7353// for more information.
7354func (c *ProjectsLocationsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsGetCall {
7355	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7356	return c
7357}
7358
7359// IfNoneMatch sets the optional parameter which makes the operation
7360// fail if the object's ETag matches the given value. This is useful for
7361// getting updates only after the object has changed since the last
7362// request. Use googleapi.IsNotModified to check whether the response
7363// error from Do is the result of In-None-Match.
7364func (c *ProjectsLocationsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsOperationsGetCall {
7365	c.ifNoneMatch_ = entityTag
7366	return c
7367}
7368
7369// Context sets the context to be used in this call's Do method. Any
7370// pending HTTP request will be aborted if the provided context is
7371// canceled.
7372func (c *ProjectsLocationsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsOperationsGetCall {
7373	c.ctx_ = ctx
7374	return c
7375}
7376
7377// Header returns an http.Header that can be modified by the caller to
7378// add HTTP headers to the request.
7379func (c *ProjectsLocationsOperationsGetCall) Header() http.Header {
7380	if c.header_ == nil {
7381		c.header_ = make(http.Header)
7382	}
7383	return c.header_
7384}
7385
7386func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
7387	reqHeaders := make(http.Header)
7388	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200518")
7389	for k, v := range c.header_ {
7390		reqHeaders[k] = v
7391	}
7392	reqHeaders.Set("User-Agent", c.s.userAgent())
7393	if c.ifNoneMatch_ != "" {
7394		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
7395	}
7396	var body io.Reader = nil
7397	c.urlParams_.Set("alt", alt)
7398	c.urlParams_.Set("prettyPrint", "false")
7399	urls := googleapi.ResolveRelative(c.s.BasePath, "v3alpha1/{+name}")
7400	urls += "?" + c.urlParams_.Encode()
7401	req, err := http.NewRequest("GET", urls, body)
7402	if err != nil {
7403		return nil, err
7404	}
7405	req.Header = reqHeaders
7406	googleapi.Expand(req.URL, map[string]string{
7407		"name": c.name,
7408	})
7409	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7410}
7411
7412// Do executes the "dialogflow.projects.locations.operations.get" call.
7413// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
7414// Any non-2xx status code is an error. Response headers are in either
7415// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
7416// was returned at all) in error.(*googleapi.Error).Header. Use
7417// googleapi.IsNotModified to check whether the returned error was
7418// because http.StatusNotModified was returned.
7419func (c *ProjectsLocationsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
7420	gensupport.SetOptions(c.urlParams_, opts...)
7421	res, err := c.doRequest("json")
7422	if res != nil && res.StatusCode == http.StatusNotModified {
7423		if res.Body != nil {
7424			res.Body.Close()
7425		}
7426		return nil, &googleapi.Error{
7427			Code:   res.StatusCode,
7428			Header: res.Header,
7429		}
7430	}
7431	if err != nil {
7432		return nil, err
7433	}
7434	defer googleapi.CloseBody(res)
7435	if err := googleapi.CheckResponse(res); err != nil {
7436		return nil, err
7437	}
7438	ret := &GoogleLongrunningOperation{
7439		ServerResponse: googleapi.ServerResponse{
7440			Header:         res.Header,
7441			HTTPStatusCode: res.StatusCode,
7442		},
7443	}
7444	target := &ret
7445	if err := gensupport.DecodeResponse(target, res); err != nil {
7446		return nil, err
7447	}
7448	return ret, nil
7449	// {
7450	//   "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.",
7451	//   "flatPath": "v3alpha1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}",
7452	//   "httpMethod": "GET",
7453	//   "id": "dialogflow.projects.locations.operations.get",
7454	//   "parameterOrder": [
7455	//     "name"
7456	//   ],
7457	//   "parameters": {
7458	//     "name": {
7459	//       "description": "The name of the operation resource.",
7460	//       "location": "path",
7461	//       "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
7462	//       "required": true,
7463	//       "type": "string"
7464	//     }
7465	//   },
7466	//   "path": "v3alpha1/{+name}",
7467	//   "response": {
7468	//     "$ref": "GoogleLongrunningOperation"
7469	//   },
7470	//   "scopes": [
7471	//     "https://www.googleapis.com/auth/cloud-platform",
7472	//     "https://www.googleapis.com/auth/dialogflow"
7473	//   ]
7474	// }
7475
7476}
7477
7478// method id "dialogflow.projects.locations.operations.list":
7479
7480type ProjectsLocationsOperationsListCall struct {
7481	s            *Service
7482	name         string
7483	urlParams_   gensupport.URLParams
7484	ifNoneMatch_ string
7485	ctx_         context.Context
7486	header_      http.Header
7487}
7488
7489// List: Lists operations that match the specified filter in the
7490// request. If the
7491// server doesn't support this method, it returns
7492// `UNIMPLEMENTED`.
7493//
7494// NOTE: the `name` binding allows API services to override the
7495// binding
7496// to use different resource name schemes, such as `users/*/operations`.
7497// To
7498// override the binding, API services can add a binding such
7499// as
7500// "/v1/{name=users/*}/operations" to their service configuration.
7501// For backwards compatibility, the default name includes the
7502// operations
7503// collection id, however overriding users must ensure the name
7504// binding
7505// is the parent resource, without the operations collection id.
7506func (r *ProjectsLocationsOperationsService) List(name string) *ProjectsLocationsOperationsListCall {
7507	c := &ProjectsLocationsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7508	c.name = name
7509	return c
7510}
7511
7512// Filter sets the optional parameter "filter": The standard list
7513// filter.
7514func (c *ProjectsLocationsOperationsListCall) Filter(filter string) *ProjectsLocationsOperationsListCall {
7515	c.urlParams_.Set("filter", filter)
7516	return c
7517}
7518
7519// PageSize sets the optional parameter "pageSize": The standard list
7520// page size.
7521func (c *ProjectsLocationsOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsOperationsListCall {
7522	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
7523	return c
7524}
7525
7526// PageToken sets the optional parameter "pageToken": The standard list
7527// page token.
7528func (c *ProjectsLocationsOperationsListCall) PageToken(pageToken string) *ProjectsLocationsOperationsListCall {
7529	c.urlParams_.Set("pageToken", pageToken)
7530	return c
7531}
7532
7533// Fields allows partial responses to be retrieved. See
7534// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7535// for more information.
7536func (c *ProjectsLocationsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsListCall {
7537	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7538	return c
7539}
7540
7541// IfNoneMatch sets the optional parameter which makes the operation
7542// fail if the object's ETag matches the given value. This is useful for
7543// getting updates only after the object has changed since the last
7544// request. Use googleapi.IsNotModified to check whether the response
7545// error from Do is the result of In-None-Match.
7546func (c *ProjectsLocationsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsOperationsListCall {
7547	c.ifNoneMatch_ = entityTag
7548	return c
7549}
7550
7551// Context sets the context to be used in this call's Do method. Any
7552// pending HTTP request will be aborted if the provided context is
7553// canceled.
7554func (c *ProjectsLocationsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsOperationsListCall {
7555	c.ctx_ = ctx
7556	return c
7557}
7558
7559// Header returns an http.Header that can be modified by the caller to
7560// add HTTP headers to the request.
7561func (c *ProjectsLocationsOperationsListCall) Header() http.Header {
7562	if c.header_ == nil {
7563		c.header_ = make(http.Header)
7564	}
7565	return c.header_
7566}
7567
7568func (c *ProjectsLocationsOperationsListCall) doRequest(alt string) (*http.Response, error) {
7569	reqHeaders := make(http.Header)
7570	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200518")
7571	for k, v := range c.header_ {
7572		reqHeaders[k] = v
7573	}
7574	reqHeaders.Set("User-Agent", c.s.userAgent())
7575	if c.ifNoneMatch_ != "" {
7576		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
7577	}
7578	var body io.Reader = nil
7579	c.urlParams_.Set("alt", alt)
7580	c.urlParams_.Set("prettyPrint", "false")
7581	urls := googleapi.ResolveRelative(c.s.BasePath, "v3alpha1/{+name}/operations")
7582	urls += "?" + c.urlParams_.Encode()
7583	req, err := http.NewRequest("GET", urls, body)
7584	if err != nil {
7585		return nil, err
7586	}
7587	req.Header = reqHeaders
7588	googleapi.Expand(req.URL, map[string]string{
7589		"name": c.name,
7590	})
7591	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7592}
7593
7594// Do executes the "dialogflow.projects.locations.operations.list" call.
7595// Exactly one of *GoogleLongrunningListOperationsResponse or error will
7596// be non-nil. Any non-2xx status code is an error. Response headers are
7597// in either
7598// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if
7599// a response was returned at all) in error.(*googleapi.Error).Header.
7600// Use googleapi.IsNotModified to check whether the returned error was
7601// because http.StatusNotModified was returned.
7602func (c *ProjectsLocationsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
7603	gensupport.SetOptions(c.urlParams_, opts...)
7604	res, err := c.doRequest("json")
7605	if res != nil && res.StatusCode == http.StatusNotModified {
7606		if res.Body != nil {
7607			res.Body.Close()
7608		}
7609		return nil, &googleapi.Error{
7610			Code:   res.StatusCode,
7611			Header: res.Header,
7612		}
7613	}
7614	if err != nil {
7615		return nil, err
7616	}
7617	defer googleapi.CloseBody(res)
7618	if err := googleapi.CheckResponse(res); err != nil {
7619		return nil, err
7620	}
7621	ret := &GoogleLongrunningListOperationsResponse{
7622		ServerResponse: googleapi.ServerResponse{
7623			Header:         res.Header,
7624			HTTPStatusCode: res.StatusCode,
7625		},
7626	}
7627	target := &ret
7628	if err := gensupport.DecodeResponse(target, res); err != nil {
7629		return nil, err
7630	}
7631	return ret, nil
7632	// {
7633	//   "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.",
7634	//   "flatPath": "v3alpha1/projects/{projectsId}/locations/{locationsId}/operations",
7635	//   "httpMethod": "GET",
7636	//   "id": "dialogflow.projects.locations.operations.list",
7637	//   "parameterOrder": [
7638	//     "name"
7639	//   ],
7640	//   "parameters": {
7641	//     "filter": {
7642	//       "description": "The standard list filter.",
7643	//       "location": "query",
7644	//       "type": "string"
7645	//     },
7646	//     "name": {
7647	//       "description": "The name of the operation's parent resource.",
7648	//       "location": "path",
7649	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
7650	//       "required": true,
7651	//       "type": "string"
7652	//     },
7653	//     "pageSize": {
7654	//       "description": "The standard list page size.",
7655	//       "format": "int32",
7656	//       "location": "query",
7657	//       "type": "integer"
7658	//     },
7659	//     "pageToken": {
7660	//       "description": "The standard list page token.",
7661	//       "location": "query",
7662	//       "type": "string"
7663	//     }
7664	//   },
7665	//   "path": "v3alpha1/{+name}/operations",
7666	//   "response": {
7667	//     "$ref": "GoogleLongrunningListOperationsResponse"
7668	//   },
7669	//   "scopes": [
7670	//     "https://www.googleapis.com/auth/cloud-platform",
7671	//     "https://www.googleapis.com/auth/dialogflow"
7672	//   ]
7673	// }
7674
7675}
7676
7677// Pages invokes f for each page of results.
7678// A non-nil error returned from f will halt the iteration.
7679// The provided context supersedes any context provided to the Context method.
7680func (c *ProjectsLocationsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
7681	c.ctx_ = ctx
7682	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
7683	for {
7684		x, err := c.Do()
7685		if err != nil {
7686			return err
7687		}
7688		if err := f(x); err != nil {
7689			return err
7690		}
7691		if x.NextPageToken == "" {
7692			return nil
7693		}
7694		c.PageToken(x.NextPageToken)
7695	}
7696}
7697
7698// method id "dialogflow.projects.operations.cancel":
7699
7700type ProjectsOperationsCancelCall struct {
7701	s          *Service
7702	name       string
7703	urlParams_ gensupport.URLParams
7704	ctx_       context.Context
7705	header_    http.Header
7706}
7707
7708// Cancel: Starts asynchronous cancellation on a long-running operation.
7709//  The server
7710// makes a best effort to cancel the operation, but success is
7711// not
7712// guaranteed.  If the server doesn't support this method, it
7713// returns
7714// `google.rpc.Code.UNIMPLEMENTED`.  Clients can
7715// use
7716// Operations.GetOperation or
7717// other methods to check whether the cancellation succeeded or whether
7718// the
7719// operation completed despite cancellation. On successful
7720// cancellation,
7721// the operation is not deleted; instead, it becomes an operation
7722// with
7723// an Operation.error value with a google.rpc.Status.code of
7724// 1,
7725// corresponding to `Code.CANCELLED`.
7726func (r *ProjectsOperationsService) Cancel(name string) *ProjectsOperationsCancelCall {
7727	c := &ProjectsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7728	c.name = name
7729	return c
7730}
7731
7732// Fields allows partial responses to be retrieved. See
7733// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7734// for more information.
7735func (c *ProjectsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsOperationsCancelCall {
7736	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7737	return c
7738}
7739
7740// Context sets the context to be used in this call's Do method. Any
7741// pending HTTP request will be aborted if the provided context is
7742// canceled.
7743func (c *ProjectsOperationsCancelCall) Context(ctx context.Context) *ProjectsOperationsCancelCall {
7744	c.ctx_ = ctx
7745	return c
7746}
7747
7748// Header returns an http.Header that can be modified by the caller to
7749// add HTTP headers to the request.
7750func (c *ProjectsOperationsCancelCall) Header() http.Header {
7751	if c.header_ == nil {
7752		c.header_ = make(http.Header)
7753	}
7754	return c.header_
7755}
7756
7757func (c *ProjectsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
7758	reqHeaders := make(http.Header)
7759	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200518")
7760	for k, v := range c.header_ {
7761		reqHeaders[k] = v
7762	}
7763	reqHeaders.Set("User-Agent", c.s.userAgent())
7764	var body io.Reader = nil
7765	c.urlParams_.Set("alt", alt)
7766	c.urlParams_.Set("prettyPrint", "false")
7767	urls := googleapi.ResolveRelative(c.s.BasePath, "v3alpha1/{+name}:cancel")
7768	urls += "?" + c.urlParams_.Encode()
7769	req, err := http.NewRequest("POST", urls, body)
7770	if err != nil {
7771		return nil, err
7772	}
7773	req.Header = reqHeaders
7774	googleapi.Expand(req.URL, map[string]string{
7775		"name": c.name,
7776	})
7777	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7778}
7779
7780// Do executes the "dialogflow.projects.operations.cancel" call.
7781// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
7782// non-2xx status code is an error. Response headers are in either
7783// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
7784// returned at all) in error.(*googleapi.Error).Header. Use
7785// googleapi.IsNotModified to check whether the returned error was
7786// because http.StatusNotModified was returned.
7787func (c *ProjectsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
7788	gensupport.SetOptions(c.urlParams_, opts...)
7789	res, err := c.doRequest("json")
7790	if res != nil && res.StatusCode == http.StatusNotModified {
7791		if res.Body != nil {
7792			res.Body.Close()
7793		}
7794		return nil, &googleapi.Error{
7795			Code:   res.StatusCode,
7796			Header: res.Header,
7797		}
7798	}
7799	if err != nil {
7800		return nil, err
7801	}
7802	defer googleapi.CloseBody(res)
7803	if err := googleapi.CheckResponse(res); err != nil {
7804		return nil, err
7805	}
7806	ret := &GoogleProtobufEmpty{
7807		ServerResponse: googleapi.ServerResponse{
7808			Header:         res.Header,
7809			HTTPStatusCode: res.StatusCode,
7810		},
7811	}
7812	target := &ret
7813	if err := gensupport.DecodeResponse(target, res); err != nil {
7814		return nil, err
7815	}
7816	return ret, nil
7817	// {
7818	//   "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`.",
7819	//   "flatPath": "v3alpha1/projects/{projectsId}/operations/{operationsId}:cancel",
7820	//   "httpMethod": "POST",
7821	//   "id": "dialogflow.projects.operations.cancel",
7822	//   "parameterOrder": [
7823	//     "name"
7824	//   ],
7825	//   "parameters": {
7826	//     "name": {
7827	//       "description": "The name of the operation resource to be cancelled.",
7828	//       "location": "path",
7829	//       "pattern": "^projects/[^/]+/operations/[^/]+$",
7830	//       "required": true,
7831	//       "type": "string"
7832	//     }
7833	//   },
7834	//   "path": "v3alpha1/{+name}:cancel",
7835	//   "response": {
7836	//     "$ref": "GoogleProtobufEmpty"
7837	//   },
7838	//   "scopes": [
7839	//     "https://www.googleapis.com/auth/cloud-platform",
7840	//     "https://www.googleapis.com/auth/dialogflow"
7841	//   ]
7842	// }
7843
7844}
7845
7846// method id "dialogflow.projects.operations.get":
7847
7848type ProjectsOperationsGetCall struct {
7849	s            *Service
7850	name         string
7851	urlParams_   gensupport.URLParams
7852	ifNoneMatch_ string
7853	ctx_         context.Context
7854	header_      http.Header
7855}
7856
7857// Get: Gets the latest state of a long-running operation.  Clients can
7858// use this
7859// method to poll the operation result at intervals as recommended by
7860// the API
7861// service.
7862func (r *ProjectsOperationsService) Get(name string) *ProjectsOperationsGetCall {
7863	c := &ProjectsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7864	c.name = name
7865	return c
7866}
7867
7868// Fields allows partial responses to be retrieved. See
7869// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7870// for more information.
7871func (c *ProjectsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsOperationsGetCall {
7872	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7873	return c
7874}
7875
7876// IfNoneMatch sets the optional parameter which makes the operation
7877// fail if the object's ETag matches the given value. This is useful for
7878// getting updates only after the object has changed since the last
7879// request. Use googleapi.IsNotModified to check whether the response
7880// error from Do is the result of In-None-Match.
7881func (c *ProjectsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsOperationsGetCall {
7882	c.ifNoneMatch_ = entityTag
7883	return c
7884}
7885
7886// Context sets the context to be used in this call's Do method. Any
7887// pending HTTP request will be aborted if the provided context is
7888// canceled.
7889func (c *ProjectsOperationsGetCall) Context(ctx context.Context) *ProjectsOperationsGetCall {
7890	c.ctx_ = ctx
7891	return c
7892}
7893
7894// Header returns an http.Header that can be modified by the caller to
7895// add HTTP headers to the request.
7896func (c *ProjectsOperationsGetCall) Header() http.Header {
7897	if c.header_ == nil {
7898		c.header_ = make(http.Header)
7899	}
7900	return c.header_
7901}
7902
7903func (c *ProjectsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
7904	reqHeaders := make(http.Header)
7905	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200518")
7906	for k, v := range c.header_ {
7907		reqHeaders[k] = v
7908	}
7909	reqHeaders.Set("User-Agent", c.s.userAgent())
7910	if c.ifNoneMatch_ != "" {
7911		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
7912	}
7913	var body io.Reader = nil
7914	c.urlParams_.Set("alt", alt)
7915	c.urlParams_.Set("prettyPrint", "false")
7916	urls := googleapi.ResolveRelative(c.s.BasePath, "v3alpha1/{+name}")
7917	urls += "?" + c.urlParams_.Encode()
7918	req, err := http.NewRequest("GET", urls, body)
7919	if err != nil {
7920		return nil, err
7921	}
7922	req.Header = reqHeaders
7923	googleapi.Expand(req.URL, map[string]string{
7924		"name": c.name,
7925	})
7926	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7927}
7928
7929// Do executes the "dialogflow.projects.operations.get" call.
7930// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
7931// Any non-2xx status code is an error. Response headers are in either
7932// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
7933// was returned at all) in error.(*googleapi.Error).Header. Use
7934// googleapi.IsNotModified to check whether the returned error was
7935// because http.StatusNotModified was returned.
7936func (c *ProjectsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
7937	gensupport.SetOptions(c.urlParams_, opts...)
7938	res, err := c.doRequest("json")
7939	if res != nil && res.StatusCode == http.StatusNotModified {
7940		if res.Body != nil {
7941			res.Body.Close()
7942		}
7943		return nil, &googleapi.Error{
7944			Code:   res.StatusCode,
7945			Header: res.Header,
7946		}
7947	}
7948	if err != nil {
7949		return nil, err
7950	}
7951	defer googleapi.CloseBody(res)
7952	if err := googleapi.CheckResponse(res); err != nil {
7953		return nil, err
7954	}
7955	ret := &GoogleLongrunningOperation{
7956		ServerResponse: googleapi.ServerResponse{
7957			Header:         res.Header,
7958			HTTPStatusCode: res.StatusCode,
7959		},
7960	}
7961	target := &ret
7962	if err := gensupport.DecodeResponse(target, res); err != nil {
7963		return nil, err
7964	}
7965	return ret, nil
7966	// {
7967	//   "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.",
7968	//   "flatPath": "v3alpha1/projects/{projectsId}/operations/{operationsId}",
7969	//   "httpMethod": "GET",
7970	//   "id": "dialogflow.projects.operations.get",
7971	//   "parameterOrder": [
7972	//     "name"
7973	//   ],
7974	//   "parameters": {
7975	//     "name": {
7976	//       "description": "The name of the operation resource.",
7977	//       "location": "path",
7978	//       "pattern": "^projects/[^/]+/operations/[^/]+$",
7979	//       "required": true,
7980	//       "type": "string"
7981	//     }
7982	//   },
7983	//   "path": "v3alpha1/{+name}",
7984	//   "response": {
7985	//     "$ref": "GoogleLongrunningOperation"
7986	//   },
7987	//   "scopes": [
7988	//     "https://www.googleapis.com/auth/cloud-platform",
7989	//     "https://www.googleapis.com/auth/dialogflow"
7990	//   ]
7991	// }
7992
7993}
7994
7995// method id "dialogflow.projects.operations.list":
7996
7997type ProjectsOperationsListCall struct {
7998	s            *Service
7999	name         string
8000	urlParams_   gensupport.URLParams
8001	ifNoneMatch_ string
8002	ctx_         context.Context
8003	header_      http.Header
8004}
8005
8006// List: Lists operations that match the specified filter in the
8007// request. If the
8008// server doesn't support this method, it returns
8009// `UNIMPLEMENTED`.
8010//
8011// NOTE: the `name` binding allows API services to override the
8012// binding
8013// to use different resource name schemes, such as `users/*/operations`.
8014// To
8015// override the binding, API services can add a binding such
8016// as
8017// "/v1/{name=users/*}/operations" to their service configuration.
8018// For backwards compatibility, the default name includes the
8019// operations
8020// collection id, however overriding users must ensure the name
8021// binding
8022// is the parent resource, without the operations collection id.
8023func (r *ProjectsOperationsService) List(name string) *ProjectsOperationsListCall {
8024	c := &ProjectsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8025	c.name = name
8026	return c
8027}
8028
8029// Filter sets the optional parameter "filter": The standard list
8030// filter.
8031func (c *ProjectsOperationsListCall) Filter(filter string) *ProjectsOperationsListCall {
8032	c.urlParams_.Set("filter", filter)
8033	return c
8034}
8035
8036// PageSize sets the optional parameter "pageSize": The standard list
8037// page size.
8038func (c *ProjectsOperationsListCall) PageSize(pageSize int64) *ProjectsOperationsListCall {
8039	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
8040	return c
8041}
8042
8043// PageToken sets the optional parameter "pageToken": The standard list
8044// page token.
8045func (c *ProjectsOperationsListCall) PageToken(pageToken string) *ProjectsOperationsListCall {
8046	c.urlParams_.Set("pageToken", pageToken)
8047	return c
8048}
8049
8050// Fields allows partial responses to be retrieved. See
8051// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8052// for more information.
8053func (c *ProjectsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsOperationsListCall {
8054	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8055	return c
8056}
8057
8058// IfNoneMatch sets the optional parameter which makes the operation
8059// fail if the object's ETag matches the given value. This is useful for
8060// getting updates only after the object has changed since the last
8061// request. Use googleapi.IsNotModified to check whether the response
8062// error from Do is the result of In-None-Match.
8063func (c *ProjectsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsOperationsListCall {
8064	c.ifNoneMatch_ = entityTag
8065	return c
8066}
8067
8068// Context sets the context to be used in this call's Do method. Any
8069// pending HTTP request will be aborted if the provided context is
8070// canceled.
8071func (c *ProjectsOperationsListCall) Context(ctx context.Context) *ProjectsOperationsListCall {
8072	c.ctx_ = ctx
8073	return c
8074}
8075
8076// Header returns an http.Header that can be modified by the caller to
8077// add HTTP headers to the request.
8078func (c *ProjectsOperationsListCall) Header() http.Header {
8079	if c.header_ == nil {
8080		c.header_ = make(http.Header)
8081	}
8082	return c.header_
8083}
8084
8085func (c *ProjectsOperationsListCall) doRequest(alt string) (*http.Response, error) {
8086	reqHeaders := make(http.Header)
8087	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200518")
8088	for k, v := range c.header_ {
8089		reqHeaders[k] = v
8090	}
8091	reqHeaders.Set("User-Agent", c.s.userAgent())
8092	if c.ifNoneMatch_ != "" {
8093		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
8094	}
8095	var body io.Reader = nil
8096	c.urlParams_.Set("alt", alt)
8097	c.urlParams_.Set("prettyPrint", "false")
8098	urls := googleapi.ResolveRelative(c.s.BasePath, "v3alpha1/{+name}/operations")
8099	urls += "?" + c.urlParams_.Encode()
8100	req, err := http.NewRequest("GET", urls, body)
8101	if err != nil {
8102		return nil, err
8103	}
8104	req.Header = reqHeaders
8105	googleapi.Expand(req.URL, map[string]string{
8106		"name": c.name,
8107	})
8108	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8109}
8110
8111// Do executes the "dialogflow.projects.operations.list" call.
8112// Exactly one of *GoogleLongrunningListOperationsResponse or error will
8113// be non-nil. Any non-2xx status code is an error. Response headers are
8114// in either
8115// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if
8116// a response was returned at all) in error.(*googleapi.Error).Header.
8117// Use googleapi.IsNotModified to check whether the returned error was
8118// because http.StatusNotModified was returned.
8119func (c *ProjectsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
8120	gensupport.SetOptions(c.urlParams_, opts...)
8121	res, err := c.doRequest("json")
8122	if res != nil && res.StatusCode == http.StatusNotModified {
8123		if res.Body != nil {
8124			res.Body.Close()
8125		}
8126		return nil, &googleapi.Error{
8127			Code:   res.StatusCode,
8128			Header: res.Header,
8129		}
8130	}
8131	if err != nil {
8132		return nil, err
8133	}
8134	defer googleapi.CloseBody(res)
8135	if err := googleapi.CheckResponse(res); err != nil {
8136		return nil, err
8137	}
8138	ret := &GoogleLongrunningListOperationsResponse{
8139		ServerResponse: googleapi.ServerResponse{
8140			Header:         res.Header,
8141			HTTPStatusCode: res.StatusCode,
8142		},
8143	}
8144	target := &ret
8145	if err := gensupport.DecodeResponse(target, res); err != nil {
8146		return nil, err
8147	}
8148	return ret, nil
8149	// {
8150	//   "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.",
8151	//   "flatPath": "v3alpha1/projects/{projectsId}/operations",
8152	//   "httpMethod": "GET",
8153	//   "id": "dialogflow.projects.operations.list",
8154	//   "parameterOrder": [
8155	//     "name"
8156	//   ],
8157	//   "parameters": {
8158	//     "filter": {
8159	//       "description": "The standard list filter.",
8160	//       "location": "query",
8161	//       "type": "string"
8162	//     },
8163	//     "name": {
8164	//       "description": "The name of the operation's parent resource.",
8165	//       "location": "path",
8166	//       "pattern": "^projects/[^/]+$",
8167	//       "required": true,
8168	//       "type": "string"
8169	//     },
8170	//     "pageSize": {
8171	//       "description": "The standard list page size.",
8172	//       "format": "int32",
8173	//       "location": "query",
8174	//       "type": "integer"
8175	//     },
8176	//     "pageToken": {
8177	//       "description": "The standard list page token.",
8178	//       "location": "query",
8179	//       "type": "string"
8180	//     }
8181	//   },
8182	//   "path": "v3alpha1/{+name}/operations",
8183	//   "response": {
8184	//     "$ref": "GoogleLongrunningListOperationsResponse"
8185	//   },
8186	//   "scopes": [
8187	//     "https://www.googleapis.com/auth/cloud-platform",
8188	//     "https://www.googleapis.com/auth/dialogflow"
8189	//   ]
8190	// }
8191
8192}
8193
8194// Pages invokes f for each page of results.
8195// A non-nil error returned from f will halt the iteration.
8196// The provided context supersedes any context provided to the Context method.
8197func (c *ProjectsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
8198	c.ctx_ = ctx
8199	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
8200	for {
8201		x, err := c.Do()
8202		if err != nil {
8203			return err
8204		}
8205		if err := f(x); err != nil {
8206			return err
8207		}
8208		if x.NextPageToken == "" {
8209			return nil
8210		}
8211		c.PageToken(x.NextPageToken)
8212	}
8213}
8214