1// Copyright 2021 Google LLC.
2// Use of this source code is governed by a BSD-style
3// license that can be found in the LICENSE file.
4
5// Code generated file. DO NOT EDIT.
6
7// Package 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/v3"
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/v3"
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:v3"
81const apiName = "dialogflow"
82const apiVersion = "v3"
83const basePath = "https://dialogflow.googleapis.com/"
84const mtlsBasePath = "https://dialogflow.mtls.googleapis.com/"
85
86// OAuth2 scopes used by this API.
87const (
88	// See, edit, configure, and delete your Google Cloud Platform data
89	CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"
90
91	// View, manage and query your Dialogflow agents
92	DialogflowScope = "https://www.googleapis.com/auth/dialogflow"
93)
94
95// NewService creates a new Service.
96func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
97	scopesOption := option.WithScopes(
98		"https://www.googleapis.com/auth/cloud-platform",
99		"https://www.googleapis.com/auth/dialogflow",
100	)
101	// NOTE: prepend, so we don't override user-specified scopes.
102	opts = append([]option.ClientOption{scopesOption}, opts...)
103	opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
104	opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath))
105	client, endpoint, err := htransport.NewClient(ctx, opts...)
106	if err != nil {
107		return nil, err
108	}
109	s, err := New(client)
110	if err != nil {
111		return nil, err
112	}
113	if endpoint != "" {
114		s.BasePath = endpoint
115	}
116	return s, nil
117}
118
119// New creates a new Service. It uses the provided http.Client for requests.
120//
121// Deprecated: please use NewService instead.
122// To provide a custom HTTP client, use option.WithHTTPClient.
123// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
124func New(client *http.Client) (*Service, error) {
125	if client == nil {
126		return nil, errors.New("client is nil")
127	}
128	s := &Service{client: client, BasePath: basePath}
129	s.Projects = NewProjectsService(s)
130	return s, nil
131}
132
133type Service struct {
134	client    *http.Client
135	BasePath  string // API endpoint base URL
136	UserAgent string // optional additional User-Agent fragment
137
138	Projects *ProjectsService
139}
140
141func (s *Service) userAgent() string {
142	if s.UserAgent == "" {
143		return googleapi.UserAgent
144	}
145	return googleapi.UserAgent + " " + s.UserAgent
146}
147
148func NewProjectsService(s *Service) *ProjectsService {
149	rs := &ProjectsService{s: s}
150	rs.Locations = NewProjectsLocationsService(s)
151	rs.Operations = NewProjectsOperationsService(s)
152	return rs
153}
154
155type ProjectsService struct {
156	s *Service
157
158	Locations *ProjectsLocationsService
159
160	Operations *ProjectsOperationsService
161}
162
163func NewProjectsLocationsService(s *Service) *ProjectsLocationsService {
164	rs := &ProjectsLocationsService{s: s}
165	rs.Agents = NewProjectsLocationsAgentsService(s)
166	rs.Operations = NewProjectsLocationsOperationsService(s)
167	rs.SecuritySettings = NewProjectsLocationsSecuritySettingsService(s)
168	return rs
169}
170
171type ProjectsLocationsService struct {
172	s *Service
173
174	Agents *ProjectsLocationsAgentsService
175
176	Operations *ProjectsLocationsOperationsService
177
178	SecuritySettings *ProjectsLocationsSecuritySettingsService
179}
180
181func NewProjectsLocationsAgentsService(s *Service) *ProjectsLocationsAgentsService {
182	rs := &ProjectsLocationsAgentsService{s: s}
183	rs.EntityTypes = NewProjectsLocationsAgentsEntityTypesService(s)
184	rs.Environments = NewProjectsLocationsAgentsEnvironmentsService(s)
185	rs.Flows = NewProjectsLocationsAgentsFlowsService(s)
186	rs.Intents = NewProjectsLocationsAgentsIntentsService(s)
187	rs.Sessions = NewProjectsLocationsAgentsSessionsService(s)
188	rs.TestCases = NewProjectsLocationsAgentsTestCasesService(s)
189	rs.Webhooks = NewProjectsLocationsAgentsWebhooksService(s)
190	return rs
191}
192
193type ProjectsLocationsAgentsService struct {
194	s *Service
195
196	EntityTypes *ProjectsLocationsAgentsEntityTypesService
197
198	Environments *ProjectsLocationsAgentsEnvironmentsService
199
200	Flows *ProjectsLocationsAgentsFlowsService
201
202	Intents *ProjectsLocationsAgentsIntentsService
203
204	Sessions *ProjectsLocationsAgentsSessionsService
205
206	TestCases *ProjectsLocationsAgentsTestCasesService
207
208	Webhooks *ProjectsLocationsAgentsWebhooksService
209}
210
211func NewProjectsLocationsAgentsEntityTypesService(s *Service) *ProjectsLocationsAgentsEntityTypesService {
212	rs := &ProjectsLocationsAgentsEntityTypesService{s: s}
213	return rs
214}
215
216type ProjectsLocationsAgentsEntityTypesService struct {
217	s *Service
218}
219
220func NewProjectsLocationsAgentsEnvironmentsService(s *Service) *ProjectsLocationsAgentsEnvironmentsService {
221	rs := &ProjectsLocationsAgentsEnvironmentsService{s: s}
222	rs.Experiments = NewProjectsLocationsAgentsEnvironmentsExperimentsService(s)
223	rs.Sessions = NewProjectsLocationsAgentsEnvironmentsSessionsService(s)
224	return rs
225}
226
227type ProjectsLocationsAgentsEnvironmentsService struct {
228	s *Service
229
230	Experiments *ProjectsLocationsAgentsEnvironmentsExperimentsService
231
232	Sessions *ProjectsLocationsAgentsEnvironmentsSessionsService
233}
234
235func NewProjectsLocationsAgentsEnvironmentsExperimentsService(s *Service) *ProjectsLocationsAgentsEnvironmentsExperimentsService {
236	rs := &ProjectsLocationsAgentsEnvironmentsExperimentsService{s: s}
237	return rs
238}
239
240type ProjectsLocationsAgentsEnvironmentsExperimentsService struct {
241	s *Service
242}
243
244func NewProjectsLocationsAgentsEnvironmentsSessionsService(s *Service) *ProjectsLocationsAgentsEnvironmentsSessionsService {
245	rs := &ProjectsLocationsAgentsEnvironmentsSessionsService{s: s}
246	rs.EntityTypes = NewProjectsLocationsAgentsEnvironmentsSessionsEntityTypesService(s)
247	return rs
248}
249
250type ProjectsLocationsAgentsEnvironmentsSessionsService struct {
251	s *Service
252
253	EntityTypes *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesService
254}
255
256func NewProjectsLocationsAgentsEnvironmentsSessionsEntityTypesService(s *Service) *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesService {
257	rs := &ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesService{s: s}
258	return rs
259}
260
261type ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesService struct {
262	s *Service
263}
264
265func NewProjectsLocationsAgentsFlowsService(s *Service) *ProjectsLocationsAgentsFlowsService {
266	rs := &ProjectsLocationsAgentsFlowsService{s: s}
267	rs.Pages = NewProjectsLocationsAgentsFlowsPagesService(s)
268	rs.TransitionRouteGroups = NewProjectsLocationsAgentsFlowsTransitionRouteGroupsService(s)
269	rs.Versions = NewProjectsLocationsAgentsFlowsVersionsService(s)
270	return rs
271}
272
273type ProjectsLocationsAgentsFlowsService struct {
274	s *Service
275
276	Pages *ProjectsLocationsAgentsFlowsPagesService
277
278	TransitionRouteGroups *ProjectsLocationsAgentsFlowsTransitionRouteGroupsService
279
280	Versions *ProjectsLocationsAgentsFlowsVersionsService
281}
282
283func NewProjectsLocationsAgentsFlowsPagesService(s *Service) *ProjectsLocationsAgentsFlowsPagesService {
284	rs := &ProjectsLocationsAgentsFlowsPagesService{s: s}
285	return rs
286}
287
288type ProjectsLocationsAgentsFlowsPagesService struct {
289	s *Service
290}
291
292func NewProjectsLocationsAgentsFlowsTransitionRouteGroupsService(s *Service) *ProjectsLocationsAgentsFlowsTransitionRouteGroupsService {
293	rs := &ProjectsLocationsAgentsFlowsTransitionRouteGroupsService{s: s}
294	return rs
295}
296
297type ProjectsLocationsAgentsFlowsTransitionRouteGroupsService struct {
298	s *Service
299}
300
301func NewProjectsLocationsAgentsFlowsVersionsService(s *Service) *ProjectsLocationsAgentsFlowsVersionsService {
302	rs := &ProjectsLocationsAgentsFlowsVersionsService{s: s}
303	return rs
304}
305
306type ProjectsLocationsAgentsFlowsVersionsService struct {
307	s *Service
308}
309
310func NewProjectsLocationsAgentsIntentsService(s *Service) *ProjectsLocationsAgentsIntentsService {
311	rs := &ProjectsLocationsAgentsIntentsService{s: s}
312	return rs
313}
314
315type ProjectsLocationsAgentsIntentsService struct {
316	s *Service
317}
318
319func NewProjectsLocationsAgentsSessionsService(s *Service) *ProjectsLocationsAgentsSessionsService {
320	rs := &ProjectsLocationsAgentsSessionsService{s: s}
321	rs.EntityTypes = NewProjectsLocationsAgentsSessionsEntityTypesService(s)
322	return rs
323}
324
325type ProjectsLocationsAgentsSessionsService struct {
326	s *Service
327
328	EntityTypes *ProjectsLocationsAgentsSessionsEntityTypesService
329}
330
331func NewProjectsLocationsAgentsSessionsEntityTypesService(s *Service) *ProjectsLocationsAgentsSessionsEntityTypesService {
332	rs := &ProjectsLocationsAgentsSessionsEntityTypesService{s: s}
333	return rs
334}
335
336type ProjectsLocationsAgentsSessionsEntityTypesService struct {
337	s *Service
338}
339
340func NewProjectsLocationsAgentsTestCasesService(s *Service) *ProjectsLocationsAgentsTestCasesService {
341	rs := &ProjectsLocationsAgentsTestCasesService{s: s}
342	rs.Results = NewProjectsLocationsAgentsTestCasesResultsService(s)
343	return rs
344}
345
346type ProjectsLocationsAgentsTestCasesService struct {
347	s *Service
348
349	Results *ProjectsLocationsAgentsTestCasesResultsService
350}
351
352func NewProjectsLocationsAgentsTestCasesResultsService(s *Service) *ProjectsLocationsAgentsTestCasesResultsService {
353	rs := &ProjectsLocationsAgentsTestCasesResultsService{s: s}
354	return rs
355}
356
357type ProjectsLocationsAgentsTestCasesResultsService struct {
358	s *Service
359}
360
361func NewProjectsLocationsAgentsWebhooksService(s *Service) *ProjectsLocationsAgentsWebhooksService {
362	rs := &ProjectsLocationsAgentsWebhooksService{s: s}
363	return rs
364}
365
366type ProjectsLocationsAgentsWebhooksService struct {
367	s *Service
368}
369
370func NewProjectsLocationsOperationsService(s *Service) *ProjectsLocationsOperationsService {
371	rs := &ProjectsLocationsOperationsService{s: s}
372	return rs
373}
374
375type ProjectsLocationsOperationsService struct {
376	s *Service
377}
378
379func NewProjectsLocationsSecuritySettingsService(s *Service) *ProjectsLocationsSecuritySettingsService {
380	rs := &ProjectsLocationsSecuritySettingsService{s: s}
381	return rs
382}
383
384type ProjectsLocationsSecuritySettingsService struct {
385	s *Service
386}
387
388func NewProjectsOperationsService(s *Service) *ProjectsOperationsService {
389	rs := &ProjectsOperationsService{s: s}
390	return rs
391}
392
393type ProjectsOperationsService struct {
394	s *Service
395}
396
397// GoogleCloudDialogflowCxV3Agent: Agents are best described as Natural
398// Language Understanding (NLU) modules that transform user requests
399// into actionable data. You can include agents in your app, product, or
400// service to determine user intent and respond to the user in a natural
401// way. After you create an agent, you can add Intents, Entity Types,
402// Flows, Fulfillments, Webhooks, and so on to manage the conversation
403// flows..
404type GoogleCloudDialogflowCxV3Agent struct {
405	// AvatarUri: The URI of the agent's avatar. Avatars are used throughout
406	// the Dialogflow console and in the self-hosted Web Demo
407	// (https://cloud.google.com/dialogflow/docs/integrations/web-demo)
408	// integration.
409	AvatarUri string `json:"avatarUri,omitempty"`
410
411	// DefaultLanguageCode: Immutable. The default language of the agent as
412	// a language tag. See Language Support
413	// (https://cloud.google.com/dialogflow/cx/docs/reference/language) for
414	// a list of the currently supported language codes. This field cannot
415	// be set by the Agents.UpdateAgent method.
416	DefaultLanguageCode string `json:"defaultLanguageCode,omitempty"`
417
418	// Description: The description of the agent. The maximum length is 500
419	// characters. If exceeded, the request is rejected.
420	Description string `json:"description,omitempty"`
421
422	// DisplayName: Required. The human-readable name of the agent, unique
423	// within the location.
424	DisplayName string `json:"displayName,omitempty"`
425
426	// EnableSpellCorrection: Indicates if automatic spell correction is
427	// enabled in detect intent requests.
428	EnableSpellCorrection bool `json:"enableSpellCorrection,omitempty"`
429
430	// EnableStackdriverLogging: Indicates if stackdriver logging is enabled
431	// for the agent.
432	EnableStackdriverLogging bool `json:"enableStackdriverLogging,omitempty"`
433
434	// Name: The unique identifier of the agent. Required for the
435	// Agents.UpdateAgent method. Agents.CreateAgent populates the name
436	// automatically. Format: `projects//locations//agents/`.
437	Name string `json:"name,omitempty"`
438
439	// SecuritySettings: Name of the SecuritySettings reference for the
440	// agent. Format: `projects//locations//securitySettings/`.
441	SecuritySettings string `json:"securitySettings,omitempty"`
442
443	// SpeechToTextSettings: Speech recognition related settings.
444	SpeechToTextSettings *GoogleCloudDialogflowCxV3SpeechToTextSettings `json:"speechToTextSettings,omitempty"`
445
446	// StartFlow: Immutable. Name of the start flow in this agent. A start
447	// flow will be automatically created when the agent is created, and can
448	// only be deleted by deleting the agent. Format:
449	// `projects//locations//agents//flows/`.
450	StartFlow string `json:"startFlow,omitempty"`
451
452	// TimeZone: Required. The time zone of the agent from the time zone
453	// database (https://www.iana.org/time-zones), e.g., America/New_York,
454	// Europe/Paris.
455	TimeZone string `json:"timeZone,omitempty"`
456
457	// ServerResponse contains the HTTP response code and headers from the
458	// server.
459	googleapi.ServerResponse `json:"-"`
460
461	// ForceSendFields is a list of field names (e.g. "AvatarUri") to
462	// unconditionally include in API requests. By default, fields with
463	// empty values are omitted from API requests. However, any non-pointer,
464	// non-interface field appearing in ForceSendFields will be sent to the
465	// server regardless of whether the field is empty or not. This may be
466	// used to include empty fields in Patch requests.
467	ForceSendFields []string `json:"-"`
468
469	// NullFields is a list of field names (e.g. "AvatarUri") to include in
470	// API requests with the JSON null value. By default, fields with empty
471	// values are omitted from API requests. However, any field with an
472	// empty value appearing in NullFields will be sent to the server as
473	// null. It is an error if a field in this list has a non-empty value.
474	// This may be used to include null fields in Patch requests.
475	NullFields []string `json:"-"`
476}
477
478func (s *GoogleCloudDialogflowCxV3Agent) MarshalJSON() ([]byte, error) {
479	type NoMethod GoogleCloudDialogflowCxV3Agent
480	raw := NoMethod(*s)
481	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
482}
483
484// GoogleCloudDialogflowCxV3AgentValidationResult: The response message
485// for Agents.GetAgentValidationResult.
486type GoogleCloudDialogflowCxV3AgentValidationResult struct {
487	// FlowValidationResults: Contains all flow validation results.
488	FlowValidationResults []*GoogleCloudDialogflowCxV3FlowValidationResult `json:"flowValidationResults,omitempty"`
489
490	// Name: The unique identifier of the agent validation result. Format:
491	// `projects//locations//agents//validationResult`.
492	Name string `json:"name,omitempty"`
493
494	// ServerResponse contains the HTTP response code and headers from the
495	// server.
496	googleapi.ServerResponse `json:"-"`
497
498	// ForceSendFields is a list of field names (e.g.
499	// "FlowValidationResults") to unconditionally include in API requests.
500	// By default, fields with empty values are omitted from API requests.
501	// However, any non-pointer, non-interface field appearing in
502	// ForceSendFields will be sent to the server regardless of whether the
503	// field is empty or not. This may be used to include empty fields in
504	// Patch requests.
505	ForceSendFields []string `json:"-"`
506
507	// NullFields is a list of field names (e.g. "FlowValidationResults") to
508	// include in API requests with the JSON null value. By default, fields
509	// with empty values are omitted from API requests. However, any field
510	// with an empty value appearing in NullFields will be sent to the
511	// server as null. It is an error if a field in this list has a
512	// non-empty value. This may be used to include null fields in Patch
513	// requests.
514	NullFields []string `json:"-"`
515}
516
517func (s *GoogleCloudDialogflowCxV3AgentValidationResult) MarshalJSON() ([]byte, error) {
518	type NoMethod GoogleCloudDialogflowCxV3AgentValidationResult
519	raw := NoMethod(*s)
520	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
521}
522
523// GoogleCloudDialogflowCxV3AudioInput: Represents the natural speech
524// audio to be processed.
525type GoogleCloudDialogflowCxV3AudioInput struct {
526	// Audio: The natural language speech audio to be processed. A single
527	// request can contain up to 1 minute of speech audio data. The
528	// transcribed text cannot contain more than 256 bytes. For
529	// non-streaming audio detect intent, both `config` and `audio` must be
530	// provided. For streaming audio detect intent, `config` must be
531	// provided in the first request and `audio` must be provided in all
532	// following requests.
533	Audio string `json:"audio,omitempty"`
534
535	// Config: Required. Instructs the speech recognizer how to process the
536	// speech audio.
537	Config *GoogleCloudDialogflowCxV3InputAudioConfig `json:"config,omitempty"`
538
539	// ForceSendFields is a list of field names (e.g. "Audio") to
540	// unconditionally include in API requests. By default, fields with
541	// empty values are omitted from API requests. However, any non-pointer,
542	// non-interface field appearing in ForceSendFields will be sent to the
543	// server regardless of whether the field is empty or not. This may be
544	// used to include empty fields in Patch requests.
545	ForceSendFields []string `json:"-"`
546
547	// NullFields is a list of field names (e.g. "Audio") to include in API
548	// requests with the JSON null value. By default, fields with empty
549	// values are omitted from API requests. However, any field with an
550	// empty value appearing in NullFields will be sent to the server as
551	// null. It is an error if a field in this list has a non-empty value.
552	// This may be used to include null fields in Patch requests.
553	NullFields []string `json:"-"`
554}
555
556func (s *GoogleCloudDialogflowCxV3AudioInput) MarshalJSON() ([]byte, error) {
557	type NoMethod GoogleCloudDialogflowCxV3AudioInput
558	raw := NoMethod(*s)
559	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
560}
561
562// GoogleCloudDialogflowCxV3BatchDeleteTestCasesRequest: The request
563// message for TestCases.BatchDeleteTestCases.
564type GoogleCloudDialogflowCxV3BatchDeleteTestCasesRequest struct {
565	// Names: Required. Format of test case names: `projects//locations/
566	// /agents//testCases/`.
567	Names []string `json:"names,omitempty"`
568
569	// ForceSendFields is a list of field names (e.g. "Names") to
570	// unconditionally include in API requests. By default, fields with
571	// empty values are omitted from API requests. However, any non-pointer,
572	// non-interface field appearing in ForceSendFields will be sent to the
573	// server regardless of whether the field is empty or not. This may be
574	// used to include empty fields in Patch requests.
575	ForceSendFields []string `json:"-"`
576
577	// NullFields is a list of field names (e.g. "Names") to include in API
578	// requests with the JSON null value. By default, fields with empty
579	// values are omitted from API requests. However, any field with an
580	// empty value appearing in NullFields will be sent to the server as
581	// null. It is an error if a field in this list has a non-empty value.
582	// This may be used to include null fields in Patch requests.
583	NullFields []string `json:"-"`
584}
585
586func (s *GoogleCloudDialogflowCxV3BatchDeleteTestCasesRequest) MarshalJSON() ([]byte, error) {
587	type NoMethod GoogleCloudDialogflowCxV3BatchDeleteTestCasesRequest
588	raw := NoMethod(*s)
589	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
590}
591
592// GoogleCloudDialogflowCxV3BatchRunTestCasesMetadata: Metadata returned
593// for the TestCases.BatchRunTestCases long running operation.
594type GoogleCloudDialogflowCxV3BatchRunTestCasesMetadata struct {
595	// Errors: The test errors.
596	Errors []*GoogleCloudDialogflowCxV3TestError `json:"errors,omitempty"`
597
598	// ForceSendFields is a list of field names (e.g. "Errors") to
599	// unconditionally include in API requests. By default, fields with
600	// empty values are omitted from API requests. However, any non-pointer,
601	// non-interface field appearing in ForceSendFields will be sent to the
602	// server regardless of whether the field is empty or not. This may be
603	// used to include empty fields in Patch requests.
604	ForceSendFields []string `json:"-"`
605
606	// NullFields is a list of field names (e.g. "Errors") to include in API
607	// requests with the JSON null value. By default, fields with empty
608	// values are omitted from API requests. However, any field with an
609	// empty value appearing in NullFields will be sent to the server as
610	// null. It is an error if a field in this list has a non-empty value.
611	// This may be used to include null fields in Patch requests.
612	NullFields []string `json:"-"`
613}
614
615func (s *GoogleCloudDialogflowCxV3BatchRunTestCasesMetadata) MarshalJSON() ([]byte, error) {
616	type NoMethod GoogleCloudDialogflowCxV3BatchRunTestCasesMetadata
617	raw := NoMethod(*s)
618	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
619}
620
621// GoogleCloudDialogflowCxV3BatchRunTestCasesRequest: The request
622// message for TestCases.BatchRunTestCases.
623type GoogleCloudDialogflowCxV3BatchRunTestCasesRequest struct {
624	// Environment: Optional. If not set, draft environment is assumed.
625	// Format: `projects//locations//agents//environments/`.
626	Environment string `json:"environment,omitempty"`
627
628	// TestCases: Required. Format:
629	// `projects//locations//agents//testCases/`.
630	TestCases []string `json:"testCases,omitempty"`
631
632	// ForceSendFields is a list of field names (e.g. "Environment") to
633	// unconditionally include in API requests. By default, fields with
634	// empty values are omitted from API requests. However, any non-pointer,
635	// non-interface field appearing in ForceSendFields will be sent to the
636	// server regardless of whether the field is empty or not. This may be
637	// used to include empty fields in Patch requests.
638	ForceSendFields []string `json:"-"`
639
640	// NullFields is a list of field names (e.g. "Environment") to include
641	// in API requests with the JSON null value. By default, fields with
642	// empty values are omitted from API requests. However, any field with
643	// an empty value appearing in NullFields will be sent to the server as
644	// null. It is an error if a field in this list has a non-empty value.
645	// This may be used to include null fields in Patch requests.
646	NullFields []string `json:"-"`
647}
648
649func (s *GoogleCloudDialogflowCxV3BatchRunTestCasesRequest) MarshalJSON() ([]byte, error) {
650	type NoMethod GoogleCloudDialogflowCxV3BatchRunTestCasesRequest
651	raw := NoMethod(*s)
652	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
653}
654
655// GoogleCloudDialogflowCxV3BatchRunTestCasesResponse: The response
656// message for TestCases.BatchRunTestCases.
657type GoogleCloudDialogflowCxV3BatchRunTestCasesResponse struct {
658	// Results: The test case results. The detailed conversation turns are
659	// empty in this response.
660	Results []*GoogleCloudDialogflowCxV3TestCaseResult `json:"results,omitempty"`
661
662	// ForceSendFields is a list of field names (e.g. "Results") to
663	// unconditionally include in API requests. By default, fields with
664	// empty values are omitted from API requests. However, any non-pointer,
665	// non-interface field appearing in ForceSendFields will be sent to the
666	// server regardless of whether the field is empty or not. This may be
667	// used to include empty fields in Patch requests.
668	ForceSendFields []string `json:"-"`
669
670	// NullFields is a list of field names (e.g. "Results") to include in
671	// API requests with the JSON null value. By default, fields with empty
672	// values are omitted from API requests. However, any field with an
673	// empty value appearing in NullFields will be sent to the server as
674	// null. It is an error if a field in this list has a non-empty value.
675	// This may be used to include null fields in Patch requests.
676	NullFields []string `json:"-"`
677}
678
679func (s *GoogleCloudDialogflowCxV3BatchRunTestCasesResponse) MarshalJSON() ([]byte, error) {
680	type NoMethod GoogleCloudDialogflowCxV3BatchRunTestCasesResponse
681	raw := NoMethod(*s)
682	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
683}
684
685// GoogleCloudDialogflowCxV3CalculateCoverageResponse: The response
686// message for TestCases.CalculateCoverage.
687type GoogleCloudDialogflowCxV3CalculateCoverageResponse struct {
688	// Agent: The agent to calculate coverage for. Format:
689	// `projects//locations//agents/`.
690	Agent string `json:"agent,omitempty"`
691
692	// IntentCoverage: Intent coverage.
693	IntentCoverage *GoogleCloudDialogflowCxV3IntentCoverage `json:"intentCoverage,omitempty"`
694
695	// RouteGroupCoverage: Transition route group coverage.
696	RouteGroupCoverage *GoogleCloudDialogflowCxV3TransitionRouteGroupCoverage `json:"routeGroupCoverage,omitempty"`
697
698	// TransitionCoverage: Transition (excluding transition route groups)
699	// coverage.
700	TransitionCoverage *GoogleCloudDialogflowCxV3TransitionCoverage `json:"transitionCoverage,omitempty"`
701
702	// ServerResponse contains the HTTP response code and headers from the
703	// server.
704	googleapi.ServerResponse `json:"-"`
705
706	// ForceSendFields is a list of field names (e.g. "Agent") to
707	// unconditionally include in API requests. By default, fields with
708	// empty values are omitted from API requests. However, any non-pointer,
709	// non-interface field appearing in ForceSendFields will be sent to the
710	// server regardless of whether the field is empty or not. This may be
711	// used to include empty fields in Patch requests.
712	ForceSendFields []string `json:"-"`
713
714	// NullFields is a list of field names (e.g. "Agent") to include in API
715	// requests with the JSON null value. By default, fields with empty
716	// values are omitted from API requests. However, any field with an
717	// empty value appearing in NullFields will be sent to the server as
718	// null. It is an error if a field in this list has a non-empty value.
719	// This may be used to include null fields in Patch requests.
720	NullFields []string `json:"-"`
721}
722
723func (s *GoogleCloudDialogflowCxV3CalculateCoverageResponse) MarshalJSON() ([]byte, error) {
724	type NoMethod GoogleCloudDialogflowCxV3CalculateCoverageResponse
725	raw := NoMethod(*s)
726	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
727}
728
729// GoogleCloudDialogflowCxV3ConversationTurn: One interaction between a
730// human and virtual agent. The human provides some input and the
731// virtual agent provides a response.
732type GoogleCloudDialogflowCxV3ConversationTurn struct {
733	// UserInput: The user input.
734	UserInput *GoogleCloudDialogflowCxV3ConversationTurnUserInput `json:"userInput,omitempty"`
735
736	// VirtualAgentOutput: The virtual agent output.
737	VirtualAgentOutput *GoogleCloudDialogflowCxV3ConversationTurnVirtualAgentOutput `json:"virtualAgentOutput,omitempty"`
738
739	// ForceSendFields is a list of field names (e.g. "UserInput") to
740	// unconditionally include in API requests. By default, fields with
741	// empty values are omitted from API requests. However, any non-pointer,
742	// non-interface field appearing in ForceSendFields will be sent to the
743	// server regardless of whether the field is empty or not. This may be
744	// used to include empty fields in Patch requests.
745	ForceSendFields []string `json:"-"`
746
747	// NullFields is a list of field names (e.g. "UserInput") to include in
748	// API requests with the JSON null value. By default, fields with empty
749	// values are omitted from API requests. However, any field with an
750	// empty value appearing in NullFields will be sent to the server as
751	// null. It is an error if a field in this list has a non-empty value.
752	// This may be used to include null fields in Patch requests.
753	NullFields []string `json:"-"`
754}
755
756func (s *GoogleCloudDialogflowCxV3ConversationTurn) MarshalJSON() ([]byte, error) {
757	type NoMethod GoogleCloudDialogflowCxV3ConversationTurn
758	raw := NoMethod(*s)
759	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
760}
761
762// GoogleCloudDialogflowCxV3ConversationTurnUserInput: The input from
763// the human user.
764type GoogleCloudDialogflowCxV3ConversationTurnUserInput struct {
765	// InjectedParameters: Parameters that need to be injected into the
766	// conversation during intent detection.
767	InjectedParameters googleapi.RawMessage `json:"injectedParameters,omitempty"`
768
769	// Input: Supports text input, event input, dtmf input in the test case.
770	Input *GoogleCloudDialogflowCxV3QueryInput `json:"input,omitempty"`
771
772	// IsWebhookEnabled: If webhooks should be allowed to trigger in
773	// response to the user utterance. Often if parameters are injected,
774	// webhooks should not be enabled.
775	IsWebhookEnabled bool `json:"isWebhookEnabled,omitempty"`
776
777	// ForceSendFields is a list of field names (e.g. "InjectedParameters")
778	// to unconditionally include in API requests. By default, fields with
779	// empty values are omitted from API requests. However, any non-pointer,
780	// non-interface field appearing in ForceSendFields will be sent to the
781	// server regardless of whether the field is empty or not. This may be
782	// used to include empty fields in Patch requests.
783	ForceSendFields []string `json:"-"`
784
785	// NullFields is a list of field names (e.g. "InjectedParameters") to
786	// include in API requests with the JSON null value. By default, fields
787	// with empty values are omitted from API requests. However, any field
788	// with an empty value appearing in NullFields will be sent to the
789	// server as null. It is an error if a field in this list has a
790	// non-empty value. This may be used to include null fields in Patch
791	// requests.
792	NullFields []string `json:"-"`
793}
794
795func (s *GoogleCloudDialogflowCxV3ConversationTurnUserInput) MarshalJSON() ([]byte, error) {
796	type NoMethod GoogleCloudDialogflowCxV3ConversationTurnUserInput
797	raw := NoMethod(*s)
798	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
799}
800
801// GoogleCloudDialogflowCxV3ConversationTurnVirtualAgentOutput: The
802// output from the virtual agent.
803type GoogleCloudDialogflowCxV3ConversationTurnVirtualAgentOutput struct {
804	// CurrentPage: The Page on which the utterance was spoken. Only name
805	// and displayName will be set.
806	CurrentPage *GoogleCloudDialogflowCxV3Page `json:"currentPage,omitempty"`
807
808	// DiagnosticInfo: Required. Input only. The diagnostic info output for
809	// the turn.
810	DiagnosticInfo googleapi.RawMessage `json:"diagnosticInfo,omitempty"`
811
812	// Differences: Output only. If this is part of a result conversation
813	// turn, the list of differences between the original run and the replay
814	// for this output, if any.
815	Differences []*GoogleCloudDialogflowCxV3TestRunDifference `json:"differences,omitempty"`
816
817	// SessionParameters: The session parameters available to the bot at
818	// this point.
819	SessionParameters googleapi.RawMessage `json:"sessionParameters,omitempty"`
820
821	// Status: Response error from the agent in the test result. If set,
822	// other output is empty.
823	Status *GoogleRpcStatus `json:"status,omitempty"`
824
825	// TextResponses: The text responses from the agent for the turn.
826	TextResponses []*GoogleCloudDialogflowCxV3ResponseMessageText `json:"textResponses,omitempty"`
827
828	// TriggeredIntent: The Intent that triggered the response. Only name
829	// and displayName will be set.
830	TriggeredIntent *GoogleCloudDialogflowCxV3Intent `json:"triggeredIntent,omitempty"`
831
832	// ForceSendFields is a list of field names (e.g. "CurrentPage") to
833	// unconditionally include in API requests. By default, fields with
834	// empty values are omitted from API requests. However, any non-pointer,
835	// non-interface field appearing in ForceSendFields will be sent to the
836	// server regardless of whether the field is empty or not. This may be
837	// used to include empty fields in Patch requests.
838	ForceSendFields []string `json:"-"`
839
840	// NullFields is a list of field names (e.g. "CurrentPage") to include
841	// in API requests with the JSON null value. By default, fields with
842	// empty values are omitted from API requests. However, any field with
843	// an empty value appearing in NullFields will be sent to the server as
844	// null. It is an error if a field in this list has a non-empty value.
845	// This may be used to include null fields in Patch requests.
846	NullFields []string `json:"-"`
847}
848
849func (s *GoogleCloudDialogflowCxV3ConversationTurnVirtualAgentOutput) MarshalJSON() ([]byte, error) {
850	type NoMethod GoogleCloudDialogflowCxV3ConversationTurnVirtualAgentOutput
851	raw := NoMethod(*s)
852	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
853}
854
855// GoogleCloudDialogflowCxV3CreateDocumentOperationMetadata: Metadata
856// for CreateDocument operation.
857type GoogleCloudDialogflowCxV3CreateDocumentOperationMetadata struct {
858	// GenericMetadata: The generic information of the operation.
859	GenericMetadata *GoogleCloudDialogflowCxV3GenericKnowledgeOperationMetadata `json:"genericMetadata,omitempty"`
860
861	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
862	// unconditionally include in API requests. By default, fields with
863	// empty values are omitted from API requests. However, any non-pointer,
864	// non-interface field appearing in ForceSendFields will be sent to the
865	// server regardless of whether the field is empty or not. This may be
866	// used to include empty fields in Patch requests.
867	ForceSendFields []string `json:"-"`
868
869	// NullFields is a list of field names (e.g. "GenericMetadata") to
870	// include in API requests with the JSON null value. By default, fields
871	// with empty values are omitted from API requests. However, any field
872	// with an empty value appearing in NullFields will be sent to the
873	// server as null. It is an error if a field in this list has a
874	// non-empty value. This may be used to include null fields in Patch
875	// requests.
876	NullFields []string `json:"-"`
877}
878
879func (s *GoogleCloudDialogflowCxV3CreateDocumentOperationMetadata) MarshalJSON() ([]byte, error) {
880	type NoMethod GoogleCloudDialogflowCxV3CreateDocumentOperationMetadata
881	raw := NoMethod(*s)
882	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
883}
884
885// GoogleCloudDialogflowCxV3CreateVersionOperationMetadata: Metadata
886// associated with the long running operation for
887// Versions.CreateVersion.
888type GoogleCloudDialogflowCxV3CreateVersionOperationMetadata struct {
889	// Version: Name of the created version. Format:
890	// `projects//locations//agents//flows//versions/`.
891	Version string `json:"version,omitempty"`
892
893	// ForceSendFields is a list of field names (e.g. "Version") to
894	// unconditionally include in API requests. By default, fields with
895	// empty values are omitted from API requests. However, any non-pointer,
896	// non-interface field appearing in ForceSendFields will be sent to the
897	// server regardless of whether the field is empty or not. This may be
898	// used to include empty fields in Patch requests.
899	ForceSendFields []string `json:"-"`
900
901	// NullFields is a list of field names (e.g. "Version") to include in
902	// API requests with the JSON null value. By default, fields with empty
903	// values are omitted from API requests. However, any field with an
904	// empty value appearing in NullFields will be sent to the server as
905	// null. It is an error if a field in this list has a non-empty value.
906	// This may be used to include null fields in Patch requests.
907	NullFields []string `json:"-"`
908}
909
910func (s *GoogleCloudDialogflowCxV3CreateVersionOperationMetadata) MarshalJSON() ([]byte, error) {
911	type NoMethod GoogleCloudDialogflowCxV3CreateVersionOperationMetadata
912	raw := NoMethod(*s)
913	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
914}
915
916// GoogleCloudDialogflowCxV3DeleteDocumentOperationMetadata: Metadata
917// for DeleteDocument operation.
918type GoogleCloudDialogflowCxV3DeleteDocumentOperationMetadata struct {
919	// GenericMetadata: The generic information of the operation.
920	GenericMetadata *GoogleCloudDialogflowCxV3GenericKnowledgeOperationMetadata `json:"genericMetadata,omitempty"`
921
922	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
923	// unconditionally include in API requests. By default, fields with
924	// empty values are omitted from API requests. However, any non-pointer,
925	// non-interface field appearing in ForceSendFields will be sent to the
926	// server regardless of whether the field is empty or not. This may be
927	// used to include empty fields in Patch requests.
928	ForceSendFields []string `json:"-"`
929
930	// NullFields is a list of field names (e.g. "GenericMetadata") to
931	// include in API requests with the JSON null value. By default, fields
932	// with empty values are omitted from API requests. However, any field
933	// with an empty value appearing in NullFields will be sent to the
934	// server as null. It is an error if a field in this list has a
935	// non-empty value. This may be used to include null fields in Patch
936	// requests.
937	NullFields []string `json:"-"`
938}
939
940func (s *GoogleCloudDialogflowCxV3DeleteDocumentOperationMetadata) MarshalJSON() ([]byte, error) {
941	type NoMethod GoogleCloudDialogflowCxV3DeleteDocumentOperationMetadata
942	raw := NoMethod(*s)
943	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
944}
945
946// GoogleCloudDialogflowCxV3DetectIntentRequest: The request to detect
947// user's intent.
948type GoogleCloudDialogflowCxV3DetectIntentRequest struct {
949	// OutputAudioConfig: Instructs the speech synthesizer how to generate
950	// the output audio.
951	OutputAudioConfig *GoogleCloudDialogflowCxV3OutputAudioConfig `json:"outputAudioConfig,omitempty"`
952
953	// QueryInput: Required. The input specification.
954	QueryInput *GoogleCloudDialogflowCxV3QueryInput `json:"queryInput,omitempty"`
955
956	// QueryParams: The parameters of this query.
957	QueryParams *GoogleCloudDialogflowCxV3QueryParameters `json:"queryParams,omitempty"`
958
959	// ForceSendFields is a list of field names (e.g. "OutputAudioConfig")
960	// to unconditionally include in API requests. By default, fields with
961	// empty values are omitted from API requests. However, any non-pointer,
962	// non-interface field appearing in ForceSendFields will be sent to the
963	// server regardless of whether the field is empty or not. This may be
964	// used to include empty fields in Patch requests.
965	ForceSendFields []string `json:"-"`
966
967	// NullFields is a list of field names (e.g. "OutputAudioConfig") to
968	// include in API requests with the JSON null value. By default, fields
969	// with empty values are omitted from API requests. However, any field
970	// with an empty value appearing in NullFields will be sent to the
971	// server as null. It is an error if a field in this list has a
972	// non-empty value. This may be used to include null fields in Patch
973	// requests.
974	NullFields []string `json:"-"`
975}
976
977func (s *GoogleCloudDialogflowCxV3DetectIntentRequest) MarshalJSON() ([]byte, error) {
978	type NoMethod GoogleCloudDialogflowCxV3DetectIntentRequest
979	raw := NoMethod(*s)
980	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
981}
982
983// GoogleCloudDialogflowCxV3DetectIntentResponse: The message returned
984// from the DetectIntent method.
985type GoogleCloudDialogflowCxV3DetectIntentResponse struct {
986	// OutputAudio: The audio data bytes encoded as specified in the
987	// request. Note: The output audio is generated based on the values of
988	// default platform text responses found in the
989	// `query_result.response_messages` field. If multiple default text
990	// responses exist, they will be concatenated when generating audio. If
991	// no default platform text responses exist, the generated audio content
992	// will be empty. In some scenarios, multiple output audio fields may be
993	// present in the response structure. In these cases, only the
994	// top-most-level audio output has content.
995	OutputAudio string `json:"outputAudio,omitempty"`
996
997	// OutputAudioConfig: The config used by the speech synthesizer to
998	// generate the output audio.
999	OutputAudioConfig *GoogleCloudDialogflowCxV3OutputAudioConfig `json:"outputAudioConfig,omitempty"`
1000
1001	// QueryResult: The result of the conversational query.
1002	QueryResult *GoogleCloudDialogflowCxV3QueryResult `json:"queryResult,omitempty"`
1003
1004	// ResponseId: Output only. The unique identifier of the response. It
1005	// can be used to locate a response in the training example set or for
1006	// reporting issues.
1007	ResponseId string `json:"responseId,omitempty"`
1008
1009	// ServerResponse contains the HTTP response code and headers from the
1010	// server.
1011	googleapi.ServerResponse `json:"-"`
1012
1013	// ForceSendFields is a list of field names (e.g. "OutputAudio") to
1014	// unconditionally include in API requests. By default, fields with
1015	// empty values are omitted from API requests. However, any non-pointer,
1016	// non-interface field appearing in ForceSendFields will be sent to the
1017	// server regardless of whether the field is empty or not. This may be
1018	// used to include empty fields in Patch requests.
1019	ForceSendFields []string `json:"-"`
1020
1021	// NullFields is a list of field names (e.g. "OutputAudio") to include
1022	// in API requests with the JSON null value. By default, fields with
1023	// empty values are omitted from API requests. However, any field with
1024	// an empty value appearing in NullFields will be sent to the server as
1025	// null. It is an error if a field in this list has a non-empty value.
1026	// This may be used to include null fields in Patch requests.
1027	NullFields []string `json:"-"`
1028}
1029
1030func (s *GoogleCloudDialogflowCxV3DetectIntentResponse) MarshalJSON() ([]byte, error) {
1031	type NoMethod GoogleCloudDialogflowCxV3DetectIntentResponse
1032	raw := NoMethod(*s)
1033	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1034}
1035
1036// GoogleCloudDialogflowCxV3DtmfInput: Represents the input for dtmf
1037// event.
1038type GoogleCloudDialogflowCxV3DtmfInput struct {
1039	// Digits: The dtmf digits.
1040	Digits string `json:"digits,omitempty"`
1041
1042	// FinishDigit: The finish digit (if any).
1043	FinishDigit string `json:"finishDigit,omitempty"`
1044
1045	// ForceSendFields is a list of field names (e.g. "Digits") to
1046	// unconditionally include in API requests. By default, fields with
1047	// empty values are omitted from API requests. However, any non-pointer,
1048	// non-interface field appearing in ForceSendFields will be sent to the
1049	// server regardless of whether the field is empty or not. This may be
1050	// used to include empty fields in Patch requests.
1051	ForceSendFields []string `json:"-"`
1052
1053	// NullFields is a list of field names (e.g. "Digits") to include in API
1054	// requests with the JSON null value. By default, fields with empty
1055	// values are omitted from API requests. However, any field with an
1056	// empty value appearing in NullFields will be sent to the server as
1057	// null. It is an error if a field in this list has a non-empty value.
1058	// This may be used to include null fields in Patch requests.
1059	NullFields []string `json:"-"`
1060}
1061
1062func (s *GoogleCloudDialogflowCxV3DtmfInput) MarshalJSON() ([]byte, error) {
1063	type NoMethod GoogleCloudDialogflowCxV3DtmfInput
1064	raw := NoMethod(*s)
1065	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1066}
1067
1068// GoogleCloudDialogflowCxV3EntityType: Entities are extracted from user
1069// input and represent parameters that are meaningful to your
1070// application. For example, a date range, a proper name such as a
1071// geographic location or landmark, and so on. Entities represent
1072// actionable data for your application. When you define an entity, you
1073// can also include synonyms that all map to that entity. For example,
1074// "soft drink", "soda", "pop", and so on. There are three types of
1075// entities: * **System** - entities that are defined by the Dialogflow
1076// API for common data types such as date, time, currency, and so on. A
1077// system entity is represented by the `EntityType` type. * **Custom** -
1078// entities that are defined by you that represent actionable data that
1079// is meaningful to your application. For example, you could define a
1080// `pizza.sauce` entity for red or white pizza sauce, a `pizza.cheese`
1081// entity for the different types of cheese on a pizza, a
1082// `pizza.topping` entity for different toppings, and so on. A custom
1083// entity is represented by the `EntityType` type. * **User** - entities
1084// that are built for an individual user such as favorites, preferences,
1085// playlists, and so on. A user entity is represented by the
1086// SessionEntityType type. For more information about entity types, see
1087// the Dialogflow documentation
1088// (https://cloud.google.com/dialogflow/docs/entities-overview).
1089type GoogleCloudDialogflowCxV3EntityType struct {
1090	// AutoExpansionMode: Indicates whether the entity type can be
1091	// automatically expanded.
1092	//
1093	// Possible values:
1094	//   "AUTO_EXPANSION_MODE_UNSPECIFIED" - Auto expansion disabled for the
1095	// entity.
1096	//   "AUTO_EXPANSION_MODE_DEFAULT" - Allows an agent to recognize values
1097	// that have not been explicitly listed in the entity.
1098	AutoExpansionMode string `json:"autoExpansionMode,omitempty"`
1099
1100	// DisplayName: Required. The human-readable name of the entity type,
1101	// unique within the agent.
1102	DisplayName string `json:"displayName,omitempty"`
1103
1104	// EnableFuzzyExtraction: Enables fuzzy entity extraction during
1105	// classification.
1106	EnableFuzzyExtraction bool `json:"enableFuzzyExtraction,omitempty"`
1107
1108	// Entities: The collection of entity entries associated with the entity
1109	// type.
1110	Entities []*GoogleCloudDialogflowCxV3EntityTypeEntity `json:"entities,omitempty"`
1111
1112	// ExcludedPhrases: Collection of exceptional words and phrases that
1113	// shouldn't be matched. For example, if you have a size entity type
1114	// with entry `giant`(an adjective), you might consider adding
1115	// `giants`(a noun) as an exclusion. If the kind of entity type is
1116	// `KIND_MAP`, then the phrases specified by entities and excluded
1117	// phrases should be mutually exclusive.
1118	ExcludedPhrases []*GoogleCloudDialogflowCxV3EntityTypeExcludedPhrase `json:"excludedPhrases,omitempty"`
1119
1120	// Kind: Required. Indicates the kind of entity type.
1121	//
1122	// Possible values:
1123	//   "KIND_UNSPECIFIED" - Not specified. This value should be never
1124	// used.
1125	//   "KIND_MAP" - Map entity types allow mapping of a group of synonyms
1126	// to a canonical value.
1127	//   "KIND_LIST" - List entity types contain a set of entries that do
1128	// not map to canonical values. However, list entity types can contain
1129	// references to other entity types (with or without aliases).
1130	//   "KIND_REGEXP" - Regexp entity types allow to specify regular
1131	// expressions in entries values.
1132	Kind string `json:"kind,omitempty"`
1133
1134	// Name: The unique identifier of the entity type. Required for
1135	// EntityTypes.UpdateEntityType. Format:
1136	// `projects//locations//agents//entityTypes/`.
1137	Name string `json:"name,omitempty"`
1138
1139	// Redact: Indicates whether parameters of the entity type should be
1140	// redacted in log. If redaction is enabled, page parameters and intent
1141	// parameters referring to the entity type will be replaced by parameter
1142	// name when logging.
1143	Redact bool `json:"redact,omitempty"`
1144
1145	// ServerResponse contains the HTTP response code and headers from the
1146	// server.
1147	googleapi.ServerResponse `json:"-"`
1148
1149	// ForceSendFields is a list of field names (e.g. "AutoExpansionMode")
1150	// to unconditionally include in API requests. By default, fields with
1151	// empty values are omitted from API requests. However, any non-pointer,
1152	// non-interface field appearing in ForceSendFields will be sent to the
1153	// server regardless of whether the field is empty or not. This may be
1154	// used to include empty fields in Patch requests.
1155	ForceSendFields []string `json:"-"`
1156
1157	// NullFields is a list of field names (e.g. "AutoExpansionMode") to
1158	// include in API requests with the JSON null value. By default, fields
1159	// with empty values are omitted from API requests. However, any field
1160	// with an empty value appearing in NullFields will be sent to the
1161	// server as null. It is an error if a field in this list has a
1162	// non-empty value. This may be used to include null fields in Patch
1163	// requests.
1164	NullFields []string `json:"-"`
1165}
1166
1167func (s *GoogleCloudDialogflowCxV3EntityType) MarshalJSON() ([]byte, error) {
1168	type NoMethod GoogleCloudDialogflowCxV3EntityType
1169	raw := NoMethod(*s)
1170	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1171}
1172
1173// GoogleCloudDialogflowCxV3EntityTypeEntity: An **entity entry** for an
1174// associated entity type.
1175type GoogleCloudDialogflowCxV3EntityTypeEntity struct {
1176	// Synonyms: Required. A collection of value synonyms. For example, if
1177	// the entity type is *vegetable*, and `value` is *scallions*, a synonym
1178	// could be *green onions*. For `KIND_LIST` entity types: * This
1179	// collection must contain exactly one synonym equal to `value`.
1180	Synonyms []string `json:"synonyms,omitempty"`
1181
1182	// Value: Required. The primary value associated with this entity entry.
1183	// For example, if the entity type is *vegetable*, the value could be
1184	// *scallions*. For `KIND_MAP` entity types: * A canonical value to be
1185	// used in place of synonyms. For `KIND_LIST` entity types: * A string
1186	// that can contain references to other entity types (with or without
1187	// aliases).
1188	Value string `json:"value,omitempty"`
1189
1190	// ForceSendFields is a list of field names (e.g. "Synonyms") to
1191	// unconditionally include in API requests. By default, fields with
1192	// empty values are omitted from API requests. However, any non-pointer,
1193	// non-interface field appearing in ForceSendFields will be sent to the
1194	// server regardless of whether the field is empty or not. This may be
1195	// used to include empty fields in Patch requests.
1196	ForceSendFields []string `json:"-"`
1197
1198	// NullFields is a list of field names (e.g. "Synonyms") to include in
1199	// API requests with the JSON null value. By default, fields with empty
1200	// values are omitted from API requests. However, any field with an
1201	// empty value appearing in NullFields will be sent to the server as
1202	// null. It is an error if a field in this list has a non-empty value.
1203	// This may be used to include null fields in Patch requests.
1204	NullFields []string `json:"-"`
1205}
1206
1207func (s *GoogleCloudDialogflowCxV3EntityTypeEntity) MarshalJSON() ([]byte, error) {
1208	type NoMethod GoogleCloudDialogflowCxV3EntityTypeEntity
1209	raw := NoMethod(*s)
1210	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1211}
1212
1213// GoogleCloudDialogflowCxV3EntityTypeExcludedPhrase: An excluded entity
1214// phrase that should not be matched.
1215type GoogleCloudDialogflowCxV3EntityTypeExcludedPhrase struct {
1216	// Value: Required. The word or phrase to be excluded.
1217	Value string `json:"value,omitempty"`
1218
1219	// ForceSendFields is a list of field names (e.g. "Value") to
1220	// unconditionally include in API requests. By default, fields with
1221	// empty values are omitted from API requests. However, any non-pointer,
1222	// non-interface field appearing in ForceSendFields will be sent to the
1223	// server regardless of whether the field is empty or not. This may be
1224	// used to include empty fields in Patch requests.
1225	ForceSendFields []string `json:"-"`
1226
1227	// NullFields is a list of field names (e.g. "Value") to include in API
1228	// requests with the JSON null value. By default, fields with empty
1229	// values are omitted from API requests. However, any field with an
1230	// empty value appearing in NullFields will be sent to the server as
1231	// null. It is an error if a field in this list has a non-empty value.
1232	// This may be used to include null fields in Patch requests.
1233	NullFields []string `json:"-"`
1234}
1235
1236func (s *GoogleCloudDialogflowCxV3EntityTypeExcludedPhrase) MarshalJSON() ([]byte, error) {
1237	type NoMethod GoogleCloudDialogflowCxV3EntityTypeExcludedPhrase
1238	raw := NoMethod(*s)
1239	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1240}
1241
1242// GoogleCloudDialogflowCxV3Environment: Represents an environment for
1243// an agent. You can create multiple versions of your agent and publish
1244// them to separate environments. When you edit an agent, you are
1245// editing the draft agent. At any point, you can save the draft agent
1246// as an agent version, which is an immutable snapshot of your agent.
1247// When you save the draft agent, it is published to the default
1248// environment. When you create agent versions, you can publish them to
1249// custom environments. You can create a variety of custom environments
1250// for testing, development, production, etc.
1251type GoogleCloudDialogflowCxV3Environment struct {
1252	// Description: The human-readable description of the environment. The
1253	// maximum length is 500 characters. If exceeded, the request is
1254	// rejected.
1255	Description string `json:"description,omitempty"`
1256
1257	// DisplayName: Required. The human-readable name of the environment
1258	// (unique in an agent). Limit of 64 characters.
1259	DisplayName string `json:"displayName,omitempty"`
1260
1261	// Name: The name of the environment. Format:
1262	// `projects//locations//agents//environments/`.
1263	Name string `json:"name,omitempty"`
1264
1265	// UpdateTime: Output only. Update time of this environment.
1266	UpdateTime string `json:"updateTime,omitempty"`
1267
1268	// VersionConfigs: Required. A list of configurations for flow versions.
1269	// You should include version configs for all flows that are reachable
1270	// from `Start Flow` in the agent. Otherwise, an error will be returned.
1271	VersionConfigs []*GoogleCloudDialogflowCxV3EnvironmentVersionConfig `json:"versionConfigs,omitempty"`
1272
1273	// ServerResponse contains the HTTP response code and headers from the
1274	// server.
1275	googleapi.ServerResponse `json:"-"`
1276
1277	// ForceSendFields is a list of field names (e.g. "Description") to
1278	// unconditionally include in API requests. By default, fields with
1279	// empty values are omitted from API requests. However, any non-pointer,
1280	// non-interface field appearing in ForceSendFields will be sent to the
1281	// server regardless of whether the field is empty or not. This may be
1282	// used to include empty fields in Patch requests.
1283	ForceSendFields []string `json:"-"`
1284
1285	// NullFields is a list of field names (e.g. "Description") to include
1286	// in API requests with the JSON null value. By default, fields with
1287	// empty values are omitted from API requests. However, any field with
1288	// an empty value appearing in NullFields will be sent to the server as
1289	// null. It is an error if a field in this list has a non-empty value.
1290	// This may be used to include null fields in Patch requests.
1291	NullFields []string `json:"-"`
1292}
1293
1294func (s *GoogleCloudDialogflowCxV3Environment) MarshalJSON() ([]byte, error) {
1295	type NoMethod GoogleCloudDialogflowCxV3Environment
1296	raw := NoMethod(*s)
1297	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1298}
1299
1300// GoogleCloudDialogflowCxV3EnvironmentVersionConfig: Configuration for
1301// the version.
1302type GoogleCloudDialogflowCxV3EnvironmentVersionConfig struct {
1303	// Version: Required. Format:
1304	// projects//locations//agents//flows//versions/.
1305	Version string `json:"version,omitempty"`
1306
1307	// ForceSendFields is a list of field names (e.g. "Version") to
1308	// unconditionally include in API requests. By default, fields with
1309	// empty values are omitted from API requests. However, any non-pointer,
1310	// non-interface field appearing in ForceSendFields will be sent to the
1311	// server regardless of whether the field is empty or not. This may be
1312	// used to include empty fields in Patch requests.
1313	ForceSendFields []string `json:"-"`
1314
1315	// NullFields is a list of field names (e.g. "Version") to include in
1316	// API requests with the JSON null value. By default, fields with empty
1317	// values are omitted from API requests. However, any field with an
1318	// empty value appearing in NullFields will be sent to the server as
1319	// null. It is an error if a field in this list has a non-empty value.
1320	// This may be used to include null fields in Patch requests.
1321	NullFields []string `json:"-"`
1322}
1323
1324func (s *GoogleCloudDialogflowCxV3EnvironmentVersionConfig) MarshalJSON() ([]byte, error) {
1325	type NoMethod GoogleCloudDialogflowCxV3EnvironmentVersionConfig
1326	raw := NoMethod(*s)
1327	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1328}
1329
1330// GoogleCloudDialogflowCxV3EventHandler: An event handler specifies an
1331// event that can be handled during a session. When the specified event
1332// happens, the following actions are taken in order: * If there is a
1333// `trigger_fulfillment` associated with the event, it will be called. *
1334// If there is a `target_page` associated with the event, the session
1335// will transition into the specified page. * If there is a
1336// `target_flow` associated with the event, the session will transition
1337// into the specified flow.
1338type GoogleCloudDialogflowCxV3EventHandler struct {
1339	// Event: Required. The name of the event to handle.
1340	Event string `json:"event,omitempty"`
1341
1342	// Name: Output only. The unique identifier of this event handler.
1343	Name string `json:"name,omitempty"`
1344
1345	// TargetFlow: The target flow to transition to. Format:
1346	// `projects//locations//agents//flows/`.
1347	TargetFlow string `json:"targetFlow,omitempty"`
1348
1349	// TargetPage: The target page to transition to. Format:
1350	// `projects//locations//agents//flows//pages/`.
1351	TargetPage string `json:"targetPage,omitempty"`
1352
1353	// TriggerFulfillment: The fulfillment to call when the event occurs.
1354	// Handling webhook errors with a fulfillment enabled with webhook could
1355	// cause infinite loop. It is invalid to specify such fulfillment for a
1356	// handler handling webhooks.
1357	TriggerFulfillment *GoogleCloudDialogflowCxV3Fulfillment `json:"triggerFulfillment,omitempty"`
1358
1359	// ForceSendFields is a list of field names (e.g. "Event") to
1360	// unconditionally include in API requests. By default, fields with
1361	// empty values are omitted from API requests. However, any non-pointer,
1362	// non-interface field appearing in ForceSendFields will be sent to the
1363	// server regardless of whether the field is empty or not. This may be
1364	// used to include empty fields in Patch requests.
1365	ForceSendFields []string `json:"-"`
1366
1367	// NullFields is a list of field names (e.g. "Event") to include in API
1368	// requests with the JSON null value. By default, fields with empty
1369	// values are omitted from API requests. However, any field with an
1370	// empty value appearing in NullFields will be sent to the server as
1371	// null. It is an error if a field in this list has a non-empty value.
1372	// This may be used to include null fields in Patch requests.
1373	NullFields []string `json:"-"`
1374}
1375
1376func (s *GoogleCloudDialogflowCxV3EventHandler) MarshalJSON() ([]byte, error) {
1377	type NoMethod GoogleCloudDialogflowCxV3EventHandler
1378	raw := NoMethod(*s)
1379	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1380}
1381
1382// GoogleCloudDialogflowCxV3EventInput: Represents the event to trigger.
1383type GoogleCloudDialogflowCxV3EventInput struct {
1384	// Event: Name of the event.
1385	Event string `json:"event,omitempty"`
1386
1387	// ForceSendFields is a list of field names (e.g. "Event") to
1388	// unconditionally include in API requests. By default, fields with
1389	// empty values are omitted from API requests. However, any non-pointer,
1390	// non-interface field appearing in ForceSendFields will be sent to the
1391	// server regardless of whether the field is empty or not. This may be
1392	// used to include empty fields in Patch requests.
1393	ForceSendFields []string `json:"-"`
1394
1395	// NullFields is a list of field names (e.g. "Event") to include in API
1396	// requests with the JSON null value. By default, fields with empty
1397	// values are omitted from API requests. However, any field with an
1398	// empty value appearing in NullFields will be sent to the server as
1399	// null. It is an error if a field in this list has a non-empty value.
1400	// This may be used to include null fields in Patch requests.
1401	NullFields []string `json:"-"`
1402}
1403
1404func (s *GoogleCloudDialogflowCxV3EventInput) MarshalJSON() ([]byte, error) {
1405	type NoMethod GoogleCloudDialogflowCxV3EventInput
1406	raw := NoMethod(*s)
1407	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1408}
1409
1410// GoogleCloudDialogflowCxV3Experiment: Represents an experiment in an
1411// environment.
1412type GoogleCloudDialogflowCxV3Experiment struct {
1413	// CreateTime: Creation time of this experiment.
1414	CreateTime string `json:"createTime,omitempty"`
1415
1416	// Definition: The definition of the experiment.
1417	Definition *GoogleCloudDialogflowCxV3ExperimentDefinition `json:"definition,omitempty"`
1418
1419	// Description: The human-readable description of the experiment.
1420	Description string `json:"description,omitempty"`
1421
1422	// DisplayName: Required. The human-readable name of the experiment
1423	// (unique in an environment). Limit of 64 characters.
1424	DisplayName string `json:"displayName,omitempty"`
1425
1426	// EndTime: End time of this experiment.
1427	EndTime string `json:"endTime,omitempty"`
1428
1429	// ExperimentLength: Maximum number of days to run the
1430	// experiment/rollout. If auto-rollout is not enabled, default value and
1431	// maximum will be 30 days. If auto-rollout is enabled, default value
1432	// and maximum will be 6 days.
1433	ExperimentLength string `json:"experimentLength,omitempty"`
1434
1435	// LastUpdateTime: Last update time of this experiment.
1436	LastUpdateTime string `json:"lastUpdateTime,omitempty"`
1437
1438	// Name: The name of the experiment. Format:
1439	// projects//locations//agents//environments//experiments/..
1440	Name string `json:"name,omitempty"`
1441
1442	// Result: Inference result of the experiment.
1443	Result *GoogleCloudDialogflowCxV3ExperimentResult `json:"result,omitempty"`
1444
1445	// StartTime: Start time of this experiment.
1446	StartTime string `json:"startTime,omitempty"`
1447
1448	// State: The current state of the experiment. Transition triggered by
1449	// Expriments.StartExperiment: PENDING->RUNNING. Transition triggered by
1450	// Expriments.CancelExperiment: PENDING->CANCELLED or
1451	// RUNNING->CANCELLED.
1452	//
1453	// Possible values:
1454	//   "STATE_UNSPECIFIED" - State unspecified.
1455	//   "DRAFT" - The experiment is created but not started yet.
1456	//   "RUNNING" - The experiment is running.
1457	//   "DONE" - The experiment is done.
1458	State string `json:"state,omitempty"`
1459
1460	// VariantsHistory: The history of updates to the experiment variants.
1461	VariantsHistory []*GoogleCloudDialogflowCxV3VariantsHistory `json:"variantsHistory,omitempty"`
1462
1463	// ServerResponse contains the HTTP response code and headers from the
1464	// server.
1465	googleapi.ServerResponse `json:"-"`
1466
1467	// ForceSendFields is a list of field names (e.g. "CreateTime") to
1468	// unconditionally include in API requests. By default, fields with
1469	// empty values are omitted from API requests. However, any non-pointer,
1470	// non-interface field appearing in ForceSendFields will be sent to the
1471	// server regardless of whether the field is empty or not. This may be
1472	// used to include empty fields in Patch requests.
1473	ForceSendFields []string `json:"-"`
1474
1475	// NullFields is a list of field names (e.g. "CreateTime") to include in
1476	// API requests with the JSON null value. By default, fields with empty
1477	// values are omitted from API requests. However, any field with an
1478	// empty value appearing in NullFields will be sent to the server as
1479	// null. It is an error if a field in this list has a non-empty value.
1480	// This may be used to include null fields in Patch requests.
1481	NullFields []string `json:"-"`
1482}
1483
1484func (s *GoogleCloudDialogflowCxV3Experiment) MarshalJSON() ([]byte, error) {
1485	type NoMethod GoogleCloudDialogflowCxV3Experiment
1486	raw := NoMethod(*s)
1487	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1488}
1489
1490// GoogleCloudDialogflowCxV3ExperimentDefinition: Definition of the
1491// experiment.
1492type GoogleCloudDialogflowCxV3ExperimentDefinition struct {
1493	// Condition: The condition defines which subset of sessions are
1494	// selected for this experiment. If not specified, all sessions are
1495	// eligible. E.g. "query_input.language_code=en" See the conditions
1496	// reference
1497	// (https://cloud.google.com/dialogflow/cx/docs/reference/condition).
1498	Condition string `json:"condition,omitempty"`
1499
1500	// VersionVariants: The flow versions as the variants of this
1501	// experiment.
1502	VersionVariants *GoogleCloudDialogflowCxV3VersionVariants `json:"versionVariants,omitempty"`
1503
1504	// ForceSendFields is a list of field names (e.g. "Condition") to
1505	// unconditionally include in API requests. By default, fields with
1506	// empty values are omitted from API requests. However, any non-pointer,
1507	// non-interface field appearing in ForceSendFields will be sent to the
1508	// server regardless of whether the field is empty or not. This may be
1509	// used to include empty fields in Patch requests.
1510	ForceSendFields []string `json:"-"`
1511
1512	// NullFields is a list of field names (e.g. "Condition") to include in
1513	// API requests with the JSON null value. By default, fields with empty
1514	// values are omitted from API requests. However, any field with an
1515	// empty value appearing in NullFields will be sent to the server as
1516	// null. It is an error if a field in this list has a non-empty value.
1517	// This may be used to include null fields in Patch requests.
1518	NullFields []string `json:"-"`
1519}
1520
1521func (s *GoogleCloudDialogflowCxV3ExperimentDefinition) MarshalJSON() ([]byte, error) {
1522	type NoMethod GoogleCloudDialogflowCxV3ExperimentDefinition
1523	raw := NoMethod(*s)
1524	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1525}
1526
1527// GoogleCloudDialogflowCxV3ExperimentResult: The inference result which
1528// includes an objective metric to optimize and the confidence interval.
1529type GoogleCloudDialogflowCxV3ExperimentResult struct {
1530	// LastUpdateTime: The last time the experiment's stats data was
1531	// updated. Will have default value if stats have never been computed
1532	// for this experiment.
1533	LastUpdateTime string `json:"lastUpdateTime,omitempty"`
1534
1535	// VersionMetrics: Version variants and metrics.
1536	VersionMetrics []*GoogleCloudDialogflowCxV3ExperimentResultVersionMetrics `json:"versionMetrics,omitempty"`
1537
1538	// ForceSendFields is a list of field names (e.g. "LastUpdateTime") to
1539	// unconditionally include in API requests. By default, fields with
1540	// empty values are omitted from API requests. However, any non-pointer,
1541	// non-interface field appearing in ForceSendFields will be sent to the
1542	// server regardless of whether the field is empty or not. This may be
1543	// used to include empty fields in Patch requests.
1544	ForceSendFields []string `json:"-"`
1545
1546	// NullFields is a list of field names (e.g. "LastUpdateTime") to
1547	// include in API requests with the JSON null value. By default, fields
1548	// with empty values are omitted from API requests. However, any field
1549	// with an empty value appearing in NullFields will be sent to the
1550	// server as null. It is an error if a field in this list has a
1551	// non-empty value. This may be used to include null fields in Patch
1552	// requests.
1553	NullFields []string `json:"-"`
1554}
1555
1556func (s *GoogleCloudDialogflowCxV3ExperimentResult) MarshalJSON() ([]byte, error) {
1557	type NoMethod GoogleCloudDialogflowCxV3ExperimentResult
1558	raw := NoMethod(*s)
1559	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1560}
1561
1562// GoogleCloudDialogflowCxV3ExperimentResultConfidenceInterval: A
1563// confidence interval is a range of possible values for the experiment
1564// objective you are trying to measure.
1565type GoogleCloudDialogflowCxV3ExperimentResultConfidenceInterval struct {
1566	// ConfidenceLevel: The confidence level used to construct the interval,
1567	// i.e. there is X% chance that the true value is within this interval.
1568	ConfidenceLevel float64 `json:"confidenceLevel,omitempty"`
1569
1570	// LowerBound: Lower bound of the interval.
1571	LowerBound float64 `json:"lowerBound,omitempty"`
1572
1573	// Ratio: The percent change between an experiment metric's value and
1574	// the value for its control.
1575	Ratio float64 `json:"ratio,omitempty"`
1576
1577	// UpperBound: Upper bound of the interval.
1578	UpperBound float64 `json:"upperBound,omitempty"`
1579
1580	// ForceSendFields is a list of field names (e.g. "ConfidenceLevel") to
1581	// unconditionally include in API requests. By default, fields with
1582	// empty values are omitted from API requests. However, any non-pointer,
1583	// non-interface field appearing in ForceSendFields will be sent to the
1584	// server regardless of whether the field is empty or not. This may be
1585	// used to include empty fields in Patch requests.
1586	ForceSendFields []string `json:"-"`
1587
1588	// NullFields is a list of field names (e.g. "ConfidenceLevel") to
1589	// include in API requests with the JSON null value. By default, fields
1590	// with empty values are omitted from API requests. However, any field
1591	// with an empty value appearing in NullFields will be sent to the
1592	// server as null. It is an error if a field in this list has a
1593	// non-empty value. This may be used to include null fields in Patch
1594	// requests.
1595	NullFields []string `json:"-"`
1596}
1597
1598func (s *GoogleCloudDialogflowCxV3ExperimentResultConfidenceInterval) MarshalJSON() ([]byte, error) {
1599	type NoMethod GoogleCloudDialogflowCxV3ExperimentResultConfidenceInterval
1600	raw := NoMethod(*s)
1601	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1602}
1603
1604func (s *GoogleCloudDialogflowCxV3ExperimentResultConfidenceInterval) UnmarshalJSON(data []byte) error {
1605	type NoMethod GoogleCloudDialogflowCxV3ExperimentResultConfidenceInterval
1606	var s1 struct {
1607		ConfidenceLevel gensupport.JSONFloat64 `json:"confidenceLevel"`
1608		LowerBound      gensupport.JSONFloat64 `json:"lowerBound"`
1609		Ratio           gensupport.JSONFloat64 `json:"ratio"`
1610		UpperBound      gensupport.JSONFloat64 `json:"upperBound"`
1611		*NoMethod
1612	}
1613	s1.NoMethod = (*NoMethod)(s)
1614	if err := json.Unmarshal(data, &s1); err != nil {
1615		return err
1616	}
1617	s.ConfidenceLevel = float64(s1.ConfidenceLevel)
1618	s.LowerBound = float64(s1.LowerBound)
1619	s.Ratio = float64(s1.Ratio)
1620	s.UpperBound = float64(s1.UpperBound)
1621	return nil
1622}
1623
1624// GoogleCloudDialogflowCxV3ExperimentResultMetric: Metric and
1625// corresponding confidence intervals.
1626type GoogleCloudDialogflowCxV3ExperimentResultMetric struct {
1627	// ConfidenceInterval: The probability that the treatment is better than
1628	// all other treatments in the experiment
1629	ConfidenceInterval *GoogleCloudDialogflowCxV3ExperimentResultConfidenceInterval `json:"confidenceInterval,omitempty"`
1630
1631	// Count: Count value of a metric.
1632	Count float64 `json:"count,omitempty"`
1633
1634	// CountType: Count-based metric type. Only one of type or count_type is
1635	// specified in each Metric.
1636	//
1637	// Possible values:
1638	//   "COUNT_TYPE_UNSPECIFIED" - Count type unspecified.
1639	//   "TOTAL_NO_MATCH_COUNT" - Total number of occurrences of a
1640	// 'NO_MATCH'.
1641	//   "TOTAL_TURN_COUNT" - Total number of turn counts.
1642	//   "AVERAGE_TURN_COUNT" - Average turn count in a session.
1643	CountType string `json:"countType,omitempty"`
1644
1645	// Ratio: Ratio value of a metric.
1646	Ratio float64 `json:"ratio,omitempty"`
1647
1648	// Type: Ratio-based metric type. Only one of type or count_type is
1649	// specified in each Metric.
1650	//
1651	// Possible values:
1652	//   "METRIC_UNSPECIFIED" - Metric unspecified.
1653	//   "CONTAINED_SESSION_NO_CALLBACK_RATE" - Percentage of contained
1654	// sessions without user calling back in 24 hours.
1655	//   "LIVE_AGENT_HANDOFF_RATE" - Percentage of sessions that were handed
1656	// to a human agent.
1657	//   "CALLBACK_SESSION_RATE" - Percentage of sessions with the same user
1658	// calling back.
1659	//   "ABANDONED_SESSION_RATE" - Percentage of sessions where user hung
1660	// up.
1661	//   "SESSION_END_RATE" - Percentage of sessions reached Dialogflow
1662	// 'END_PAGE' or 'END_SESSION'.
1663	Type string `json:"type,omitempty"`
1664
1665	// ForceSendFields is a list of field names (e.g. "ConfidenceInterval")
1666	// to unconditionally include in API requests. By default, fields with
1667	// empty values are omitted from API requests. However, any non-pointer,
1668	// non-interface field appearing in ForceSendFields will be sent to the
1669	// server regardless of whether the field is empty or not. This may be
1670	// used to include empty fields in Patch requests.
1671	ForceSendFields []string `json:"-"`
1672
1673	// NullFields is a list of field names (e.g. "ConfidenceInterval") to
1674	// include in API requests with the JSON null value. By default, fields
1675	// with empty values are omitted from API requests. However, any field
1676	// with an empty value appearing in NullFields will be sent to the
1677	// server as null. It is an error if a field in this list has a
1678	// non-empty value. This may be used to include null fields in Patch
1679	// requests.
1680	NullFields []string `json:"-"`
1681}
1682
1683func (s *GoogleCloudDialogflowCxV3ExperimentResultMetric) MarshalJSON() ([]byte, error) {
1684	type NoMethod GoogleCloudDialogflowCxV3ExperimentResultMetric
1685	raw := NoMethod(*s)
1686	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1687}
1688
1689func (s *GoogleCloudDialogflowCxV3ExperimentResultMetric) UnmarshalJSON(data []byte) error {
1690	type NoMethod GoogleCloudDialogflowCxV3ExperimentResultMetric
1691	var s1 struct {
1692		Count gensupport.JSONFloat64 `json:"count"`
1693		Ratio gensupport.JSONFloat64 `json:"ratio"`
1694		*NoMethod
1695	}
1696	s1.NoMethod = (*NoMethod)(s)
1697	if err := json.Unmarshal(data, &s1); err != nil {
1698		return err
1699	}
1700	s.Count = float64(s1.Count)
1701	s.Ratio = float64(s1.Ratio)
1702	return nil
1703}
1704
1705// GoogleCloudDialogflowCxV3ExperimentResultVersionMetrics: Version
1706// variant and associated metrics.
1707type GoogleCloudDialogflowCxV3ExperimentResultVersionMetrics struct {
1708	// Metrics: The metrics and corresponding confidence intervals in the
1709	// inference result.
1710	Metrics []*GoogleCloudDialogflowCxV3ExperimentResultMetric `json:"metrics,omitempty"`
1711
1712	// SessionCount: Number of sessions that were allocated to this version.
1713	SessionCount int64 `json:"sessionCount,omitempty"`
1714
1715	// Version: The name of the flow Version. Format:
1716	// `projects//locations//agents//flows//versions/`.
1717	Version string `json:"version,omitempty"`
1718
1719	// ForceSendFields is a list of field names (e.g. "Metrics") to
1720	// unconditionally include in API requests. By default, fields with
1721	// empty values are omitted from API requests. However, any non-pointer,
1722	// non-interface field appearing in ForceSendFields will be sent to the
1723	// server regardless of whether the field is empty or not. This may be
1724	// used to include empty fields in Patch requests.
1725	ForceSendFields []string `json:"-"`
1726
1727	// NullFields is a list of field names (e.g. "Metrics") to include in
1728	// API requests with the JSON null value. By default, fields with empty
1729	// values are omitted from API requests. However, any field with an
1730	// empty value appearing in NullFields will be sent to the server as
1731	// null. It is an error if a field in this list has a non-empty value.
1732	// This may be used to include null fields in Patch requests.
1733	NullFields []string `json:"-"`
1734}
1735
1736func (s *GoogleCloudDialogflowCxV3ExperimentResultVersionMetrics) MarshalJSON() ([]byte, error) {
1737	type NoMethod GoogleCloudDialogflowCxV3ExperimentResultVersionMetrics
1738	raw := NoMethod(*s)
1739	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1740}
1741
1742// GoogleCloudDialogflowCxV3ExportAgentRequest: The request message for
1743// Agents.ExportAgent.
1744type GoogleCloudDialogflowCxV3ExportAgentRequest struct {
1745	// AgentUri: Optional. The Google Cloud Storage
1746	// (https://cloud.google.com/storage/docs/) URI to export the agent to.
1747	// The format of this URI must be `gs:///`. If left unspecified, the
1748	// serialized agent is returned inline.
1749	AgentUri string `json:"agentUri,omitempty"`
1750
1751	// ForceSendFields is a list of field names (e.g. "AgentUri") to
1752	// unconditionally include in API requests. By default, fields with
1753	// empty values are omitted from API requests. However, any non-pointer,
1754	// non-interface field appearing in ForceSendFields will be sent to the
1755	// server regardless of whether the field is empty or not. This may be
1756	// used to include empty fields in Patch requests.
1757	ForceSendFields []string `json:"-"`
1758
1759	// NullFields is a list of field names (e.g. "AgentUri") to include in
1760	// API requests with the JSON null value. By default, fields with empty
1761	// values are omitted from API requests. However, any field with an
1762	// empty value appearing in NullFields will be sent to the server as
1763	// null. It is an error if a field in this list has a non-empty value.
1764	// This may be used to include null fields in Patch requests.
1765	NullFields []string `json:"-"`
1766}
1767
1768func (s *GoogleCloudDialogflowCxV3ExportAgentRequest) MarshalJSON() ([]byte, error) {
1769	type NoMethod GoogleCloudDialogflowCxV3ExportAgentRequest
1770	raw := NoMethod(*s)
1771	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1772}
1773
1774// GoogleCloudDialogflowCxV3ExportAgentResponse: The response message
1775// for Agents.ExportAgent.
1776type GoogleCloudDialogflowCxV3ExportAgentResponse struct {
1777	// AgentContent: Uncompressed raw byte content for agent.
1778	AgentContent string `json:"agentContent,omitempty"`
1779
1780	// AgentUri: The URI to a file containing the exported agent. This field
1781	// is populated only if `agent_uri` is specified in ExportAgentRequest.
1782	AgentUri string `json:"agentUri,omitempty"`
1783
1784	// ForceSendFields is a list of field names (e.g. "AgentContent") to
1785	// unconditionally include in API requests. By default, fields with
1786	// empty values are omitted from API requests. However, any non-pointer,
1787	// non-interface field appearing in ForceSendFields will be sent to the
1788	// server regardless of whether the field is empty or not. This may be
1789	// used to include empty fields in Patch requests.
1790	ForceSendFields []string `json:"-"`
1791
1792	// NullFields is a list of field names (e.g. "AgentContent") to include
1793	// in API requests with the JSON null value. By default, fields with
1794	// empty values are omitted from API requests. However, any field with
1795	// an empty value appearing in NullFields will be sent to the server as
1796	// null. It is an error if a field in this list has a non-empty value.
1797	// This may be used to include null fields in Patch requests.
1798	NullFields []string `json:"-"`
1799}
1800
1801func (s *GoogleCloudDialogflowCxV3ExportAgentResponse) MarshalJSON() ([]byte, error) {
1802	type NoMethod GoogleCloudDialogflowCxV3ExportAgentResponse
1803	raw := NoMethod(*s)
1804	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1805}
1806
1807// GoogleCloudDialogflowCxV3ExportTestCasesMetadata: Metadata returned
1808// for the TestCases.ExportTestCases long running operation.
1809type GoogleCloudDialogflowCxV3ExportTestCasesMetadata struct {
1810}
1811
1812// GoogleCloudDialogflowCxV3ExportTestCasesRequest: The request message
1813// for TestCases.ExportTestCases.
1814type GoogleCloudDialogflowCxV3ExportTestCasesRequest struct {
1815	// DataFormat: The data format of the exported test cases. If not
1816	// specified, `BLOB` is assumed.
1817	//
1818	// Possible values:
1819	//   "DATA_FORMAT_UNSPECIFIED" - Unspecified format.
1820	//   "BLOB" - Raw bytes.
1821	//   "JSON" - JSON format.
1822	DataFormat string `json:"dataFormat,omitempty"`
1823
1824	// Filter: The filter expression used to filter exported test cases, see
1825	// API Filtering (https://aip.dev/160). The expression is case
1826	// insensitive and supports the following syntax: name = [OR name = ]
1827	// ... For example: * "name = t1 OR name = t2" matches the test case
1828	// with the exact resource name "t1" or "t2".
1829	Filter string `json:"filter,omitempty"`
1830
1831	// GcsUri: The Google Cloud Storage
1832	// (https://cloud.google.com/storage/docs/) URI to export the test cases
1833	// to. The format of this URI must be `gs:///`. If unspecified, the
1834	// serialized test cases is returned inline.
1835	GcsUri string `json:"gcsUri,omitempty"`
1836
1837	// ForceSendFields is a list of field names (e.g. "DataFormat") to
1838	// unconditionally include in API requests. By default, fields with
1839	// empty values are omitted from API requests. However, any non-pointer,
1840	// non-interface field appearing in ForceSendFields will be sent to the
1841	// server regardless of whether the field is empty or not. This may be
1842	// used to include empty fields in Patch requests.
1843	ForceSendFields []string `json:"-"`
1844
1845	// NullFields is a list of field names (e.g. "DataFormat") to include in
1846	// API requests with the JSON null value. By default, fields with empty
1847	// values are omitted from API requests. However, any field with an
1848	// empty value appearing in NullFields will be sent to the server as
1849	// null. It is an error if a field in this list has a non-empty value.
1850	// This may be used to include null fields in Patch requests.
1851	NullFields []string `json:"-"`
1852}
1853
1854func (s *GoogleCloudDialogflowCxV3ExportTestCasesRequest) MarshalJSON() ([]byte, error) {
1855	type NoMethod GoogleCloudDialogflowCxV3ExportTestCasesRequest
1856	raw := NoMethod(*s)
1857	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1858}
1859
1860// GoogleCloudDialogflowCxV3ExportTestCasesResponse: The response
1861// message for TestCases.ExportTestCases.
1862type GoogleCloudDialogflowCxV3ExportTestCasesResponse struct {
1863	// Content: Uncompressed raw byte content for test cases.
1864	Content string `json:"content,omitempty"`
1865
1866	// GcsUri: The URI to a file containing the exported test cases. This
1867	// field is populated only if `gcs_uri` is specified in
1868	// ExportTestCasesRequest.
1869	GcsUri string `json:"gcsUri,omitempty"`
1870
1871	// ForceSendFields is a list of field names (e.g. "Content") to
1872	// 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. "Content") to include in
1880	// API requests with the JSON null value. By default, fields with empty
1881	// values are omitted from API requests. However, any field with an
1882	// empty value appearing in NullFields will be sent to the server as
1883	// null. It is an error if a field in this list has a non-empty value.
1884	// This may be used to include null fields in Patch requests.
1885	NullFields []string `json:"-"`
1886}
1887
1888func (s *GoogleCloudDialogflowCxV3ExportTestCasesResponse) MarshalJSON() ([]byte, error) {
1889	type NoMethod GoogleCloudDialogflowCxV3ExportTestCasesResponse
1890	raw := NoMethod(*s)
1891	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1892}
1893
1894// GoogleCloudDialogflowCxV3Flow: Flows represents the conversation
1895// flows when you build your chatbot agent. A flow consists of many
1896// pages connected by the transition routes. Conversations always start
1897// with the built-in Start Flow (with an all-0 ID). Transition routes
1898// can direct the conversation session from the current flow (parent
1899// flow) to another flow (sub flow). When the sub flow is finished,
1900// Dialogflow will bring the session back to the parent flow, where the
1901// sub flow is started. Usually, when a transition route is followed by
1902// a matched intent, the intent will be "consumed". This means the
1903// intent won't activate more transition routes. However, when the
1904// followed transition route moves the conversation session into a
1905// different flow, the matched intent can be carried over and to be
1906// consumed in the target flow.
1907type GoogleCloudDialogflowCxV3Flow struct {
1908	// Description: The description of the flow. The maximum length is 500
1909	// characters. If exceeded, the request is rejected.
1910	Description string `json:"description,omitempty"`
1911
1912	// DisplayName: Required. The human-readable name of the flow.
1913	DisplayName string `json:"displayName,omitempty"`
1914
1915	// EventHandlers: A flow's event handlers serve two purposes: * They are
1916	// responsible for handling events (e.g. no match, webhook errors) in
1917	// the flow. * They are inherited by every page's event handlers, which
1918	// can be used to handle common events regardless of the current page.
1919	// Event handlers defined in the page have higher priority than those
1920	// defined in the flow. Unlike transition_routes, these handlers are
1921	// evaluated on a first-match basis. The first one that matches the
1922	// event get executed, with the rest being ignored.
1923	EventHandlers []*GoogleCloudDialogflowCxV3EventHandler `json:"eventHandlers,omitempty"`
1924
1925	// Name: The unique identifier of the flow. Format:
1926	// `projects//locations//agents//flows/`.
1927	Name string `json:"name,omitempty"`
1928
1929	// NluSettings: NLU related settings of the flow.
1930	NluSettings *GoogleCloudDialogflowCxV3NluSettings `json:"nluSettings,omitempty"`
1931
1932	// TransitionRouteGroups: A flow's transition route group serve two
1933	// purposes: * They are responsible for matching the user's first
1934	// utterances in the flow. * They are inherited by every page's
1935	// transition route groups. Transition route groups defined in the page
1936	// have higher priority than those defined in the flow.
1937	// Format:`projects//locations//agents//flows//transitionRouteGroups/`.
1938	TransitionRouteGroups []string `json:"transitionRouteGroups,omitempty"`
1939
1940	// TransitionRoutes: A flow's transition routes serve two purposes: *
1941	// They are responsible for matching the user's first utterances in the
1942	// flow. * They are inherited by every page's transition routes and can
1943	// support use cases such as the user saying "help" or "can I talk to a
1944	// human?", which can be handled in a common way regardless of the
1945	// current page. Transition routes defined in the page have higher
1946	// priority than those defined in the flow. TransitionRoutes are
1947	// evalauted in the following order: * TransitionRoutes with intent
1948	// specified.. * TransitionRoutes with only condition specified.
1949	// TransitionRoutes with intent specified are inherited by pages in the
1950	// flow.
1951	TransitionRoutes []*GoogleCloudDialogflowCxV3TransitionRoute `json:"transitionRoutes,omitempty"`
1952
1953	// ServerResponse contains the HTTP response code and headers from the
1954	// server.
1955	googleapi.ServerResponse `json:"-"`
1956
1957	// ForceSendFields is a list of field names (e.g. "Description") to
1958	// unconditionally include in API requests. By default, fields with
1959	// empty values are omitted from API requests. However, any non-pointer,
1960	// non-interface field appearing in ForceSendFields will be sent to the
1961	// server regardless of whether the field is empty or not. This may be
1962	// used to include empty fields in Patch requests.
1963	ForceSendFields []string `json:"-"`
1964
1965	// NullFields is a list of field names (e.g. "Description") to include
1966	// in API requests with the JSON null value. By default, fields with
1967	// empty values are omitted from API requests. However, any field with
1968	// an empty value appearing in NullFields will be sent to the server as
1969	// null. It is an error if a field in this list has a non-empty value.
1970	// This may be used to include null fields in Patch requests.
1971	NullFields []string `json:"-"`
1972}
1973
1974func (s *GoogleCloudDialogflowCxV3Flow) MarshalJSON() ([]byte, error) {
1975	type NoMethod GoogleCloudDialogflowCxV3Flow
1976	raw := NoMethod(*s)
1977	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1978}
1979
1980// GoogleCloudDialogflowCxV3FlowValidationResult: The response message
1981// for Flows.GetFlowValidationResult.
1982type GoogleCloudDialogflowCxV3FlowValidationResult struct {
1983	// Name: The unique identifier of the flow validation result. Format:
1984	// `projects//locations//agents//flows//validationResult`.
1985	Name string `json:"name,omitempty"`
1986
1987	// UpdateTime: Last time the flow was validated.
1988	UpdateTime string `json:"updateTime,omitempty"`
1989
1990	// ValidationMessages: Contains all validation messages.
1991	ValidationMessages []*GoogleCloudDialogflowCxV3ValidationMessage `json:"validationMessages,omitempty"`
1992
1993	// ServerResponse contains the HTTP response code and headers from the
1994	// server.
1995	googleapi.ServerResponse `json:"-"`
1996
1997	// ForceSendFields is a list of field names (e.g. "Name") to
1998	// unconditionally include in API requests. By default, fields with
1999	// empty values are omitted from API requests. However, any non-pointer,
2000	// non-interface field appearing in ForceSendFields will be sent to the
2001	// server regardless of whether the field is empty or not. This may be
2002	// used to include empty fields in Patch requests.
2003	ForceSendFields []string `json:"-"`
2004
2005	// NullFields is a list of field names (e.g. "Name") to include in API
2006	// requests with the JSON null value. By default, fields with empty
2007	// values are omitted from API requests. However, any field with an
2008	// empty value appearing in NullFields will be sent to the server as
2009	// null. It is an error if a field in this list has a non-empty value.
2010	// This may be used to include null fields in Patch requests.
2011	NullFields []string `json:"-"`
2012}
2013
2014func (s *GoogleCloudDialogflowCxV3FlowValidationResult) MarshalJSON() ([]byte, error) {
2015	type NoMethod GoogleCloudDialogflowCxV3FlowValidationResult
2016	raw := NoMethod(*s)
2017	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2018}
2019
2020// GoogleCloudDialogflowCxV3Form: A form is a data model that groups
2021// related parameters that can be collected from the user. The process
2022// in which the agent prompts the user and collects parameter values
2023// from the user is called form filling. A form can be added to a page.
2024// When form filling is done, the filled parameters will be written to
2025// the session.
2026type GoogleCloudDialogflowCxV3Form struct {
2027	// Parameters: Parameters to collect from the user.
2028	Parameters []*GoogleCloudDialogflowCxV3FormParameter `json:"parameters,omitempty"`
2029
2030	// ForceSendFields is a list of field names (e.g. "Parameters") 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. "Parameters") 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 *GoogleCloudDialogflowCxV3Form) MarshalJSON() ([]byte, error) {
2048	type NoMethod GoogleCloudDialogflowCxV3Form
2049	raw := NoMethod(*s)
2050	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2051}
2052
2053// GoogleCloudDialogflowCxV3FormParameter: Represents a form parameter.
2054type GoogleCloudDialogflowCxV3FormParameter struct {
2055	// DefaultValue: The default value of an optional parameter. If the
2056	// parameter is required, the default value will be ignored.
2057	DefaultValue interface{} `json:"defaultValue,omitempty"`
2058
2059	// DisplayName: Required. The human-readable name of the parameter,
2060	// unique within the form.
2061	DisplayName string `json:"displayName,omitempty"`
2062
2063	// EntityType: Required. The entity type of the parameter. Format:
2064	// `projects/-/locations/-/agents/-/entityTypes/` for system entity
2065	// types (for example,
2066	// `projects/-/locations/-/agents/-/entityTypes/sys.date`), or
2067	// `projects//locations//agents//entityTypes/` for developer entity
2068	// types.
2069	EntityType string `json:"entityType,omitempty"`
2070
2071	// FillBehavior: Required. Defines fill behavior for the parameter.
2072	FillBehavior *GoogleCloudDialogflowCxV3FormParameterFillBehavior `json:"fillBehavior,omitempty"`
2073
2074	// IsList: Indicates whether the parameter represents a list of values.
2075	IsList bool `json:"isList,omitempty"`
2076
2077	// Redact: Indicates whether the parameter content should be redacted in
2078	// log. If redaction is enabled, the parameter content will be replaced
2079	// by parameter name during logging. Note: the parameter content is
2080	// subject to redaction if either parameter level redaction or entity
2081	// type level redaction is enabled.
2082	Redact bool `json:"redact,omitempty"`
2083
2084	// Required: Indicates whether the parameter is required. Optional
2085	// parameters will not trigger prompts; however, they are filled if the
2086	// user specifies them. Required parameters must be filled before form
2087	// filling concludes.
2088	Required bool `json:"required,omitempty"`
2089
2090	// ForceSendFields is a list of field names (e.g. "DefaultValue") to
2091	// unconditionally include in API requests. By default, fields with
2092	// empty values are omitted from API requests. However, any non-pointer,
2093	// non-interface field appearing in ForceSendFields will be sent to the
2094	// server regardless of whether the field is empty or not. This may be
2095	// used to include empty fields in Patch requests.
2096	ForceSendFields []string `json:"-"`
2097
2098	// NullFields is a list of field names (e.g. "DefaultValue") to include
2099	// in API requests with the JSON null value. By default, fields with
2100	// empty values are omitted from API requests. However, any field with
2101	// an empty value appearing in NullFields will be sent to the server as
2102	// null. It is an error if a field in this list has a non-empty value.
2103	// This may be used to include null fields in Patch requests.
2104	NullFields []string `json:"-"`
2105}
2106
2107func (s *GoogleCloudDialogflowCxV3FormParameter) MarshalJSON() ([]byte, error) {
2108	type NoMethod GoogleCloudDialogflowCxV3FormParameter
2109	raw := NoMethod(*s)
2110	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2111}
2112
2113// GoogleCloudDialogflowCxV3FormParameterFillBehavior: Configuration for
2114// how the filling of a parameter should be handled.
2115type GoogleCloudDialogflowCxV3FormParameterFillBehavior struct {
2116	// InitialPromptFulfillment: Required. The fulfillment to provide the
2117	// initial prompt that the agent can present to the user in order to
2118	// fill the parameter.
2119	InitialPromptFulfillment *GoogleCloudDialogflowCxV3Fulfillment `json:"initialPromptFulfillment,omitempty"`
2120
2121	// RepromptEventHandlers: The handlers for parameter-level events, used
2122	// to provide reprompt for the parameter or transition to a different
2123	// page/flow. The supported events are: * `sys.no-match-`, where N can
2124	// be from 1 to 6 * `sys.no-match-default` * `sys.no-input-`, where N
2125	// can be from 1 to 6 * `sys.no-input-default` * `sys.invalid-parameter`
2126	// `initial_prompt_fulfillment` provides the first prompt for the
2127	// parameter. If the user's response does not fill the parameter, a
2128	// no-match/no-input event will be triggered, and the fulfillment
2129	// associated with the `sys.no-match-1`/`sys.no-input-1` handler (if
2130	// defined) will be called to provide a prompt. The
2131	// `sys.no-match-2`/`sys.no-input-2` handler (if defined) will respond
2132	// to the next no-match/no-input event, and so on. A
2133	// `sys.no-match-default` or `sys.no-input-default` handler will be used
2134	// to handle all following no-match/no-input events after all numbered
2135	// no-match/no-input handlers for the parameter are consumed. A
2136	// `sys.invalid-parameter` handler can be defined to handle the case
2137	// where the parameter values have been `invalidated` by webhook. For
2138	// example, if the user's response fill the parameter, however the
2139	// parameter was invalidated by webhook, the fulfillment associated with
2140	// the `sys.invalid-parameter` handler (if defined) will be called to
2141	// provide a prompt. If the event handler for the corresponding event
2142	// can't be found on the parameter, `initial_prompt_fulfillment` will be
2143	// re-prompted.
2144	RepromptEventHandlers []*GoogleCloudDialogflowCxV3EventHandler `json:"repromptEventHandlers,omitempty"`
2145
2146	// ForceSendFields is a list of field names (e.g.
2147	// "InitialPromptFulfillment") to unconditionally include in API
2148	// requests. By default, fields with empty values are omitted from API
2149	// requests. However, any non-pointer, non-interface field appearing in
2150	// ForceSendFields will be sent to the server regardless of whether the
2151	// field is empty or not. This may be used to include empty fields in
2152	// Patch requests.
2153	ForceSendFields []string `json:"-"`
2154
2155	// NullFields is a list of field names (e.g. "InitialPromptFulfillment")
2156	// to include in API requests with the JSON null value. By default,
2157	// fields with empty values are omitted from API requests. However, any
2158	// field with an empty value appearing in NullFields will be sent to the
2159	// server as null. It is an error if a field in this list has a
2160	// non-empty value. This may be used to include null fields in Patch
2161	// requests.
2162	NullFields []string `json:"-"`
2163}
2164
2165func (s *GoogleCloudDialogflowCxV3FormParameterFillBehavior) MarshalJSON() ([]byte, error) {
2166	type NoMethod GoogleCloudDialogflowCxV3FormParameterFillBehavior
2167	raw := NoMethod(*s)
2168	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2169}
2170
2171// GoogleCloudDialogflowCxV3FulfillIntentRequest: Request of
2172// FulfillIntent
2173type GoogleCloudDialogflowCxV3FulfillIntentRequest struct {
2174	// Match: The matched intent/event to fulfill.
2175	Match *GoogleCloudDialogflowCxV3Match `json:"match,omitempty"`
2176
2177	// MatchIntentRequest: Must be same as the corresponding MatchIntent
2178	// request, otherwise the behavior is undefined.
2179	MatchIntentRequest *GoogleCloudDialogflowCxV3MatchIntentRequest `json:"matchIntentRequest,omitempty"`
2180
2181	// OutputAudioConfig: Instructs the speech synthesizer how to generate
2182	// output audio.
2183	OutputAudioConfig *GoogleCloudDialogflowCxV3OutputAudioConfig `json:"outputAudioConfig,omitempty"`
2184
2185	// ForceSendFields is a list of field names (e.g. "Match") to
2186	// unconditionally include in API requests. By default, fields with
2187	// empty values are omitted from API requests. However, any non-pointer,
2188	// non-interface field appearing in ForceSendFields will be sent to the
2189	// server regardless of whether the field is empty or not. This may be
2190	// used to include empty fields in Patch requests.
2191	ForceSendFields []string `json:"-"`
2192
2193	// NullFields is a list of field names (e.g. "Match") to include in API
2194	// requests with the JSON null value. By default, fields with empty
2195	// values are omitted from API requests. However, any field with an
2196	// empty value appearing in NullFields will be sent to the server as
2197	// null. It is an error if a field in this list has a non-empty value.
2198	// This may be used to include null fields in Patch requests.
2199	NullFields []string `json:"-"`
2200}
2201
2202func (s *GoogleCloudDialogflowCxV3FulfillIntentRequest) MarshalJSON() ([]byte, error) {
2203	type NoMethod GoogleCloudDialogflowCxV3FulfillIntentRequest
2204	raw := NoMethod(*s)
2205	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2206}
2207
2208// GoogleCloudDialogflowCxV3FulfillIntentResponse: Response of
2209// FulfillIntent
2210type GoogleCloudDialogflowCxV3FulfillIntentResponse struct {
2211	// OutputAudio: The audio data bytes encoded as specified in the
2212	// request. Note: The output audio is generated based on the values of
2213	// default platform text responses found in the
2214	// `query_result.response_messages` field. If multiple default text
2215	// responses exist, they will be concatenated when generating audio. If
2216	// no default platform text responses exist, the generated audio content
2217	// will be empty. In some scenarios, multiple output audio fields may be
2218	// present in the response structure. In these cases, only the
2219	// top-most-level audio output has content.
2220	OutputAudio string `json:"outputAudio,omitempty"`
2221
2222	// OutputAudioConfig: The config used by the speech synthesizer to
2223	// generate the output audio.
2224	OutputAudioConfig *GoogleCloudDialogflowCxV3OutputAudioConfig `json:"outputAudioConfig,omitempty"`
2225
2226	// QueryResult: The result of the conversational query.
2227	QueryResult *GoogleCloudDialogflowCxV3QueryResult `json:"queryResult,omitempty"`
2228
2229	// ResponseId: Output only. The unique identifier of the response. It
2230	// can be used to locate a response in the training example set or for
2231	// reporting issues.
2232	ResponseId string `json:"responseId,omitempty"`
2233
2234	// ServerResponse contains the HTTP response code and headers from the
2235	// server.
2236	googleapi.ServerResponse `json:"-"`
2237
2238	// ForceSendFields is a list of field names (e.g. "OutputAudio") to
2239	// unconditionally include in API requests. By default, fields with
2240	// empty values are omitted from API requests. However, any non-pointer,
2241	// non-interface field appearing in ForceSendFields will be sent to the
2242	// server regardless of whether the field is empty or not. This may be
2243	// used to include empty fields in Patch requests.
2244	ForceSendFields []string `json:"-"`
2245
2246	// NullFields is a list of field names (e.g. "OutputAudio") to include
2247	// in API requests with the JSON null value. By default, fields with
2248	// empty values are omitted from API requests. However, any field with
2249	// an empty value appearing in NullFields will be sent to the server as
2250	// null. It is an error if a field in this list has a non-empty value.
2251	// This may be used to include null fields in Patch requests.
2252	NullFields []string `json:"-"`
2253}
2254
2255func (s *GoogleCloudDialogflowCxV3FulfillIntentResponse) MarshalJSON() ([]byte, error) {
2256	type NoMethod GoogleCloudDialogflowCxV3FulfillIntentResponse
2257	raw := NoMethod(*s)
2258	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2259}
2260
2261// GoogleCloudDialogflowCxV3Fulfillment: A fulfillment can do one or
2262// more of the following actions at the same time: * Generate rich
2263// message responses. * Set parameter values. * Call the webhook.
2264// Fulfillments can be called at various stages in the Page or Form
2265// lifecycle. For example, when a DetectIntentRequest drives a session
2266// to enter a new page, the page's entry fulfillment can add a static
2267// response to the QueryResult in the returning DetectIntentResponse,
2268// call the webhook (for example, to load user data from a database), or
2269// both.
2270type GoogleCloudDialogflowCxV3Fulfillment struct {
2271	// ConditionalCases: Conditional cases for this fulfillment.
2272	ConditionalCases []*GoogleCloudDialogflowCxV3FulfillmentConditionalCases `json:"conditionalCases,omitempty"`
2273
2274	// Messages: The list of rich message responses to present to the user.
2275	Messages []*GoogleCloudDialogflowCxV3ResponseMessage `json:"messages,omitempty"`
2276
2277	// SetParameterActions: Set parameter values before executing the
2278	// webhook.
2279	SetParameterActions []*GoogleCloudDialogflowCxV3FulfillmentSetParameterAction `json:"setParameterActions,omitempty"`
2280
2281	// Tag: The tag used by the webhook to identify which fulfillment is
2282	// being called. This field is required if `webhook` is specified.
2283	Tag string `json:"tag,omitempty"`
2284
2285	// Webhook: The webhook to call. Format:
2286	// `projects//locations//agents//webhooks/`.
2287	Webhook string `json:"webhook,omitempty"`
2288
2289	// ForceSendFields is a list of field names (e.g. "ConditionalCases") to
2290	// unconditionally include in API requests. By default, fields with
2291	// empty values are omitted from API requests. However, any non-pointer,
2292	// non-interface field appearing in ForceSendFields will be sent to the
2293	// server regardless of whether the field is empty or not. This may be
2294	// used to include empty fields in Patch requests.
2295	ForceSendFields []string `json:"-"`
2296
2297	// NullFields is a list of field names (e.g. "ConditionalCases") to
2298	// include in API requests with the JSON null value. By default, fields
2299	// with empty values are omitted from API requests. However, any field
2300	// with an empty value appearing in NullFields will be sent to the
2301	// server as null. It is an error if a field in this list has a
2302	// non-empty value. This may be used to include null fields in Patch
2303	// requests.
2304	NullFields []string `json:"-"`
2305}
2306
2307func (s *GoogleCloudDialogflowCxV3Fulfillment) MarshalJSON() ([]byte, error) {
2308	type NoMethod GoogleCloudDialogflowCxV3Fulfillment
2309	raw := NoMethod(*s)
2310	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2311}
2312
2313// GoogleCloudDialogflowCxV3FulfillmentConditionalCases: A list of
2314// cascading if-else conditions. Cases are mutually exclusive. The first
2315// one with a matching condition is selected, all the rest ignored.
2316type GoogleCloudDialogflowCxV3FulfillmentConditionalCases struct {
2317	// Cases: A list of cascading if-else conditions.
2318	Cases []*GoogleCloudDialogflowCxV3FulfillmentConditionalCasesCase `json:"cases,omitempty"`
2319
2320	// ForceSendFields is a list of field names (e.g. "Cases") to
2321	// unconditionally include in API requests. By default, fields with
2322	// empty values are omitted from API requests. However, any non-pointer,
2323	// non-interface field appearing in ForceSendFields will be sent to the
2324	// server regardless of whether the field is empty or not. This may be
2325	// used to include empty fields in Patch requests.
2326	ForceSendFields []string `json:"-"`
2327
2328	// NullFields is a list of field names (e.g. "Cases") to include in API
2329	// requests with the JSON null value. By default, fields with empty
2330	// values are omitted from API requests. However, any field with an
2331	// empty value appearing in NullFields will be sent to the server as
2332	// null. It is an error if a field in this list has a non-empty value.
2333	// This may be used to include null fields in Patch requests.
2334	NullFields []string `json:"-"`
2335}
2336
2337func (s *GoogleCloudDialogflowCxV3FulfillmentConditionalCases) MarshalJSON() ([]byte, error) {
2338	type NoMethod GoogleCloudDialogflowCxV3FulfillmentConditionalCases
2339	raw := NoMethod(*s)
2340	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2341}
2342
2343// GoogleCloudDialogflowCxV3FulfillmentConditionalCasesCase: Each case
2344// has a Boolean condition. When it is evaluated to be True, the
2345// corresponding messages will be selected and evaluated recursively.
2346type GoogleCloudDialogflowCxV3FulfillmentConditionalCasesCase struct {
2347	// CaseContent: A list of case content.
2348	CaseContent []*GoogleCloudDialogflowCxV3FulfillmentConditionalCasesCaseCaseContent `json:"caseContent,omitempty"`
2349
2350	// Condition: The condition to activate and select this case. Empty
2351	// means the condition is always true. The condition is evaluated
2352	// against form parameters or session parameters. See the conditions
2353	// reference
2354	// (https://cloud.google.com/dialogflow/cx/docs/reference/condition).
2355	Condition string `json:"condition,omitempty"`
2356
2357	// ForceSendFields is a list of field names (e.g. "CaseContent") to
2358	// unconditionally include in API requests. By default, fields with
2359	// empty values are omitted from API requests. However, any non-pointer,
2360	// non-interface field appearing in ForceSendFields will be sent to the
2361	// server regardless of whether the field is empty or not. This may be
2362	// used to include empty fields in Patch requests.
2363	ForceSendFields []string `json:"-"`
2364
2365	// NullFields is a list of field names (e.g. "CaseContent") to include
2366	// in API requests with the JSON null value. By default, fields with
2367	// empty values are omitted from API requests. However, any field with
2368	// an empty value appearing in NullFields will be sent to the server as
2369	// null. It is an error if a field in this list has a non-empty value.
2370	// This may be used to include null fields in Patch requests.
2371	NullFields []string `json:"-"`
2372}
2373
2374func (s *GoogleCloudDialogflowCxV3FulfillmentConditionalCasesCase) MarshalJSON() ([]byte, error) {
2375	type NoMethod GoogleCloudDialogflowCxV3FulfillmentConditionalCasesCase
2376	raw := NoMethod(*s)
2377	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2378}
2379
2380// GoogleCloudDialogflowCxV3FulfillmentConditionalCasesCaseCaseContent:
2381// The list of messages or conditional cases to activate for this case.
2382type GoogleCloudDialogflowCxV3FulfillmentConditionalCasesCaseCaseContent struct {
2383	// AdditionalCases: Additional cases to be evaluated.
2384	AdditionalCases *GoogleCloudDialogflowCxV3FulfillmentConditionalCases `json:"additionalCases,omitempty"`
2385
2386	// Message: Returned message.
2387	Message *GoogleCloudDialogflowCxV3ResponseMessage `json:"message,omitempty"`
2388
2389	// ForceSendFields is a list of field names (e.g. "AdditionalCases") to
2390	// unconditionally include in API requests. By default, fields with
2391	// empty values are omitted from API requests. However, any non-pointer,
2392	// non-interface field appearing in ForceSendFields will be sent to the
2393	// server regardless of whether the field is empty or not. This may be
2394	// used to include empty fields in Patch requests.
2395	ForceSendFields []string `json:"-"`
2396
2397	// NullFields is a list of field names (e.g. "AdditionalCases") to
2398	// include in API requests with the JSON null value. By default, fields
2399	// with empty values are omitted from API requests. However, any field
2400	// with an empty value appearing in NullFields will be sent to the
2401	// server as null. It is an error if a field in this list has a
2402	// non-empty value. This may be used to include null fields in Patch
2403	// requests.
2404	NullFields []string `json:"-"`
2405}
2406
2407func (s *GoogleCloudDialogflowCxV3FulfillmentConditionalCasesCaseCaseContent) MarshalJSON() ([]byte, error) {
2408	type NoMethod GoogleCloudDialogflowCxV3FulfillmentConditionalCasesCaseCaseContent
2409	raw := NoMethod(*s)
2410	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2411}
2412
2413// GoogleCloudDialogflowCxV3FulfillmentSetParameterAction: Setting a
2414// parameter value.
2415type GoogleCloudDialogflowCxV3FulfillmentSetParameterAction struct {
2416	// Parameter: Display name of the parameter.
2417	Parameter string `json:"parameter,omitempty"`
2418
2419	// Value: The new value of the parameter. A null value clears the
2420	// parameter.
2421	Value interface{} `json:"value,omitempty"`
2422
2423	// ForceSendFields is a list of field names (e.g. "Parameter") to
2424	// unconditionally include in API requests. By default, fields with
2425	// empty values are omitted from API requests. However, any non-pointer,
2426	// non-interface field appearing in ForceSendFields will be sent to the
2427	// server regardless of whether the field is empty or not. This may be
2428	// used to include empty fields in Patch requests.
2429	ForceSendFields []string `json:"-"`
2430
2431	// NullFields is a list of field names (e.g. "Parameter") to include in
2432	// API requests with the JSON null value. By default, fields with empty
2433	// values are omitted from API requests. However, any field with an
2434	// empty value appearing in NullFields will be sent to the server as
2435	// null. It is an error if a field in this list has a non-empty value.
2436	// This may be used to include null fields in Patch requests.
2437	NullFields []string `json:"-"`
2438}
2439
2440func (s *GoogleCloudDialogflowCxV3FulfillmentSetParameterAction) MarshalJSON() ([]byte, error) {
2441	type NoMethod GoogleCloudDialogflowCxV3FulfillmentSetParameterAction
2442	raw := NoMethod(*s)
2443	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2444}
2445
2446// GoogleCloudDialogflowCxV3GenericKnowledgeOperationMetadata: Metadata
2447// in google::longrunning::Operation for Knowledge operations.
2448type GoogleCloudDialogflowCxV3GenericKnowledgeOperationMetadata struct {
2449	// State: Required. Output only. The current state of this operation.
2450	//
2451	// Possible values:
2452	//   "STATE_UNSPECIFIED" - State unspecified.
2453	//   "PENDING" - The operation has been created.
2454	//   "RUNNING" - The operation is currently running.
2455	//   "DONE" - The operation is done, either cancelled or completed.
2456	State string `json:"state,omitempty"`
2457
2458	// ForceSendFields is a list of field names (e.g. "State") to
2459	// unconditionally include in API requests. By default, fields with
2460	// empty values are omitted from API requests. However, any non-pointer,
2461	// non-interface field appearing in ForceSendFields will be sent to the
2462	// server regardless of whether the field is empty or not. This may be
2463	// used to include empty fields in Patch requests.
2464	ForceSendFields []string `json:"-"`
2465
2466	// NullFields is a list of field names (e.g. "State") to include in API
2467	// requests with the JSON null value. By default, fields with empty
2468	// values are omitted from API requests. However, any field with an
2469	// empty value appearing in NullFields will be sent to the server as
2470	// null. It is an error if a field in this list has a non-empty value.
2471	// This may be used to include null fields in Patch requests.
2472	NullFields []string `json:"-"`
2473}
2474
2475func (s *GoogleCloudDialogflowCxV3GenericKnowledgeOperationMetadata) MarshalJSON() ([]byte, error) {
2476	type NoMethod GoogleCloudDialogflowCxV3GenericKnowledgeOperationMetadata
2477	raw := NoMethod(*s)
2478	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2479}
2480
2481// GoogleCloudDialogflowCxV3ImportDocumentsOperationMetadata: Metadata
2482// for ImportDocuments operation.
2483type GoogleCloudDialogflowCxV3ImportDocumentsOperationMetadata struct {
2484	// GenericMetadata: The generic information of the operation.
2485	GenericMetadata *GoogleCloudDialogflowCxV3GenericKnowledgeOperationMetadata `json:"genericMetadata,omitempty"`
2486
2487	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
2488	// unconditionally include in API requests. By default, fields with
2489	// empty values are omitted from API requests. However, any non-pointer,
2490	// non-interface field appearing in ForceSendFields will be sent to the
2491	// server regardless of whether the field is empty or not. This may be
2492	// used to include empty fields in Patch requests.
2493	ForceSendFields []string `json:"-"`
2494
2495	// NullFields is a list of field names (e.g. "GenericMetadata") to
2496	// include in API requests with the JSON null value. By default, fields
2497	// with empty values are omitted from API requests. However, any field
2498	// with an empty value appearing in NullFields will be sent to the
2499	// server as null. It is an error if a field in this list has a
2500	// non-empty value. This may be used to include null fields in Patch
2501	// requests.
2502	NullFields []string `json:"-"`
2503}
2504
2505func (s *GoogleCloudDialogflowCxV3ImportDocumentsOperationMetadata) MarshalJSON() ([]byte, error) {
2506	type NoMethod GoogleCloudDialogflowCxV3ImportDocumentsOperationMetadata
2507	raw := NoMethod(*s)
2508	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2509}
2510
2511// GoogleCloudDialogflowCxV3ImportDocumentsResponse: Response message
2512// for Documents.ImportDocuments.
2513type GoogleCloudDialogflowCxV3ImportDocumentsResponse struct {
2514	// Warnings: Includes details about skipped documents or any other
2515	// warnings.
2516	Warnings []*GoogleRpcStatus `json:"warnings,omitempty"`
2517
2518	// ForceSendFields is a list of field names (e.g. "Warnings") to
2519	// unconditionally include in API requests. By default, fields with
2520	// empty values are omitted from API requests. However, any non-pointer,
2521	// non-interface field appearing in ForceSendFields will be sent to the
2522	// server regardless of whether the field is empty or not. This may be
2523	// used to include empty fields in Patch requests.
2524	ForceSendFields []string `json:"-"`
2525
2526	// NullFields is a list of field names (e.g. "Warnings") to include in
2527	// API requests with the JSON null value. By default, fields with empty
2528	// values are omitted from API requests. However, any field with an
2529	// empty value appearing in NullFields will be sent to the server as
2530	// null. It is an error if a field in this list has a non-empty value.
2531	// This may be used to include null fields in Patch requests.
2532	NullFields []string `json:"-"`
2533}
2534
2535func (s *GoogleCloudDialogflowCxV3ImportDocumentsResponse) MarshalJSON() ([]byte, error) {
2536	type NoMethod GoogleCloudDialogflowCxV3ImportDocumentsResponse
2537	raw := NoMethod(*s)
2538	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2539}
2540
2541// GoogleCloudDialogflowCxV3ImportTestCasesMetadata: Metadata returned
2542// for the TestCases.ImportTestCases long running operation.
2543type GoogleCloudDialogflowCxV3ImportTestCasesMetadata struct {
2544	// Errors: Errors for failed test cases.
2545	Errors []*GoogleCloudDialogflowCxV3TestCaseError `json:"errors,omitempty"`
2546
2547	// ForceSendFields is a list of field names (e.g. "Errors") to
2548	// unconditionally include in API requests. By default, fields with
2549	// empty values are omitted from API requests. However, any non-pointer,
2550	// non-interface field appearing in ForceSendFields will be sent to the
2551	// server regardless of whether the field is empty or not. This may be
2552	// used to include empty fields in Patch requests.
2553	ForceSendFields []string `json:"-"`
2554
2555	// NullFields is a list of field names (e.g. "Errors") to include in API
2556	// requests with the JSON null value. By default, fields with empty
2557	// values are omitted from API requests. However, any field with an
2558	// empty value appearing in NullFields will be sent to the server as
2559	// null. It is an error if a field in this list has a non-empty value.
2560	// This may be used to include null fields in Patch requests.
2561	NullFields []string `json:"-"`
2562}
2563
2564func (s *GoogleCloudDialogflowCxV3ImportTestCasesMetadata) MarshalJSON() ([]byte, error) {
2565	type NoMethod GoogleCloudDialogflowCxV3ImportTestCasesMetadata
2566	raw := NoMethod(*s)
2567	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2568}
2569
2570// GoogleCloudDialogflowCxV3ImportTestCasesRequest: The request message
2571// for TestCases.ImportTestCases.
2572type GoogleCloudDialogflowCxV3ImportTestCasesRequest struct {
2573	// Content: Uncompressed raw byte content for test cases.
2574	Content string `json:"content,omitempty"`
2575
2576	// GcsUri: The Google Cloud Storage
2577	// (https://cloud.google.com/storage/docs/) URI to import test cases
2578	// from. The format of this URI must be `gs:///`.
2579	GcsUri string `json:"gcsUri,omitempty"`
2580
2581	// ForceSendFields is a list of field names (e.g. "Content") to
2582	// unconditionally include in API requests. By default, fields with
2583	// empty values are omitted from API requests. However, any non-pointer,
2584	// non-interface field appearing in ForceSendFields will be sent to the
2585	// server regardless of whether the field is empty or not. This may be
2586	// used to include empty fields in Patch requests.
2587	ForceSendFields []string `json:"-"`
2588
2589	// NullFields is a list of field names (e.g. "Content") to include in
2590	// API requests with the JSON null value. By default, fields with empty
2591	// values are omitted from API requests. However, any field with an
2592	// empty value appearing in NullFields will be sent to the server as
2593	// null. It is an error if a field in this list has a non-empty value.
2594	// This may be used to include null fields in Patch requests.
2595	NullFields []string `json:"-"`
2596}
2597
2598func (s *GoogleCloudDialogflowCxV3ImportTestCasesRequest) MarshalJSON() ([]byte, error) {
2599	type NoMethod GoogleCloudDialogflowCxV3ImportTestCasesRequest
2600	raw := NoMethod(*s)
2601	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2602}
2603
2604// GoogleCloudDialogflowCxV3ImportTestCasesResponse: The response
2605// message for TestCases.ImportTestCases.
2606type GoogleCloudDialogflowCxV3ImportTestCasesResponse struct {
2607	// Names: The unique identifiers of the new test cases. Format:
2608	// `projects//locations//agents//testCases/`.
2609	Names []string `json:"names,omitempty"`
2610
2611	// ForceSendFields is a list of field names (e.g. "Names") to
2612	// unconditionally include in API requests. By default, fields with
2613	// empty values are omitted from API requests. However, any non-pointer,
2614	// non-interface field appearing in ForceSendFields will be sent to the
2615	// server regardless of whether the field is empty or not. This may be
2616	// used to include empty fields in Patch requests.
2617	ForceSendFields []string `json:"-"`
2618
2619	// NullFields is a list of field names (e.g. "Names") to include in API
2620	// requests with the JSON null value. By default, fields with empty
2621	// values are omitted from API requests. However, any field with an
2622	// empty value appearing in NullFields will be sent to the server as
2623	// null. It is an error if a field in this list has a non-empty value.
2624	// This may be used to include null fields in Patch requests.
2625	NullFields []string `json:"-"`
2626}
2627
2628func (s *GoogleCloudDialogflowCxV3ImportTestCasesResponse) MarshalJSON() ([]byte, error) {
2629	type NoMethod GoogleCloudDialogflowCxV3ImportTestCasesResponse
2630	raw := NoMethod(*s)
2631	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2632}
2633
2634// GoogleCloudDialogflowCxV3InputAudioConfig: Instructs the speech
2635// recognizer on how to process the audio content.
2636type GoogleCloudDialogflowCxV3InputAudioConfig struct {
2637	// AudioEncoding: Required. Audio encoding of the audio content to
2638	// process.
2639	//
2640	// Possible values:
2641	//   "AUDIO_ENCODING_UNSPECIFIED" - Not specified.
2642	//   "AUDIO_ENCODING_LINEAR_16" - Uncompressed 16-bit signed
2643	// little-endian samples (Linear PCM).
2644	//   "AUDIO_ENCODING_FLAC" -
2645	// [`FLAC`](https://xiph.org/flac/documentation.html) (Free Lossless
2646	// Audio Codec) is the recommended encoding because it is lossless
2647	// (therefore recognition is not compromised) and requires only about
2648	// half the bandwidth of `LINEAR16`. `FLAC` stream encoding supports
2649	// 16-bit and 24-bit samples, however, not all fields in `STREAMINFO`
2650	// are supported.
2651	//   "AUDIO_ENCODING_MULAW" - 8-bit samples that compand 14-bit audio
2652	// samples using G.711 PCMU/mu-law.
2653	//   "AUDIO_ENCODING_AMR" - Adaptive Multi-Rate Narrowband codec.
2654	// `sample_rate_hertz` must be 8000.
2655	//   "AUDIO_ENCODING_AMR_WB" - Adaptive Multi-Rate Wideband codec.
2656	// `sample_rate_hertz` must be 16000.
2657	//   "AUDIO_ENCODING_OGG_OPUS" - Opus encoded audio frames in Ogg
2658	// container ([OggOpus](https://wiki.xiph.org/OggOpus)).
2659	// `sample_rate_hertz` must be 16000.
2660	//   "AUDIO_ENCODING_SPEEX_WITH_HEADER_BYTE" - Although the use of lossy
2661	// encodings is not recommended, if a very low bitrate encoding is
2662	// required, `OGG_OPUS` is highly preferred over Speex encoding. The
2663	// [Speex](https://speex.org/) encoding supported by Dialogflow API has
2664	// a header byte in each block, as in MIME type
2665	// `audio/x-speex-with-header-byte`. It is a variant of the RTP Speex
2666	// encoding defined in [RFC 5574](https://tools.ietf.org/html/rfc5574).
2667	// The stream is a sequence of blocks, one block per RTP packet. Each
2668	// block starts with a byte containing the length of the block, in
2669	// bytes, followed by one or more frames of Speex data, padded to an
2670	// integral number of bytes (octets) as specified in RFC 5574. In other
2671	// words, each RTP header is replaced with a single byte containing the
2672	// block length. Only Speex wideband is supported. `sample_rate_hertz`
2673	// must be 16000.
2674	AudioEncoding string `json:"audioEncoding,omitempty"`
2675
2676	// EnableWordInfo: Optional. If `true`, Dialogflow returns
2677	// SpeechWordInfo in StreamingRecognitionResult with information about
2678	// the recognized speech words, e.g. start and end time offsets. If
2679	// false or unspecified, Speech doesn't return any word-level
2680	// information.
2681	EnableWordInfo bool `json:"enableWordInfo,omitempty"`
2682
2683	// Model: Optional. Which Speech model to select for the given request.
2684	// Select the model best suited to your domain to get best results. If a
2685	// model is not explicitly specified, then we auto-select a model based
2686	// on the parameters in the InputAudioConfig. If enhanced speech model
2687	// is enabled for the agent and an enhanced version of the specified
2688	// model for the language does not exist, then the speech is recognized
2689	// using the standard version of the specified model. Refer to Cloud
2690	// Speech API documentation
2691	// (https://cloud.google.com/speech-to-text/docs/basics#select-model)
2692	// for more details.
2693	Model string `json:"model,omitempty"`
2694
2695	// ModelVariant: Optional. Which variant of the Speech model to use.
2696	//
2697	// Possible values:
2698	//   "SPEECH_MODEL_VARIANT_UNSPECIFIED" - No model variant specified. In
2699	// this case Dialogflow defaults to USE_BEST_AVAILABLE.
2700	//   "USE_BEST_AVAILABLE" - Use the best available variant of the Speech
2701	// model that the caller is eligible for. Please see the [Dialogflow
2702	// docs](https://cloud.google.com/dialogflow/docs/data-logging) for how
2703	// to make your project eligible for enhanced models.
2704	//   "USE_STANDARD" - Use standard model variant even if an enhanced
2705	// model is available. See the [Cloud Speech
2706	// documentation](https://cloud.google.com/speech-to-text/docs/enhanced-m
2707	// odels) for details about enhanced models.
2708	//   "USE_ENHANCED" - Use an enhanced model variant: * If an enhanced
2709	// variant does not exist for the given model and request language,
2710	// Dialogflow falls back to the standard variant. The [Cloud Speech
2711	// documentation](https://cloud.google.com/speech-to-text/docs/enhanced-m
2712	// odels) describes which models have enhanced variants. * If the API
2713	// caller isn't eligible for enhanced models, Dialogflow returns an
2714	// error. Please see the [Dialogflow
2715	// docs](https://cloud.google.com/dialogflow/docs/data-logging) for how
2716	// to make your project eligible.
2717	ModelVariant string `json:"modelVariant,omitempty"`
2718
2719	// PhraseHints: Optional. A list of strings containing words and phrases
2720	// that the speech recognizer should recognize with higher likelihood.
2721	// See the Cloud Speech documentation
2722	// (https://cloud.google.com/speech-to-text/docs/basics#phrase-hints)
2723	// for more details.
2724	PhraseHints []string `json:"phraseHints,omitempty"`
2725
2726	// SampleRateHertz: Sample rate (in Hertz) of the audio content sent in
2727	// the query. Refer to Cloud Speech API documentation
2728	// (https://cloud.google.com/speech-to-text/docs/basics) for more
2729	// details.
2730	SampleRateHertz int64 `json:"sampleRateHertz,omitempty"`
2731
2732	// SingleUtterance: Optional. If `false` (default), recognition does not
2733	// cease until the client closes the stream. If `true`, the recognizer
2734	// will detect a single spoken utterance in input audio. Recognition
2735	// ceases when it detects the audio's voice has stopped or paused. In
2736	// this case, once a detected intent is received, the client should
2737	// close the stream and start a new request with a new stream as needed.
2738	// Note: This setting is relevant only for streaming methods.
2739	SingleUtterance bool `json:"singleUtterance,omitempty"`
2740
2741	// ForceSendFields is a list of field names (e.g. "AudioEncoding") to
2742	// unconditionally include in API requests. By default, fields with
2743	// empty values are omitted from API requests. However, any non-pointer,
2744	// non-interface field appearing in ForceSendFields will be sent to the
2745	// server regardless of whether the field is empty or not. This may be
2746	// used to include empty fields in Patch requests.
2747	ForceSendFields []string `json:"-"`
2748
2749	// NullFields is a list of field names (e.g. "AudioEncoding") to include
2750	// in API requests with the JSON null value. By default, fields with
2751	// empty values are omitted from API requests. However, any field with
2752	// an empty value appearing in NullFields will be sent to the server as
2753	// null. It is an error if a field in this list has a non-empty value.
2754	// This may be used to include null fields in Patch requests.
2755	NullFields []string `json:"-"`
2756}
2757
2758func (s *GoogleCloudDialogflowCxV3InputAudioConfig) MarshalJSON() ([]byte, error) {
2759	type NoMethod GoogleCloudDialogflowCxV3InputAudioConfig
2760	raw := NoMethod(*s)
2761	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2762}
2763
2764// GoogleCloudDialogflowCxV3Intent: An intent represents a user's intent
2765// to interact with a conversational agent. You can provide information
2766// for the Dialogflow API to use to match user input to an intent by
2767// adding training phrases (i.e., examples of user input) to your
2768// intent.
2769type GoogleCloudDialogflowCxV3Intent struct {
2770	// Description: Optional. Human readable description for better
2771	// understanding an intent like its scope, content, result etc. Maximum
2772	// character limit: 140 characters.
2773	Description string `json:"description,omitempty"`
2774
2775	// DisplayName: Required. The human-readable name of the intent, unique
2776	// within the agent.
2777	DisplayName string `json:"displayName,omitempty"`
2778
2779	// IsFallback: Indicates whether this is a fallback intent. Currently
2780	// only default fallback intent is allowed in the agent, which is added
2781	// upon agent creation. Adding training phrases to fallback intent is
2782	// useful in the case of requests that are mistakenly matched, since
2783	// training phrases assigned to fallback intents act as negative
2784	// examples that triggers no-match event.
2785	IsFallback bool `json:"isFallback,omitempty"`
2786
2787	// Labels: Optional. The key/value metadata to label an intent. Labels
2788	// can contain lowercase letters, digits and the symbols '-' and '_'.
2789	// International characters are allowed, including letters from unicase
2790	// alphabets. Keys must start with a letter. Keys and values can be no
2791	// longer than 63 characters and no more than 128 bytes. Prefix "sys."
2792	// is reserved for Dialogflow defined labels. Currently allowed
2793	// Dialogflow defined labels include: * sys.head * sys.contextual The
2794	// above labels do not require value. "sys.head" means the intent is a
2795	// head intent. "sys.contextual" means the intent is a contextual
2796	// intent.
2797	Labels map[string]string `json:"labels,omitempty"`
2798
2799	// Name: The unique identifier of the intent. Required for the
2800	// Intents.UpdateIntent method. Intents.CreateIntent populates the name
2801	// automatically. Format: `projects//locations//agents//intents/`.
2802	Name string `json:"name,omitempty"`
2803
2804	// Parameters: The collection of parameters associated with the intent.
2805	Parameters []*GoogleCloudDialogflowCxV3IntentParameter `json:"parameters,omitempty"`
2806
2807	// Priority: The priority of this intent. Higher numbers represent
2808	// higher priorities. - If the supplied value is unspecified or 0, the
2809	// service translates the value to 500,000, which corresponds to the
2810	// `Normal` priority in the console. - If the supplied value is
2811	// negative, the intent is ignored in runtime detect intent requests.
2812	Priority int64 `json:"priority,omitempty"`
2813
2814	// TrainingPhrases: The collection of training phrases the agent is
2815	// trained on to identify the intent.
2816	TrainingPhrases []*GoogleCloudDialogflowCxV3IntentTrainingPhrase `json:"trainingPhrases,omitempty"`
2817
2818	// ServerResponse contains the HTTP response code and headers from the
2819	// server.
2820	googleapi.ServerResponse `json:"-"`
2821
2822	// ForceSendFields is a list of field names (e.g. "Description") to
2823	// unconditionally include in API requests. By default, fields with
2824	// empty values are omitted from API requests. However, any non-pointer,
2825	// non-interface field appearing in ForceSendFields will be sent to the
2826	// server regardless of whether the field is empty or not. This may be
2827	// used to include empty fields in Patch requests.
2828	ForceSendFields []string `json:"-"`
2829
2830	// NullFields is a list of field names (e.g. "Description") to include
2831	// in API requests with the JSON null value. By default, fields with
2832	// empty values are omitted from API requests. However, any field with
2833	// an empty value appearing in NullFields will be sent to the server as
2834	// null. It is an error if a field in this list has a non-empty value.
2835	// This may be used to include null fields in Patch requests.
2836	NullFields []string `json:"-"`
2837}
2838
2839func (s *GoogleCloudDialogflowCxV3Intent) MarshalJSON() ([]byte, error) {
2840	type NoMethod GoogleCloudDialogflowCxV3Intent
2841	raw := NoMethod(*s)
2842	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2843}
2844
2845// GoogleCloudDialogflowCxV3IntentCoverage: Intent coverage represents
2846// the percentage of all possible intents in the agent that are
2847// triggered in any of a parent's test cases.
2848type GoogleCloudDialogflowCxV3IntentCoverage struct {
2849	// CoverageScore: The percent of intents in the agent that are covered.
2850	CoverageScore float64 `json:"coverageScore,omitempty"`
2851
2852	// Intents: The list of Intents present in the agent
2853	Intents []*GoogleCloudDialogflowCxV3IntentCoverageIntent `json:"intents,omitempty"`
2854
2855	// ForceSendFields is a list of field names (e.g. "CoverageScore") to
2856	// unconditionally include in API requests. By default, fields with
2857	// empty values are omitted from API requests. However, any non-pointer,
2858	// non-interface field appearing in ForceSendFields will be sent to the
2859	// server regardless of whether the field is empty or not. This may be
2860	// used to include empty fields in Patch requests.
2861	ForceSendFields []string `json:"-"`
2862
2863	// NullFields is a list of field names (e.g. "CoverageScore") to include
2864	// in API requests with the JSON null value. By default, fields with
2865	// empty values are omitted from API requests. However, any field with
2866	// an empty value appearing in NullFields will be sent to the server as
2867	// null. It is an error if a field in this list has a non-empty value.
2868	// This may be used to include null fields in Patch requests.
2869	NullFields []string `json:"-"`
2870}
2871
2872func (s *GoogleCloudDialogflowCxV3IntentCoverage) MarshalJSON() ([]byte, error) {
2873	type NoMethod GoogleCloudDialogflowCxV3IntentCoverage
2874	raw := NoMethod(*s)
2875	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2876}
2877
2878func (s *GoogleCloudDialogflowCxV3IntentCoverage) UnmarshalJSON(data []byte) error {
2879	type NoMethod GoogleCloudDialogflowCxV3IntentCoverage
2880	var s1 struct {
2881		CoverageScore gensupport.JSONFloat64 `json:"coverageScore"`
2882		*NoMethod
2883	}
2884	s1.NoMethod = (*NoMethod)(s)
2885	if err := json.Unmarshal(data, &s1); err != nil {
2886		return err
2887	}
2888	s.CoverageScore = float64(s1.CoverageScore)
2889	return nil
2890}
2891
2892// GoogleCloudDialogflowCxV3IntentCoverageIntent: The agent's intent.
2893type GoogleCloudDialogflowCxV3IntentCoverageIntent struct {
2894	// Covered: Whether or not the intent is covered by at least one of the
2895	// agent's test cases.
2896	Covered bool `json:"covered,omitempty"`
2897
2898	// Intent: The intent full resource name
2899	Intent string `json:"intent,omitempty"`
2900
2901	// ForceSendFields is a list of field names (e.g. "Covered") to
2902	// unconditionally include in API requests. By default, fields with
2903	// empty values are omitted from API requests. However, any non-pointer,
2904	// non-interface field appearing in ForceSendFields will be sent to the
2905	// server regardless of whether the field is empty or not. This may be
2906	// used to include empty fields in Patch requests.
2907	ForceSendFields []string `json:"-"`
2908
2909	// NullFields is a list of field names (e.g. "Covered") to include in
2910	// API requests with the JSON null value. By default, fields with empty
2911	// values are omitted from API requests. However, any field with an
2912	// empty value appearing in NullFields will be sent to the server as
2913	// null. It is an error if a field in this list has a non-empty value.
2914	// This may be used to include null fields in Patch requests.
2915	NullFields []string `json:"-"`
2916}
2917
2918func (s *GoogleCloudDialogflowCxV3IntentCoverageIntent) MarshalJSON() ([]byte, error) {
2919	type NoMethod GoogleCloudDialogflowCxV3IntentCoverageIntent
2920	raw := NoMethod(*s)
2921	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2922}
2923
2924// GoogleCloudDialogflowCxV3IntentInput: Represents the intent to
2925// trigger programmatically rather than as a result of natural language
2926// processing.
2927type GoogleCloudDialogflowCxV3IntentInput struct {
2928	// Intent: Required. The unique identifier of the intent. Format:
2929	// `projects//locations//agents//intents/`.
2930	Intent string `json:"intent,omitempty"`
2931
2932	// ForceSendFields is a list of field names (e.g. "Intent") to
2933	// unconditionally include in API requests. By default, fields with
2934	// empty values are omitted from API requests. However, any non-pointer,
2935	// non-interface field appearing in ForceSendFields will be sent to the
2936	// server regardless of whether the field is empty or not. This may be
2937	// used to include empty fields in Patch requests.
2938	ForceSendFields []string `json:"-"`
2939
2940	// NullFields is a list of field names (e.g. "Intent") to include in API
2941	// requests with the JSON null value. By default, fields with empty
2942	// values are omitted from API requests. However, any field with an
2943	// empty value appearing in NullFields will be sent to the server as
2944	// null. It is an error if a field in this list has a non-empty value.
2945	// This may be used to include null fields in Patch requests.
2946	NullFields []string `json:"-"`
2947}
2948
2949func (s *GoogleCloudDialogflowCxV3IntentInput) MarshalJSON() ([]byte, error) {
2950	type NoMethod GoogleCloudDialogflowCxV3IntentInput
2951	raw := NoMethod(*s)
2952	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2953}
2954
2955// GoogleCloudDialogflowCxV3IntentParameter: Represents an intent
2956// parameter.
2957type GoogleCloudDialogflowCxV3IntentParameter struct {
2958	// EntityType: Required. The entity type of the parameter. Format:
2959	// `projects/-/locations/-/agents/-/entityTypes/` for system entity
2960	// types (for example,
2961	// `projects/-/locations/-/agents/-/entityTypes/sys.date`), or
2962	// `projects//locations//agents//entityTypes/` for developer entity
2963	// types.
2964	EntityType string `json:"entityType,omitempty"`
2965
2966	// Id: Required. The unique identifier of the parameter. This field is
2967	// used by training phrases to annotate their parts.
2968	Id string `json:"id,omitempty"`
2969
2970	// IsList: Indicates whether the parameter represents a list of values.
2971	IsList bool `json:"isList,omitempty"`
2972
2973	// Redact: Indicates whether the parameter content should be redacted in
2974	// log. If redaction is enabled, the parameter content will be replaced
2975	// by parameter name during logging. Note: the parameter content is
2976	// subject to redaction if either parameter level redaction or entity
2977	// type level redaction is enabled.
2978	Redact bool `json:"redact,omitempty"`
2979
2980	// ForceSendFields is a list of field names (e.g. "EntityType") to
2981	// unconditionally include in API requests. By default, fields with
2982	// empty values are omitted from API requests. However, any non-pointer,
2983	// non-interface field appearing in ForceSendFields will be sent to the
2984	// server regardless of whether the field is empty or not. This may be
2985	// used to include empty fields in Patch requests.
2986	ForceSendFields []string `json:"-"`
2987
2988	// NullFields is a list of field names (e.g. "EntityType") to include in
2989	// API requests with the JSON null value. By default, fields with empty
2990	// values are omitted from API requests. However, any field with an
2991	// empty value appearing in NullFields will be sent to the server as
2992	// null. It is an error if a field in this list has a non-empty value.
2993	// This may be used to include null fields in Patch requests.
2994	NullFields []string `json:"-"`
2995}
2996
2997func (s *GoogleCloudDialogflowCxV3IntentParameter) MarshalJSON() ([]byte, error) {
2998	type NoMethod GoogleCloudDialogflowCxV3IntentParameter
2999	raw := NoMethod(*s)
3000	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3001}
3002
3003// GoogleCloudDialogflowCxV3IntentTrainingPhrase: Represents an example
3004// that the agent is trained on to identify the intent.
3005type GoogleCloudDialogflowCxV3IntentTrainingPhrase struct {
3006	// Id: Output only. The unique identifier of the training phrase.
3007	Id string `json:"id,omitempty"`
3008
3009	// Parts: Required. The ordered list of training phrase parts. The parts
3010	// are concatenated in order to form the training phrase. Note: The API
3011	// does not automatically annotate training phrases like the Dialogflow
3012	// Console does. Note: Do not forget to include whitespace at part
3013	// boundaries, so the training phrase is well formatted when the parts
3014	// are concatenated. If the training phrase does not need to be
3015	// annotated with parameters, you just need a single part with only the
3016	// Part.text field set. If you want to annotate the training phrase, you
3017	// must create multiple parts, where the fields of each part are
3018	// populated in one of two ways: - `Part.text` is set to a part of the
3019	// phrase that has no parameters. - `Part.text` is set to a part of the
3020	// phrase that you want to annotate, and the `parameter_id` field is
3021	// set.
3022	Parts []*GoogleCloudDialogflowCxV3IntentTrainingPhrasePart `json:"parts,omitempty"`
3023
3024	// RepeatCount: Indicates how many times this example was added to the
3025	// intent.
3026	RepeatCount int64 `json:"repeatCount,omitempty"`
3027
3028	// ForceSendFields is a list of field names (e.g. "Id") to
3029	// unconditionally include in API requests. By default, fields with
3030	// empty values are omitted from API requests. However, any non-pointer,
3031	// non-interface field appearing in ForceSendFields will be sent to the
3032	// server regardless of whether the field is empty or not. This may be
3033	// used to include empty fields in Patch requests.
3034	ForceSendFields []string `json:"-"`
3035
3036	// NullFields is a list of field names (e.g. "Id") to include in API
3037	// requests with the JSON null value. By default, fields with empty
3038	// values are omitted from API requests. However, any field with an
3039	// empty value appearing in NullFields will be sent to the server as
3040	// null. It is an error if a field in this list has a non-empty value.
3041	// This may be used to include null fields in Patch requests.
3042	NullFields []string `json:"-"`
3043}
3044
3045func (s *GoogleCloudDialogflowCxV3IntentTrainingPhrase) MarshalJSON() ([]byte, error) {
3046	type NoMethod GoogleCloudDialogflowCxV3IntentTrainingPhrase
3047	raw := NoMethod(*s)
3048	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3049}
3050
3051// GoogleCloudDialogflowCxV3IntentTrainingPhrasePart: Represents a part
3052// of a training phrase.
3053type GoogleCloudDialogflowCxV3IntentTrainingPhrasePart struct {
3054	// ParameterId: The parameter used to annotate this part of the training
3055	// phrase. This field is required for annotated parts of the training
3056	// phrase.
3057	ParameterId string `json:"parameterId,omitempty"`
3058
3059	// Text: Required. The text for this part.
3060	Text string `json:"text,omitempty"`
3061
3062	// ForceSendFields is a list of field names (e.g. "ParameterId") to
3063	// unconditionally include in API requests. By default, fields with
3064	// empty values are omitted from API requests. However, any non-pointer,
3065	// non-interface field appearing in ForceSendFields will be sent to the
3066	// server regardless of whether the field is empty or not. This may be
3067	// used to include empty fields in Patch requests.
3068	ForceSendFields []string `json:"-"`
3069
3070	// NullFields is a list of field names (e.g. "ParameterId") to include
3071	// in API requests with the JSON null value. By default, fields with
3072	// empty values are omitted from API requests. However, any field with
3073	// an empty value appearing in NullFields will be sent to the server as
3074	// null. It is an error if a field in this list has a non-empty value.
3075	// This may be used to include null fields in Patch requests.
3076	NullFields []string `json:"-"`
3077}
3078
3079func (s *GoogleCloudDialogflowCxV3IntentTrainingPhrasePart) MarshalJSON() ([]byte, error) {
3080	type NoMethod GoogleCloudDialogflowCxV3IntentTrainingPhrasePart
3081	raw := NoMethod(*s)
3082	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3083}
3084
3085// GoogleCloudDialogflowCxV3ListAgentsResponse: The response message for
3086// Agents.ListAgents.
3087type GoogleCloudDialogflowCxV3ListAgentsResponse struct {
3088	// Agents: The list of agents. There will be a maximum number of items
3089	// returned based on the page_size field in the request.
3090	Agents []*GoogleCloudDialogflowCxV3Agent `json:"agents,omitempty"`
3091
3092	// NextPageToken: Token to retrieve the next page of results, or empty
3093	// if there are no more results in the list.
3094	NextPageToken string `json:"nextPageToken,omitempty"`
3095
3096	// ServerResponse contains the HTTP response code and headers from the
3097	// server.
3098	googleapi.ServerResponse `json:"-"`
3099
3100	// ForceSendFields is a list of field names (e.g. "Agents") to
3101	// unconditionally include in API requests. By default, fields with
3102	// empty values are omitted from API requests. However, any non-pointer,
3103	// non-interface field appearing in ForceSendFields will be sent to the
3104	// server regardless of whether the field is empty or not. This may be
3105	// used to include empty fields in Patch requests.
3106	ForceSendFields []string `json:"-"`
3107
3108	// NullFields is a list of field names (e.g. "Agents") to include in API
3109	// requests with the JSON null value. By default, fields with empty
3110	// values are omitted from API requests. However, any field with an
3111	// empty value appearing in NullFields will be sent to the server as
3112	// null. It is an error if a field in this list has a non-empty value.
3113	// This may be used to include null fields in Patch requests.
3114	NullFields []string `json:"-"`
3115}
3116
3117func (s *GoogleCloudDialogflowCxV3ListAgentsResponse) MarshalJSON() ([]byte, error) {
3118	type NoMethod GoogleCloudDialogflowCxV3ListAgentsResponse
3119	raw := NoMethod(*s)
3120	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3121}
3122
3123// GoogleCloudDialogflowCxV3ListEntityTypesResponse: The response
3124// message for EntityTypes.ListEntityTypes.
3125type GoogleCloudDialogflowCxV3ListEntityTypesResponse struct {
3126	// EntityTypes: The list of entity types. There will be a maximum number
3127	// of items returned based on the page_size field in the request.
3128	EntityTypes []*GoogleCloudDialogflowCxV3EntityType `json:"entityTypes,omitempty"`
3129
3130	// NextPageToken: Token to retrieve the next page of results, or empty
3131	// if there are no more results in the list.
3132	NextPageToken string `json:"nextPageToken,omitempty"`
3133
3134	// ServerResponse contains the HTTP response code and headers from the
3135	// server.
3136	googleapi.ServerResponse `json:"-"`
3137
3138	// ForceSendFields is a list of field names (e.g. "EntityTypes") to
3139	// unconditionally include in API requests. By default, fields with
3140	// empty values are omitted from API requests. However, any non-pointer,
3141	// non-interface field appearing in ForceSendFields will be sent to the
3142	// server regardless of whether the field is empty or not. This may be
3143	// used to include empty fields in Patch requests.
3144	ForceSendFields []string `json:"-"`
3145
3146	// NullFields is a list of field names (e.g. "EntityTypes") to include
3147	// in API requests with the JSON null value. By default, fields with
3148	// empty values are omitted from API requests. However, any field with
3149	// an empty value appearing in NullFields will be sent to the server as
3150	// null. It is an error if a field in this list has a non-empty value.
3151	// This may be used to include null fields in Patch requests.
3152	NullFields []string `json:"-"`
3153}
3154
3155func (s *GoogleCloudDialogflowCxV3ListEntityTypesResponse) MarshalJSON() ([]byte, error) {
3156	type NoMethod GoogleCloudDialogflowCxV3ListEntityTypesResponse
3157	raw := NoMethod(*s)
3158	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3159}
3160
3161// GoogleCloudDialogflowCxV3ListEnvironmentsResponse: The response
3162// message for Environments.ListEnvironments.
3163type GoogleCloudDialogflowCxV3ListEnvironmentsResponse struct {
3164	// Environments: The list of environments. There will be a maximum
3165	// number of items returned based on the page_size field in the request.
3166	// The list may in some cases be empty or contain fewer entries than
3167	// page_size even if this isn't the last page.
3168	Environments []*GoogleCloudDialogflowCxV3Environment `json:"environments,omitempty"`
3169
3170	// NextPageToken: Token to retrieve the next page of results, or empty
3171	// if there are no more results in the list.
3172	NextPageToken string `json:"nextPageToken,omitempty"`
3173
3174	// ServerResponse contains the HTTP response code and headers from the
3175	// server.
3176	googleapi.ServerResponse `json:"-"`
3177
3178	// ForceSendFields is a list of field names (e.g. "Environments") to
3179	// unconditionally include in API requests. By default, fields with
3180	// empty values are omitted from API requests. However, any non-pointer,
3181	// non-interface field appearing in ForceSendFields will be sent to the
3182	// server regardless of whether the field is empty or not. This may be
3183	// used to include empty fields in Patch requests.
3184	ForceSendFields []string `json:"-"`
3185
3186	// NullFields is a list of field names (e.g. "Environments") to include
3187	// in API requests with the JSON null value. By default, fields with
3188	// empty values are omitted from API requests. However, any field with
3189	// an empty value appearing in NullFields will be sent to the server as
3190	// null. It is an error if a field in this list has a non-empty value.
3191	// This may be used to include null fields in Patch requests.
3192	NullFields []string `json:"-"`
3193}
3194
3195func (s *GoogleCloudDialogflowCxV3ListEnvironmentsResponse) MarshalJSON() ([]byte, error) {
3196	type NoMethod GoogleCloudDialogflowCxV3ListEnvironmentsResponse
3197	raw := NoMethod(*s)
3198	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3199}
3200
3201// GoogleCloudDialogflowCxV3ListExperimentsResponse: The response
3202// message for Experiments.ListExperiments.
3203type GoogleCloudDialogflowCxV3ListExperimentsResponse struct {
3204	// Experiments: The list of experiments. There will be a maximum number
3205	// of items returned based on the page_size field in the request. The
3206	// list may in some cases be empty or contain fewer entries than
3207	// page_size even if this isn't the last page.
3208	Experiments []*GoogleCloudDialogflowCxV3Experiment `json:"experiments,omitempty"`
3209
3210	// NextPageToken: Token to retrieve the next page of results, or empty
3211	// if there are no more results in the list.
3212	NextPageToken string `json:"nextPageToken,omitempty"`
3213
3214	// ServerResponse contains the HTTP response code and headers from the
3215	// server.
3216	googleapi.ServerResponse `json:"-"`
3217
3218	// ForceSendFields is a list of field names (e.g. "Experiments") to
3219	// unconditionally include in API requests. By default, fields with
3220	// empty values are omitted from API requests. However, any non-pointer,
3221	// non-interface field appearing in ForceSendFields will be sent to the
3222	// server regardless of whether the field is empty or not. This may be
3223	// used to include empty fields in Patch requests.
3224	ForceSendFields []string `json:"-"`
3225
3226	// NullFields is a list of field names (e.g. "Experiments") to include
3227	// in API requests with the JSON null value. By default, fields with
3228	// empty values are omitted from API requests. However, any field with
3229	// an empty value appearing in NullFields will be sent to the server as
3230	// null. It is an error if a field in this list has a non-empty value.
3231	// This may be used to include null fields in Patch requests.
3232	NullFields []string `json:"-"`
3233}
3234
3235func (s *GoogleCloudDialogflowCxV3ListExperimentsResponse) MarshalJSON() ([]byte, error) {
3236	type NoMethod GoogleCloudDialogflowCxV3ListExperimentsResponse
3237	raw := NoMethod(*s)
3238	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3239}
3240
3241// GoogleCloudDialogflowCxV3ListFlowsResponse: The response message for
3242// Flows.ListFlows.
3243type GoogleCloudDialogflowCxV3ListFlowsResponse struct {
3244	// Flows: The list of flows. There will be a maximum number of items
3245	// returned based on the page_size field in the request.
3246	Flows []*GoogleCloudDialogflowCxV3Flow `json:"flows,omitempty"`
3247
3248	// NextPageToken: Token to retrieve the next page of results, or empty
3249	// if there are no more results in the list.
3250	NextPageToken string `json:"nextPageToken,omitempty"`
3251
3252	// ServerResponse contains the HTTP response code and headers from the
3253	// server.
3254	googleapi.ServerResponse `json:"-"`
3255
3256	// ForceSendFields is a list of field names (e.g. "Flows") to
3257	// unconditionally include in API requests. By default, fields with
3258	// empty values are omitted from API requests. However, any non-pointer,
3259	// non-interface field appearing in ForceSendFields will be sent to the
3260	// server regardless of whether the field is empty or not. This may be
3261	// used to include empty fields in Patch requests.
3262	ForceSendFields []string `json:"-"`
3263
3264	// NullFields is a list of field names (e.g. "Flows") to include in API
3265	// requests with the JSON null value. By default, fields with empty
3266	// values are omitted from API requests. However, any field with an
3267	// empty value appearing in NullFields will be sent to the server as
3268	// null. It is an error if a field in this list has a non-empty value.
3269	// This may be used to include null fields in Patch requests.
3270	NullFields []string `json:"-"`
3271}
3272
3273func (s *GoogleCloudDialogflowCxV3ListFlowsResponse) MarshalJSON() ([]byte, error) {
3274	type NoMethod GoogleCloudDialogflowCxV3ListFlowsResponse
3275	raw := NoMethod(*s)
3276	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3277}
3278
3279// GoogleCloudDialogflowCxV3ListIntentsResponse: The response message
3280// for Intents.ListIntents.
3281type GoogleCloudDialogflowCxV3ListIntentsResponse struct {
3282	// Intents: The list of intents. There will be a maximum number of items
3283	// returned based on the page_size field in the request.
3284	Intents []*GoogleCloudDialogflowCxV3Intent `json:"intents,omitempty"`
3285
3286	// NextPageToken: Token to retrieve the next page of results, or empty
3287	// if there are no more results in the list.
3288	NextPageToken string `json:"nextPageToken,omitempty"`
3289
3290	// ServerResponse contains the HTTP response code and headers from the
3291	// server.
3292	googleapi.ServerResponse `json:"-"`
3293
3294	// ForceSendFields is a list of field names (e.g. "Intents") to
3295	// unconditionally include in API requests. By default, fields with
3296	// empty values are omitted from API requests. However, any non-pointer,
3297	// non-interface field appearing in ForceSendFields will be sent to the
3298	// server regardless of whether the field is empty or not. This may be
3299	// used to include empty fields in Patch requests.
3300	ForceSendFields []string `json:"-"`
3301
3302	// NullFields is a list of field names (e.g. "Intents") to include in
3303	// API requests with the JSON null value. By default, fields with empty
3304	// values are omitted from API requests. However, any field with an
3305	// empty value appearing in NullFields will be sent to the server as
3306	// null. It is an error if a field in this list has a non-empty value.
3307	// This may be used to include null fields in Patch requests.
3308	NullFields []string `json:"-"`
3309}
3310
3311func (s *GoogleCloudDialogflowCxV3ListIntentsResponse) MarshalJSON() ([]byte, error) {
3312	type NoMethod GoogleCloudDialogflowCxV3ListIntentsResponse
3313	raw := NoMethod(*s)
3314	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3315}
3316
3317// GoogleCloudDialogflowCxV3ListPagesResponse: The response message for
3318// Pages.ListPages.
3319type GoogleCloudDialogflowCxV3ListPagesResponse struct {
3320	// NextPageToken: Token to retrieve the next page of results, or empty
3321	// if there are no more results in the list.
3322	NextPageToken string `json:"nextPageToken,omitempty"`
3323
3324	// Pages: The list of pages. There will be a maximum number of items
3325	// returned based on the page_size field in the request.
3326	Pages []*GoogleCloudDialogflowCxV3Page `json:"pages,omitempty"`
3327
3328	// ServerResponse contains the HTTP response code and headers from the
3329	// server.
3330	googleapi.ServerResponse `json:"-"`
3331
3332	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
3333	// unconditionally include in API requests. By default, fields with
3334	// empty values are omitted from API requests. However, any non-pointer,
3335	// non-interface field appearing in ForceSendFields will be sent to the
3336	// server regardless of whether the field is empty or not. This may be
3337	// used to include empty fields in Patch requests.
3338	ForceSendFields []string `json:"-"`
3339
3340	// NullFields is a list of field names (e.g. "NextPageToken") to include
3341	// in API requests with the JSON null value. By default, fields with
3342	// empty values are omitted from API requests. However, any field with
3343	// an empty value appearing in NullFields will be sent to the server as
3344	// null. It is an error if a field in this list has a non-empty value.
3345	// This may be used to include null fields in Patch requests.
3346	NullFields []string `json:"-"`
3347}
3348
3349func (s *GoogleCloudDialogflowCxV3ListPagesResponse) MarshalJSON() ([]byte, error) {
3350	type NoMethod GoogleCloudDialogflowCxV3ListPagesResponse
3351	raw := NoMethod(*s)
3352	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3353}
3354
3355// GoogleCloudDialogflowCxV3ListSecuritySettingsResponse: The response
3356// message for SecuritySettings.ListSecuritySettings.
3357type GoogleCloudDialogflowCxV3ListSecuritySettingsResponse struct {
3358	// NextPageToken: Token to retrieve the next page of results, or empty
3359	// if there are no more results in the list.
3360	NextPageToken string `json:"nextPageToken,omitempty"`
3361
3362	// SecuritySettings: The list of security settings.
3363	SecuritySettings []*GoogleCloudDialogflowCxV3SecuritySettings `json:"securitySettings,omitempty"`
3364
3365	// ServerResponse contains the HTTP response code and headers from the
3366	// server.
3367	googleapi.ServerResponse `json:"-"`
3368
3369	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
3370	// unconditionally include in API requests. By default, fields with
3371	// empty values are omitted from API requests. However, any non-pointer,
3372	// non-interface field appearing in ForceSendFields will be sent to the
3373	// server regardless of whether the field is empty or not. This may be
3374	// used to include empty fields in Patch requests.
3375	ForceSendFields []string `json:"-"`
3376
3377	// NullFields is a list of field names (e.g. "NextPageToken") to include
3378	// in API requests with the JSON null value. By default, fields with
3379	// empty values are omitted from API requests. However, any field with
3380	// an empty value appearing in NullFields will be sent to the server as
3381	// null. It is an error if a field in this list has a non-empty value.
3382	// This may be used to include null fields in Patch requests.
3383	NullFields []string `json:"-"`
3384}
3385
3386func (s *GoogleCloudDialogflowCxV3ListSecuritySettingsResponse) MarshalJSON() ([]byte, error) {
3387	type NoMethod GoogleCloudDialogflowCxV3ListSecuritySettingsResponse
3388	raw := NoMethod(*s)
3389	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3390}
3391
3392// GoogleCloudDialogflowCxV3ListSessionEntityTypesResponse: The response
3393// message for SessionEntityTypes.ListSessionEntityTypes.
3394type GoogleCloudDialogflowCxV3ListSessionEntityTypesResponse struct {
3395	// NextPageToken: Token to retrieve the next page of results, or empty
3396	// if there are no more results in the list.
3397	NextPageToken string `json:"nextPageToken,omitempty"`
3398
3399	// SessionEntityTypes: The list of session entity types. There will be a
3400	// maximum number of items returned based on the page_size field in the
3401	// request.
3402	SessionEntityTypes []*GoogleCloudDialogflowCxV3SessionEntityType `json:"sessionEntityTypes,omitempty"`
3403
3404	// ServerResponse contains the HTTP response code and headers from the
3405	// server.
3406	googleapi.ServerResponse `json:"-"`
3407
3408	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
3409	// unconditionally include in API requests. By default, fields with
3410	// empty values are omitted from API requests. However, any non-pointer,
3411	// non-interface field appearing in ForceSendFields will be sent to the
3412	// server regardless of whether the field is empty or not. This may be
3413	// used to include empty fields in Patch requests.
3414	ForceSendFields []string `json:"-"`
3415
3416	// NullFields is a list of field names (e.g. "NextPageToken") to include
3417	// in API requests with the JSON null value. By default, fields with
3418	// empty values are omitted from API requests. However, any field with
3419	// an empty value appearing in NullFields will be sent to the server as
3420	// null. It is an error if a field in this list has a non-empty value.
3421	// This may be used to include null fields in Patch requests.
3422	NullFields []string `json:"-"`
3423}
3424
3425func (s *GoogleCloudDialogflowCxV3ListSessionEntityTypesResponse) MarshalJSON() ([]byte, error) {
3426	type NoMethod GoogleCloudDialogflowCxV3ListSessionEntityTypesResponse
3427	raw := NoMethod(*s)
3428	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3429}
3430
3431// GoogleCloudDialogflowCxV3ListTestCaseResultsResponse: The response
3432// message for TestCases.ListTestCaseResults.
3433type GoogleCloudDialogflowCxV3ListTestCaseResultsResponse struct {
3434	// NextPageToken: Token to retrieve the next page of results, or empty
3435	// if there are no more results in the list.
3436	NextPageToken string `json:"nextPageToken,omitempty"`
3437
3438	// TestCaseResults: The list of test case results.
3439	TestCaseResults []*GoogleCloudDialogflowCxV3TestCaseResult `json:"testCaseResults,omitempty"`
3440
3441	// ServerResponse contains the HTTP response code and headers from the
3442	// server.
3443	googleapi.ServerResponse `json:"-"`
3444
3445	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
3446	// unconditionally include in API requests. By default, fields with
3447	// empty values are omitted from API requests. However, any non-pointer,
3448	// non-interface field appearing in ForceSendFields will be sent to the
3449	// server regardless of whether the field is empty or not. This may be
3450	// used to include empty fields in Patch requests.
3451	ForceSendFields []string `json:"-"`
3452
3453	// NullFields is a list of field names (e.g. "NextPageToken") to include
3454	// in API requests with the JSON null value. By default, fields with
3455	// empty values are omitted from API requests. However, any field with
3456	// an empty value appearing in NullFields will be sent to the server as
3457	// null. It is an error if a field in this list has a non-empty value.
3458	// This may be used to include null fields in Patch requests.
3459	NullFields []string `json:"-"`
3460}
3461
3462func (s *GoogleCloudDialogflowCxV3ListTestCaseResultsResponse) MarshalJSON() ([]byte, error) {
3463	type NoMethod GoogleCloudDialogflowCxV3ListTestCaseResultsResponse
3464	raw := NoMethod(*s)
3465	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3466}
3467
3468// GoogleCloudDialogflowCxV3ListTestCasesResponse: The response message
3469// for TestCases.ListTestCases.
3470type GoogleCloudDialogflowCxV3ListTestCasesResponse struct {
3471	// NextPageToken: Token to retrieve the next page of results, or empty
3472	// if there are no more results in the list.
3473	NextPageToken string `json:"nextPageToken,omitempty"`
3474
3475	// TestCases: The list of test cases. There will be a maximum number of
3476	// items returned based on the page_size field in the request.
3477	TestCases []*GoogleCloudDialogflowCxV3TestCase `json:"testCases,omitempty"`
3478
3479	// ServerResponse contains the HTTP response code and headers from the
3480	// server.
3481	googleapi.ServerResponse `json:"-"`
3482
3483	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
3484	// unconditionally include in API requests. By default, fields with
3485	// empty values are omitted from API requests. However, any non-pointer,
3486	// non-interface field appearing in ForceSendFields will be sent to the
3487	// server regardless of whether the field is empty or not. This may be
3488	// used to include empty fields in Patch requests.
3489	ForceSendFields []string `json:"-"`
3490
3491	// NullFields is a list of field names (e.g. "NextPageToken") to include
3492	// in API requests with the JSON null value. By default, fields with
3493	// empty values are omitted from API requests. However, any field with
3494	// an empty value appearing in NullFields will be sent to the server as
3495	// null. It is an error if a field in this list has a non-empty value.
3496	// This may be used to include null fields in Patch requests.
3497	NullFields []string `json:"-"`
3498}
3499
3500func (s *GoogleCloudDialogflowCxV3ListTestCasesResponse) MarshalJSON() ([]byte, error) {
3501	type NoMethod GoogleCloudDialogflowCxV3ListTestCasesResponse
3502	raw := NoMethod(*s)
3503	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3504}
3505
3506// GoogleCloudDialogflowCxV3ListTransitionRouteGroupsResponse: The
3507// response message for TransitionRouteGroups.ListTransitionRouteGroups.
3508type GoogleCloudDialogflowCxV3ListTransitionRouteGroupsResponse struct {
3509	// NextPageToken: Token to retrieve the next page of results, or empty
3510	// if there are no more results in the list.
3511	NextPageToken string `json:"nextPageToken,omitempty"`
3512
3513	// TransitionRouteGroups: The list of transition route groups. There
3514	// will be a maximum number of items returned based on the page_size
3515	// field in the request. The list may in some cases be empty or contain
3516	// fewer entries than page_size even if this isn't the last page.
3517	TransitionRouteGroups []*GoogleCloudDialogflowCxV3TransitionRouteGroup `json:"transitionRouteGroups,omitempty"`
3518
3519	// ServerResponse contains the HTTP response code and headers from the
3520	// server.
3521	googleapi.ServerResponse `json:"-"`
3522
3523	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
3524	// unconditionally include in API requests. By default, fields with
3525	// empty values are omitted from API requests. However, any non-pointer,
3526	// non-interface field appearing in ForceSendFields will be sent to the
3527	// server regardless of whether the field is empty or not. This may be
3528	// used to include empty fields in Patch requests.
3529	ForceSendFields []string `json:"-"`
3530
3531	// NullFields is a list of field names (e.g. "NextPageToken") to include
3532	// in API requests with the JSON null value. By default, fields with
3533	// empty values are omitted from API requests. However, any field with
3534	// an empty value appearing in NullFields will be sent to the server as
3535	// null. It is an error if a field in this list has a non-empty value.
3536	// This may be used to include null fields in Patch requests.
3537	NullFields []string `json:"-"`
3538}
3539
3540func (s *GoogleCloudDialogflowCxV3ListTransitionRouteGroupsResponse) MarshalJSON() ([]byte, error) {
3541	type NoMethod GoogleCloudDialogflowCxV3ListTransitionRouteGroupsResponse
3542	raw := NoMethod(*s)
3543	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3544}
3545
3546// GoogleCloudDialogflowCxV3ListVersionsResponse: The response message
3547// for Versions.ListVersions.
3548type GoogleCloudDialogflowCxV3ListVersionsResponse struct {
3549	// NextPageToken: Token to retrieve the next page of results, or empty
3550	// if there are no more results in the list.
3551	NextPageToken string `json:"nextPageToken,omitempty"`
3552
3553	// Versions: A list of versions. There will be a maximum number of items
3554	// returned based on the page_size field in the request. The list may in
3555	// some cases be empty or contain fewer entries than page_size even if
3556	// this isn't the last page.
3557	Versions []*GoogleCloudDialogflowCxV3Version `json:"versions,omitempty"`
3558
3559	// ServerResponse contains the HTTP response code and headers from the
3560	// server.
3561	googleapi.ServerResponse `json:"-"`
3562
3563	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
3564	// unconditionally include in API requests. By default, fields with
3565	// empty values are omitted from API requests. However, any non-pointer,
3566	// non-interface field appearing in ForceSendFields will be sent to the
3567	// server regardless of whether the field is empty or not. This may be
3568	// used to include empty fields in Patch requests.
3569	ForceSendFields []string `json:"-"`
3570
3571	// NullFields is a list of field names (e.g. "NextPageToken") to include
3572	// in API requests with the JSON null value. By default, fields with
3573	// empty values are omitted from API requests. However, any field with
3574	// an empty value appearing in NullFields will be sent to the server as
3575	// null. It is an error if a field in this list has a non-empty value.
3576	// This may be used to include null fields in Patch requests.
3577	NullFields []string `json:"-"`
3578}
3579
3580func (s *GoogleCloudDialogflowCxV3ListVersionsResponse) MarshalJSON() ([]byte, error) {
3581	type NoMethod GoogleCloudDialogflowCxV3ListVersionsResponse
3582	raw := NoMethod(*s)
3583	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3584}
3585
3586// GoogleCloudDialogflowCxV3ListWebhooksResponse: The response message
3587// for Webhooks.ListWebhooks.
3588type GoogleCloudDialogflowCxV3ListWebhooksResponse struct {
3589	// NextPageToken: Token to retrieve the next page of results, or empty
3590	// if there are no more results in the list.
3591	NextPageToken string `json:"nextPageToken,omitempty"`
3592
3593	// Webhooks: The list of webhooks. There will be a maximum number of
3594	// items returned based on the page_size field in the request.
3595	Webhooks []*GoogleCloudDialogflowCxV3Webhook `json:"webhooks,omitempty"`
3596
3597	// ServerResponse contains the HTTP response code and headers from the
3598	// server.
3599	googleapi.ServerResponse `json:"-"`
3600
3601	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
3602	// unconditionally include in API requests. By default, fields with
3603	// empty values are omitted from API requests. However, any non-pointer,
3604	// non-interface field appearing in ForceSendFields will be sent to the
3605	// server regardless of whether the field is empty or not. This may be
3606	// used to include empty fields in Patch requests.
3607	ForceSendFields []string `json:"-"`
3608
3609	// NullFields is a list of field names (e.g. "NextPageToken") to include
3610	// in API requests with the JSON null value. By default, fields with
3611	// empty values are omitted from API requests. However, any field with
3612	// an empty value appearing in NullFields will be sent to the server as
3613	// null. It is an error if a field in this list has a non-empty value.
3614	// This may be used to include null fields in Patch requests.
3615	NullFields []string `json:"-"`
3616}
3617
3618func (s *GoogleCloudDialogflowCxV3ListWebhooksResponse) MarshalJSON() ([]byte, error) {
3619	type NoMethod GoogleCloudDialogflowCxV3ListWebhooksResponse
3620	raw := NoMethod(*s)
3621	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3622}
3623
3624// GoogleCloudDialogflowCxV3LoadVersionRequest: The request message for
3625// Versions.LoadVersion.
3626type GoogleCloudDialogflowCxV3LoadVersionRequest struct {
3627	// AllowOverrideAgentResources: This field is used to prevent accidental
3628	// overwrite of other agent resources in the draft version, which can
3629	// potentially impact other flow's behavior. If
3630	// `allow_override_agent_resources` is false, conflicted agent-level
3631	// resources will not be overridden (i.e. intents, entities, webhooks).
3632	AllowOverrideAgentResources bool `json:"allowOverrideAgentResources,omitempty"`
3633
3634	// ForceSendFields is a list of field names (e.g.
3635	// "AllowOverrideAgentResources") to unconditionally include in API
3636	// requests. By default, fields with empty values are omitted from API
3637	// requests. However, any non-pointer, non-interface field appearing in
3638	// ForceSendFields will be sent to the server regardless of whether the
3639	// field is empty or not. This may be used to include empty fields in
3640	// Patch requests.
3641	ForceSendFields []string `json:"-"`
3642
3643	// NullFields is a list of field names (e.g.
3644	// "AllowOverrideAgentResources") to include in API requests with the
3645	// JSON null value. By default, fields with empty values are omitted
3646	// from API requests. However, any field with an empty value appearing
3647	// in NullFields will be sent to the server as null. It is an error if a
3648	// field in this list has a non-empty value. This may be used to include
3649	// null fields in Patch requests.
3650	NullFields []string `json:"-"`
3651}
3652
3653func (s *GoogleCloudDialogflowCxV3LoadVersionRequest) MarshalJSON() ([]byte, error) {
3654	type NoMethod GoogleCloudDialogflowCxV3LoadVersionRequest
3655	raw := NoMethod(*s)
3656	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3657}
3658
3659// GoogleCloudDialogflowCxV3LookupEnvironmentHistoryResponse: The
3660// response message for Environments.LookupEnvironmentHistory.
3661type GoogleCloudDialogflowCxV3LookupEnvironmentHistoryResponse struct {
3662	// Environments: Represents a list of snapshots for an environment. Time
3663	// of the snapshots is stored in `update_time`.
3664	Environments []*GoogleCloudDialogflowCxV3Environment `json:"environments,omitempty"`
3665
3666	// NextPageToken: Token to retrieve the next page of results, or empty
3667	// if there are no more results in the list.
3668	NextPageToken string `json:"nextPageToken,omitempty"`
3669
3670	// ServerResponse contains the HTTP response code and headers from the
3671	// server.
3672	googleapi.ServerResponse `json:"-"`
3673
3674	// ForceSendFields is a list of field names (e.g. "Environments") to
3675	// unconditionally include in API requests. By default, fields with
3676	// empty values are omitted from API requests. However, any non-pointer,
3677	// non-interface field appearing in ForceSendFields will be sent to the
3678	// server regardless of whether the field is empty or not. This may be
3679	// used to include empty fields in Patch requests.
3680	ForceSendFields []string `json:"-"`
3681
3682	// NullFields is a list of field names (e.g. "Environments") to include
3683	// in API requests with the JSON null value. By default, fields with
3684	// empty values are omitted from API requests. However, any field with
3685	// an empty value appearing in NullFields will be sent to the server as
3686	// null. It is an error if a field in this list has a non-empty value.
3687	// This may be used to include null fields in Patch requests.
3688	NullFields []string `json:"-"`
3689}
3690
3691func (s *GoogleCloudDialogflowCxV3LookupEnvironmentHistoryResponse) MarshalJSON() ([]byte, error) {
3692	type NoMethod GoogleCloudDialogflowCxV3LookupEnvironmentHistoryResponse
3693	raw := NoMethod(*s)
3694	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3695}
3696
3697// GoogleCloudDialogflowCxV3Match: Represents one match result of
3698// MatchIntent.
3699type GoogleCloudDialogflowCxV3Match struct {
3700	// Confidence: The confidence of this match. Values range from 0.0
3701	// (completely uncertain) to 1.0 (completely certain). This value is for
3702	// informational purpose only and is only used to help match the best
3703	// intent within the classification threshold. This value may change for
3704	// the same end-user expression at any time due to a model retraining or
3705	// change in implementation.
3706	Confidence float64 `json:"confidence,omitempty"`
3707
3708	// Event: The event that matched the query. Only filled for `EVENT`
3709	// match type.
3710	Event string `json:"event,omitempty"`
3711
3712	// Intent: The Intent that matched the query. Some, not all fields are
3713	// filled in this message, including but not limited to: `name` and
3714	// `display_name`. Only filled for `INTENT` match type.
3715	Intent *GoogleCloudDialogflowCxV3Intent `json:"intent,omitempty"`
3716
3717	// MatchType: Type of this Match.
3718	//
3719	// Possible values:
3720	//   "MATCH_TYPE_UNSPECIFIED" - Not specified. Should never be used.
3721	//   "INTENT" - The query was matched to an intent.
3722	//   "DIRECT_INTENT" - The query directly triggered an intent.
3723	//   "PARAMETER_FILLING" - The query was used for parameter filling.
3724	//   "NO_MATCH" - No match was found for the query.
3725	//   "NO_INPUT" - Indicates an empty query.
3726	//   "EVENT" - The query directly triggered an event.
3727	MatchType string `json:"matchType,omitempty"`
3728
3729	// Parameters: The collection of parameters extracted from the query.
3730	// Depending on your protocol or client library language, this is a map,
3731	// associative array, symbol table, dictionary, or JSON object composed
3732	// of a collection of (MapKey, MapValue) pairs: - MapKey type: string -
3733	// MapKey value: parameter name - MapValue type: - If parameter's entity
3734	// type is a composite entity: map - Else: depending on parameter value
3735	// type, could be one of string, number, boolean, null, list or map -
3736	// MapValue value: - If parameter's entity type is a composite entity:
3737	// map from composite entity property names to property values - Else:
3738	// parameter value
3739	Parameters googleapi.RawMessage `json:"parameters,omitempty"`
3740
3741	// ResolvedInput: Final text input which was matched during MatchIntent.
3742	// This value can be different from original input sent in request
3743	// because of spelling correction or other processing.
3744	ResolvedInput string `json:"resolvedInput,omitempty"`
3745
3746	// ForceSendFields is a list of field names (e.g. "Confidence") to
3747	// unconditionally include in API requests. By default, fields with
3748	// empty values are omitted from API requests. However, any non-pointer,
3749	// non-interface field appearing in ForceSendFields will be sent to the
3750	// server regardless of whether the field is empty or not. This may be
3751	// used to include empty fields in Patch requests.
3752	ForceSendFields []string `json:"-"`
3753
3754	// NullFields is a list of field names (e.g. "Confidence") to include in
3755	// API requests with the JSON null value. By default, fields with empty
3756	// values are omitted from API requests. However, any field with an
3757	// empty value appearing in NullFields will be sent to the server as
3758	// null. It is an error if a field in this list has a non-empty value.
3759	// This may be used to include null fields in Patch requests.
3760	NullFields []string `json:"-"`
3761}
3762
3763func (s *GoogleCloudDialogflowCxV3Match) MarshalJSON() ([]byte, error) {
3764	type NoMethod GoogleCloudDialogflowCxV3Match
3765	raw := NoMethod(*s)
3766	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3767}
3768
3769func (s *GoogleCloudDialogflowCxV3Match) UnmarshalJSON(data []byte) error {
3770	type NoMethod GoogleCloudDialogflowCxV3Match
3771	var s1 struct {
3772		Confidence gensupport.JSONFloat64 `json:"confidence"`
3773		*NoMethod
3774	}
3775	s1.NoMethod = (*NoMethod)(s)
3776	if err := json.Unmarshal(data, &s1); err != nil {
3777		return err
3778	}
3779	s.Confidence = float64(s1.Confidence)
3780	return nil
3781}
3782
3783// GoogleCloudDialogflowCxV3MatchIntentRequest: Request of MatchIntent.
3784type GoogleCloudDialogflowCxV3MatchIntentRequest struct {
3785	// QueryInput: Required. The input specification.
3786	QueryInput *GoogleCloudDialogflowCxV3QueryInput `json:"queryInput,omitempty"`
3787
3788	// QueryParams: The parameters of this query.
3789	QueryParams *GoogleCloudDialogflowCxV3QueryParameters `json:"queryParams,omitempty"`
3790
3791	// ForceSendFields is a list of field names (e.g. "QueryInput") to
3792	// unconditionally include in API requests. By default, fields with
3793	// empty values are omitted from API requests. However, any non-pointer,
3794	// non-interface field appearing in ForceSendFields will be sent to the
3795	// server regardless of whether the field is empty or not. This may be
3796	// used to include empty fields in Patch requests.
3797	ForceSendFields []string `json:"-"`
3798
3799	// NullFields is a list of field names (e.g. "QueryInput") to include in
3800	// API requests with the JSON null value. By default, fields with empty
3801	// values are omitted from API requests. However, any field with an
3802	// empty value appearing in NullFields will be sent to the server as
3803	// null. It is an error if a field in this list has a non-empty value.
3804	// This may be used to include null fields in Patch requests.
3805	NullFields []string `json:"-"`
3806}
3807
3808func (s *GoogleCloudDialogflowCxV3MatchIntentRequest) MarshalJSON() ([]byte, error) {
3809	type NoMethod GoogleCloudDialogflowCxV3MatchIntentRequest
3810	raw := NoMethod(*s)
3811	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3812}
3813
3814// GoogleCloudDialogflowCxV3MatchIntentResponse: Response of
3815// MatchIntent.
3816type GoogleCloudDialogflowCxV3MatchIntentResponse struct {
3817	// CurrentPage: The current Page. Some, not all fields are filled in
3818	// this message, including but not limited to `name` and `display_name`.
3819	CurrentPage *GoogleCloudDialogflowCxV3Page `json:"currentPage,omitempty"`
3820
3821	// Matches: Match results, if more than one, ordered descendingly by the
3822	// confidence we have that the particular intent matches the query.
3823	Matches []*GoogleCloudDialogflowCxV3Match `json:"matches,omitempty"`
3824
3825	// Text: If natural language text was provided as input, this field will
3826	// contain a copy of the text.
3827	Text string `json:"text,omitempty"`
3828
3829	// Transcript: If natural language speech audio was provided as input,
3830	// this field will contain the transcript for the audio.
3831	Transcript string `json:"transcript,omitempty"`
3832
3833	// TriggerEvent: If an event was provided as input, this field will
3834	// contain a copy of the event name.
3835	TriggerEvent string `json:"triggerEvent,omitempty"`
3836
3837	// TriggerIntent: If an intent was provided as input, this field will
3838	// contain a copy of the intent identifier. Format:
3839	// `projects//locations//agents//intents/`.
3840	TriggerIntent string `json:"triggerIntent,omitempty"`
3841
3842	// ServerResponse contains the HTTP response code and headers from the
3843	// server.
3844	googleapi.ServerResponse `json:"-"`
3845
3846	// ForceSendFields is a list of field names (e.g. "CurrentPage") to
3847	// unconditionally include in API requests. By default, fields with
3848	// empty values are omitted from API requests. However, any non-pointer,
3849	// non-interface field appearing in ForceSendFields will be sent to the
3850	// server regardless of whether the field is empty or not. This may be
3851	// used to include empty fields in Patch requests.
3852	ForceSendFields []string `json:"-"`
3853
3854	// NullFields is a list of field names (e.g. "CurrentPage") to include
3855	// in API requests with the JSON null value. By default, fields with
3856	// empty values are omitted from API requests. However, any field with
3857	// an empty value appearing in NullFields will be sent to the server as
3858	// null. It is an error if a field in this list has a non-empty value.
3859	// This may be used to include null fields in Patch requests.
3860	NullFields []string `json:"-"`
3861}
3862
3863func (s *GoogleCloudDialogflowCxV3MatchIntentResponse) MarshalJSON() ([]byte, error) {
3864	type NoMethod GoogleCloudDialogflowCxV3MatchIntentResponse
3865	raw := NoMethod(*s)
3866	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3867}
3868
3869// GoogleCloudDialogflowCxV3NluSettings: Settings related to NLU.
3870type GoogleCloudDialogflowCxV3NluSettings struct {
3871	// ClassificationThreshold: To filter out false positive results and
3872	// still get variety in matched natural language inputs for your agent,
3873	// you can tune the machine learning classification threshold. If the
3874	// returned score value is less than the threshold value, then a
3875	// no-match event will be triggered. The score values range from 0.0
3876	// (completely uncertain) to 1.0 (completely certain). If set to 0.0,
3877	// the default of 0.3 is used.
3878	ClassificationThreshold float64 `json:"classificationThreshold,omitempty"`
3879
3880	// ModelTrainingMode: Indicates NLU model training mode.
3881	//
3882	// Possible values:
3883	//   "MODEL_TRAINING_MODE_UNSPECIFIED" - Not specified.
3884	// `MODEL_TRAINING_MODE_AUTOMATIC` will be used.
3885	//   "MODEL_TRAINING_MODE_AUTOMATIC" - NLU model training is
3886	// automatically triggered when a flow gets modified. User can also
3887	// manually trigger model training in this mode.
3888	//   "MODEL_TRAINING_MODE_MANUAL" - User needs to manually trigger NLU
3889	// model training. Best for large flows whose models take long time to
3890	// train.
3891	ModelTrainingMode string `json:"modelTrainingMode,omitempty"`
3892
3893	// ModelType: Indicates the type of NLU model.
3894	//
3895	// Possible values:
3896	//   "MODEL_TYPE_UNSPECIFIED" - Not specified. `MODEL_TYPE_STANDARD`
3897	// will be used.
3898	//   "MODEL_TYPE_STANDARD" - Use standard NLU model.
3899	//   "MODEL_TYPE_ADVANCED" - Use advanced NLU model.
3900	ModelType string `json:"modelType,omitempty"`
3901
3902	// ForceSendFields is a list of field names (e.g.
3903	// "ClassificationThreshold") to unconditionally include in API
3904	// requests. By default, fields with empty values are omitted from API
3905	// requests. However, any non-pointer, non-interface field appearing in
3906	// ForceSendFields will be sent to the server regardless of whether the
3907	// field is empty or not. This may be used to include empty fields in
3908	// Patch requests.
3909	ForceSendFields []string `json:"-"`
3910
3911	// NullFields is a list of field names (e.g. "ClassificationThreshold")
3912	// to include in API requests with the JSON null value. By default,
3913	// fields with empty values are omitted from API requests. However, any
3914	// field with an empty value appearing in NullFields will be sent to the
3915	// server as null. It is an error if a field in this list has a
3916	// non-empty value. This may be used to include null fields in Patch
3917	// requests.
3918	NullFields []string `json:"-"`
3919}
3920
3921func (s *GoogleCloudDialogflowCxV3NluSettings) MarshalJSON() ([]byte, error) {
3922	type NoMethod GoogleCloudDialogflowCxV3NluSettings
3923	raw := NoMethod(*s)
3924	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3925}
3926
3927func (s *GoogleCloudDialogflowCxV3NluSettings) UnmarshalJSON(data []byte) error {
3928	type NoMethod GoogleCloudDialogflowCxV3NluSettings
3929	var s1 struct {
3930		ClassificationThreshold gensupport.JSONFloat64 `json:"classificationThreshold"`
3931		*NoMethod
3932	}
3933	s1.NoMethod = (*NoMethod)(s)
3934	if err := json.Unmarshal(data, &s1); err != nil {
3935		return err
3936	}
3937	s.ClassificationThreshold = float64(s1.ClassificationThreshold)
3938	return nil
3939}
3940
3941// GoogleCloudDialogflowCxV3OutputAudioConfig: Instructs the speech
3942// synthesizer how to generate the output audio content.
3943type GoogleCloudDialogflowCxV3OutputAudioConfig struct {
3944	// AudioEncoding: Required. Audio encoding of the synthesized audio
3945	// content.
3946	//
3947	// Possible values:
3948	//   "OUTPUT_AUDIO_ENCODING_UNSPECIFIED" - Not specified.
3949	//   "OUTPUT_AUDIO_ENCODING_LINEAR_16" - Uncompressed 16-bit signed
3950	// little-endian samples (Linear PCM). Audio content returned as
3951	// LINEAR16 also contains a WAV header.
3952	//   "OUTPUT_AUDIO_ENCODING_MP3" - MP3 audio at 32kbps.
3953	//   "OUTPUT_AUDIO_ENCODING_MP3_64_KBPS" - MP3 audio at 64kbps.
3954	//   "OUTPUT_AUDIO_ENCODING_OGG_OPUS" - Opus encoded audio wrapped in an
3955	// ogg container. The result will be a file which can be played natively
3956	// on Android, and in browsers (at least Chrome and Firefox). The
3957	// quality of the encoding is considerably higher than MP3 while using
3958	// approximately the same bitrate.
3959	//   "OUTPUT_AUDIO_ENCODING_MULAW" - 8-bit samples that compand 14-bit
3960	// audio samples using G.711 PCMU/mu-law.
3961	AudioEncoding string `json:"audioEncoding,omitempty"`
3962
3963	// SampleRateHertz: Optional. The synthesis sample rate (in hertz) for
3964	// this audio. If not provided, then the synthesizer will use the
3965	// default sample rate based on the audio encoding. If this is different
3966	// from the voice's natural sample rate, then the synthesizer will honor
3967	// this request by converting to the desired sample rate (which might
3968	// result in worse audio quality).
3969	SampleRateHertz int64 `json:"sampleRateHertz,omitempty"`
3970
3971	// SynthesizeSpeechConfig: Optional. Configuration of how speech should
3972	// be synthesized.
3973	SynthesizeSpeechConfig *GoogleCloudDialogflowCxV3SynthesizeSpeechConfig `json:"synthesizeSpeechConfig,omitempty"`
3974
3975	// ForceSendFields is a list of field names (e.g. "AudioEncoding") to
3976	// unconditionally include in API requests. By default, fields with
3977	// empty values are omitted from API requests. However, any non-pointer,
3978	// non-interface field appearing in ForceSendFields will be sent to the
3979	// server regardless of whether the field is empty or not. This may be
3980	// used to include empty fields in Patch requests.
3981	ForceSendFields []string `json:"-"`
3982
3983	// NullFields is a list of field names (e.g. "AudioEncoding") to include
3984	// in API requests with the JSON null value. By default, fields with
3985	// empty values are omitted from API requests. However, any field with
3986	// an empty value appearing in NullFields will be sent to the server as
3987	// null. It is an error if a field in this list has a non-empty value.
3988	// This may be used to include null fields in Patch requests.
3989	NullFields []string `json:"-"`
3990}
3991
3992func (s *GoogleCloudDialogflowCxV3OutputAudioConfig) MarshalJSON() ([]byte, error) {
3993	type NoMethod GoogleCloudDialogflowCxV3OutputAudioConfig
3994	raw := NoMethod(*s)
3995	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3996}
3997
3998// GoogleCloudDialogflowCxV3Page: A Dialogflow CX conversation (session)
3999// can be described and visualized as a state machine. The states of a
4000// CX session are represented by pages. For each flow, you define many
4001// pages, where your combined pages can handle a complete conversation
4002// on the topics the flow is designed for. At any given moment, exactly
4003// one page is the current page, the current page is considered active,
4004// and the flow associated with that page is considered active. Every
4005// flow has a special start page. When a flow initially becomes active,
4006// the start page page becomes the current page. For each conversational
4007// turn, the current page will either stay the same or transition to
4008// another page. You configure each page to collect information from the
4009// end-user that is relevant for the conversational state represented by
4010// the page. For more information, see the Page guide
4011// (https://cloud.google.com/dialogflow/cx/docs/concept/page).
4012type GoogleCloudDialogflowCxV3Page struct {
4013	// DisplayName: Required. The human-readable name of the page, unique
4014	// within the agent.
4015	DisplayName string `json:"displayName,omitempty"`
4016
4017	// EntryFulfillment: The fulfillment to call when the session is
4018	// entering the page.
4019	EntryFulfillment *GoogleCloudDialogflowCxV3Fulfillment `json:"entryFulfillment,omitempty"`
4020
4021	// EventHandlers: Handlers associated with the page to handle events
4022	// such as webhook errors, no match or no input.
4023	EventHandlers []*GoogleCloudDialogflowCxV3EventHandler `json:"eventHandlers,omitempty"`
4024
4025	// Form: The form associated with the page, used for collecting
4026	// parameters relevant to the page.
4027	Form *GoogleCloudDialogflowCxV3Form `json:"form,omitempty"`
4028
4029	// Name: The unique identifier of the page. Required for the
4030	// Pages.UpdatePage method. Pages.CreatePage populates the name
4031	// automatically. Format: `projects//locations//agents//flows//pages/`.
4032	Name string `json:"name,omitempty"`
4033
4034	// TransitionRouteGroups: Ordered list of `TransitionRouteGroups`
4035	// associated with the page. Transition route groups must be unique
4036	// within a page. * If multiple transition routes within a page scope
4037	// refer to the same intent, then the precedence order is: page's
4038	// transition route -> page's transition route group -> flow's
4039	// transition routes. * If multiple transition route groups within a
4040	// page contain the same intent, then the first group in the ordered
4041	// list takes precedence.
4042	// Format:`projects//locations//agents//flows//transitionRouteGroups/`.
4043	TransitionRouteGroups []string `json:"transitionRouteGroups,omitempty"`
4044
4045	// TransitionRoutes: A list of transitions for the transition rules of
4046	// this page. They route the conversation to another page in the same
4047	// flow, or another flow. When we are in a certain page, the
4048	// TransitionRoutes are evalauted in the following order: *
4049	// TransitionRoutes defined in the page with intent specified. *
4050	// TransitionRoutes defined in the transition route groups with intent
4051	// specified. * TransitionRoutes defined in flow with intent specified.
4052	// * TransitionRoutes defined in the transition route groups with intent
4053	// specified. * TransitionRoutes defined in the page with only condition
4054	// specified. * TransitionRoutes defined in the transition route groups
4055	// with only condition specified.
4056	TransitionRoutes []*GoogleCloudDialogflowCxV3TransitionRoute `json:"transitionRoutes,omitempty"`
4057
4058	// ServerResponse contains the HTTP response code and headers from the
4059	// server.
4060	googleapi.ServerResponse `json:"-"`
4061
4062	// ForceSendFields is a list of field names (e.g. "DisplayName") to
4063	// unconditionally include in API requests. By default, fields with
4064	// empty values are omitted from API requests. However, any non-pointer,
4065	// non-interface field appearing in ForceSendFields will be sent to the
4066	// server regardless of whether the field is empty or not. This may be
4067	// used to include empty fields in Patch requests.
4068	ForceSendFields []string `json:"-"`
4069
4070	// NullFields is a list of field names (e.g. "DisplayName") to include
4071	// in API requests with the JSON null value. By default, fields with
4072	// empty values are omitted from API requests. However, any field with
4073	// an empty value appearing in NullFields will be sent to the server as
4074	// null. It is an error if a field in this list has a non-empty value.
4075	// This may be used to include null fields in Patch requests.
4076	NullFields []string `json:"-"`
4077}
4078
4079func (s *GoogleCloudDialogflowCxV3Page) MarshalJSON() ([]byte, error) {
4080	type NoMethod GoogleCloudDialogflowCxV3Page
4081	raw := NoMethod(*s)
4082	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4083}
4084
4085// GoogleCloudDialogflowCxV3PageInfo: Represents page information
4086// communicated to and from the webhook.
4087type GoogleCloudDialogflowCxV3PageInfo struct {
4088	// CurrentPage: Always present for WebhookRequest. Ignored for
4089	// WebhookResponse. The unique identifier of the current page. Format:
4090	// `projects//locations//agents//flows//pages/`.
4091	CurrentPage string `json:"currentPage,omitempty"`
4092
4093	// FormInfo: Optional for both WebhookRequest and WebhookResponse.
4094	// Information about the form.
4095	FormInfo *GoogleCloudDialogflowCxV3PageInfoFormInfo `json:"formInfo,omitempty"`
4096
4097	// ForceSendFields is a list of field names (e.g. "CurrentPage") to
4098	// unconditionally include in API requests. By default, fields with
4099	// empty values are omitted from API requests. However, any non-pointer,
4100	// non-interface field appearing in ForceSendFields will be sent to the
4101	// server regardless of whether the field is empty or not. This may be
4102	// used to include empty fields in Patch requests.
4103	ForceSendFields []string `json:"-"`
4104
4105	// NullFields is a list of field names (e.g. "CurrentPage") to include
4106	// in API requests with the JSON null value. By default, fields with
4107	// empty values are omitted from API requests. However, any field with
4108	// an empty value appearing in NullFields will be sent to the server as
4109	// null. It is an error if a field in this list has a non-empty value.
4110	// This may be used to include null fields in Patch requests.
4111	NullFields []string `json:"-"`
4112}
4113
4114func (s *GoogleCloudDialogflowCxV3PageInfo) MarshalJSON() ([]byte, error) {
4115	type NoMethod GoogleCloudDialogflowCxV3PageInfo
4116	raw := NoMethod(*s)
4117	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4118}
4119
4120// GoogleCloudDialogflowCxV3PageInfoFormInfo: Represents form
4121// information.
4122type GoogleCloudDialogflowCxV3PageInfoFormInfo struct {
4123	// ParameterInfo: Optional for both WebhookRequest and WebhookResponse.
4124	// The parameters contained in the form. Note that the webhook cannot
4125	// add or remove any form parameter.
4126	ParameterInfo []*GoogleCloudDialogflowCxV3PageInfoFormInfoParameterInfo `json:"parameterInfo,omitempty"`
4127
4128	// ForceSendFields is a list of field names (e.g. "ParameterInfo") to
4129	// unconditionally include in API requests. By default, fields with
4130	// empty values are omitted from API requests. However, any non-pointer,
4131	// non-interface field appearing in ForceSendFields will be sent to the
4132	// server regardless of whether the field is empty or not. This may be
4133	// used to include empty fields in Patch requests.
4134	ForceSendFields []string `json:"-"`
4135
4136	// NullFields is a list of field names (e.g. "ParameterInfo") to include
4137	// in API requests with the JSON null value. By default, fields with
4138	// empty values are omitted from API requests. However, any field with
4139	// an empty value appearing in NullFields will be sent to the server as
4140	// null. It is an error if a field in this list has a non-empty value.
4141	// This may be used to include null fields in Patch requests.
4142	NullFields []string `json:"-"`
4143}
4144
4145func (s *GoogleCloudDialogflowCxV3PageInfoFormInfo) MarshalJSON() ([]byte, error) {
4146	type NoMethod GoogleCloudDialogflowCxV3PageInfoFormInfo
4147	raw := NoMethod(*s)
4148	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4149}
4150
4151// GoogleCloudDialogflowCxV3PageInfoFormInfoParameterInfo: Represents
4152// parameter information.
4153type GoogleCloudDialogflowCxV3PageInfoFormInfoParameterInfo struct {
4154	// DisplayName: Always present for WebhookRequest. Required for
4155	// WebhookResponse. The human-readable name of the parameter, unique
4156	// within the form. This field cannot be modified by the webhook.
4157	DisplayName string `json:"displayName,omitempty"`
4158
4159	// JustCollected: Optional for WebhookRequest. Ignored for
4160	// WebhookResponse. Indicates if the parameter value was just collected
4161	// on the last conversation turn.
4162	JustCollected bool `json:"justCollected,omitempty"`
4163
4164	// Required: Optional for both WebhookRequest and WebhookResponse.
4165	// Indicates whether the parameter is required. Optional parameters will
4166	// not trigger prompts; however, they are filled if the user specifies
4167	// them. Required parameters must be filled before form filling
4168	// concludes.
4169	Required bool `json:"required,omitempty"`
4170
4171	// State: Always present for WebhookRequest. Required for
4172	// WebhookResponse. The state of the parameter. This field can be set to
4173	// INVALID by the webhook to invalidate the parameter; other values set
4174	// by the webhook will be ignored.
4175	//
4176	// Possible values:
4177	//   "PARAMETER_STATE_UNSPECIFIED" - Not specified. This value should be
4178	// never used.
4179	//   "EMPTY" - Indicates that the parameter does not have a value.
4180	//   "INVALID" - Indicates that the parameter value is invalid. This
4181	// field can be used by the webhook to invalidate the parameter and ask
4182	// the server to collect it from the user again.
4183	//   "FILLED" - Indicates that the parameter has a value.
4184	State string `json:"state,omitempty"`
4185
4186	// Value: Optional for both WebhookRequest and WebhookResponse. The
4187	// value of the parameter. This field can be set by the webhook to
4188	// change the parameter value.
4189	Value interface{} `json:"value,omitempty"`
4190
4191	// ForceSendFields is a list of field names (e.g. "DisplayName") to
4192	// unconditionally include in API requests. By default, fields with
4193	// empty values are omitted from API requests. However, any non-pointer,
4194	// non-interface field appearing in ForceSendFields will be sent to the
4195	// server regardless of whether the field is empty or not. This may be
4196	// used to include empty fields in Patch requests.
4197	ForceSendFields []string `json:"-"`
4198
4199	// NullFields is a list of field names (e.g. "DisplayName") to include
4200	// in API requests with the JSON null value. By default, fields with
4201	// empty values are omitted from API requests. However, any field with
4202	// an empty value appearing in NullFields will be sent to the server as
4203	// null. It is an error if a field in this list has a non-empty value.
4204	// This may be used to include null fields in Patch requests.
4205	NullFields []string `json:"-"`
4206}
4207
4208func (s *GoogleCloudDialogflowCxV3PageInfoFormInfoParameterInfo) MarshalJSON() ([]byte, error) {
4209	type NoMethod GoogleCloudDialogflowCxV3PageInfoFormInfoParameterInfo
4210	raw := NoMethod(*s)
4211	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4212}
4213
4214// GoogleCloudDialogflowCxV3QueryInput: Represents the query input. It
4215// can contain one of: 1. A conversational query in the form of text. 2.
4216// An intent query that specifies which intent to trigger. 3. Natural
4217// language speech audio to be processed. 4. An event to be triggered.
4218type GoogleCloudDialogflowCxV3QueryInput struct {
4219	// Audio: The natural language speech audio to be processed.
4220	Audio *GoogleCloudDialogflowCxV3AudioInput `json:"audio,omitempty"`
4221
4222	// Dtmf: The DTMF event to be handled.
4223	Dtmf *GoogleCloudDialogflowCxV3DtmfInput `json:"dtmf,omitempty"`
4224
4225	// Event: The event to be triggered.
4226	Event *GoogleCloudDialogflowCxV3EventInput `json:"event,omitempty"`
4227
4228	// Intent: The intent to be triggered.
4229	Intent *GoogleCloudDialogflowCxV3IntentInput `json:"intent,omitempty"`
4230
4231	// LanguageCode: Required. The language of the input. See Language
4232	// Support
4233	// (https://cloud.google.com/dialogflow/cx/docs/reference/language) for
4234	// a list of the currently supported language codes. Note that queries
4235	// in the same session do not necessarily need to specify the same
4236	// language.
4237	LanguageCode string `json:"languageCode,omitempty"`
4238
4239	// Text: The natural language text to be processed.
4240	Text *GoogleCloudDialogflowCxV3TextInput `json:"text,omitempty"`
4241
4242	// ForceSendFields is a list of field names (e.g. "Audio") to
4243	// unconditionally include in API requests. By default, fields with
4244	// empty values are omitted from API requests. However, any non-pointer,
4245	// non-interface field appearing in ForceSendFields will be sent to the
4246	// server regardless of whether the field is empty or not. This may be
4247	// used to include empty fields in Patch requests.
4248	ForceSendFields []string `json:"-"`
4249
4250	// NullFields is a list of field names (e.g. "Audio") to include in API
4251	// requests with the JSON null value. By default, fields with empty
4252	// values are omitted from API requests. However, any field with an
4253	// empty value appearing in NullFields will be sent to the server as
4254	// null. It is an error if a field in this list has a non-empty value.
4255	// This may be used to include null fields in Patch requests.
4256	NullFields []string `json:"-"`
4257}
4258
4259func (s *GoogleCloudDialogflowCxV3QueryInput) MarshalJSON() ([]byte, error) {
4260	type NoMethod GoogleCloudDialogflowCxV3QueryInput
4261	raw := NoMethod(*s)
4262	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4263}
4264
4265// GoogleCloudDialogflowCxV3QueryParameters: Represents the parameters
4266// of a conversational query.
4267type GoogleCloudDialogflowCxV3QueryParameters struct {
4268	// AnalyzeQueryTextSentiment: Configures whether sentiment analysis
4269	// should be performed. If not provided, sentiment analysis is not
4270	// performed.
4271	AnalyzeQueryTextSentiment bool `json:"analyzeQueryTextSentiment,omitempty"`
4272
4273	// CurrentPage: The unique identifier of the page to override the
4274	// current page in the session. Format:
4275	// `projects//locations//agents//pages/`. If `current_page` is
4276	// specified, the previous state of the session will be ignored by
4277	// Dialogflow, including the previous page and the previous session
4278	// parameters. In most cases, current_page and parameters should be
4279	// configured together to direct a session to a specific state.
4280	CurrentPage string `json:"currentPage,omitempty"`
4281
4282	// DisableWebhook: Whether to disable webhook calls for this request.
4283	DisableWebhook bool `json:"disableWebhook,omitempty"`
4284
4285	// GeoLocation: The geo location of this conversational query.
4286	GeoLocation *GoogleTypeLatLng `json:"geoLocation,omitempty"`
4287
4288	// Parameters: Additional parameters to be put into session parameters.
4289	// To remove a parameter from the session, clients should explicitly set
4290	// the parameter value to null. Depending on your protocol or client
4291	// library language, this is a map, associative array, symbol table,
4292	// dictionary, or JSON object composed of a collection of (MapKey,
4293	// MapValue) pairs: - MapKey type: string - MapKey value: parameter name
4294	// - MapValue type: - If parameter's entity type is a composite entity:
4295	// map - Else: depending on parameter value type, could be one of
4296	// string, number, boolean, null, list or map - MapValue value: - If
4297	// parameter's entity type is a composite entity: map from composite
4298	// entity property names to property values - Else: parameter value
4299	Parameters googleapi.RawMessage `json:"parameters,omitempty"`
4300
4301	// Payload: This field can be used to pass custom data into the webhook
4302	// associated with the agent. Arbitrary JSON objects are supported.
4303	Payload googleapi.RawMessage `json:"payload,omitempty"`
4304
4305	// SessionEntityTypes: Additional session entity types to replace or
4306	// extend developer entity types with. The entity synonyms apply to all
4307	// languages and persist for the session of this query.
4308	SessionEntityTypes []*GoogleCloudDialogflowCxV3SessionEntityType `json:"sessionEntityTypes,omitempty"`
4309
4310	// TimeZone: The time zone of this conversational query from the time
4311	// zone database (https://www.iana.org/time-zones), e.g.,
4312	// America/New_York, Europe/Paris. If not provided, the time zone
4313	// specified in the agent is used.
4314	TimeZone string `json:"timeZone,omitempty"`
4315
4316	// WebhookHeaders: This field can be used to pass HTTP headers for a
4317	// webhook call. These headers will be sent to webhook along with the
4318	// headers that have been configured through Dialogflow web console. The
4319	// headers defined within this field will overwrite the headers
4320	// configured through Dialogflow console if there is a conflict. Header
4321	// names are case-insensitive. Google's specified headers are not
4322	// allowed. Including: "Host", "Content-Length", "Connection", "From",
4323	// "User-Agent", "Accept-Encoding", "If-Modified-Since",
4324	// "If-None-Match", "X-Forwarded-For", etc.
4325	WebhookHeaders map[string]string `json:"webhookHeaders,omitempty"`
4326
4327	// ForceSendFields is a list of field names (e.g.
4328	// "AnalyzeQueryTextSentiment") to unconditionally include in API
4329	// requests. By default, fields with empty values are omitted from API
4330	// requests. However, any non-pointer, non-interface field appearing in
4331	// ForceSendFields will be sent to the server regardless of whether the
4332	// field is empty or not. This may be used to include empty fields in
4333	// Patch requests.
4334	ForceSendFields []string `json:"-"`
4335
4336	// NullFields is a list of field names (e.g.
4337	// "AnalyzeQueryTextSentiment") to include in API requests with the JSON
4338	// null value. By default, fields with empty values are omitted from API
4339	// requests. However, any field with an empty value appearing in
4340	// NullFields will be sent to the server as null. It is an error if a
4341	// field in this list has a non-empty value. This may be used to include
4342	// null fields in Patch requests.
4343	NullFields []string `json:"-"`
4344}
4345
4346func (s *GoogleCloudDialogflowCxV3QueryParameters) MarshalJSON() ([]byte, error) {
4347	type NoMethod GoogleCloudDialogflowCxV3QueryParameters
4348	raw := NoMethod(*s)
4349	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4350}
4351
4352// GoogleCloudDialogflowCxV3QueryResult: Represents the result of a
4353// conversational query.
4354type GoogleCloudDialogflowCxV3QueryResult struct {
4355	// CurrentPage: The current Page. Some, not all fields are filled in
4356	// this message, including but not limited to `name` and `display_name`.
4357	CurrentPage *GoogleCloudDialogflowCxV3Page `json:"currentPage,omitempty"`
4358
4359	// DiagnosticInfo: The free-form diagnostic info. For example, this
4360	// field could contain webhook call latency. The string keys of the
4361	// Struct's fields map can change without notice.
4362	DiagnosticInfo googleapi.RawMessage `json:"diagnosticInfo,omitempty"`
4363
4364	// Intent: The Intent that matched the conversational query. Some, not
4365	// all fields are filled in this message, including but not limited to:
4366	// `name` and `display_name`. This field is deprecated, please use
4367	// QueryResult.match instead.
4368	Intent *GoogleCloudDialogflowCxV3Intent `json:"intent,omitempty"`
4369
4370	// IntentDetectionConfidence: The intent detection confidence. Values
4371	// range from 0.0 (completely uncertain) to 1.0 (completely certain).
4372	// This value is for informational purpose only and is only used to help
4373	// match the best intent within the classification threshold. This value
4374	// may change for the same end-user expression at any time due to a
4375	// model retraining or change in implementation. This field is
4376	// deprecated, please use QueryResult.match instead.
4377	IntentDetectionConfidence float64 `json:"intentDetectionConfidence,omitempty"`
4378
4379	// LanguageCode: The language that was triggered during intent
4380	// detection. See Language Support
4381	// (https://cloud.google.com/dialogflow/cx/docs/reference/language) for
4382	// a list of the currently supported language codes.
4383	LanguageCode string `json:"languageCode,omitempty"`
4384
4385	// Match: Intent match result, could be an intent or an event.
4386	Match *GoogleCloudDialogflowCxV3Match `json:"match,omitempty"`
4387
4388	// Parameters: The collected session parameters. Depending on your
4389	// protocol or client library language, this is a map, associative
4390	// array, symbol table, dictionary, or JSON object composed of a
4391	// collection of (MapKey, MapValue) pairs: - MapKey type: string -
4392	// MapKey value: parameter name - MapValue type: - If parameter's entity
4393	// type is a composite entity: map - Else: depending on parameter value
4394	// type, could be one of string, number, boolean, null, list or map -
4395	// MapValue value: - If parameter's entity type is a composite entity:
4396	// map from composite entity property names to property values - Else:
4397	// parameter value
4398	Parameters googleapi.RawMessage `json:"parameters,omitempty"`
4399
4400	// ResponseMessages: The list of rich messages returned to the client.
4401	// Responses vary from simple text messages to more sophisticated,
4402	// structured payloads used to drive complex logic.
4403	ResponseMessages []*GoogleCloudDialogflowCxV3ResponseMessage `json:"responseMessages,omitempty"`
4404
4405	// SentimentAnalysisResult: The sentiment analyss result, which depends
4406	// on `analyze_query_text_sentiment`, specified in the request.
4407	SentimentAnalysisResult *GoogleCloudDialogflowCxV3SentimentAnalysisResult `json:"sentimentAnalysisResult,omitempty"`
4408
4409	// Text: If natural language text was provided as input, this field will
4410	// contain a copy of the text.
4411	Text string `json:"text,omitempty"`
4412
4413	// Transcript: If natural language speech audio was provided as input,
4414	// this field will contain the transcript for the audio.
4415	Transcript string `json:"transcript,omitempty"`
4416
4417	// TriggerEvent: If an event was provided as input, this field will
4418	// contain the name of the event.
4419	TriggerEvent string `json:"triggerEvent,omitempty"`
4420
4421	// TriggerIntent: If an intent was provided as input, this field will
4422	// contain a copy of the intent identifier. Format:
4423	// `projects//locations//agents//intents/`.
4424	TriggerIntent string `json:"triggerIntent,omitempty"`
4425
4426	// WebhookPayloads: The list of webhook payload in
4427	// WebhookResponse.payload, in the order of call sequence. If some
4428	// webhook call fails or doesn't return any payload, an empty `Struct`
4429	// would be used instead.
4430	WebhookPayloads []googleapi.RawMessage `json:"webhookPayloads,omitempty"`
4431
4432	// WebhookStatuses: The list of webhook call status in the order of call
4433	// sequence.
4434	WebhookStatuses []*GoogleRpcStatus `json:"webhookStatuses,omitempty"`
4435
4436	// ForceSendFields is a list of field names (e.g. "CurrentPage") to
4437	// unconditionally include in API requests. By default, fields with
4438	// empty values are omitted from API requests. However, any non-pointer,
4439	// non-interface field appearing in ForceSendFields will be sent to the
4440	// server regardless of whether the field is empty or not. This may be
4441	// used to include empty fields in Patch requests.
4442	ForceSendFields []string `json:"-"`
4443
4444	// NullFields is a list of field names (e.g. "CurrentPage") to include
4445	// in API requests with the JSON null value. By default, fields with
4446	// empty values are omitted from API requests. However, any field with
4447	// an empty value appearing in NullFields will be sent to the server as
4448	// null. It is an error if a field in this list has a non-empty value.
4449	// This may be used to include null fields in Patch requests.
4450	NullFields []string `json:"-"`
4451}
4452
4453func (s *GoogleCloudDialogflowCxV3QueryResult) MarshalJSON() ([]byte, error) {
4454	type NoMethod GoogleCloudDialogflowCxV3QueryResult
4455	raw := NoMethod(*s)
4456	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4457}
4458
4459func (s *GoogleCloudDialogflowCxV3QueryResult) UnmarshalJSON(data []byte) error {
4460	type NoMethod GoogleCloudDialogflowCxV3QueryResult
4461	var s1 struct {
4462		IntentDetectionConfidence gensupport.JSONFloat64 `json:"intentDetectionConfidence"`
4463		*NoMethod
4464	}
4465	s1.NoMethod = (*NoMethod)(s)
4466	if err := json.Unmarshal(data, &s1); err != nil {
4467		return err
4468	}
4469	s.IntentDetectionConfidence = float64(s1.IntentDetectionConfidence)
4470	return nil
4471}
4472
4473// GoogleCloudDialogflowCxV3ReloadDocumentOperationMetadata: Metadata
4474// for ReloadDocument operation.
4475type GoogleCloudDialogflowCxV3ReloadDocumentOperationMetadata struct {
4476	// GenericMetadata: The generic information of the operation.
4477	GenericMetadata *GoogleCloudDialogflowCxV3GenericKnowledgeOperationMetadata `json:"genericMetadata,omitempty"`
4478
4479	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
4480	// unconditionally include in API requests. By default, fields with
4481	// empty values are omitted from API requests. However, any non-pointer,
4482	// non-interface field appearing in ForceSendFields will be sent to the
4483	// server regardless of whether the field is empty or not. This may be
4484	// used to include empty fields in Patch requests.
4485	ForceSendFields []string `json:"-"`
4486
4487	// NullFields is a list of field names (e.g. "GenericMetadata") to
4488	// include in API requests with the JSON null value. By default, fields
4489	// with empty values are omitted from API requests. However, any field
4490	// with an empty value appearing in NullFields will be sent to the
4491	// server as null. It is an error if a field in this list has a
4492	// non-empty value. This may be used to include null fields in Patch
4493	// requests.
4494	NullFields []string `json:"-"`
4495}
4496
4497func (s *GoogleCloudDialogflowCxV3ReloadDocumentOperationMetadata) MarshalJSON() ([]byte, error) {
4498	type NoMethod GoogleCloudDialogflowCxV3ReloadDocumentOperationMetadata
4499	raw := NoMethod(*s)
4500	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4501}
4502
4503// GoogleCloudDialogflowCxV3ResourceName: Resource name and display
4504// name.
4505type GoogleCloudDialogflowCxV3ResourceName struct {
4506	// DisplayName: Display name.
4507	DisplayName string `json:"displayName,omitempty"`
4508
4509	// Name: Name.
4510	Name string `json:"name,omitempty"`
4511
4512	// ForceSendFields is a list of field names (e.g. "DisplayName") to
4513	// unconditionally include in API requests. By default, fields with
4514	// empty values are omitted from API requests. However, any non-pointer,
4515	// non-interface field appearing in ForceSendFields will be sent to the
4516	// server regardless of whether the field is empty or not. This may be
4517	// used to include empty fields in Patch requests.
4518	ForceSendFields []string `json:"-"`
4519
4520	// NullFields is a list of field names (e.g. "DisplayName") to include
4521	// in API requests with the JSON null value. By default, fields with
4522	// empty values are omitted from API requests. However, any field with
4523	// an empty value appearing in NullFields will be sent to the server as
4524	// null. It is an error if a field in this list has a non-empty value.
4525	// This may be used to include null fields in Patch requests.
4526	NullFields []string `json:"-"`
4527}
4528
4529func (s *GoogleCloudDialogflowCxV3ResourceName) MarshalJSON() ([]byte, error) {
4530	type NoMethod GoogleCloudDialogflowCxV3ResourceName
4531	raw := NoMethod(*s)
4532	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4533}
4534
4535// GoogleCloudDialogflowCxV3ResponseMessage: Represents a response
4536// message that can be returned by a conversational agent. Response
4537// messages are also used for output audio synthesis. The approach is as
4538// follows: * If at least one OutputAudioText response is present, then
4539// all OutputAudioText responses are linearly concatenated, and the
4540// result is used for output audio synthesis. * If the OutputAudioText
4541// responses are a mixture of text and SSML, then the concatenated
4542// result is treated as SSML; otherwise, the result is treated as either
4543// text or SSML as appropriate. The agent designer should ideally use
4544// either text or SSML consistently throughout the bot design. *
4545// Otherwise, all Text responses are linearly concatenated, and the
4546// result is used for output audio synthesis. This approach allows for
4547// more sophisticated user experience scenarios, where the text
4548// displayed to the user may differ from what is heard.
4549type GoogleCloudDialogflowCxV3ResponseMessage struct {
4550	// ConversationSuccess: Indicates that the conversation succeeded.
4551	ConversationSuccess *GoogleCloudDialogflowCxV3ResponseMessageConversationSuccess `json:"conversationSuccess,omitempty"`
4552
4553	// EndInteraction: Output only. A signal that indicates the interaction
4554	// with the Dialogflow agent has ended. This message is generated by
4555	// Dialogflow only when the conversation reaches `END_SESSION` page. It
4556	// is not supposed to be defined by the user. It's guaranteed that there
4557	// is at most one such message in each response.
4558	EndInteraction *GoogleCloudDialogflowCxV3ResponseMessageEndInteraction `json:"endInteraction,omitempty"`
4559
4560	// LiveAgentHandoff: Hands off conversation to a human agent.
4561	LiveAgentHandoff *GoogleCloudDialogflowCxV3ResponseMessageLiveAgentHandoff `json:"liveAgentHandoff,omitempty"`
4562
4563	// MixedAudio: Output only. An audio response message composed of both
4564	// the synthesized Dialogflow agent responses and responses defined via
4565	// play_audio. This message is generated by Dialogflow only and not
4566	// supposed to be defined by the user.
4567	MixedAudio *GoogleCloudDialogflowCxV3ResponseMessageMixedAudio `json:"mixedAudio,omitempty"`
4568
4569	// OutputAudioText: A text or ssml response that is preferentially used
4570	// for TTS output audio synthesis, as described in the comment on the
4571	// ResponseMessage message.
4572	OutputAudioText *GoogleCloudDialogflowCxV3ResponseMessageOutputAudioText `json:"outputAudioText,omitempty"`
4573
4574	// Payload: Returns a response containing a custom, platform-specific
4575	// payload.
4576	Payload googleapi.RawMessage `json:"payload,omitempty"`
4577
4578	// PlayAudio: Signal that the client should play an audio clip hosted at
4579	// a client-specific URI. Dialogflow uses this to construct mixed_audio.
4580	// However, Dialogflow itself does not try to read or process the URI in
4581	// any way.
4582	PlayAudio *GoogleCloudDialogflowCxV3ResponseMessagePlayAudio `json:"playAudio,omitempty"`
4583
4584	// Text: Returns a text response.
4585	Text *GoogleCloudDialogflowCxV3ResponseMessageText `json:"text,omitempty"`
4586
4587	// ForceSendFields is a list of field names (e.g. "ConversationSuccess")
4588	// to 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. "ConversationSuccess") to
4596	// include in API requests with the JSON null value. By default, fields
4597	// with empty values are omitted from API requests. However, any field
4598	// with an empty value appearing in NullFields will be sent to the
4599	// server as null. It is an error if a field in this list has a
4600	// non-empty value. This may be used to include null fields in Patch
4601	// requests.
4602	NullFields []string `json:"-"`
4603}
4604
4605func (s *GoogleCloudDialogflowCxV3ResponseMessage) MarshalJSON() ([]byte, error) {
4606	type NoMethod GoogleCloudDialogflowCxV3ResponseMessage
4607	raw := NoMethod(*s)
4608	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4609}
4610
4611// GoogleCloudDialogflowCxV3ResponseMessageConversationSuccess:
4612// Indicates that the conversation succeeded, i.e., the bot handled the
4613// issue that the customer talked to it about. Dialogflow only uses this
4614// to determine which conversations should be counted as successful and
4615// doesn't process the metadata in this message in any way. Note that
4616// Dialogflow also considers conversations that get to the conversation
4617// end page as successful even if they don't return ConversationSuccess.
4618// You may set this, for example: * In the entry_fulfillment of a Page
4619// if entering the page indicates that the conversation succeeded. * In
4620// a webhook response when you determine that you handled the customer
4621// issue.
4622type GoogleCloudDialogflowCxV3ResponseMessageConversationSuccess struct {
4623	// Metadata: Custom metadata. Dialogflow doesn't impose any structure on
4624	// this.
4625	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
4626
4627	// ForceSendFields is a list of field names (e.g. "Metadata") to
4628	// unconditionally include in API requests. By default, fields with
4629	// empty values are omitted from API requests. However, any non-pointer,
4630	// non-interface field appearing in ForceSendFields will be sent to the
4631	// server regardless of whether the field is empty or not. This may be
4632	// used to include empty fields in Patch requests.
4633	ForceSendFields []string `json:"-"`
4634
4635	// NullFields is a list of field names (e.g. "Metadata") to include in
4636	// API requests with the JSON null value. By default, fields with empty
4637	// values are omitted from API requests. However, any field with an
4638	// empty value appearing in NullFields will be sent to the server as
4639	// null. It is an error if a field in this list has a non-empty value.
4640	// This may be used to include null fields in Patch requests.
4641	NullFields []string `json:"-"`
4642}
4643
4644func (s *GoogleCloudDialogflowCxV3ResponseMessageConversationSuccess) MarshalJSON() ([]byte, error) {
4645	type NoMethod GoogleCloudDialogflowCxV3ResponseMessageConversationSuccess
4646	raw := NoMethod(*s)
4647	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4648}
4649
4650// GoogleCloudDialogflowCxV3ResponseMessageEndInteraction: Indicates
4651// that interaction with the Dialogflow agent has ended. This message is
4652// generated by Dialogflow only and not supposed to be defined by the
4653// user.
4654type GoogleCloudDialogflowCxV3ResponseMessageEndInteraction struct {
4655}
4656
4657// GoogleCloudDialogflowCxV3ResponseMessageLiveAgentHandoff: Indicates
4658// that the conversation should be handed off to a live agent.
4659// Dialogflow only uses this to determine which conversations were
4660// handed off to a human agent for measurement purposes. What else to do
4661// with this signal is up to you and your handoff procedures. You may
4662// set this, for example: * In the entry_fulfillment of a Page if
4663// entering the page indicates something went extremely wrong in the
4664// conversation. * In a webhook response when you determine that the
4665// customer issue can only be handled by a human.
4666type GoogleCloudDialogflowCxV3ResponseMessageLiveAgentHandoff struct {
4667	// Metadata: Custom metadata for your handoff procedure. Dialogflow
4668	// doesn't impose any structure on this.
4669	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
4670
4671	// ForceSendFields is a list of field names (e.g. "Metadata") to
4672	// unconditionally include in API requests. By default, fields with
4673	// empty values are omitted from API requests. However, any non-pointer,
4674	// non-interface field appearing in ForceSendFields will be sent to the
4675	// server regardless of whether the field is empty or not. This may be
4676	// used to include empty fields in Patch requests.
4677	ForceSendFields []string `json:"-"`
4678
4679	// NullFields is a list of field names (e.g. "Metadata") to include in
4680	// API requests with the JSON null value. By default, fields with empty
4681	// values are omitted from API requests. However, any field with an
4682	// empty value appearing in NullFields will be sent to the server as
4683	// null. It is an error if a field in this list has a non-empty value.
4684	// This may be used to include null fields in Patch requests.
4685	NullFields []string `json:"-"`
4686}
4687
4688func (s *GoogleCloudDialogflowCxV3ResponseMessageLiveAgentHandoff) MarshalJSON() ([]byte, error) {
4689	type NoMethod GoogleCloudDialogflowCxV3ResponseMessageLiveAgentHandoff
4690	raw := NoMethod(*s)
4691	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4692}
4693
4694// GoogleCloudDialogflowCxV3ResponseMessageMixedAudio: Represents an
4695// audio message that is composed of both segments synthesized from the
4696// Dialogflow agent prompts and ones hosted externally at the specified
4697// URIs. The external URIs are specified via play_audio. This message is
4698// generated by Dialogflow only and not supposed to be defined by the
4699// user.
4700type GoogleCloudDialogflowCxV3ResponseMessageMixedAudio struct {
4701	// Segments: Segments this audio response is composed of.
4702	Segments []*GoogleCloudDialogflowCxV3ResponseMessageMixedAudioSegment `json:"segments,omitempty"`
4703
4704	// ForceSendFields is a list of field names (e.g. "Segments") to
4705	// unconditionally include in API requests. By default, fields with
4706	// empty values are omitted from API requests. However, any non-pointer,
4707	// non-interface field appearing in ForceSendFields will be sent to the
4708	// server regardless of whether the field is empty or not. This may be
4709	// used to include empty fields in Patch requests.
4710	ForceSendFields []string `json:"-"`
4711
4712	// NullFields is a list of field names (e.g. "Segments") to include in
4713	// API requests with the JSON null value. By default, fields with empty
4714	// values are omitted from API requests. However, any field with an
4715	// empty value appearing in NullFields will be sent to the server as
4716	// null. It is an error if a field in this list has a non-empty value.
4717	// This may be used to include null fields in Patch requests.
4718	NullFields []string `json:"-"`
4719}
4720
4721func (s *GoogleCloudDialogflowCxV3ResponseMessageMixedAudio) MarshalJSON() ([]byte, error) {
4722	type NoMethod GoogleCloudDialogflowCxV3ResponseMessageMixedAudio
4723	raw := NoMethod(*s)
4724	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4725}
4726
4727// GoogleCloudDialogflowCxV3ResponseMessageMixedAudioSegment: Represents
4728// one segment of audio.
4729type GoogleCloudDialogflowCxV3ResponseMessageMixedAudioSegment struct {
4730	// AllowPlaybackInterruption: Output only. Whether the playback of this
4731	// segment can be interrupted by the end user's speech and the client
4732	// should then start the next Dialogflow request.
4733	AllowPlaybackInterruption bool `json:"allowPlaybackInterruption,omitempty"`
4734
4735	// Audio: Raw audio synthesized from the Dialogflow agent's response
4736	// using the output config specified in the request.
4737	Audio string `json:"audio,omitempty"`
4738
4739	// Uri: Client-specific URI that points to an audio clip accessible to
4740	// the client. Dialogflow does not impose any validation on it.
4741	Uri string `json:"uri,omitempty"`
4742
4743	// ForceSendFields is a list of field names (e.g.
4744	// "AllowPlaybackInterruption") to unconditionally include in API
4745	// requests. By default, fields with empty values are omitted from API
4746	// requests. However, any non-pointer, non-interface field appearing in
4747	// ForceSendFields will be sent to the server regardless of whether the
4748	// field is empty or not. This may be used to include empty fields in
4749	// Patch requests.
4750	ForceSendFields []string `json:"-"`
4751
4752	// NullFields is a list of field names (e.g.
4753	// "AllowPlaybackInterruption") to include in API requests with the JSON
4754	// null value. By default, fields with empty values are omitted from API
4755	// requests. However, any field with an empty value appearing in
4756	// NullFields will be sent to the server as null. It is an error if a
4757	// field in this list has a non-empty value. This may be used to include
4758	// null fields in Patch requests.
4759	NullFields []string `json:"-"`
4760}
4761
4762func (s *GoogleCloudDialogflowCxV3ResponseMessageMixedAudioSegment) MarshalJSON() ([]byte, error) {
4763	type NoMethod GoogleCloudDialogflowCxV3ResponseMessageMixedAudioSegment
4764	raw := NoMethod(*s)
4765	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4766}
4767
4768// GoogleCloudDialogflowCxV3ResponseMessageOutputAudioText: A text or
4769// ssml response that is preferentially used for TTS output audio
4770// synthesis, as described in the comment on the ResponseMessage
4771// message.
4772type GoogleCloudDialogflowCxV3ResponseMessageOutputAudioText struct {
4773	// AllowPlaybackInterruption: Output only. Whether the playback of this
4774	// message can be interrupted by the end user's speech and the client
4775	// can then starts the next Dialogflow request.
4776	AllowPlaybackInterruption bool `json:"allowPlaybackInterruption,omitempty"`
4777
4778	// Ssml: The SSML text to be synthesized. For more information, see SSML
4779	// (/speech/text-to-speech/docs/ssml).
4780	Ssml string `json:"ssml,omitempty"`
4781
4782	// Text: The raw text to be synthesized.
4783	Text string `json:"text,omitempty"`
4784
4785	// ForceSendFields is a list of field names (e.g.
4786	// "AllowPlaybackInterruption") to unconditionally include in API
4787	// requests. By default, fields with empty values are omitted from API
4788	// requests. However, any non-pointer, non-interface field appearing in
4789	// ForceSendFields will be sent to the server regardless of whether the
4790	// field is empty or not. This may be used to include empty fields in
4791	// Patch requests.
4792	ForceSendFields []string `json:"-"`
4793
4794	// NullFields is a list of field names (e.g.
4795	// "AllowPlaybackInterruption") to include in API requests with the JSON
4796	// null value. By default, fields with empty values are omitted from API
4797	// requests. However, any field with an empty value appearing in
4798	// NullFields will be sent to the server as null. It is an error if a
4799	// field in this list has a non-empty value. This may be used to include
4800	// null fields in Patch requests.
4801	NullFields []string `json:"-"`
4802}
4803
4804func (s *GoogleCloudDialogflowCxV3ResponseMessageOutputAudioText) MarshalJSON() ([]byte, error) {
4805	type NoMethod GoogleCloudDialogflowCxV3ResponseMessageOutputAudioText
4806	raw := NoMethod(*s)
4807	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4808}
4809
4810// GoogleCloudDialogflowCxV3ResponseMessagePlayAudio: Specifies an audio
4811// clip to be played by the client as part of the response.
4812type GoogleCloudDialogflowCxV3ResponseMessagePlayAudio struct {
4813	// AllowPlaybackInterruption: Output only. Whether the playback of this
4814	// message can be interrupted by the end user's speech and the client
4815	// can then starts the next Dialogflow request.
4816	AllowPlaybackInterruption bool `json:"allowPlaybackInterruption,omitempty"`
4817
4818	// AudioUri: Required. URI of the audio clip. Dialogflow does not impose
4819	// any validation on this value. It is specific to the client that reads
4820	// it.
4821	AudioUri string `json:"audioUri,omitempty"`
4822
4823	// ForceSendFields is a list of field names (e.g.
4824	// "AllowPlaybackInterruption") to unconditionally include in API
4825	// requests. By default, fields with empty values are omitted from API
4826	// requests. However, any non-pointer, non-interface field appearing in
4827	// ForceSendFields will be sent to the server regardless of whether the
4828	// field is empty or not. This may be used to include empty fields in
4829	// Patch requests.
4830	ForceSendFields []string `json:"-"`
4831
4832	// NullFields is a list of field names (e.g.
4833	// "AllowPlaybackInterruption") to include in API requests with the JSON
4834	// null value. By default, fields with empty values are omitted from API
4835	// requests. However, any field with an empty value appearing in
4836	// NullFields will be sent to the server as null. It is an error if a
4837	// field in this list has a non-empty value. This may be used to include
4838	// null fields in Patch requests.
4839	NullFields []string `json:"-"`
4840}
4841
4842func (s *GoogleCloudDialogflowCxV3ResponseMessagePlayAudio) MarshalJSON() ([]byte, error) {
4843	type NoMethod GoogleCloudDialogflowCxV3ResponseMessagePlayAudio
4844	raw := NoMethod(*s)
4845	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4846}
4847
4848// GoogleCloudDialogflowCxV3ResponseMessageText: The text response
4849// message.
4850type GoogleCloudDialogflowCxV3ResponseMessageText struct {
4851	// AllowPlaybackInterruption: Output only. Whether the playback of this
4852	// message can be interrupted by the end user's speech and the client
4853	// can then starts the next Dialogflow request.
4854	AllowPlaybackInterruption bool `json:"allowPlaybackInterruption,omitempty"`
4855
4856	// Text: Required. A collection of text responses.
4857	Text []string `json:"text,omitempty"`
4858
4859	// ForceSendFields is a list of field names (e.g.
4860	// "AllowPlaybackInterruption") to unconditionally include in API
4861	// requests. By default, fields with empty values are omitted from API
4862	// requests. However, any non-pointer, non-interface field appearing in
4863	// ForceSendFields will be sent to the server regardless of whether the
4864	// field is empty or not. This may be used to include empty fields in
4865	// Patch requests.
4866	ForceSendFields []string `json:"-"`
4867
4868	// NullFields is a list of field names (e.g.
4869	// "AllowPlaybackInterruption") to include in API requests with the JSON
4870	// null value. By default, fields with empty values are omitted from API
4871	// requests. However, any field with an empty value appearing in
4872	// NullFields will be sent to the server as null. It is an error if a
4873	// field in this list has a non-empty value. This may be used to include
4874	// null fields in Patch requests.
4875	NullFields []string `json:"-"`
4876}
4877
4878func (s *GoogleCloudDialogflowCxV3ResponseMessageText) MarshalJSON() ([]byte, error) {
4879	type NoMethod GoogleCloudDialogflowCxV3ResponseMessageText
4880	raw := NoMethod(*s)
4881	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4882}
4883
4884// GoogleCloudDialogflowCxV3RestoreAgentRequest: The request message for
4885// Agents.RestoreAgent.
4886type GoogleCloudDialogflowCxV3RestoreAgentRequest struct {
4887	// AgentContent: Uncompressed raw byte content for agent.
4888	AgentContent string `json:"agentContent,omitempty"`
4889
4890	// AgentUri: The Google Cloud Storage
4891	// (https://cloud.google.com/storage/docs/) URI to restore agent from.
4892	// The format of this URI must be `gs:///`.
4893	AgentUri string `json:"agentUri,omitempty"`
4894
4895	// RestoreOption: Agent restore mode. If not specified, `KEEP` is
4896	// assumed.
4897	//
4898	// Possible values:
4899	//   "RESTORE_OPTION_UNSPECIFIED" - Unspecified. Treated as KEEP.
4900	//   "KEEP" - Always respect the settings from the exported agent file.
4901	// It may cause a restoration failure if some settings (e.g. model type)
4902	// are not supported in the target agent.
4903	//   "FALLBACK" - Fallback to default settings if some settings are not
4904	// supported in the target agent.
4905	RestoreOption string `json:"restoreOption,omitempty"`
4906
4907	// ForceSendFields is a list of field names (e.g. "AgentContent") to
4908	// unconditionally include in API requests. By default, fields with
4909	// empty values are omitted from API requests. However, any non-pointer,
4910	// non-interface field appearing in ForceSendFields will be sent to the
4911	// server regardless of whether the field is empty or not. This may be
4912	// used to include empty fields in Patch requests.
4913	ForceSendFields []string `json:"-"`
4914
4915	// NullFields is a list of field names (e.g. "AgentContent") to include
4916	// in API requests with the JSON null value. By default, fields with
4917	// empty values are omitted from API requests. However, any field with
4918	// an empty value appearing in NullFields will be sent to the server as
4919	// null. It is an error if a field in this list has a non-empty value.
4920	// This may be used to include null fields in Patch requests.
4921	NullFields []string `json:"-"`
4922}
4923
4924func (s *GoogleCloudDialogflowCxV3RestoreAgentRequest) MarshalJSON() ([]byte, error) {
4925	type NoMethod GoogleCloudDialogflowCxV3RestoreAgentRequest
4926	raw := NoMethod(*s)
4927	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4928}
4929
4930// GoogleCloudDialogflowCxV3RunTestCaseMetadata: Metadata returned for
4931// the TestCases.RunTestCase long running operation.
4932type GoogleCloudDialogflowCxV3RunTestCaseMetadata struct {
4933}
4934
4935// GoogleCloudDialogflowCxV3RunTestCaseRequest: The request message for
4936// TestCases.RunTestCase.
4937type GoogleCloudDialogflowCxV3RunTestCaseRequest struct {
4938	// Environment: Optional. Environment name. If not set, draft
4939	// environment is assumed. Format:
4940	// `projects//locations//agents//environments/`.
4941	Environment string `json:"environment,omitempty"`
4942
4943	// ForceSendFields is a list of field names (e.g. "Environment") to
4944	// unconditionally include in API requests. By default, fields with
4945	// empty values are omitted from API requests. However, any non-pointer,
4946	// non-interface field appearing in ForceSendFields will be sent to the
4947	// server regardless of whether the field is empty or not. This may be
4948	// used to include empty fields in Patch requests.
4949	ForceSendFields []string `json:"-"`
4950
4951	// NullFields is a list of field names (e.g. "Environment") to include
4952	// in API requests with the JSON null value. By default, fields with
4953	// empty values are omitted from API requests. However, any field with
4954	// an empty value appearing in NullFields will be sent to the server as
4955	// null. It is an error if a field in this list has a non-empty value.
4956	// This may be used to include null fields in Patch requests.
4957	NullFields []string `json:"-"`
4958}
4959
4960func (s *GoogleCloudDialogflowCxV3RunTestCaseRequest) MarshalJSON() ([]byte, error) {
4961	type NoMethod GoogleCloudDialogflowCxV3RunTestCaseRequest
4962	raw := NoMethod(*s)
4963	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4964}
4965
4966// GoogleCloudDialogflowCxV3RunTestCaseResponse: The response message
4967// for TestCases.RunTestCase.
4968type GoogleCloudDialogflowCxV3RunTestCaseResponse struct {
4969	// Result: The result.
4970	Result *GoogleCloudDialogflowCxV3TestCaseResult `json:"result,omitempty"`
4971
4972	// ForceSendFields is a list of field names (e.g. "Result") to
4973	// unconditionally include in API requests. By default, fields with
4974	// empty values are omitted from API requests. However, any non-pointer,
4975	// non-interface field appearing in ForceSendFields will be sent to the
4976	// server regardless of whether the field is empty or not. This may be
4977	// used to include empty fields in Patch requests.
4978	ForceSendFields []string `json:"-"`
4979
4980	// NullFields is a list of field names (e.g. "Result") to include in API
4981	// requests with the JSON null value. By default, fields with empty
4982	// values are omitted from API requests. However, any field with an
4983	// empty value appearing in NullFields will be sent to the server as
4984	// null. It is an error if a field in this list has a non-empty value.
4985	// This may be used to include null fields in Patch requests.
4986	NullFields []string `json:"-"`
4987}
4988
4989func (s *GoogleCloudDialogflowCxV3RunTestCaseResponse) MarshalJSON() ([]byte, error) {
4990	type NoMethod GoogleCloudDialogflowCxV3RunTestCaseResponse
4991	raw := NoMethod(*s)
4992	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4993}
4994
4995// GoogleCloudDialogflowCxV3SecuritySettings: Represents the settings
4996// related to security issues, such as data redaction and data
4997// retention. It may take hours for updates on the settings to propagate
4998// to all the related components and take effect.
4999type GoogleCloudDialogflowCxV3SecuritySettings struct {
5000	// DisplayName: Required. The human-readable name of the security
5001	// settings, unique within the location.
5002	DisplayName string `json:"displayName,omitempty"`
5003
5004	// InspectTemplate: DLP inspect template name. Use this template to
5005	// define inspect base settings. If empty, we use the default DLP
5006	// inspect config. The template name will have one of the following
5007	// formats: `projects/PROJECT_ID/inspectTemplates/TEMPLATE_ID` OR
5008	// `organizations/ORGANIZATION_ID/inspectTemplates/TEMPLATE_ID`
5009	InspectTemplate string `json:"inspectTemplate,omitempty"`
5010
5011	// Name: Required. Resource name of the settings. Format:
5012	// `projects//locations//securitySettings/`.
5013	Name string `json:"name,omitempty"`
5014
5015	// PurgeDataTypes: List of types of data to remove when retention
5016	// settings triggers purge.
5017	//
5018	// Possible values:
5019	//   "PURGE_DATA_TYPE_UNSPECIFIED" - Unspecified. Do not use.
5020	//   "DIALOGFLOW_HISTORY" - Dialogflow history. This does not include
5021	// Stackdriver log, which is owned by the user not Dialogflow.
5022	PurgeDataTypes []string `json:"purgeDataTypes,omitempty"`
5023
5024	// RedactionScope: Defines on what data we apply redaction. Note that we
5025	// don't redact data to which we don't have access, e.g., Stackdriver
5026	// logs.
5027	//
5028	// Possible values:
5029	//   "REDACTION_SCOPE_UNSPECIFIED" - Don't redact any kind of data.
5030	//   "REDACT_DISK_STORAGE" - On data to be written to disk or similar
5031	// devices that are capable of holding data even if power is
5032	// disconnected. This includes data that are temporarily saved on disk.
5033	RedactionScope string `json:"redactionScope,omitempty"`
5034
5035	// RedactionStrategy: Strategy that defines how we do redaction.
5036	//
5037	// Possible values:
5038	//   "REDACTION_STRATEGY_UNSPECIFIED" - Do not redact.
5039	//   "REDACT_WITH_SERVICE" - Call redaction service to clean up the data
5040	// to be persisted.
5041	RedactionStrategy string `json:"redactionStrategy,omitempty"`
5042
5043	// RetentionWindowDays: Retains the data for the specified number of
5044	// days. User must Set a value lower than Dialogflow's default 30d TTL.
5045	// Setting a value higher than that has no effect. A missing value or
5046	// setting to 0 also means we use Dialogflow's default TTL.
5047	RetentionWindowDays int64 `json:"retentionWindowDays,omitempty"`
5048
5049	// ServerResponse contains the HTTP response code and headers from the
5050	// server.
5051	googleapi.ServerResponse `json:"-"`
5052
5053	// ForceSendFields is a list of field names (e.g. "DisplayName") to
5054	// unconditionally include in API requests. By default, fields with
5055	// empty values are omitted from API requests. However, any non-pointer,
5056	// non-interface field appearing in ForceSendFields will be sent to the
5057	// server regardless of whether the field is empty or not. This may be
5058	// used to include empty fields in Patch requests.
5059	ForceSendFields []string `json:"-"`
5060
5061	// NullFields is a list of field names (e.g. "DisplayName") to include
5062	// in API requests with the JSON null value. By default, fields with
5063	// empty values are omitted from API requests. However, any field with
5064	// an empty value appearing in NullFields will be sent to the server as
5065	// null. It is an error if a field in this list has a non-empty value.
5066	// This may be used to include null fields in Patch requests.
5067	NullFields []string `json:"-"`
5068}
5069
5070func (s *GoogleCloudDialogflowCxV3SecuritySettings) MarshalJSON() ([]byte, error) {
5071	type NoMethod GoogleCloudDialogflowCxV3SecuritySettings
5072	raw := NoMethod(*s)
5073	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5074}
5075
5076// GoogleCloudDialogflowCxV3SentimentAnalysisResult: The result of
5077// sentiment analysis. Sentiment analysis inspects user input and
5078// identifies the prevailing subjective opinion, especially to determine
5079// a user's attitude as positive, negative, or neutral.
5080type GoogleCloudDialogflowCxV3SentimentAnalysisResult struct {
5081	// Magnitude: A non-negative number in the [0, +inf) range, which
5082	// represents the absolute magnitude of sentiment, regardless of score
5083	// (positive or negative).
5084	Magnitude float64 `json:"magnitude,omitempty"`
5085
5086	// Score: Sentiment score between -1.0 (negative sentiment) and 1.0
5087	// (positive sentiment).
5088	Score float64 `json:"score,omitempty"`
5089
5090	// ForceSendFields is a list of field names (e.g. "Magnitude") to
5091	// unconditionally include in API requests. By default, fields with
5092	// empty values are omitted from API requests. However, any non-pointer,
5093	// non-interface field appearing in ForceSendFields will be sent to the
5094	// server regardless of whether the field is empty or not. This may be
5095	// used to include empty fields in Patch requests.
5096	ForceSendFields []string `json:"-"`
5097
5098	// NullFields is a list of field names (e.g. "Magnitude") to include in
5099	// API requests with the JSON null value. By default, fields with empty
5100	// values are omitted from API requests. However, any field with an
5101	// empty value appearing in NullFields will be sent to the server as
5102	// null. It is an error if a field in this list has a non-empty value.
5103	// This may be used to include null fields in Patch requests.
5104	NullFields []string `json:"-"`
5105}
5106
5107func (s *GoogleCloudDialogflowCxV3SentimentAnalysisResult) MarshalJSON() ([]byte, error) {
5108	type NoMethod GoogleCloudDialogflowCxV3SentimentAnalysisResult
5109	raw := NoMethod(*s)
5110	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5111}
5112
5113func (s *GoogleCloudDialogflowCxV3SentimentAnalysisResult) UnmarshalJSON(data []byte) error {
5114	type NoMethod GoogleCloudDialogflowCxV3SentimentAnalysisResult
5115	var s1 struct {
5116		Magnitude gensupport.JSONFloat64 `json:"magnitude"`
5117		Score     gensupport.JSONFloat64 `json:"score"`
5118		*NoMethod
5119	}
5120	s1.NoMethod = (*NoMethod)(s)
5121	if err := json.Unmarshal(data, &s1); err != nil {
5122		return err
5123	}
5124	s.Magnitude = float64(s1.Magnitude)
5125	s.Score = float64(s1.Score)
5126	return nil
5127}
5128
5129// GoogleCloudDialogflowCxV3SessionEntityType: Session entity types are
5130// referred to as **User** entity types and are entities that are built
5131// for an individual user such as favorites, preferences, playlists, and
5132// so on. You can redefine a session entity type at the session level to
5133// extend or replace a custom entity type at the user session level (we
5134// refer to the entity types defined at the agent level as "custom
5135// entity types"). Note: session entity types apply to all queries,
5136// regardless of the language. For more information about entity types,
5137// see the Dialogflow documentation
5138// (https://cloud.google.com/dialogflow/docs/entities-overview).
5139type GoogleCloudDialogflowCxV3SessionEntityType struct {
5140	// Entities: Required. The collection of entities to override or
5141	// supplement the custom entity type.
5142	Entities []*GoogleCloudDialogflowCxV3EntityTypeEntity `json:"entities,omitempty"`
5143
5144	// EntityOverrideMode: Required. Indicates whether the additional data
5145	// should override or supplement the custom entity type definition.
5146	//
5147	// Possible values:
5148	//   "ENTITY_OVERRIDE_MODE_UNSPECIFIED" - Not specified. This value
5149	// should be never used.
5150	//   "ENTITY_OVERRIDE_MODE_OVERRIDE" - The collection of session
5151	// entities overrides the collection of entities in the corresponding
5152	// custom entity type.
5153	//   "ENTITY_OVERRIDE_MODE_SUPPLEMENT" - The collection of session
5154	// entities extends the collection of entities in the corresponding
5155	// custom entity type. Note: Even in this override mode calls to
5156	// `ListSessionEntityTypes`, `GetSessionEntityType`,
5157	// `CreateSessionEntityType` and `UpdateSessionEntityType` only return
5158	// the additional entities added in this session entity type. If you
5159	// want to get the supplemented list, please call
5160	// EntityTypes.GetEntityType on the custom entity type and merge.
5161	EntityOverrideMode string `json:"entityOverrideMode,omitempty"`
5162
5163	// Name: Required. The unique identifier of the session entity type.
5164	// Format: `projects//locations//agents//sessions//entityTypes/` or
5165	// `projects//locations//agents//environments//sessions//entityTypes/`.
5166	// If `Environment ID` is not specified, we assume default 'draft'
5167	// environment.
5168	Name string `json:"name,omitempty"`
5169
5170	// ServerResponse contains the HTTP response code and headers from the
5171	// server.
5172	googleapi.ServerResponse `json:"-"`
5173
5174	// ForceSendFields is a list of field names (e.g. "Entities") to
5175	// unconditionally include in API requests. By default, fields with
5176	// empty values are omitted from API requests. However, any non-pointer,
5177	// non-interface field appearing in ForceSendFields will be sent to the
5178	// server regardless of whether the field is empty or not. This may be
5179	// used to include empty fields in Patch requests.
5180	ForceSendFields []string `json:"-"`
5181
5182	// NullFields is a list of field names (e.g. "Entities") to include in
5183	// API requests with the JSON null value. By default, fields with empty
5184	// values are omitted from API requests. However, any field with an
5185	// empty value appearing in NullFields will be sent to the server as
5186	// null. It is an error if a field in this list has a non-empty value.
5187	// This may be used to include null fields in Patch requests.
5188	NullFields []string `json:"-"`
5189}
5190
5191func (s *GoogleCloudDialogflowCxV3SessionEntityType) MarshalJSON() ([]byte, error) {
5192	type NoMethod GoogleCloudDialogflowCxV3SessionEntityType
5193	raw := NoMethod(*s)
5194	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5195}
5196
5197// GoogleCloudDialogflowCxV3SessionInfo: Represents session information
5198// communicated to and from the webhook.
5199type GoogleCloudDialogflowCxV3SessionInfo struct {
5200	// Parameters: Optional for WebhookRequest. Optional for
5201	// WebhookResponse. All parameters collected from forms and intents
5202	// during the session. Parameters can be created, updated, or removed by
5203	// the webhook. To remove a parameter from the session, the webhook
5204	// should explicitly set the parameter value to null in WebhookResponse.
5205	// The map is keyed by parameters' display names.
5206	Parameters googleapi.RawMessage `json:"parameters,omitempty"`
5207
5208	// Session: Always present for WebhookRequest. Ignored for
5209	// WebhookResponse. The unique identifier of the session. This field can
5210	// be used by the webhook to identify a session. Format:
5211	// `projects//locations//agents//sessions/` or
5212	// `projects//locations//agents//environments//sessions/` if environment
5213	// is specified.
5214	Session string `json:"session,omitempty"`
5215
5216	// ForceSendFields is a list of field names (e.g. "Parameters") to
5217	// unconditionally include in API requests. By default, fields with
5218	// empty values are omitted from API requests. However, any non-pointer,
5219	// non-interface field appearing in ForceSendFields will be sent to the
5220	// server regardless of whether the field is empty or not. This may be
5221	// used to include empty fields in Patch requests.
5222	ForceSendFields []string `json:"-"`
5223
5224	// NullFields is a list of field names (e.g. "Parameters") to include in
5225	// API requests with the JSON null value. By default, fields with empty
5226	// values are omitted from API requests. However, any field with an
5227	// empty value appearing in NullFields will be sent to the server as
5228	// null. It is an error if a field in this list has a non-empty value.
5229	// This may be used to include null fields in Patch requests.
5230	NullFields []string `json:"-"`
5231}
5232
5233func (s *GoogleCloudDialogflowCxV3SessionInfo) MarshalJSON() ([]byte, error) {
5234	type NoMethod GoogleCloudDialogflowCxV3SessionInfo
5235	raw := NoMethod(*s)
5236	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5237}
5238
5239// GoogleCloudDialogflowCxV3SpeechToTextSettings: Settings related to
5240// speech recognition.
5241type GoogleCloudDialogflowCxV3SpeechToTextSettings struct {
5242	// EnableSpeechAdaptation: Whether to use speech adaptation for speech
5243	// recognition.
5244	EnableSpeechAdaptation bool `json:"enableSpeechAdaptation,omitempty"`
5245
5246	// ForceSendFields is a list of field names (e.g.
5247	// "EnableSpeechAdaptation") to unconditionally include in API requests.
5248	// By default, fields with empty values are omitted from API requests.
5249	// However, any non-pointer, non-interface field appearing in
5250	// ForceSendFields will be sent to the server regardless of whether the
5251	// field is empty or not. This may be used to include empty fields in
5252	// Patch requests.
5253	ForceSendFields []string `json:"-"`
5254
5255	// NullFields is a list of field names (e.g. "EnableSpeechAdaptation")
5256	// to include in API requests with the JSON null value. By default,
5257	// fields with empty values are omitted from API requests. However, any
5258	// field with an empty value appearing in NullFields will be sent to the
5259	// server as null. It is an error if a field in this list has a
5260	// non-empty value. This may be used to include null fields in Patch
5261	// requests.
5262	NullFields []string `json:"-"`
5263}
5264
5265func (s *GoogleCloudDialogflowCxV3SpeechToTextSettings) MarshalJSON() ([]byte, error) {
5266	type NoMethod GoogleCloudDialogflowCxV3SpeechToTextSettings
5267	raw := NoMethod(*s)
5268	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5269}
5270
5271// GoogleCloudDialogflowCxV3StartExperimentRequest: The request message
5272// for Experiments.StartExperiment.
5273type GoogleCloudDialogflowCxV3StartExperimentRequest struct {
5274}
5275
5276// GoogleCloudDialogflowCxV3StopExperimentRequest: The request message
5277// for Experiments.StopExperiment.
5278type GoogleCloudDialogflowCxV3StopExperimentRequest struct {
5279}
5280
5281// GoogleCloudDialogflowCxV3SynthesizeSpeechConfig: Configuration of how
5282// speech should be synthesized.
5283type GoogleCloudDialogflowCxV3SynthesizeSpeechConfig struct {
5284	// EffectsProfileId: Optional. An identifier which selects 'audio
5285	// effects' profiles that are applied on (post synthesized) text to
5286	// speech. Effects are applied on top of each other in the order they
5287	// are given.
5288	EffectsProfileId []string `json:"effectsProfileId,omitempty"`
5289
5290	// Pitch: Optional. Speaking pitch, in the range [-20.0, 20.0]. 20 means
5291	// increase 20 semitones from the original pitch. -20 means decrease 20
5292	// semitones from the original pitch.
5293	Pitch float64 `json:"pitch,omitempty"`
5294
5295	// SpeakingRate: Optional. Speaking rate/speed, in the range [0.25,
5296	// 4.0]. 1.0 is the normal native speed supported by the specific voice.
5297	// 2.0 is twice as fast, and 0.5 is half as fast. If unset(0.0),
5298	// defaults to the native 1.0 speed. Any other values < 0.25 or > 4.0
5299	// will return an error.
5300	SpeakingRate float64 `json:"speakingRate,omitempty"`
5301
5302	// Voice: Optional. The desired voice of the synthesized audio.
5303	Voice *GoogleCloudDialogflowCxV3VoiceSelectionParams `json:"voice,omitempty"`
5304
5305	// VolumeGainDb: Optional. Volume gain (in dB) of the normal native
5306	// volume supported by the specific voice, in the range [-96.0, 16.0].
5307	// If unset, or set to a value of 0.0 (dB), will play at normal native
5308	// signal amplitude. A value of -6.0 (dB) will play at approximately
5309	// half the amplitude of the normal native signal amplitude. A value of
5310	// +6.0 (dB) will play at approximately twice the amplitude of the
5311	// normal native signal amplitude. We strongly recommend not to exceed
5312	// +10 (dB) as there's usually no effective increase in loudness for any
5313	// value greater than that.
5314	VolumeGainDb float64 `json:"volumeGainDb,omitempty"`
5315
5316	// ForceSendFields is a list of field names (e.g. "EffectsProfileId") to
5317	// unconditionally include in API requests. By default, fields with
5318	// empty values are omitted from API requests. However, any non-pointer,
5319	// non-interface field appearing in ForceSendFields will be sent to the
5320	// server regardless of whether the field is empty or not. This may be
5321	// used to include empty fields in Patch requests.
5322	ForceSendFields []string `json:"-"`
5323
5324	// NullFields is a list of field names (e.g. "EffectsProfileId") to
5325	// include in API requests with the JSON null value. By default, fields
5326	// with empty values are omitted from API requests. However, any field
5327	// with an empty value appearing in NullFields will be sent to the
5328	// server as null. It is an error if a field in this list has a
5329	// non-empty value. This may be used to include null fields in Patch
5330	// requests.
5331	NullFields []string `json:"-"`
5332}
5333
5334func (s *GoogleCloudDialogflowCxV3SynthesizeSpeechConfig) MarshalJSON() ([]byte, error) {
5335	type NoMethod GoogleCloudDialogflowCxV3SynthesizeSpeechConfig
5336	raw := NoMethod(*s)
5337	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5338}
5339
5340func (s *GoogleCloudDialogflowCxV3SynthesizeSpeechConfig) UnmarshalJSON(data []byte) error {
5341	type NoMethod GoogleCloudDialogflowCxV3SynthesizeSpeechConfig
5342	var s1 struct {
5343		Pitch        gensupport.JSONFloat64 `json:"pitch"`
5344		SpeakingRate gensupport.JSONFloat64 `json:"speakingRate"`
5345		VolumeGainDb gensupport.JSONFloat64 `json:"volumeGainDb"`
5346		*NoMethod
5347	}
5348	s1.NoMethod = (*NoMethod)(s)
5349	if err := json.Unmarshal(data, &s1); err != nil {
5350		return err
5351	}
5352	s.Pitch = float64(s1.Pitch)
5353	s.SpeakingRate = float64(s1.SpeakingRate)
5354	s.VolumeGainDb = float64(s1.VolumeGainDb)
5355	return nil
5356}
5357
5358// GoogleCloudDialogflowCxV3TestCase: Represents a test case.
5359type GoogleCloudDialogflowCxV3TestCase struct {
5360	// CreationTime: Output only. When the test was created.
5361	CreationTime string `json:"creationTime,omitempty"`
5362
5363	// DisplayName: Required. The human-readable name of the test case,
5364	// unique within the agent. Limit of 200 characters.
5365	DisplayName string `json:"displayName,omitempty"`
5366
5367	// LastTestResult: The latest test result.
5368	LastTestResult *GoogleCloudDialogflowCxV3TestCaseResult `json:"lastTestResult,omitempty"`
5369
5370	// Name: The unique identifier of the test case.
5371	// TestCases.CreateTestCase will populate the name automatically.
5372	// Otherwise use format: `projects//locations//agents/ /testCases/`.
5373	Name string `json:"name,omitempty"`
5374
5375	// Notes: Additional freeform notes about the test case. Limit of 400
5376	// characters.
5377	Notes string `json:"notes,omitempty"`
5378
5379	// Tags: Tags are short descriptions that users may apply to test cases
5380	// for organizational and filtering purposes. Each tag should start with
5381	// "#" and has a limit of 30 characters.
5382	Tags []string `json:"tags,omitempty"`
5383
5384	// TestCaseConversationTurns: The conversation turns uttered when the
5385	// test case was created, in chronological order. These include the
5386	// canonical set of agent utterances that should occur when the agent is
5387	// working properly.
5388	TestCaseConversationTurns []*GoogleCloudDialogflowCxV3ConversationTurn `json:"testCaseConversationTurns,omitempty"`
5389
5390	// TestConfig: Config for the test case.
5391	TestConfig *GoogleCloudDialogflowCxV3TestConfig `json:"testConfig,omitempty"`
5392
5393	// ServerResponse contains the HTTP response code and headers from the
5394	// server.
5395	googleapi.ServerResponse `json:"-"`
5396
5397	// ForceSendFields is a list of field names (e.g. "CreationTime") to
5398	// unconditionally include in API requests. By default, fields with
5399	// empty values are omitted from API requests. However, any non-pointer,
5400	// non-interface field appearing in ForceSendFields will be sent to the
5401	// server regardless of whether the field is empty or not. This may be
5402	// used to include empty fields in Patch requests.
5403	ForceSendFields []string `json:"-"`
5404
5405	// NullFields is a list of field names (e.g. "CreationTime") to include
5406	// in API requests with the JSON null value. By default, fields with
5407	// empty values are omitted from API requests. However, any field with
5408	// an empty value appearing in NullFields will be sent to the server as
5409	// null. It is an error if a field in this list has a non-empty value.
5410	// This may be used to include null fields in Patch requests.
5411	NullFields []string `json:"-"`
5412}
5413
5414func (s *GoogleCloudDialogflowCxV3TestCase) MarshalJSON() ([]byte, error) {
5415	type NoMethod GoogleCloudDialogflowCxV3TestCase
5416	raw := NoMethod(*s)
5417	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5418}
5419
5420// GoogleCloudDialogflowCxV3TestCaseError: Error info for importing a
5421// test.
5422type GoogleCloudDialogflowCxV3TestCaseError struct {
5423	// Status: The status associated with the test case.
5424	Status *GoogleRpcStatus `json:"status,omitempty"`
5425
5426	// TestCase: The test case.
5427	TestCase *GoogleCloudDialogflowCxV3TestCase `json:"testCase,omitempty"`
5428
5429	// ForceSendFields is a list of field names (e.g. "Status") to
5430	// unconditionally include in API requests. By default, fields with
5431	// empty values are omitted from API requests. However, any non-pointer,
5432	// non-interface field appearing in ForceSendFields will be sent to the
5433	// server regardless of whether the field is empty or not. This may be
5434	// used to include empty fields in Patch requests.
5435	ForceSendFields []string `json:"-"`
5436
5437	// NullFields is a list of field names (e.g. "Status") to include in API
5438	// requests with the JSON null value. By default, fields with empty
5439	// values are omitted from API requests. However, any field with an
5440	// empty value appearing in NullFields will be sent to the server as
5441	// null. It is an error if a field in this list has a non-empty value.
5442	// This may be used to include null fields in Patch requests.
5443	NullFields []string `json:"-"`
5444}
5445
5446func (s *GoogleCloudDialogflowCxV3TestCaseError) MarshalJSON() ([]byte, error) {
5447	type NoMethod GoogleCloudDialogflowCxV3TestCaseError
5448	raw := NoMethod(*s)
5449	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5450}
5451
5452// GoogleCloudDialogflowCxV3TestCaseResult: Represents a result from
5453// running a test case in an agent environment.
5454type GoogleCloudDialogflowCxV3TestCaseResult struct {
5455	// ConversationTurns: The conversation turns uttered during the test
5456	// case replay in chronological order.
5457	ConversationTurns []*GoogleCloudDialogflowCxV3ConversationTurn `json:"conversationTurns,omitempty"`
5458
5459	// Environment: Environment where the test was run. If not set, it
5460	// indicates the draft environment.
5461	Environment string `json:"environment,omitempty"`
5462
5463	// Name: The resource name for the test case result. Format:
5464	// `projects//locations//agents//testCases/ /results/`.
5465	Name string `json:"name,omitempty"`
5466
5467	// TestResult: Whether the test case passed in the agent environment.
5468	//
5469	// Possible values:
5470	//   "TEST_RESULT_UNSPECIFIED" - Not specified. Should never be used.
5471	//   "PASSED" - The test passed.
5472	//   "FAILED" - The test did not pass.
5473	TestResult string `json:"testResult,omitempty"`
5474
5475	// TestTime: The time that the test was run.
5476	TestTime string `json:"testTime,omitempty"`
5477
5478	// ServerResponse contains the HTTP response code and headers from the
5479	// server.
5480	googleapi.ServerResponse `json:"-"`
5481
5482	// ForceSendFields is a list of field names (e.g. "ConversationTurns")
5483	// to unconditionally include in API requests. By default, fields with
5484	// empty values are omitted from API requests. However, any non-pointer,
5485	// non-interface field appearing in ForceSendFields will be sent to the
5486	// server regardless of whether the field is empty or not. This may be
5487	// used to include empty fields in Patch requests.
5488	ForceSendFields []string `json:"-"`
5489
5490	// NullFields is a list of field names (e.g. "ConversationTurns") to
5491	// include in API requests with the JSON null value. By default, fields
5492	// with empty values are omitted from API requests. However, any field
5493	// with an empty value appearing in NullFields will be sent to the
5494	// server as null. It is an error if a field in this list has a
5495	// non-empty value. This may be used to include null fields in Patch
5496	// requests.
5497	NullFields []string `json:"-"`
5498}
5499
5500func (s *GoogleCloudDialogflowCxV3TestCaseResult) MarshalJSON() ([]byte, error) {
5501	type NoMethod GoogleCloudDialogflowCxV3TestCaseResult
5502	raw := NoMethod(*s)
5503	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5504}
5505
5506// GoogleCloudDialogflowCxV3TestConfig: Represents configurations for a
5507// test case.
5508type GoogleCloudDialogflowCxV3TestConfig struct {
5509	// Flow: Flow name. If not set, default start flow is assumed. Format:
5510	// `projects//locations//agents//flows/`.
5511	Flow string `json:"flow,omitempty"`
5512
5513	// TrackingParameters: Session parameters to be compared when
5514	// calculating differences.
5515	TrackingParameters []string `json:"trackingParameters,omitempty"`
5516
5517	// ForceSendFields is a list of field names (e.g. "Flow") to
5518	// unconditionally include in API requests. By default, fields with
5519	// empty values are omitted from API requests. However, any non-pointer,
5520	// non-interface field appearing in ForceSendFields will be sent to the
5521	// server regardless of whether the field is empty or not. This may be
5522	// used to include empty fields in Patch requests.
5523	ForceSendFields []string `json:"-"`
5524
5525	// NullFields is a list of field names (e.g. "Flow") to include in API
5526	// requests with the JSON null value. By default, fields with empty
5527	// values are omitted from API requests. However, any field with an
5528	// empty value appearing in NullFields will be sent to the server as
5529	// null. It is an error if a field in this list has a non-empty value.
5530	// This may be used to include null fields in Patch requests.
5531	NullFields []string `json:"-"`
5532}
5533
5534func (s *GoogleCloudDialogflowCxV3TestConfig) MarshalJSON() ([]byte, error) {
5535	type NoMethod GoogleCloudDialogflowCxV3TestConfig
5536	raw := NoMethod(*s)
5537	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5538}
5539
5540// GoogleCloudDialogflowCxV3TestError: Error info for running a test.
5541type GoogleCloudDialogflowCxV3TestError struct {
5542	// Status: The status associated with the test.
5543	Status *GoogleRpcStatus `json:"status,omitempty"`
5544
5545	// TestCase: The test case resource name.
5546	TestCase string `json:"testCase,omitempty"`
5547
5548	// TestTime: The timestamp when the test was completed.
5549	TestTime string `json:"testTime,omitempty"`
5550
5551	// ForceSendFields is a list of field names (e.g. "Status") to
5552	// unconditionally include in API requests. By default, fields with
5553	// empty values are omitted from API requests. However, any non-pointer,
5554	// non-interface field appearing in ForceSendFields will be sent to the
5555	// server regardless of whether the field is empty or not. This may be
5556	// used to include empty fields in Patch requests.
5557	ForceSendFields []string `json:"-"`
5558
5559	// NullFields is a list of field names (e.g. "Status") to include in API
5560	// requests with the JSON null value. By default, fields with empty
5561	// values are omitted from API requests. However, any field with an
5562	// empty value appearing in NullFields will be sent to the server as
5563	// null. It is an error if a field in this list has a non-empty value.
5564	// This may be used to include null fields in Patch requests.
5565	NullFields []string `json:"-"`
5566}
5567
5568func (s *GoogleCloudDialogflowCxV3TestError) MarshalJSON() ([]byte, error) {
5569	type NoMethod GoogleCloudDialogflowCxV3TestError
5570	raw := NoMethod(*s)
5571	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5572}
5573
5574// GoogleCloudDialogflowCxV3TestRunDifference: The description of
5575// differences between original and replayed agent output.
5576type GoogleCloudDialogflowCxV3TestRunDifference struct {
5577	// Description: A description of the diff, showing the actual output vs
5578	// expected output.
5579	Description string `json:"description,omitempty"`
5580
5581	// Type: The type of diff.
5582	//
5583	// Possible values:
5584	//   "DIFF_TYPE_UNSPECIFIED" - Should never be used.
5585	//   "INTENT" - The intent.
5586	//   "PAGE" - The page.
5587	//   "PARAMETERS" - The parameters.
5588	//   "UTTERANCE" - The message utterance.
5589	Type string `json:"type,omitempty"`
5590
5591	// ForceSendFields is a list of field names (e.g. "Description") to
5592	// unconditionally include in API requests. By default, fields with
5593	// empty values are omitted from API requests. However, any non-pointer,
5594	// non-interface field appearing in ForceSendFields will be sent to the
5595	// server regardless of whether the field is empty or not. This may be
5596	// used to include empty fields in Patch requests.
5597	ForceSendFields []string `json:"-"`
5598
5599	// NullFields is a list of field names (e.g. "Description") to include
5600	// in API requests with the JSON null value. By default, fields with
5601	// empty values are omitted from API requests. However, any field with
5602	// an empty value appearing in NullFields will be sent to the server as
5603	// null. It is an error if a field in this list has a non-empty value.
5604	// This may be used to include null fields in Patch requests.
5605	NullFields []string `json:"-"`
5606}
5607
5608func (s *GoogleCloudDialogflowCxV3TestRunDifference) MarshalJSON() ([]byte, error) {
5609	type NoMethod GoogleCloudDialogflowCxV3TestRunDifference
5610	raw := NoMethod(*s)
5611	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5612}
5613
5614// GoogleCloudDialogflowCxV3TextInput: Represents the natural language
5615// text to be processed.
5616type GoogleCloudDialogflowCxV3TextInput struct {
5617	// Text: Required. The UTF-8 encoded natural language text to be
5618	// processed. Text length must not exceed 256 characters.
5619	Text string `json:"text,omitempty"`
5620
5621	// ForceSendFields is a list of field names (e.g. "Text") to
5622	// unconditionally include in API requests. By default, fields with
5623	// empty values are omitted from API requests. However, any non-pointer,
5624	// non-interface field appearing in ForceSendFields will be sent to the
5625	// server regardless of whether the field is empty or not. This may be
5626	// used to include empty fields in Patch requests.
5627	ForceSendFields []string `json:"-"`
5628
5629	// NullFields is a list of field names (e.g. "Text") to include in API
5630	// requests with the JSON null value. By default, fields with empty
5631	// values are omitted from API requests. However, any field with an
5632	// empty value appearing in NullFields will be sent to the server as
5633	// null. It is an error if a field in this list has a non-empty value.
5634	// This may be used to include null fields in Patch requests.
5635	NullFields []string `json:"-"`
5636}
5637
5638func (s *GoogleCloudDialogflowCxV3TextInput) MarshalJSON() ([]byte, error) {
5639	type NoMethod GoogleCloudDialogflowCxV3TextInput
5640	raw := NoMethod(*s)
5641	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5642}
5643
5644// GoogleCloudDialogflowCxV3TrainFlowRequest: The request message for
5645// Flows.TrainFlow.
5646type GoogleCloudDialogflowCxV3TrainFlowRequest struct {
5647}
5648
5649// GoogleCloudDialogflowCxV3TransitionCoverage: Transition coverage
5650// represents the percentage of all possible page transitions
5651// (page-level transition routes and event handlers, excluding
5652// transition route groups) present within any of a parent's test cases.
5653type GoogleCloudDialogflowCxV3TransitionCoverage struct {
5654	// CoverageScore: The percent of transitions in the agent that are
5655	// covered.
5656	CoverageScore float64 `json:"coverageScore,omitempty"`
5657
5658	// Transitions: The list of Transitions present in the agent.
5659	Transitions []*GoogleCloudDialogflowCxV3TransitionCoverageTransition `json:"transitions,omitempty"`
5660
5661	// ForceSendFields is a list of field names (e.g. "CoverageScore") to
5662	// unconditionally include in API requests. By default, fields with
5663	// empty values are omitted from API requests. However, any non-pointer,
5664	// non-interface field appearing in ForceSendFields will be sent to the
5665	// server regardless of whether the field is empty or not. This may be
5666	// used to include empty fields in Patch requests.
5667	ForceSendFields []string `json:"-"`
5668
5669	// NullFields is a list of field names (e.g. "CoverageScore") to include
5670	// in API requests with the JSON null value. By default, fields with
5671	// empty values are omitted from API requests. However, any field with
5672	// an empty value appearing in NullFields will be sent to the server as
5673	// null. It is an error if a field in this list has a non-empty value.
5674	// This may be used to include null fields in Patch requests.
5675	NullFields []string `json:"-"`
5676}
5677
5678func (s *GoogleCloudDialogflowCxV3TransitionCoverage) MarshalJSON() ([]byte, error) {
5679	type NoMethod GoogleCloudDialogflowCxV3TransitionCoverage
5680	raw := NoMethod(*s)
5681	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5682}
5683
5684func (s *GoogleCloudDialogflowCxV3TransitionCoverage) UnmarshalJSON(data []byte) error {
5685	type NoMethod GoogleCloudDialogflowCxV3TransitionCoverage
5686	var s1 struct {
5687		CoverageScore gensupport.JSONFloat64 `json:"coverageScore"`
5688		*NoMethod
5689	}
5690	s1.NoMethod = (*NoMethod)(s)
5691	if err := json.Unmarshal(data, &s1); err != nil {
5692		return err
5693	}
5694	s.CoverageScore = float64(s1.CoverageScore)
5695	return nil
5696}
5697
5698// GoogleCloudDialogflowCxV3TransitionCoverageTransition: A transition
5699// in a page.
5700type GoogleCloudDialogflowCxV3TransitionCoverageTransition struct {
5701	// Covered: Whether or not the transition is covered by at least one of
5702	// the agent's test cases.
5703	Covered bool `json:"covered,omitempty"`
5704
5705	// EventHandler: Event handler.
5706	EventHandler *GoogleCloudDialogflowCxV3EventHandler `json:"eventHandler,omitempty"`
5707
5708	// Index: The index of a transition in the transition list. Starting
5709	// from 0.
5710	Index int64 `json:"index,omitempty"`
5711
5712	// Source: The start node of a transition.
5713	Source *GoogleCloudDialogflowCxV3TransitionCoverageTransitionNode `json:"source,omitempty"`
5714
5715	// Target: The end node of a transition.
5716	Target *GoogleCloudDialogflowCxV3TransitionCoverageTransitionNode `json:"target,omitempty"`
5717
5718	// TransitionRoute: Intent route or condition route.
5719	TransitionRoute *GoogleCloudDialogflowCxV3TransitionRoute `json:"transitionRoute,omitempty"`
5720
5721	// ForceSendFields is a list of field names (e.g. "Covered") to
5722	// unconditionally include in API requests. By default, fields with
5723	// empty values are omitted from API requests. However, any non-pointer,
5724	// non-interface field appearing in ForceSendFields will be sent to the
5725	// server regardless of whether the field is empty or not. This may be
5726	// used to include empty fields in Patch requests.
5727	ForceSendFields []string `json:"-"`
5728
5729	// NullFields is a list of field names (e.g. "Covered") to include in
5730	// API requests with the JSON null value. By default, fields with empty
5731	// values are omitted from API requests. However, any field with an
5732	// empty value appearing in NullFields will be sent to the server as
5733	// null. It is an error if a field in this list has a non-empty value.
5734	// This may be used to include null fields in Patch requests.
5735	NullFields []string `json:"-"`
5736}
5737
5738func (s *GoogleCloudDialogflowCxV3TransitionCoverageTransition) MarshalJSON() ([]byte, error) {
5739	type NoMethod GoogleCloudDialogflowCxV3TransitionCoverageTransition
5740	raw := NoMethod(*s)
5741	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5742}
5743
5744// GoogleCloudDialogflowCxV3TransitionCoverageTransitionNode: The source
5745// or target of a transition.
5746type GoogleCloudDialogflowCxV3TransitionCoverageTransitionNode struct {
5747	// Flow: Indicates a transition to a Flow. Only some fields such as name
5748	// and displayname will be set.
5749	Flow *GoogleCloudDialogflowCxV3Flow `json:"flow,omitempty"`
5750
5751	// Page: Indicates a transition to a Page. Only some fields such as name
5752	// and displayname will be set.
5753	Page *GoogleCloudDialogflowCxV3Page `json:"page,omitempty"`
5754
5755	// ForceSendFields is a list of field names (e.g. "Flow") to
5756	// unconditionally include in API requests. By default, fields with
5757	// empty values are omitted from API requests. However, any non-pointer,
5758	// non-interface field appearing in ForceSendFields will be sent to the
5759	// server regardless of whether the field is empty or not. This may be
5760	// used to include empty fields in Patch requests.
5761	ForceSendFields []string `json:"-"`
5762
5763	// NullFields is a list of field names (e.g. "Flow") to include in API
5764	// requests with the JSON null value. By default, fields with empty
5765	// values are omitted from API requests. However, any field with an
5766	// empty value appearing in NullFields will be sent to the server as
5767	// null. It is an error if a field in this list has a non-empty value.
5768	// This may be used to include null fields in Patch requests.
5769	NullFields []string `json:"-"`
5770}
5771
5772func (s *GoogleCloudDialogflowCxV3TransitionCoverageTransitionNode) MarshalJSON() ([]byte, error) {
5773	type NoMethod GoogleCloudDialogflowCxV3TransitionCoverageTransitionNode
5774	raw := NoMethod(*s)
5775	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5776}
5777
5778// GoogleCloudDialogflowCxV3TransitionRoute: A transition route
5779// specifies a intent that can be matched and/or a data condition that
5780// can be evaluated during a session. When a specified transition is
5781// matched, the following actions are taken in order: * If there is a
5782// `trigger_fulfillment` associated with the transition, it will be
5783// called. * If there is a `target_page` associated with the transition,
5784// the session will transition into the specified page. * If there is a
5785// `target_flow` associated with the transition, the session will
5786// transition into the specified flow.
5787type GoogleCloudDialogflowCxV3TransitionRoute struct {
5788	// Condition: The condition to evaluate against form parameters or
5789	// session parameters. See the conditions reference
5790	// (https://cloud.google.com/dialogflow/cx/docs/reference/condition). At
5791	// least one of `intent` or `condition` must be specified. When both
5792	// `intent` and `condition` are specified, the transition can only
5793	// happen when both are fulfilled.
5794	Condition string `json:"condition,omitempty"`
5795
5796	// Intent: The unique identifier of an Intent. Format:
5797	// `projects//locations//agents//intents/`. Indicates that the
5798	// transition can only happen when the given intent is matched. At least
5799	// one of `intent` or `condition` must be specified. When both `intent`
5800	// and `condition` are specified, the transition can only happen when
5801	// both are fulfilled.
5802	Intent string `json:"intent,omitempty"`
5803
5804	// Name: Output only. The unique identifier of this transition route.
5805	Name string `json:"name,omitempty"`
5806
5807	// TargetFlow: The target flow to transition to. Format:
5808	// `projects//locations//agents//flows/`.
5809	TargetFlow string `json:"targetFlow,omitempty"`
5810
5811	// TargetPage: The target page to transition to. Format:
5812	// `projects//locations//agents//flows//pages/`.
5813	TargetPage string `json:"targetPage,omitempty"`
5814
5815	// TriggerFulfillment: The fulfillment to call when the condition is
5816	// satisfied. At least one of `trigger_fulfillment` and `target` must be
5817	// specified. When both are defined, `trigger_fulfillment` is executed
5818	// first.
5819	TriggerFulfillment *GoogleCloudDialogflowCxV3Fulfillment `json:"triggerFulfillment,omitempty"`
5820
5821	// ForceSendFields is a list of field names (e.g. "Condition") to
5822	// unconditionally include in API requests. By default, fields with
5823	// empty values are omitted from API requests. However, any non-pointer,
5824	// non-interface field appearing in ForceSendFields will be sent to the
5825	// server regardless of whether the field is empty or not. This may be
5826	// used to include empty fields in Patch requests.
5827	ForceSendFields []string `json:"-"`
5828
5829	// NullFields is a list of field names (e.g. "Condition") to include in
5830	// API requests with the JSON null value. By default, fields with empty
5831	// values are omitted from API requests. However, any field with an
5832	// empty value appearing in NullFields will be sent to the server as
5833	// null. It is an error if a field in this list has a non-empty value.
5834	// This may be used to include null fields in Patch requests.
5835	NullFields []string `json:"-"`
5836}
5837
5838func (s *GoogleCloudDialogflowCxV3TransitionRoute) MarshalJSON() ([]byte, error) {
5839	type NoMethod GoogleCloudDialogflowCxV3TransitionRoute
5840	raw := NoMethod(*s)
5841	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5842}
5843
5844// GoogleCloudDialogflowCxV3TransitionRouteGroup: An
5845// TransitionRouteGroup represents a group of `TransitionRoutes` to be
5846// used by a Page.
5847type GoogleCloudDialogflowCxV3TransitionRouteGroup struct {
5848	// DisplayName: Required. The human-readable name of the transition
5849	// route group, unique within the Agent. The display name can be no
5850	// longer than 30 characters.
5851	DisplayName string `json:"displayName,omitempty"`
5852
5853	// Name: The unique identifier of the transition route group.
5854	// TransitionRouteGroups.CreateTransitionRouteGroup populates the name
5855	// automatically. Format:
5856	// `projects//locations//agents//flows//transitionRouteGroups/`.
5857	Name string `json:"name,omitempty"`
5858
5859	// TransitionRoutes: Transition routes associated with the
5860	// TransitionRouteGroup.
5861	TransitionRoutes []*GoogleCloudDialogflowCxV3TransitionRoute `json:"transitionRoutes,omitempty"`
5862
5863	// ServerResponse contains the HTTP response code and headers from the
5864	// server.
5865	googleapi.ServerResponse `json:"-"`
5866
5867	// ForceSendFields is a list of field names (e.g. "DisplayName") to
5868	// unconditionally include in API requests. By default, fields with
5869	// empty values are omitted from API requests. However, any non-pointer,
5870	// non-interface field appearing in ForceSendFields will be sent to the
5871	// server regardless of whether the field is empty or not. This may be
5872	// used to include empty fields in Patch requests.
5873	ForceSendFields []string `json:"-"`
5874
5875	// NullFields is a list of field names (e.g. "DisplayName") to include
5876	// in API requests with the JSON null value. By default, fields with
5877	// empty values are omitted from API requests. However, any field with
5878	// an empty value appearing in NullFields will be sent to the server as
5879	// null. It is an error if a field in this list has a non-empty value.
5880	// This may be used to include null fields in Patch requests.
5881	NullFields []string `json:"-"`
5882}
5883
5884func (s *GoogleCloudDialogflowCxV3TransitionRouteGroup) MarshalJSON() ([]byte, error) {
5885	type NoMethod GoogleCloudDialogflowCxV3TransitionRouteGroup
5886	raw := NoMethod(*s)
5887	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5888}
5889
5890// GoogleCloudDialogflowCxV3TransitionRouteGroupCoverage: Transition
5891// route group coverage represents the percentage of all possible
5892// transition routes present within any of a parent's test cases. The
5893// results are grouped by the transition route group.
5894type GoogleCloudDialogflowCxV3TransitionRouteGroupCoverage struct {
5895	// CoverageScore: The percent of transition routes in all the transition
5896	// route groups that are covered.
5897	CoverageScore float64 `json:"coverageScore,omitempty"`
5898
5899	// Coverages: Transition route group coverages.
5900	Coverages []*GoogleCloudDialogflowCxV3TransitionRouteGroupCoverageCoverage `json:"coverages,omitempty"`
5901
5902	// ForceSendFields is a list of field names (e.g. "CoverageScore") to
5903	// unconditionally include in API requests. By default, fields with
5904	// empty values are omitted from API requests. However, any non-pointer,
5905	// non-interface field appearing in ForceSendFields will be sent to the
5906	// server regardless of whether the field is empty or not. This may be
5907	// used to include empty fields in Patch requests.
5908	ForceSendFields []string `json:"-"`
5909
5910	// NullFields is a list of field names (e.g. "CoverageScore") to include
5911	// in API requests with the JSON null value. By default, fields with
5912	// empty values are omitted from API requests. However, any field with
5913	// an empty value appearing in NullFields will be sent to the server as
5914	// null. It is an error if a field in this list has a non-empty value.
5915	// This may be used to include null fields in Patch requests.
5916	NullFields []string `json:"-"`
5917}
5918
5919func (s *GoogleCloudDialogflowCxV3TransitionRouteGroupCoverage) MarshalJSON() ([]byte, error) {
5920	type NoMethod GoogleCloudDialogflowCxV3TransitionRouteGroupCoverage
5921	raw := NoMethod(*s)
5922	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5923}
5924
5925func (s *GoogleCloudDialogflowCxV3TransitionRouteGroupCoverage) UnmarshalJSON(data []byte) error {
5926	type NoMethod GoogleCloudDialogflowCxV3TransitionRouteGroupCoverage
5927	var s1 struct {
5928		CoverageScore gensupport.JSONFloat64 `json:"coverageScore"`
5929		*NoMethod
5930	}
5931	s1.NoMethod = (*NoMethod)(s)
5932	if err := json.Unmarshal(data, &s1); err != nil {
5933		return err
5934	}
5935	s.CoverageScore = float64(s1.CoverageScore)
5936	return nil
5937}
5938
5939// GoogleCloudDialogflowCxV3TransitionRouteGroupCoverageCoverage:
5940// Coverage result message for one transition route group.
5941type GoogleCloudDialogflowCxV3TransitionRouteGroupCoverageCoverage struct {
5942	// CoverageScore: The percent of transition routes in the transition
5943	// route group that are covered.
5944	CoverageScore float64 `json:"coverageScore,omitempty"`
5945
5946	// RouteGroup: Transition route group metadata. Only name and
5947	// displayName will be set.
5948	RouteGroup *GoogleCloudDialogflowCxV3TransitionRouteGroup `json:"routeGroup,omitempty"`
5949
5950	// Transitions: The list of transition routes and coverage in the
5951	// transition route group.
5952	Transitions []*GoogleCloudDialogflowCxV3TransitionRouteGroupCoverageCoverageTransition `json:"transitions,omitempty"`
5953
5954	// ForceSendFields is a list of field names (e.g. "CoverageScore") to
5955	// unconditionally include in API requests. By default, fields with
5956	// empty values are omitted from API requests. However, any non-pointer,
5957	// non-interface field appearing in ForceSendFields will be sent to the
5958	// server regardless of whether the field is empty or not. This may be
5959	// used to include empty fields in Patch requests.
5960	ForceSendFields []string `json:"-"`
5961
5962	// NullFields is a list of field names (e.g. "CoverageScore") to include
5963	// in API requests with the JSON null value. By default, fields with
5964	// empty values are omitted from API requests. However, any field with
5965	// an empty value appearing in NullFields will be sent to the server as
5966	// null. It is an error if a field in this list has a non-empty value.
5967	// This may be used to include null fields in Patch requests.
5968	NullFields []string `json:"-"`
5969}
5970
5971func (s *GoogleCloudDialogflowCxV3TransitionRouteGroupCoverageCoverage) MarshalJSON() ([]byte, error) {
5972	type NoMethod GoogleCloudDialogflowCxV3TransitionRouteGroupCoverageCoverage
5973	raw := NoMethod(*s)
5974	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5975}
5976
5977func (s *GoogleCloudDialogflowCxV3TransitionRouteGroupCoverageCoverage) UnmarshalJSON(data []byte) error {
5978	type NoMethod GoogleCloudDialogflowCxV3TransitionRouteGroupCoverageCoverage
5979	var s1 struct {
5980		CoverageScore gensupport.JSONFloat64 `json:"coverageScore"`
5981		*NoMethod
5982	}
5983	s1.NoMethod = (*NoMethod)(s)
5984	if err := json.Unmarshal(data, &s1); err != nil {
5985		return err
5986	}
5987	s.CoverageScore = float64(s1.CoverageScore)
5988	return nil
5989}
5990
5991// GoogleCloudDialogflowCxV3TransitionRouteGroupCoverageCoverageTransitio
5992// n: A transition coverage in a transition route group.
5993type GoogleCloudDialogflowCxV3TransitionRouteGroupCoverageCoverageTransition struct {
5994	// Covered: Whether or not the transition route is covered by at least
5995	// one of the agent's test cases.
5996	Covered bool `json:"covered,omitempty"`
5997
5998	// TransitionRoute: Intent route or condition route.
5999	TransitionRoute *GoogleCloudDialogflowCxV3TransitionRoute `json:"transitionRoute,omitempty"`
6000
6001	// ForceSendFields is a list of field names (e.g. "Covered") to
6002	// unconditionally include in API requests. By default, fields with
6003	// empty values are omitted from API requests. However, any non-pointer,
6004	// non-interface field appearing in ForceSendFields will be sent to the
6005	// server regardless of whether the field is empty or not. This may be
6006	// used to include empty fields in Patch requests.
6007	ForceSendFields []string `json:"-"`
6008
6009	// NullFields is a list of field names (e.g. "Covered") to include in
6010	// API requests with the JSON null value. By default, fields with empty
6011	// values are omitted from API requests. However, any field with an
6012	// empty value appearing in NullFields will be sent to the server as
6013	// null. It is an error if a field in this list has a non-empty value.
6014	// This may be used to include null fields in Patch requests.
6015	NullFields []string `json:"-"`
6016}
6017
6018func (s *GoogleCloudDialogflowCxV3TransitionRouteGroupCoverageCoverageTransition) MarshalJSON() ([]byte, error) {
6019	type NoMethod GoogleCloudDialogflowCxV3TransitionRouteGroupCoverageCoverageTransition
6020	raw := NoMethod(*s)
6021	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6022}
6023
6024// GoogleCloudDialogflowCxV3UpdateDocumentOperationMetadata: Metadata
6025// for UpdateDocument operation.
6026type GoogleCloudDialogflowCxV3UpdateDocumentOperationMetadata struct {
6027	// GenericMetadata: The generic information of the operation.
6028	GenericMetadata *GoogleCloudDialogflowCxV3GenericKnowledgeOperationMetadata `json:"genericMetadata,omitempty"`
6029
6030	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
6031	// unconditionally include in API requests. By default, fields with
6032	// empty values are omitted from API requests. However, any non-pointer,
6033	// non-interface field appearing in ForceSendFields will be sent to the
6034	// server regardless of whether the field is empty or not. This may be
6035	// used to include empty fields in Patch requests.
6036	ForceSendFields []string `json:"-"`
6037
6038	// NullFields is a list of field names (e.g. "GenericMetadata") to
6039	// include in API requests with the JSON null value. By default, fields
6040	// with empty values are omitted from API requests. However, any field
6041	// with an empty value appearing in NullFields will be sent to the
6042	// server as null. It is an error if a field in this list has a
6043	// non-empty value. This may be used to include null fields in Patch
6044	// requests.
6045	NullFields []string `json:"-"`
6046}
6047
6048func (s *GoogleCloudDialogflowCxV3UpdateDocumentOperationMetadata) MarshalJSON() ([]byte, error) {
6049	type NoMethod GoogleCloudDialogflowCxV3UpdateDocumentOperationMetadata
6050	raw := NoMethod(*s)
6051	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6052}
6053
6054// GoogleCloudDialogflowCxV3ValidateAgentRequest: The request message
6055// for Agents.ValidateAgent.
6056type GoogleCloudDialogflowCxV3ValidateAgentRequest struct {
6057	// LanguageCode: If not specified, the agent's default language is used.
6058	LanguageCode string `json:"languageCode,omitempty"`
6059
6060	// ForceSendFields is a list of field names (e.g. "LanguageCode") to
6061	// unconditionally include in API requests. By default, fields with
6062	// empty values are omitted from API requests. However, any non-pointer,
6063	// non-interface field appearing in ForceSendFields will be sent to the
6064	// server regardless of whether the field is empty or not. This may be
6065	// used to include empty fields in Patch requests.
6066	ForceSendFields []string `json:"-"`
6067
6068	// NullFields is a list of field names (e.g. "LanguageCode") to include
6069	// in API requests with the JSON null value. By default, fields with
6070	// empty values are omitted from API requests. However, any field with
6071	// an empty value appearing in NullFields will be sent to the server as
6072	// null. It is an error if a field in this list has a non-empty value.
6073	// This may be used to include null fields in Patch requests.
6074	NullFields []string `json:"-"`
6075}
6076
6077func (s *GoogleCloudDialogflowCxV3ValidateAgentRequest) MarshalJSON() ([]byte, error) {
6078	type NoMethod GoogleCloudDialogflowCxV3ValidateAgentRequest
6079	raw := NoMethod(*s)
6080	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6081}
6082
6083// GoogleCloudDialogflowCxV3ValidateFlowRequest: The request message for
6084// Flows.ValidateFlow.
6085type GoogleCloudDialogflowCxV3ValidateFlowRequest struct {
6086	// LanguageCode: If not specified, the agent's default language is used.
6087	LanguageCode string `json:"languageCode,omitempty"`
6088
6089	// ForceSendFields is a list of field names (e.g. "LanguageCode") to
6090	// unconditionally include in API requests. By default, fields with
6091	// empty values are omitted from API requests. However, any non-pointer,
6092	// non-interface field appearing in ForceSendFields will be sent to the
6093	// server regardless of whether the field is empty or not. This may be
6094	// used to include empty fields in Patch requests.
6095	ForceSendFields []string `json:"-"`
6096
6097	// NullFields is a list of field names (e.g. "LanguageCode") to include
6098	// in API requests with the JSON null value. By default, fields with
6099	// empty values are omitted from API requests. However, any field with
6100	// an empty value appearing in NullFields will be sent to the server as
6101	// null. It is an error if a field in this list has a non-empty value.
6102	// This may be used to include null fields in Patch requests.
6103	NullFields []string `json:"-"`
6104}
6105
6106func (s *GoogleCloudDialogflowCxV3ValidateFlowRequest) MarshalJSON() ([]byte, error) {
6107	type NoMethod GoogleCloudDialogflowCxV3ValidateFlowRequest
6108	raw := NoMethod(*s)
6109	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6110}
6111
6112// GoogleCloudDialogflowCxV3ValidationMessage: Agent/flow validation
6113// message.
6114type GoogleCloudDialogflowCxV3ValidationMessage struct {
6115	// Detail: The message detail.
6116	Detail string `json:"detail,omitempty"`
6117
6118	// ResourceNames: The resource names of the resources where the message
6119	// is found.
6120	ResourceNames []*GoogleCloudDialogflowCxV3ResourceName `json:"resourceNames,omitempty"`
6121
6122	// ResourceType: The type of the resources where the message is found.
6123	//
6124	// Possible values:
6125	//   "RESOURCE_TYPE_UNSPECIFIED" - Unspecified.
6126	//   "AGENT" - Agent.
6127	//   "INTENT" - Intent.
6128	//   "INTENT_TRAINING_PHRASE" - Intent training phrase.
6129	//   "INTENT_PARAMETER" - Intent parameter.
6130	//   "INTENTS" - Multiple intents.
6131	//   "INTENT_TRAINING_PHRASES" - Multiple training phrases.
6132	//   "ENTITY_TYPE" - Entity type.
6133	//   "ENTITY_TYPES" - Multiple entity types.
6134	//   "WEBHOOK" - Webhook.
6135	//   "FLOW" - Flow.
6136	//   "PAGE" - Page.
6137	//   "PAGES" - Multiple pages.
6138	//   "TRANSITION_ROUTE_GROUP" - Transition route group.
6139	ResourceType string `json:"resourceType,omitempty"`
6140
6141	// Resources: The names of the resources where the message is found.
6142	Resources []string `json:"resources,omitempty"`
6143
6144	// Severity: Indicates the severity of the message.
6145	//
6146	// Possible values:
6147	//   "SEVERITY_UNSPECIFIED" - Unspecified.
6148	//   "INFO" - The agent doesn't follow Dialogflow best practices.
6149	//   "WARNING" - The agent may not behave as expected.
6150	//   "ERROR" - The agent may experience failures.
6151	Severity string `json:"severity,omitempty"`
6152
6153	// ForceSendFields is a list of field names (e.g. "Detail") to
6154	// unconditionally include in API requests. By default, fields with
6155	// empty values are omitted from API requests. However, any non-pointer,
6156	// non-interface field appearing in ForceSendFields will be sent to the
6157	// server regardless of whether the field is empty or not. This may be
6158	// used to include empty fields in Patch requests.
6159	ForceSendFields []string `json:"-"`
6160
6161	// NullFields is a list of field names (e.g. "Detail") to include in API
6162	// requests with the JSON null value. By default, fields with empty
6163	// values are omitted from API requests. However, any field with an
6164	// empty value appearing in NullFields will be sent to the server as
6165	// null. It is an error if a field in this list has a non-empty value.
6166	// This may be used to include null fields in Patch requests.
6167	NullFields []string `json:"-"`
6168}
6169
6170func (s *GoogleCloudDialogflowCxV3ValidationMessage) MarshalJSON() ([]byte, error) {
6171	type NoMethod GoogleCloudDialogflowCxV3ValidationMessage
6172	raw := NoMethod(*s)
6173	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6174}
6175
6176// GoogleCloudDialogflowCxV3VariantsHistory: The history of variants
6177// update.
6178type GoogleCloudDialogflowCxV3VariantsHistory struct {
6179	// UpdateTime: Update time of the variants.
6180	UpdateTime string `json:"updateTime,omitempty"`
6181
6182	// VersionVariants: The flow versions as the variants.
6183	VersionVariants *GoogleCloudDialogflowCxV3VersionVariants `json:"versionVariants,omitempty"`
6184
6185	// ForceSendFields is a list of field names (e.g. "UpdateTime") to
6186	// unconditionally include in API requests. By default, fields with
6187	// empty values are omitted from API requests. However, any non-pointer,
6188	// non-interface field appearing in ForceSendFields will be sent to the
6189	// server regardless of whether the field is empty or not. This may be
6190	// used to include empty fields in Patch requests.
6191	ForceSendFields []string `json:"-"`
6192
6193	// NullFields is a list of field names (e.g. "UpdateTime") to include in
6194	// API requests with the JSON null value. By default, fields with empty
6195	// values are omitted from API requests. However, any field with an
6196	// empty value appearing in NullFields will be sent to the server as
6197	// null. It is an error if a field in this list has a non-empty value.
6198	// This may be used to include null fields in Patch requests.
6199	NullFields []string `json:"-"`
6200}
6201
6202func (s *GoogleCloudDialogflowCxV3VariantsHistory) MarshalJSON() ([]byte, error) {
6203	type NoMethod GoogleCloudDialogflowCxV3VariantsHistory
6204	raw := NoMethod(*s)
6205	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6206}
6207
6208// GoogleCloudDialogflowCxV3Version: Represents a version of a flow.
6209type GoogleCloudDialogflowCxV3Version struct {
6210	// CreateTime: Output only. Create time of the version.
6211	CreateTime string `json:"createTime,omitempty"`
6212
6213	// Description: The description of the version. The maximum length is
6214	// 500 characters. If exceeded, the request is rejected.
6215	Description string `json:"description,omitempty"`
6216
6217	// DisplayName: Required. The human-readable name of the version. Limit
6218	// of 64 characters.
6219	DisplayName string `json:"displayName,omitempty"`
6220
6221	// Name: Format: projects//locations//agents//flows//versions/. Version
6222	// ID is a self-increasing number generated by Dialogflow upon version
6223	// creation.
6224	Name string `json:"name,omitempty"`
6225
6226	// NluSettings: Output only. The NLU settings of the flow at version
6227	// creation.
6228	NluSettings *GoogleCloudDialogflowCxV3NluSettings `json:"nluSettings,omitempty"`
6229
6230	// State: Output only. The state of this version. This field is
6231	// read-only and cannot be set by create and update methods.
6232	//
6233	// Possible values:
6234	//   "STATE_UNSPECIFIED" - Not specified. This value is not used.
6235	//   "RUNNING" - Version is not ready to serve (e.g. training is
6236	// running).
6237	//   "SUCCEEDED" - Training has succeeded and this version is ready to
6238	// serve.
6239	//   "FAILED" - Version training failed.
6240	State string `json:"state,omitempty"`
6241
6242	// ServerResponse contains the HTTP response code and headers from the
6243	// server.
6244	googleapi.ServerResponse `json:"-"`
6245
6246	// ForceSendFields is a list of field names (e.g. "CreateTime") to
6247	// unconditionally include in API requests. By default, fields with
6248	// empty values are omitted from API requests. However, any non-pointer,
6249	// non-interface field appearing in ForceSendFields will be sent to the
6250	// server regardless of whether the field is empty or not. This may be
6251	// used to include empty fields in Patch requests.
6252	ForceSendFields []string `json:"-"`
6253
6254	// NullFields is a list of field names (e.g. "CreateTime") to include in
6255	// API requests with the JSON null value. By default, fields with empty
6256	// values are omitted from API requests. However, any field with an
6257	// empty value appearing in NullFields will be sent to the server as
6258	// null. It is an error if a field in this list has a non-empty value.
6259	// This may be used to include null fields in Patch requests.
6260	NullFields []string `json:"-"`
6261}
6262
6263func (s *GoogleCloudDialogflowCxV3Version) MarshalJSON() ([]byte, error) {
6264	type NoMethod GoogleCloudDialogflowCxV3Version
6265	raw := NoMethod(*s)
6266	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6267}
6268
6269// GoogleCloudDialogflowCxV3VersionVariants: A list of flow version
6270// variants.
6271type GoogleCloudDialogflowCxV3VersionVariants struct {
6272	// Variants: A list of flow version variants.
6273	Variants []*GoogleCloudDialogflowCxV3VersionVariantsVariant `json:"variants,omitempty"`
6274
6275	// ForceSendFields is a list of field names (e.g. "Variants") to
6276	// unconditionally include in API requests. By default, fields with
6277	// empty values are omitted from API requests. However, any non-pointer,
6278	// non-interface field appearing in ForceSendFields will be sent to the
6279	// server regardless of whether the field is empty or not. This may be
6280	// used to include empty fields in Patch requests.
6281	ForceSendFields []string `json:"-"`
6282
6283	// NullFields is a list of field names (e.g. "Variants") to include in
6284	// API requests with the JSON null value. By default, fields with empty
6285	// values are omitted from API requests. However, any field with an
6286	// empty value appearing in NullFields will be sent to the server as
6287	// null. It is an error if a field in this list has a non-empty value.
6288	// This may be used to include null fields in Patch requests.
6289	NullFields []string `json:"-"`
6290}
6291
6292func (s *GoogleCloudDialogflowCxV3VersionVariants) MarshalJSON() ([]byte, error) {
6293	type NoMethod GoogleCloudDialogflowCxV3VersionVariants
6294	raw := NoMethod(*s)
6295	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6296}
6297
6298// GoogleCloudDialogflowCxV3VersionVariantsVariant: A single flow
6299// version with specified traffic allocation.
6300type GoogleCloudDialogflowCxV3VersionVariantsVariant struct {
6301	// IsControlGroup: Whether the variant is for the control group.
6302	IsControlGroup bool `json:"isControlGroup,omitempty"`
6303
6304	// TrafficAllocation: Percentage of the traffic which should be routed
6305	// to this version of flow. Traffic allocation for a single flow must
6306	// sum up to 1.0.
6307	TrafficAllocation float64 `json:"trafficAllocation,omitempty"`
6308
6309	// Version: The name of the flow version. Format:
6310	// `projects//locations//agents//flows//versions/`.
6311	Version string `json:"version,omitempty"`
6312
6313	// ForceSendFields is a list of field names (e.g. "IsControlGroup") to
6314	// unconditionally include in API requests. By default, fields with
6315	// empty values are omitted from API requests. However, any non-pointer,
6316	// non-interface field appearing in ForceSendFields will be sent to the
6317	// server regardless of whether the field is empty or not. This may be
6318	// used to include empty fields in Patch requests.
6319	ForceSendFields []string `json:"-"`
6320
6321	// NullFields is a list of field names (e.g. "IsControlGroup") to
6322	// include in API requests with the JSON null value. By default, fields
6323	// with empty values are omitted from API requests. However, any field
6324	// with an empty value appearing in NullFields will be sent to the
6325	// server as null. It is an error if a field in this list has a
6326	// non-empty value. This may be used to include null fields in Patch
6327	// requests.
6328	NullFields []string `json:"-"`
6329}
6330
6331func (s *GoogleCloudDialogflowCxV3VersionVariantsVariant) MarshalJSON() ([]byte, error) {
6332	type NoMethod GoogleCloudDialogflowCxV3VersionVariantsVariant
6333	raw := NoMethod(*s)
6334	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6335}
6336
6337func (s *GoogleCloudDialogflowCxV3VersionVariantsVariant) UnmarshalJSON(data []byte) error {
6338	type NoMethod GoogleCloudDialogflowCxV3VersionVariantsVariant
6339	var s1 struct {
6340		TrafficAllocation gensupport.JSONFloat64 `json:"trafficAllocation"`
6341		*NoMethod
6342	}
6343	s1.NoMethod = (*NoMethod)(s)
6344	if err := json.Unmarshal(data, &s1); err != nil {
6345		return err
6346	}
6347	s.TrafficAllocation = float64(s1.TrafficAllocation)
6348	return nil
6349}
6350
6351// GoogleCloudDialogflowCxV3VoiceSelectionParams: Description of which
6352// voice to use for speech synthesis.
6353type GoogleCloudDialogflowCxV3VoiceSelectionParams struct {
6354	// Name: Optional. The name of the voice. If not set, the service will
6355	// choose a voice based on the other parameters such as language_code
6356	// and ssml_gender. For the list of available voices, please refer to
6357	// Supported voices and languages
6358	// (https://cloud.google.com/text-to-speech/docs/voices).
6359	Name string `json:"name,omitempty"`
6360
6361	// SsmlGender: Optional. The preferred gender of the voice. If not set,
6362	// the service will choose a voice based on the other parameters such as
6363	// language_code and name. Note that this is only a preference, not
6364	// requirement. If a voice of the appropriate gender is not available,
6365	// the synthesizer substitutes a voice with a different gender rather
6366	// than failing the request.
6367	//
6368	// Possible values:
6369	//   "SSML_VOICE_GENDER_UNSPECIFIED" - An unspecified gender, which
6370	// means that the client doesn't care which gender the selected voice
6371	// will have.
6372	//   "SSML_VOICE_GENDER_MALE" - A male voice.
6373	//   "SSML_VOICE_GENDER_FEMALE" - A female voice.
6374	//   "SSML_VOICE_GENDER_NEUTRAL" - A gender-neutral voice.
6375	SsmlGender string `json:"ssmlGender,omitempty"`
6376
6377	// ForceSendFields is a list of field names (e.g. "Name") to
6378	// unconditionally include in API requests. By default, fields with
6379	// empty values are omitted from API requests. However, any non-pointer,
6380	// non-interface field appearing in ForceSendFields will be sent to the
6381	// server regardless of whether the field is empty or not. This may be
6382	// used to include empty fields in Patch requests.
6383	ForceSendFields []string `json:"-"`
6384
6385	// NullFields is a list of field names (e.g. "Name") to include in API
6386	// requests with the JSON null value. By default, fields with empty
6387	// values are omitted from API requests. However, any field with an
6388	// empty value appearing in NullFields will be sent to the server as
6389	// null. It is an error if a field in this list has a non-empty value.
6390	// This may be used to include null fields in Patch requests.
6391	NullFields []string `json:"-"`
6392}
6393
6394func (s *GoogleCloudDialogflowCxV3VoiceSelectionParams) MarshalJSON() ([]byte, error) {
6395	type NoMethod GoogleCloudDialogflowCxV3VoiceSelectionParams
6396	raw := NoMethod(*s)
6397	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6398}
6399
6400// GoogleCloudDialogflowCxV3Webhook: Webhooks host the developer's
6401// business logic. During a session, webhooks allow the developer to use
6402// the data extracted by Dialogflow's natural language processing to
6403// generate dynamic responses, validate collected data, or trigger
6404// actions on the backend.
6405type GoogleCloudDialogflowCxV3Webhook struct {
6406	// Disabled: Indicates whether the webhook is disabled.
6407	Disabled bool `json:"disabled,omitempty"`
6408
6409	// DisplayName: Required. The human-readable name of the webhook, unique
6410	// within the agent.
6411	DisplayName string `json:"displayName,omitempty"`
6412
6413	// GenericWebService: Configuration for a generic web service.
6414	GenericWebService *GoogleCloudDialogflowCxV3WebhookGenericWebService `json:"genericWebService,omitempty"`
6415
6416	// Name: The unique identifier of the webhook. Required for the
6417	// Webhooks.UpdateWebhook method. Webhooks.CreateWebhook populates the
6418	// name automatically. Format: `projects//locations//agents//webhooks/`.
6419	Name string `json:"name,omitempty"`
6420
6421	// Timeout: Webhook execution timeout. Execution is considered failed if
6422	// Dialogflow doesn't receive a response from webhook at the end of the
6423	// timeout period. Defaults to 5 seconds, maximum allowed timeout is 30
6424	// seconds.
6425	Timeout string `json:"timeout,omitempty"`
6426
6427	// ServerResponse contains the HTTP response code and headers from the
6428	// server.
6429	googleapi.ServerResponse `json:"-"`
6430
6431	// ForceSendFields is a list of field names (e.g. "Disabled") to
6432	// unconditionally include in API requests. By default, fields with
6433	// empty values are omitted from API requests. However, any non-pointer,
6434	// non-interface field appearing in ForceSendFields will be sent to the
6435	// server regardless of whether the field is empty or not. This may be
6436	// used to include empty fields in Patch requests.
6437	ForceSendFields []string `json:"-"`
6438
6439	// NullFields is a list of field names (e.g. "Disabled") to include in
6440	// API requests with the JSON null value. By default, fields with empty
6441	// values are omitted from API requests. However, any field with an
6442	// empty value appearing in NullFields will be sent to the server as
6443	// null. It is an error if a field in this list has a non-empty value.
6444	// This may be used to include null fields in Patch requests.
6445	NullFields []string `json:"-"`
6446}
6447
6448func (s *GoogleCloudDialogflowCxV3Webhook) MarshalJSON() ([]byte, error) {
6449	type NoMethod GoogleCloudDialogflowCxV3Webhook
6450	raw := NoMethod(*s)
6451	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6452}
6453
6454// GoogleCloudDialogflowCxV3WebhookGenericWebService: Represents
6455// configuration for a generic web service.
6456type GoogleCloudDialogflowCxV3WebhookGenericWebService struct {
6457	// Password: The password for HTTP Basic authentication.
6458	Password string `json:"password,omitempty"`
6459
6460	// RequestHeaders: The HTTP request headers to send together with
6461	// webhook requests.
6462	RequestHeaders map[string]string `json:"requestHeaders,omitempty"`
6463
6464	// Uri: Required. The webhook URI for receiving POST requests. It must
6465	// use https protocol.
6466	Uri string `json:"uri,omitempty"`
6467
6468	// Username: The user name for HTTP Basic authentication.
6469	Username string `json:"username,omitempty"`
6470
6471	// ForceSendFields is a list of field names (e.g. "Password") to
6472	// unconditionally include in API requests. By default, fields with
6473	// empty values are omitted from API requests. However, any non-pointer,
6474	// non-interface field appearing in ForceSendFields will be sent to the
6475	// server regardless of whether the field is empty or not. This may be
6476	// used to include empty fields in Patch requests.
6477	ForceSendFields []string `json:"-"`
6478
6479	// NullFields is a list of field names (e.g. "Password") to include in
6480	// API requests with the JSON null value. By default, fields with empty
6481	// values are omitted from API requests. However, any field with an
6482	// empty value appearing in NullFields will be sent to the server as
6483	// null. It is an error if a field in this list has a non-empty value.
6484	// This may be used to include null fields in Patch requests.
6485	NullFields []string `json:"-"`
6486}
6487
6488func (s *GoogleCloudDialogflowCxV3WebhookGenericWebService) MarshalJSON() ([]byte, error) {
6489	type NoMethod GoogleCloudDialogflowCxV3WebhookGenericWebService
6490	raw := NoMethod(*s)
6491	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6492}
6493
6494// GoogleCloudDialogflowCxV3WebhookRequest: The request message for a
6495// webhook call. The request is sent as a JSON object and the field
6496// names will be presented in camel cases.
6497type GoogleCloudDialogflowCxV3WebhookRequest struct {
6498	// DetectIntentResponseId: Always present. The unique identifier of the
6499	// DetectIntentResponse that will be returned to the API caller.
6500	DetectIntentResponseId string `json:"detectIntentResponseId,omitempty"`
6501
6502	// FulfillmentInfo: Always present. Information about the fulfillment
6503	// that triggered this webhook call.
6504	FulfillmentInfo *GoogleCloudDialogflowCxV3WebhookRequestFulfillmentInfo `json:"fulfillmentInfo,omitempty"`
6505
6506	// IntentInfo: Information about the last matched intent.
6507	IntentInfo *GoogleCloudDialogflowCxV3WebhookRequestIntentInfo `json:"intentInfo,omitempty"`
6508
6509	// Messages: The list of rich message responses to present to the user.
6510	// Webhook can choose to append or replace this list in
6511	// WebhookResponse.fulfillment_response;
6512	Messages []*GoogleCloudDialogflowCxV3ResponseMessage `json:"messages,omitempty"`
6513
6514	// PageInfo: Information about page status.
6515	PageInfo *GoogleCloudDialogflowCxV3PageInfo `json:"pageInfo,omitempty"`
6516
6517	// Payload: Custom data set in QueryParameters.payload.
6518	Payload googleapi.RawMessage `json:"payload,omitempty"`
6519
6520	// SentimentAnalysisResult: The sentiment analysis result of the current
6521	// user request. The field is filled when sentiment analysis is
6522	// configured to be enabled for the request.
6523	SentimentAnalysisResult *GoogleCloudDialogflowCxV3WebhookRequestSentimentAnalysisResult `json:"sentimentAnalysisResult,omitempty"`
6524
6525	// SessionInfo: Information about session status.
6526	SessionInfo *GoogleCloudDialogflowCxV3SessionInfo `json:"sessionInfo,omitempty"`
6527
6528	// Text: If natural language text was provided as input, this field will
6529	// contain a copy of the text.
6530	Text string `json:"text,omitempty"`
6531
6532	// Transcript: If natural language speech audio was provided as input,
6533	// this field will contain the transcript for the audio.
6534	Transcript string `json:"transcript,omitempty"`
6535
6536	// TriggerEvent: If an event was provided as input, this field will
6537	// contain the name of the event.
6538	TriggerEvent string `json:"triggerEvent,omitempty"`
6539
6540	// TriggerIntent: If an intent was provided as input, this field will
6541	// contain a copy of the intent identifier. Format:
6542	// `projects//locations//agents//intents/`.
6543	TriggerIntent string `json:"triggerIntent,omitempty"`
6544
6545	// ForceSendFields is a list of field names (e.g.
6546	// "DetectIntentResponseId") to unconditionally include in API requests.
6547	// By default, fields with empty values are omitted from API requests.
6548	// However, any non-pointer, non-interface field appearing in
6549	// ForceSendFields will be sent to the server regardless of whether the
6550	// field is empty or not. This may be used to include empty fields in
6551	// Patch requests.
6552	ForceSendFields []string `json:"-"`
6553
6554	// NullFields is a list of field names (e.g. "DetectIntentResponseId")
6555	// to include in API requests with the JSON null value. By default,
6556	// fields with empty values are omitted from API requests. However, any
6557	// field with an empty value appearing in NullFields will be sent to the
6558	// server as null. It is an error if a field in this list has a
6559	// non-empty value. This may be used to include null fields in Patch
6560	// requests.
6561	NullFields []string `json:"-"`
6562}
6563
6564func (s *GoogleCloudDialogflowCxV3WebhookRequest) MarshalJSON() ([]byte, error) {
6565	type NoMethod GoogleCloudDialogflowCxV3WebhookRequest
6566	raw := NoMethod(*s)
6567	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6568}
6569
6570// GoogleCloudDialogflowCxV3WebhookRequestFulfillmentInfo: Represents
6571// fulfillment information communicated to the webhook.
6572type GoogleCloudDialogflowCxV3WebhookRequestFulfillmentInfo struct {
6573	// Tag: Always present. The tag used to identify which fulfillment is
6574	// being called.
6575	Tag string `json:"tag,omitempty"`
6576
6577	// ForceSendFields is a list of field names (e.g. "Tag") to
6578	// unconditionally include in API requests. By default, fields with
6579	// empty values are omitted from API requests. However, any non-pointer,
6580	// non-interface field appearing in ForceSendFields will be sent to the
6581	// server regardless of whether the field is empty or not. This may be
6582	// used to include empty fields in Patch requests.
6583	ForceSendFields []string `json:"-"`
6584
6585	// NullFields is a list of field names (e.g. "Tag") to include in API
6586	// requests with the JSON null value. By default, fields with empty
6587	// values are omitted from API requests. However, any field with an
6588	// empty value appearing in NullFields will be sent to the server as
6589	// null. It is an error if a field in this list has a non-empty value.
6590	// This may be used to include null fields in Patch requests.
6591	NullFields []string `json:"-"`
6592}
6593
6594func (s *GoogleCloudDialogflowCxV3WebhookRequestFulfillmentInfo) MarshalJSON() ([]byte, error) {
6595	type NoMethod GoogleCloudDialogflowCxV3WebhookRequestFulfillmentInfo
6596	raw := NoMethod(*s)
6597	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6598}
6599
6600// GoogleCloudDialogflowCxV3WebhookRequestIntentInfo: Represents intent
6601// information communicated to the webhook.
6602type GoogleCloudDialogflowCxV3WebhookRequestIntentInfo struct {
6603	// Confidence: The confidence of the matched intent. Values range from
6604	// 0.0 (completely uncertain) to 1.0 (completely certain).
6605	Confidence float64 `json:"confidence,omitempty"`
6606
6607	// DisplayName: Always present. The display name of the last matched
6608	// intent.
6609	DisplayName string `json:"displayName,omitempty"`
6610
6611	// LastMatchedIntent: Always present. The unique identifier of the last
6612	// matched intent. Format: `projects//locations//agents//intents/`.
6613	LastMatchedIntent string `json:"lastMatchedIntent,omitempty"`
6614
6615	// Parameters: Parameters identified as a result of intent matching.
6616	// This is a map of the name of the identified parameter to the value of
6617	// the parameter identified from the user's utterance. All parameters
6618	// defined in the matched intent that are identified will be surfaced
6619	// here.
6620	Parameters map[string]GoogleCloudDialogflowCxV3WebhookRequestIntentInfoIntentParameterValue `json:"parameters,omitempty"`
6621
6622	// ForceSendFields is a list of field names (e.g. "Confidence") to
6623	// unconditionally include in API requests. By default, fields with
6624	// empty values are omitted from API requests. However, any non-pointer,
6625	// non-interface field appearing in ForceSendFields will be sent to the
6626	// server regardless of whether the field is empty or not. This may be
6627	// used to include empty fields in Patch requests.
6628	ForceSendFields []string `json:"-"`
6629
6630	// NullFields is a list of field names (e.g. "Confidence") to include in
6631	// API requests with the JSON null value. By default, fields with empty
6632	// values are omitted from API requests. However, any field with an
6633	// empty value appearing in NullFields will be sent to the server as
6634	// null. It is an error if a field in this list has a non-empty value.
6635	// This may be used to include null fields in Patch requests.
6636	NullFields []string `json:"-"`
6637}
6638
6639func (s *GoogleCloudDialogflowCxV3WebhookRequestIntentInfo) MarshalJSON() ([]byte, error) {
6640	type NoMethod GoogleCloudDialogflowCxV3WebhookRequestIntentInfo
6641	raw := NoMethod(*s)
6642	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6643}
6644
6645func (s *GoogleCloudDialogflowCxV3WebhookRequestIntentInfo) UnmarshalJSON(data []byte) error {
6646	type NoMethod GoogleCloudDialogflowCxV3WebhookRequestIntentInfo
6647	var s1 struct {
6648		Confidence gensupport.JSONFloat64 `json:"confidence"`
6649		*NoMethod
6650	}
6651	s1.NoMethod = (*NoMethod)(s)
6652	if err := json.Unmarshal(data, &s1); err != nil {
6653		return err
6654	}
6655	s.Confidence = float64(s1.Confidence)
6656	return nil
6657}
6658
6659// GoogleCloudDialogflowCxV3WebhookRequestIntentInfoIntentParameterValue:
6660//  Represents a value for an intent parameter.
6661type GoogleCloudDialogflowCxV3WebhookRequestIntentInfoIntentParameterValue struct {
6662	// OriginalValue: Always present. Original text value extracted from
6663	// user utterance.
6664	OriginalValue string `json:"originalValue,omitempty"`
6665
6666	// ResolvedValue: Always present. Structured value for the parameter
6667	// extracted from user utterance.
6668	ResolvedValue interface{} `json:"resolvedValue,omitempty"`
6669
6670	// ForceSendFields is a list of field names (e.g. "OriginalValue") to
6671	// unconditionally include in API requests. By default, fields with
6672	// empty values are omitted from API requests. However, any non-pointer,
6673	// non-interface field appearing in ForceSendFields will be sent to the
6674	// server regardless of whether the field is empty or not. This may be
6675	// used to include empty fields in Patch requests.
6676	ForceSendFields []string `json:"-"`
6677
6678	// NullFields is a list of field names (e.g. "OriginalValue") to include
6679	// in API requests with the JSON null value. By default, fields with
6680	// empty values are omitted from API requests. However, any field with
6681	// an empty value appearing in NullFields will be sent to the server as
6682	// null. It is an error if a field in this list has a non-empty value.
6683	// This may be used to include null fields in Patch requests.
6684	NullFields []string `json:"-"`
6685}
6686
6687func (s *GoogleCloudDialogflowCxV3WebhookRequestIntentInfoIntentParameterValue) MarshalJSON() ([]byte, error) {
6688	type NoMethod GoogleCloudDialogflowCxV3WebhookRequestIntentInfoIntentParameterValue
6689	raw := NoMethod(*s)
6690	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6691}
6692
6693// GoogleCloudDialogflowCxV3WebhookRequestSentimentAnalysisResult:
6694// Represents the result of sentiment analysis.
6695type GoogleCloudDialogflowCxV3WebhookRequestSentimentAnalysisResult struct {
6696	// Magnitude: A non-negative number in the [0, +inf) range, which
6697	// represents the absolute magnitude of sentiment, regardless of score
6698	// (positive or negative).
6699	Magnitude float64 `json:"magnitude,omitempty"`
6700
6701	// Score: Sentiment score between -1.0 (negative sentiment) and 1.0
6702	// (positive sentiment).
6703	Score float64 `json:"score,omitempty"`
6704
6705	// ForceSendFields is a list of field names (e.g. "Magnitude") to
6706	// unconditionally include in API requests. By default, fields with
6707	// empty values are omitted from API requests. However, any non-pointer,
6708	// non-interface field appearing in ForceSendFields will be sent to the
6709	// server regardless of whether the field is empty or not. This may be
6710	// used to include empty fields in Patch requests.
6711	ForceSendFields []string `json:"-"`
6712
6713	// NullFields is a list of field names (e.g. "Magnitude") to include in
6714	// API requests with the JSON null value. By default, fields with empty
6715	// values are omitted from API requests. However, any field with an
6716	// empty value appearing in NullFields will be sent to the server as
6717	// null. It is an error if a field in this list has a non-empty value.
6718	// This may be used to include null fields in Patch requests.
6719	NullFields []string `json:"-"`
6720}
6721
6722func (s *GoogleCloudDialogflowCxV3WebhookRequestSentimentAnalysisResult) MarshalJSON() ([]byte, error) {
6723	type NoMethod GoogleCloudDialogflowCxV3WebhookRequestSentimentAnalysisResult
6724	raw := NoMethod(*s)
6725	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6726}
6727
6728func (s *GoogleCloudDialogflowCxV3WebhookRequestSentimentAnalysisResult) UnmarshalJSON(data []byte) error {
6729	type NoMethod GoogleCloudDialogflowCxV3WebhookRequestSentimentAnalysisResult
6730	var s1 struct {
6731		Magnitude gensupport.JSONFloat64 `json:"magnitude"`
6732		Score     gensupport.JSONFloat64 `json:"score"`
6733		*NoMethod
6734	}
6735	s1.NoMethod = (*NoMethod)(s)
6736	if err := json.Unmarshal(data, &s1); err != nil {
6737		return err
6738	}
6739	s.Magnitude = float64(s1.Magnitude)
6740	s.Score = float64(s1.Score)
6741	return nil
6742}
6743
6744// GoogleCloudDialogflowCxV3WebhookResponse: The response message for a
6745// webhook call.
6746type GoogleCloudDialogflowCxV3WebhookResponse struct {
6747	// FulfillmentResponse: The fulfillment response to send to the user.
6748	// This field can be omitted by the webhook if it does not intend to
6749	// send any response to the user.
6750	FulfillmentResponse *GoogleCloudDialogflowCxV3WebhookResponseFulfillmentResponse `json:"fulfillmentResponse,omitempty"`
6751
6752	// PageInfo: Information about page status. This field can be omitted by
6753	// the webhook if it does not intend to modify page status.
6754	PageInfo *GoogleCloudDialogflowCxV3PageInfo `json:"pageInfo,omitempty"`
6755
6756	// Payload: Value to append directly to QueryResult.webhook_payloads.
6757	Payload googleapi.RawMessage `json:"payload,omitempty"`
6758
6759	// SessionInfo: Information about session status. This field can be
6760	// omitted by the webhook if it does not intend to modify session
6761	// status.
6762	SessionInfo *GoogleCloudDialogflowCxV3SessionInfo `json:"sessionInfo,omitempty"`
6763
6764	// TargetFlow: The target flow to transition to. Format:
6765	// `projects//locations//agents//flows/`.
6766	TargetFlow string `json:"targetFlow,omitempty"`
6767
6768	// TargetPage: The target page to transition to. Format:
6769	// `projects//locations//agents//flows//pages/`.
6770	TargetPage string `json:"targetPage,omitempty"`
6771
6772	// ForceSendFields is a list of field names (e.g. "FulfillmentResponse")
6773	// to unconditionally include in API requests. By default, fields with
6774	// empty values are omitted from API requests. However, any non-pointer,
6775	// non-interface field appearing in ForceSendFields will be sent to the
6776	// server regardless of whether the field is empty or not. This may be
6777	// used to include empty fields in Patch requests.
6778	ForceSendFields []string `json:"-"`
6779
6780	// NullFields is a list of field names (e.g. "FulfillmentResponse") to
6781	// include in API requests with the JSON null value. By default, fields
6782	// with empty values are omitted from API requests. However, any field
6783	// with an empty value appearing in NullFields will be sent to the
6784	// server as null. It is an error if a field in this list has a
6785	// non-empty value. This may be used to include null fields in Patch
6786	// requests.
6787	NullFields []string `json:"-"`
6788}
6789
6790func (s *GoogleCloudDialogflowCxV3WebhookResponse) MarshalJSON() ([]byte, error) {
6791	type NoMethod GoogleCloudDialogflowCxV3WebhookResponse
6792	raw := NoMethod(*s)
6793	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6794}
6795
6796// GoogleCloudDialogflowCxV3WebhookResponseFulfillmentResponse:
6797// Represents a fulfillment response to the user.
6798type GoogleCloudDialogflowCxV3WebhookResponseFulfillmentResponse struct {
6799	// MergeBehavior: Merge behavior for `messages`.
6800	//
6801	// Possible values:
6802	//   "MERGE_BEHAVIOR_UNSPECIFIED" - Not specified. `APPEND` will be
6803	// used.
6804	//   "APPEND" - `messages` will be appended to the list of messages
6805	// waiting to be sent to the user.
6806	//   "REPLACE" - `messages` will replace the list of messages waiting to
6807	// be sent to the user.
6808	MergeBehavior string `json:"mergeBehavior,omitempty"`
6809
6810	// Messages: The list of rich message responses to present to the user.
6811	Messages []*GoogleCloudDialogflowCxV3ResponseMessage `json:"messages,omitempty"`
6812
6813	// ForceSendFields is a list of field names (e.g. "MergeBehavior") to
6814	// unconditionally include in API requests. By default, fields with
6815	// empty values are omitted from API requests. However, any non-pointer,
6816	// non-interface field appearing in ForceSendFields will be sent to the
6817	// server regardless of whether the field is empty or not. This may be
6818	// used to include empty fields in Patch requests.
6819	ForceSendFields []string `json:"-"`
6820
6821	// NullFields is a list of field names (e.g. "MergeBehavior") to include
6822	// in API requests with the JSON null value. By default, fields with
6823	// empty values are omitted from API requests. However, any field with
6824	// an empty value appearing in NullFields will be sent to the server as
6825	// null. It is an error if a field in this list has a non-empty value.
6826	// This may be used to include null fields in Patch requests.
6827	NullFields []string `json:"-"`
6828}
6829
6830func (s *GoogleCloudDialogflowCxV3WebhookResponseFulfillmentResponse) MarshalJSON() ([]byte, error) {
6831	type NoMethod GoogleCloudDialogflowCxV3WebhookResponseFulfillmentResponse
6832	raw := NoMethod(*s)
6833	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6834}
6835
6836// GoogleCloudDialogflowCxV3beta1AudioInput: Represents the natural
6837// speech audio to be processed.
6838type GoogleCloudDialogflowCxV3beta1AudioInput struct {
6839	// Audio: The natural language speech audio to be processed. A single
6840	// request can contain up to 1 minute of speech audio data. The
6841	// transcribed text cannot contain more than 256 bytes. For
6842	// non-streaming audio detect intent, both `config` and `audio` must be
6843	// provided. For streaming audio detect intent, `config` must be
6844	// provided in the first request and `audio` must be provided in all
6845	// following requests.
6846	Audio string `json:"audio,omitempty"`
6847
6848	// Config: Required. Instructs the speech recognizer how to process the
6849	// speech audio.
6850	Config *GoogleCloudDialogflowCxV3beta1InputAudioConfig `json:"config,omitempty"`
6851
6852	// ForceSendFields is a list of field names (e.g. "Audio") to
6853	// unconditionally include in API requests. By default, fields with
6854	// empty values are omitted from API requests. However, any non-pointer,
6855	// non-interface field appearing in ForceSendFields will be sent to the
6856	// server regardless of whether the field is empty or not. This may be
6857	// used to include empty fields in Patch requests.
6858	ForceSendFields []string `json:"-"`
6859
6860	// NullFields is a list of field names (e.g. "Audio") to include in API
6861	// requests with the JSON null value. By default, fields with empty
6862	// values are omitted from API requests. However, any field with an
6863	// empty value appearing in NullFields will be sent to the server as
6864	// null. It is an error if a field in this list has a non-empty value.
6865	// This may be used to include null fields in Patch requests.
6866	NullFields []string `json:"-"`
6867}
6868
6869func (s *GoogleCloudDialogflowCxV3beta1AudioInput) MarshalJSON() ([]byte, error) {
6870	type NoMethod GoogleCloudDialogflowCxV3beta1AudioInput
6871	raw := NoMethod(*s)
6872	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6873}
6874
6875// GoogleCloudDialogflowCxV3beta1BatchRunTestCasesMetadata: Metadata
6876// returned for the TestCases.BatchRunTestCases long running operation.
6877type GoogleCloudDialogflowCxV3beta1BatchRunTestCasesMetadata struct {
6878	// Errors: The test errors.
6879	Errors []*GoogleCloudDialogflowCxV3beta1TestError `json:"errors,omitempty"`
6880
6881	// ForceSendFields is a list of field names (e.g. "Errors") to
6882	// unconditionally include in API requests. By default, fields with
6883	// empty values are omitted from API requests. However, any non-pointer,
6884	// non-interface field appearing in ForceSendFields will be sent to the
6885	// server regardless of whether the field is empty or not. This may be
6886	// used to include empty fields in Patch requests.
6887	ForceSendFields []string `json:"-"`
6888
6889	// NullFields is a list of field names (e.g. "Errors") to include in API
6890	// requests with the JSON null value. By default, fields with empty
6891	// values are omitted from API requests. However, any field with an
6892	// empty value appearing in NullFields will be sent to the server as
6893	// null. It is an error if a field in this list has a non-empty value.
6894	// This may be used to include null fields in Patch requests.
6895	NullFields []string `json:"-"`
6896}
6897
6898func (s *GoogleCloudDialogflowCxV3beta1BatchRunTestCasesMetadata) MarshalJSON() ([]byte, error) {
6899	type NoMethod GoogleCloudDialogflowCxV3beta1BatchRunTestCasesMetadata
6900	raw := NoMethod(*s)
6901	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6902}
6903
6904// GoogleCloudDialogflowCxV3beta1BatchRunTestCasesResponse: The response
6905// message for TestCases.BatchRunTestCases.
6906type GoogleCloudDialogflowCxV3beta1BatchRunTestCasesResponse struct {
6907	// Results: The test case results. The detailed conversation turns are
6908	// empty in this response.
6909	Results []*GoogleCloudDialogflowCxV3beta1TestCaseResult `json:"results,omitempty"`
6910
6911	// ForceSendFields is a list of field names (e.g. "Results") to
6912	// unconditionally include in API requests. By default, fields with
6913	// empty values are omitted from API requests. However, any non-pointer,
6914	// non-interface field appearing in ForceSendFields will be sent to the
6915	// server regardless of whether the field is empty or not. This may be
6916	// used to include empty fields in Patch requests.
6917	ForceSendFields []string `json:"-"`
6918
6919	// NullFields is a list of field names (e.g. "Results") to include in
6920	// API requests with the JSON null value. By default, fields with empty
6921	// values are omitted from API requests. However, any field with an
6922	// empty value appearing in NullFields will be sent to the server as
6923	// null. It is an error if a field in this list has a non-empty value.
6924	// This may be used to include null fields in Patch requests.
6925	NullFields []string `json:"-"`
6926}
6927
6928func (s *GoogleCloudDialogflowCxV3beta1BatchRunTestCasesResponse) MarshalJSON() ([]byte, error) {
6929	type NoMethod GoogleCloudDialogflowCxV3beta1BatchRunTestCasesResponse
6930	raw := NoMethod(*s)
6931	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6932}
6933
6934// GoogleCloudDialogflowCxV3beta1ConversationTurn: One interaction
6935// between a human and virtual agent. The human provides some input and
6936// the virtual agent provides a response.
6937type GoogleCloudDialogflowCxV3beta1ConversationTurn struct {
6938	// UserInput: The user input.
6939	UserInput *GoogleCloudDialogflowCxV3beta1ConversationTurnUserInput `json:"userInput,omitempty"`
6940
6941	// VirtualAgentOutput: The virtual agent output.
6942	VirtualAgentOutput *GoogleCloudDialogflowCxV3beta1ConversationTurnVirtualAgentOutput `json:"virtualAgentOutput,omitempty"`
6943
6944	// ForceSendFields is a list of field names (e.g. "UserInput") to
6945	// unconditionally include in API requests. By default, fields with
6946	// empty values are omitted from API requests. However, any non-pointer,
6947	// non-interface field appearing in ForceSendFields will be sent to the
6948	// server regardless of whether the field is empty or not. This may be
6949	// used to include empty fields in Patch requests.
6950	ForceSendFields []string `json:"-"`
6951
6952	// NullFields is a list of field names (e.g. "UserInput") to include in
6953	// API requests with the JSON null value. By default, fields with empty
6954	// values are omitted from API requests. However, any field with an
6955	// empty value appearing in NullFields will be sent to the server as
6956	// null. It is an error if a field in this list has a non-empty value.
6957	// This may be used to include null fields in Patch requests.
6958	NullFields []string `json:"-"`
6959}
6960
6961func (s *GoogleCloudDialogflowCxV3beta1ConversationTurn) MarshalJSON() ([]byte, error) {
6962	type NoMethod GoogleCloudDialogflowCxV3beta1ConversationTurn
6963	raw := NoMethod(*s)
6964	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6965}
6966
6967// GoogleCloudDialogflowCxV3beta1ConversationTurnUserInput: The input
6968// from the human user.
6969type GoogleCloudDialogflowCxV3beta1ConversationTurnUserInput struct {
6970	// InjectedParameters: Parameters that need to be injected into the
6971	// conversation during intent detection.
6972	InjectedParameters googleapi.RawMessage `json:"injectedParameters,omitempty"`
6973
6974	// Input: Supports text input, event input, dtmf input in the test case.
6975	Input *GoogleCloudDialogflowCxV3beta1QueryInput `json:"input,omitempty"`
6976
6977	// IsWebhookEnabled: If webhooks should be allowed to trigger in
6978	// response to the user utterance. Often if parameters are injected,
6979	// webhooks should not be enabled.
6980	IsWebhookEnabled bool `json:"isWebhookEnabled,omitempty"`
6981
6982	// ForceSendFields is a list of field names (e.g. "InjectedParameters")
6983	// to unconditionally include in API requests. By default, fields with
6984	// empty values are omitted from API requests. However, any non-pointer,
6985	// non-interface field appearing in ForceSendFields will be sent to the
6986	// server regardless of whether the field is empty or not. This may be
6987	// used to include empty fields in Patch requests.
6988	ForceSendFields []string `json:"-"`
6989
6990	// NullFields is a list of field names (e.g. "InjectedParameters") to
6991	// include in API requests with the JSON null value. By default, fields
6992	// with empty values are omitted from API requests. However, any field
6993	// with an empty value appearing in NullFields will be sent to the
6994	// server as null. It is an error if a field in this list has a
6995	// non-empty value. This may be used to include null fields in Patch
6996	// requests.
6997	NullFields []string `json:"-"`
6998}
6999
7000func (s *GoogleCloudDialogflowCxV3beta1ConversationTurnUserInput) MarshalJSON() ([]byte, error) {
7001	type NoMethod GoogleCloudDialogflowCxV3beta1ConversationTurnUserInput
7002	raw := NoMethod(*s)
7003	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7004}
7005
7006// GoogleCloudDialogflowCxV3beta1ConversationTurnVirtualAgentOutput: The
7007// output from the virtual agent.
7008type GoogleCloudDialogflowCxV3beta1ConversationTurnVirtualAgentOutput struct {
7009	// CurrentPage: The Page on which the utterance was spoken. Only name
7010	// and displayName will be set.
7011	CurrentPage *GoogleCloudDialogflowCxV3beta1Page `json:"currentPage,omitempty"`
7012
7013	// DiagnosticInfo: Required. Input only. The diagnostic info output for
7014	// the turn.
7015	DiagnosticInfo googleapi.RawMessage `json:"diagnosticInfo,omitempty"`
7016
7017	// Differences: Output only. If this is part of a result conversation
7018	// turn, the list of differences between the original run and the replay
7019	// for this output, if any.
7020	Differences []*GoogleCloudDialogflowCxV3beta1TestRunDifference `json:"differences,omitempty"`
7021
7022	// SessionParameters: The session parameters available to the bot at
7023	// this point.
7024	SessionParameters googleapi.RawMessage `json:"sessionParameters,omitempty"`
7025
7026	// Status: Response error from the agent in the test result. If set,
7027	// other output is empty.
7028	Status *GoogleRpcStatus `json:"status,omitempty"`
7029
7030	// TextResponses: The text responses from the agent for the turn.
7031	TextResponses []*GoogleCloudDialogflowCxV3beta1ResponseMessageText `json:"textResponses,omitempty"`
7032
7033	// TriggeredIntent: The Intent that triggered the response. Only name
7034	// and displayName will be set.
7035	TriggeredIntent *GoogleCloudDialogflowCxV3beta1Intent `json:"triggeredIntent,omitempty"`
7036
7037	// ForceSendFields is a list of field names (e.g. "CurrentPage") to
7038	// unconditionally include in API requests. By default, fields with
7039	// empty values are omitted from API requests. However, any non-pointer,
7040	// non-interface field appearing in ForceSendFields will be sent to the
7041	// server regardless of whether the field is empty or not. This may be
7042	// used to include empty fields in Patch requests.
7043	ForceSendFields []string `json:"-"`
7044
7045	// NullFields is a list of field names (e.g. "CurrentPage") to include
7046	// in API requests with the JSON null value. By default, fields with
7047	// empty values are omitted from API requests. However, any field with
7048	// an empty value appearing in NullFields will be sent to the server as
7049	// null. It is an error if a field in this list has a non-empty value.
7050	// This may be used to include null fields in Patch requests.
7051	NullFields []string `json:"-"`
7052}
7053
7054func (s *GoogleCloudDialogflowCxV3beta1ConversationTurnVirtualAgentOutput) MarshalJSON() ([]byte, error) {
7055	type NoMethod GoogleCloudDialogflowCxV3beta1ConversationTurnVirtualAgentOutput
7056	raw := NoMethod(*s)
7057	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7058}
7059
7060// GoogleCloudDialogflowCxV3beta1CreateDocumentOperationMetadata:
7061// Metadata for CreateDocument operation.
7062type GoogleCloudDialogflowCxV3beta1CreateDocumentOperationMetadata struct {
7063	// GenericMetadata: The generic information of the operation.
7064	GenericMetadata *GoogleCloudDialogflowCxV3beta1GenericKnowledgeOperationMetadata `json:"genericMetadata,omitempty"`
7065
7066	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
7067	// unconditionally include in API requests. By default, fields with
7068	// empty values are omitted from API requests. However, any non-pointer,
7069	// non-interface field appearing in ForceSendFields will be sent to the
7070	// server regardless of whether the field is empty or not. This may be
7071	// used to include empty fields in Patch requests.
7072	ForceSendFields []string `json:"-"`
7073
7074	// NullFields is a list of field names (e.g. "GenericMetadata") to
7075	// include in API requests with the JSON null value. By default, fields
7076	// with empty values are omitted from API requests. However, any field
7077	// with an empty value appearing in NullFields will be sent to the
7078	// server as null. It is an error if a field in this list has a
7079	// non-empty value. This may be used to include null fields in Patch
7080	// requests.
7081	NullFields []string `json:"-"`
7082}
7083
7084func (s *GoogleCloudDialogflowCxV3beta1CreateDocumentOperationMetadata) MarshalJSON() ([]byte, error) {
7085	type NoMethod GoogleCloudDialogflowCxV3beta1CreateDocumentOperationMetadata
7086	raw := NoMethod(*s)
7087	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7088}
7089
7090// GoogleCloudDialogflowCxV3beta1CreateVersionOperationMetadata:
7091// Metadata associated with the long running operation for
7092// Versions.CreateVersion.
7093type GoogleCloudDialogflowCxV3beta1CreateVersionOperationMetadata struct {
7094	// Version: Name of the created version. Format:
7095	// `projects//locations//agents//flows//versions/`.
7096	Version string `json:"version,omitempty"`
7097
7098	// ForceSendFields is a list of field names (e.g. "Version") to
7099	// unconditionally include in API requests. By default, fields with
7100	// empty values are omitted from API requests. However, any non-pointer,
7101	// non-interface field appearing in ForceSendFields will be sent to the
7102	// server regardless of whether the field is empty or not. This may be
7103	// used to include empty fields in Patch requests.
7104	ForceSendFields []string `json:"-"`
7105
7106	// NullFields is a list of field names (e.g. "Version") to include in
7107	// API requests with the JSON null value. By default, fields with empty
7108	// values are omitted from API requests. However, any field with an
7109	// empty value appearing in NullFields will be sent to the server as
7110	// null. It is an error if a field in this list has a non-empty value.
7111	// This may be used to include null fields in Patch requests.
7112	NullFields []string `json:"-"`
7113}
7114
7115func (s *GoogleCloudDialogflowCxV3beta1CreateVersionOperationMetadata) MarshalJSON() ([]byte, error) {
7116	type NoMethod GoogleCloudDialogflowCxV3beta1CreateVersionOperationMetadata
7117	raw := NoMethod(*s)
7118	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7119}
7120
7121// GoogleCloudDialogflowCxV3beta1DeleteDocumentOperationMetadata:
7122// Metadata for DeleteDocument operation.
7123type GoogleCloudDialogflowCxV3beta1DeleteDocumentOperationMetadata struct {
7124	// GenericMetadata: The generic information of the operation.
7125	GenericMetadata *GoogleCloudDialogflowCxV3beta1GenericKnowledgeOperationMetadata `json:"genericMetadata,omitempty"`
7126
7127	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
7128	// unconditionally include in API requests. By default, fields with
7129	// empty values are omitted from API requests. However, any non-pointer,
7130	// non-interface field appearing in ForceSendFields will be sent to the
7131	// server regardless of whether the field is empty or not. This may be
7132	// used to include empty fields in Patch requests.
7133	ForceSendFields []string `json:"-"`
7134
7135	// NullFields is a list of field names (e.g. "GenericMetadata") to
7136	// include in API requests with the JSON null value. By default, fields
7137	// with empty values are omitted from API requests. However, any field
7138	// with an empty value appearing in NullFields will be sent to the
7139	// server as null. It is an error if a field in this list has a
7140	// non-empty value. This may be used to include null fields in Patch
7141	// requests.
7142	NullFields []string `json:"-"`
7143}
7144
7145func (s *GoogleCloudDialogflowCxV3beta1DeleteDocumentOperationMetadata) MarshalJSON() ([]byte, error) {
7146	type NoMethod GoogleCloudDialogflowCxV3beta1DeleteDocumentOperationMetadata
7147	raw := NoMethod(*s)
7148	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7149}
7150
7151// GoogleCloudDialogflowCxV3beta1DtmfInput: Represents the input for
7152// dtmf event.
7153type GoogleCloudDialogflowCxV3beta1DtmfInput struct {
7154	// Digits: The dtmf digits.
7155	Digits string `json:"digits,omitempty"`
7156
7157	// FinishDigit: The finish digit (if any).
7158	FinishDigit string `json:"finishDigit,omitempty"`
7159
7160	// ForceSendFields is a list of field names (e.g. "Digits") to
7161	// unconditionally include in API requests. By default, fields with
7162	// empty values are omitted from API requests. However, any non-pointer,
7163	// non-interface field appearing in ForceSendFields will be sent to the
7164	// server regardless of whether the field is empty or not. This may be
7165	// used to include empty fields in Patch requests.
7166	ForceSendFields []string `json:"-"`
7167
7168	// NullFields is a list of field names (e.g. "Digits") to include in API
7169	// requests with the JSON null value. By default, fields with empty
7170	// values are omitted from API requests. However, any field with an
7171	// empty value appearing in NullFields will be sent to the server as
7172	// null. It is an error if a field in this list has a non-empty value.
7173	// This may be used to include null fields in Patch requests.
7174	NullFields []string `json:"-"`
7175}
7176
7177func (s *GoogleCloudDialogflowCxV3beta1DtmfInput) MarshalJSON() ([]byte, error) {
7178	type NoMethod GoogleCloudDialogflowCxV3beta1DtmfInput
7179	raw := NoMethod(*s)
7180	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7181}
7182
7183// GoogleCloudDialogflowCxV3beta1EventHandler: An event handler
7184// specifies an event that can be handled during a session. When the
7185// specified event happens, the following actions are taken in order: *
7186// If there is a `trigger_fulfillment` associated with the event, it
7187// will be called. * If there is a `target_page` associated with the
7188// event, the session will transition into the specified page. * If
7189// there is a `target_flow` associated with the event, the session will
7190// transition into the specified flow.
7191type GoogleCloudDialogflowCxV3beta1EventHandler struct {
7192	// Event: Required. The name of the event to handle.
7193	Event string `json:"event,omitempty"`
7194
7195	// Name: Output only. The unique identifier of this event handler.
7196	Name string `json:"name,omitempty"`
7197
7198	// TargetFlow: The target flow to transition to. Format:
7199	// `projects//locations//agents//flows/`.
7200	TargetFlow string `json:"targetFlow,omitempty"`
7201
7202	// TargetPage: The target page to transition to. Format:
7203	// `projects//locations//agents//flows//pages/`.
7204	TargetPage string `json:"targetPage,omitempty"`
7205
7206	// TriggerFulfillment: The fulfillment to call when the event occurs.
7207	// Handling webhook errors with a fulfillment enabled with webhook could
7208	// cause infinite loop. It is invalid to specify such fulfillment for a
7209	// handler handling webhooks.
7210	TriggerFulfillment *GoogleCloudDialogflowCxV3beta1Fulfillment `json:"triggerFulfillment,omitempty"`
7211
7212	// ForceSendFields is a list of field names (e.g. "Event") to
7213	// unconditionally include in API requests. By default, fields with
7214	// empty values are omitted from API requests. However, any non-pointer,
7215	// non-interface field appearing in ForceSendFields will be sent to the
7216	// server regardless of whether the field is empty or not. This may be
7217	// used to include empty fields in Patch requests.
7218	ForceSendFields []string `json:"-"`
7219
7220	// NullFields is a list of field names (e.g. "Event") to include in API
7221	// requests with the JSON null value. By default, fields with empty
7222	// values are omitted from API requests. However, any field with an
7223	// empty value appearing in NullFields will be sent to the server as
7224	// null. It is an error if a field in this list has a non-empty value.
7225	// This may be used to include null fields in Patch requests.
7226	NullFields []string `json:"-"`
7227}
7228
7229func (s *GoogleCloudDialogflowCxV3beta1EventHandler) MarshalJSON() ([]byte, error) {
7230	type NoMethod GoogleCloudDialogflowCxV3beta1EventHandler
7231	raw := NoMethod(*s)
7232	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7233}
7234
7235// GoogleCloudDialogflowCxV3beta1EventInput: Represents the event to
7236// trigger.
7237type GoogleCloudDialogflowCxV3beta1EventInput struct {
7238	// Event: Name of the event.
7239	Event string `json:"event,omitempty"`
7240
7241	// ForceSendFields is a list of field names (e.g. "Event") to
7242	// unconditionally include in API requests. By default, fields with
7243	// empty values are omitted from API requests. However, any non-pointer,
7244	// non-interface field appearing in ForceSendFields will be sent to the
7245	// server regardless of whether the field is empty or not. This may be
7246	// used to include empty fields in Patch requests.
7247	ForceSendFields []string `json:"-"`
7248
7249	// NullFields is a list of field names (e.g. "Event") to include in API
7250	// requests with the JSON null value. By default, fields with empty
7251	// values are omitted from API requests. However, any field with an
7252	// empty value appearing in NullFields will be sent to the server as
7253	// null. It is an error if a field in this list has a non-empty value.
7254	// This may be used to include null fields in Patch requests.
7255	NullFields []string `json:"-"`
7256}
7257
7258func (s *GoogleCloudDialogflowCxV3beta1EventInput) MarshalJSON() ([]byte, error) {
7259	type NoMethod GoogleCloudDialogflowCxV3beta1EventInput
7260	raw := NoMethod(*s)
7261	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7262}
7263
7264// GoogleCloudDialogflowCxV3beta1ExportAgentResponse: The response
7265// message for Agents.ExportAgent.
7266type GoogleCloudDialogflowCxV3beta1ExportAgentResponse struct {
7267	// AgentContent: Uncompressed raw byte content for agent.
7268	AgentContent string `json:"agentContent,omitempty"`
7269
7270	// AgentUri: The URI to a file containing the exported agent. This field
7271	// is populated only if `agent_uri` is specified in ExportAgentRequest.
7272	AgentUri string `json:"agentUri,omitempty"`
7273
7274	// ForceSendFields is a list of field names (e.g. "AgentContent") to
7275	// unconditionally include in API requests. By default, fields with
7276	// empty values are omitted from API requests. However, any non-pointer,
7277	// non-interface field appearing in ForceSendFields will be sent to the
7278	// server regardless of whether the field is empty or not. This may be
7279	// used to include empty fields in Patch requests.
7280	ForceSendFields []string `json:"-"`
7281
7282	// NullFields is a list of field names (e.g. "AgentContent") to include
7283	// in API requests with the JSON null value. By default, fields with
7284	// empty values are omitted from API requests. However, any field with
7285	// an empty value appearing in NullFields will be sent to the server as
7286	// null. It is an error if a field in this list has a non-empty value.
7287	// This may be used to include null fields in Patch requests.
7288	NullFields []string `json:"-"`
7289}
7290
7291func (s *GoogleCloudDialogflowCxV3beta1ExportAgentResponse) MarshalJSON() ([]byte, error) {
7292	type NoMethod GoogleCloudDialogflowCxV3beta1ExportAgentResponse
7293	raw := NoMethod(*s)
7294	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7295}
7296
7297// GoogleCloudDialogflowCxV3beta1ExportTestCasesMetadata: Metadata
7298// returned for the TestCases.ExportTestCases long running operation.
7299type GoogleCloudDialogflowCxV3beta1ExportTestCasesMetadata struct {
7300}
7301
7302// GoogleCloudDialogflowCxV3beta1ExportTestCasesResponse: The response
7303// message for TestCases.ExportTestCases.
7304type GoogleCloudDialogflowCxV3beta1ExportTestCasesResponse struct {
7305	// Content: Uncompressed raw byte content for test cases.
7306	Content string `json:"content,omitempty"`
7307
7308	// GcsUri: The URI to a file containing the exported test cases. This
7309	// field is populated only if `gcs_uri` is specified in
7310	// ExportTestCasesRequest.
7311	GcsUri string `json:"gcsUri,omitempty"`
7312
7313	// ForceSendFields is a list of field names (e.g. "Content") to
7314	// unconditionally include in API requests. By default, fields with
7315	// empty values are omitted from API requests. However, any non-pointer,
7316	// non-interface field appearing in ForceSendFields will be sent to the
7317	// server regardless of whether the field is empty or not. This may be
7318	// used to include empty fields in Patch requests.
7319	ForceSendFields []string `json:"-"`
7320
7321	// NullFields is a list of field names (e.g. "Content") to include in
7322	// API requests with the JSON null value. By default, fields with empty
7323	// values are omitted from API requests. However, any field with an
7324	// empty value appearing in NullFields will be sent to the server as
7325	// null. It is an error if a field in this list has a non-empty value.
7326	// This may be used to include null fields in Patch requests.
7327	NullFields []string `json:"-"`
7328}
7329
7330func (s *GoogleCloudDialogflowCxV3beta1ExportTestCasesResponse) MarshalJSON() ([]byte, error) {
7331	type NoMethod GoogleCloudDialogflowCxV3beta1ExportTestCasesResponse
7332	raw := NoMethod(*s)
7333	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7334}
7335
7336// GoogleCloudDialogflowCxV3beta1Form: A form is a data model that
7337// groups related parameters that can be collected from the user. The
7338// process in which the agent prompts the user and collects parameter
7339// values from the user is called form filling. A form can be added to a
7340// page. When form filling is done, the filled parameters will be
7341// written to the session.
7342type GoogleCloudDialogflowCxV3beta1Form struct {
7343	// Parameters: Parameters to collect from the user.
7344	Parameters []*GoogleCloudDialogflowCxV3beta1FormParameter `json:"parameters,omitempty"`
7345
7346	// ForceSendFields is a list of field names (e.g. "Parameters") to
7347	// unconditionally include in API requests. By default, fields with
7348	// empty values are omitted from API requests. However, any non-pointer,
7349	// non-interface field appearing in ForceSendFields will be sent to the
7350	// server regardless of whether the field is empty or not. This may be
7351	// used to include empty fields in Patch requests.
7352	ForceSendFields []string `json:"-"`
7353
7354	// NullFields is a list of field names (e.g. "Parameters") to include in
7355	// API requests with the JSON null value. By default, fields with empty
7356	// values are omitted from API requests. However, any field with an
7357	// empty value appearing in NullFields will be sent to the server as
7358	// null. It is an error if a field in this list has a non-empty value.
7359	// This may be used to include null fields in Patch requests.
7360	NullFields []string `json:"-"`
7361}
7362
7363func (s *GoogleCloudDialogflowCxV3beta1Form) MarshalJSON() ([]byte, error) {
7364	type NoMethod GoogleCloudDialogflowCxV3beta1Form
7365	raw := NoMethod(*s)
7366	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7367}
7368
7369// GoogleCloudDialogflowCxV3beta1FormParameter: Represents a form
7370// parameter.
7371type GoogleCloudDialogflowCxV3beta1FormParameter struct {
7372	// DefaultValue: The default value of an optional parameter. If the
7373	// parameter is required, the default value will be ignored.
7374	DefaultValue interface{} `json:"defaultValue,omitempty"`
7375
7376	// DisplayName: Required. The human-readable name of the parameter,
7377	// unique within the form.
7378	DisplayName string `json:"displayName,omitempty"`
7379
7380	// EntityType: Required. The entity type of the parameter. Format:
7381	// `projects/-/locations/-/agents/-/entityTypes/` for system entity
7382	// types (for example,
7383	// `projects/-/locations/-/agents/-/entityTypes/sys.date`), or
7384	// `projects//locations//agents//entityTypes/` for developer entity
7385	// types.
7386	EntityType string `json:"entityType,omitempty"`
7387
7388	// FillBehavior: Required. Defines fill behavior for the parameter.
7389	FillBehavior *GoogleCloudDialogflowCxV3beta1FormParameterFillBehavior `json:"fillBehavior,omitempty"`
7390
7391	// IsList: Indicates whether the parameter represents a list of values.
7392	IsList bool `json:"isList,omitempty"`
7393
7394	// Redact: Indicates whether the parameter content should be redacted in
7395	// log. If redaction is enabled, the parameter content will be replaced
7396	// by parameter name during logging. Note: the parameter content is
7397	// subject to redaction if either parameter level redaction or entity
7398	// type level redaction is enabled.
7399	Redact bool `json:"redact,omitempty"`
7400
7401	// Required: Indicates whether the parameter is required. Optional
7402	// parameters will not trigger prompts; however, they are filled if the
7403	// user specifies them. Required parameters must be filled before form
7404	// filling concludes.
7405	Required bool `json:"required,omitempty"`
7406
7407	// ForceSendFields is a list of field names (e.g. "DefaultValue") to
7408	// unconditionally include in API requests. By default, fields with
7409	// empty values are omitted from API requests. However, any non-pointer,
7410	// non-interface field appearing in ForceSendFields will be sent to the
7411	// server regardless of whether the field is empty or not. This may be
7412	// used to include empty fields in Patch requests.
7413	ForceSendFields []string `json:"-"`
7414
7415	// NullFields is a list of field names (e.g. "DefaultValue") to include
7416	// in API requests with the JSON null value. By default, fields with
7417	// empty values are omitted from API requests. However, any field with
7418	// an empty value appearing in NullFields will be sent to the server as
7419	// null. It is an error if a field in this list has a non-empty value.
7420	// This may be used to include null fields in Patch requests.
7421	NullFields []string `json:"-"`
7422}
7423
7424func (s *GoogleCloudDialogflowCxV3beta1FormParameter) MarshalJSON() ([]byte, error) {
7425	type NoMethod GoogleCloudDialogflowCxV3beta1FormParameter
7426	raw := NoMethod(*s)
7427	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7428}
7429
7430// GoogleCloudDialogflowCxV3beta1FormParameterFillBehavior:
7431// Configuration for how the filling of a parameter should be handled.
7432type GoogleCloudDialogflowCxV3beta1FormParameterFillBehavior struct {
7433	// InitialPromptFulfillment: Required. The fulfillment to provide the
7434	// initial prompt that the agent can present to the user in order to
7435	// fill the parameter.
7436	InitialPromptFulfillment *GoogleCloudDialogflowCxV3beta1Fulfillment `json:"initialPromptFulfillment,omitempty"`
7437
7438	// RepromptEventHandlers: The handlers for parameter-level events, used
7439	// to provide reprompt for the parameter or transition to a different
7440	// page/flow. The supported events are: * `sys.no-match-`, where N can
7441	// be from 1 to 6 * `sys.no-match-default` * `sys.no-input-`, where N
7442	// can be from 1 to 6 * `sys.no-input-default` * `sys.invalid-parameter`
7443	// `initial_prompt_fulfillment` provides the first prompt for the
7444	// parameter. If the user's response does not fill the parameter, a
7445	// no-match/no-input event will be triggered, and the fulfillment
7446	// associated with the `sys.no-match-1`/`sys.no-input-1` handler (if
7447	// defined) will be called to provide a prompt. The
7448	// `sys.no-match-2`/`sys.no-input-2` handler (if defined) will respond
7449	// to the next no-match/no-input event, and so on. A
7450	// `sys.no-match-default` or `sys.no-input-default` handler will be used
7451	// to handle all following no-match/no-input events after all numbered
7452	// no-match/no-input handlers for the parameter are consumed. A
7453	// `sys.invalid-parameter` handler can be defined to handle the case
7454	// where the parameter values have been `invalidated` by webhook. For
7455	// example, if the user's response fill the parameter, however the
7456	// parameter was invalidated by webhook, the fulfillment associated with
7457	// the `sys.invalid-parameter` handler (if defined) will be called to
7458	// provide a prompt. If the event handler for the corresponding event
7459	// can't be found on the parameter, `initial_prompt_fulfillment` will be
7460	// re-prompted.
7461	RepromptEventHandlers []*GoogleCloudDialogflowCxV3beta1EventHandler `json:"repromptEventHandlers,omitempty"`
7462
7463	// ForceSendFields is a list of field names (e.g.
7464	// "InitialPromptFulfillment") to unconditionally include in API
7465	// requests. By default, fields with empty values are omitted from API
7466	// requests. However, any non-pointer, non-interface field appearing in
7467	// ForceSendFields will be sent to the server regardless of whether the
7468	// field is empty or not. This may be used to include empty fields in
7469	// Patch requests.
7470	ForceSendFields []string `json:"-"`
7471
7472	// NullFields is a list of field names (e.g. "InitialPromptFulfillment")
7473	// to include in API requests with the JSON null value. By default,
7474	// fields with empty values are omitted from API requests. However, any
7475	// field with an empty value appearing in NullFields will be sent to the
7476	// server as null. It is an error if a field in this list has a
7477	// non-empty value. This may be used to include null fields in Patch
7478	// requests.
7479	NullFields []string `json:"-"`
7480}
7481
7482func (s *GoogleCloudDialogflowCxV3beta1FormParameterFillBehavior) MarshalJSON() ([]byte, error) {
7483	type NoMethod GoogleCloudDialogflowCxV3beta1FormParameterFillBehavior
7484	raw := NoMethod(*s)
7485	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7486}
7487
7488// GoogleCloudDialogflowCxV3beta1Fulfillment: A fulfillment can do one
7489// or more of the following actions at the same time: * Generate rich
7490// message responses. * Set parameter values. * Call the webhook.
7491// Fulfillments can be called at various stages in the Page or Form
7492// lifecycle. For example, when a DetectIntentRequest drives a session
7493// to enter a new page, the page's entry fulfillment can add a static
7494// response to the QueryResult in the returning DetectIntentResponse,
7495// call the webhook (for example, to load user data from a database), or
7496// both.
7497type GoogleCloudDialogflowCxV3beta1Fulfillment struct {
7498	// ConditionalCases: Conditional cases for this fulfillment.
7499	ConditionalCases []*GoogleCloudDialogflowCxV3beta1FulfillmentConditionalCases `json:"conditionalCases,omitempty"`
7500
7501	// Messages: The list of rich message responses to present to the user.
7502	Messages []*GoogleCloudDialogflowCxV3beta1ResponseMessage `json:"messages,omitempty"`
7503
7504	// SetParameterActions: Set parameter values before executing the
7505	// webhook.
7506	SetParameterActions []*GoogleCloudDialogflowCxV3beta1FulfillmentSetParameterAction `json:"setParameterActions,omitempty"`
7507
7508	// Tag: The tag used by the webhook to identify which fulfillment is
7509	// being called. This field is required if `webhook` is specified.
7510	Tag string `json:"tag,omitempty"`
7511
7512	// Webhook: The webhook to call. Format:
7513	// `projects//locations//agents//webhooks/`.
7514	Webhook string `json:"webhook,omitempty"`
7515
7516	// ForceSendFields is a list of field names (e.g. "ConditionalCases") to
7517	// unconditionally include in API requests. By default, fields with
7518	// empty values are omitted from API requests. However, any non-pointer,
7519	// non-interface field appearing in ForceSendFields will be sent to the
7520	// server regardless of whether the field is empty or not. This may be
7521	// used to include empty fields in Patch requests.
7522	ForceSendFields []string `json:"-"`
7523
7524	// NullFields is a list of field names (e.g. "ConditionalCases") to
7525	// include in API requests with the JSON null value. By default, fields
7526	// with empty values are omitted from API requests. However, any field
7527	// with an empty value appearing in NullFields will be sent to the
7528	// server as null. It is an error if a field in this list has a
7529	// non-empty value. This may be used to include null fields in Patch
7530	// requests.
7531	NullFields []string `json:"-"`
7532}
7533
7534func (s *GoogleCloudDialogflowCxV3beta1Fulfillment) MarshalJSON() ([]byte, error) {
7535	type NoMethod GoogleCloudDialogflowCxV3beta1Fulfillment
7536	raw := NoMethod(*s)
7537	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7538}
7539
7540// GoogleCloudDialogflowCxV3beta1FulfillmentConditionalCases: A list of
7541// cascading if-else conditions. Cases are mutually exclusive. The first
7542// one with a matching condition is selected, all the rest ignored.
7543type GoogleCloudDialogflowCxV3beta1FulfillmentConditionalCases struct {
7544	// Cases: A list of cascading if-else conditions.
7545	Cases []*GoogleCloudDialogflowCxV3beta1FulfillmentConditionalCasesCase `json:"cases,omitempty"`
7546
7547	// ForceSendFields is a list of field names (e.g. "Cases") to
7548	// unconditionally include in API requests. By default, fields with
7549	// empty values are omitted from API requests. However, any non-pointer,
7550	// non-interface field appearing in ForceSendFields will be sent to the
7551	// server regardless of whether the field is empty or not. This may be
7552	// used to include empty fields in Patch requests.
7553	ForceSendFields []string `json:"-"`
7554
7555	// NullFields is a list of field names (e.g. "Cases") to include in API
7556	// requests with the JSON null value. By default, fields with empty
7557	// values are omitted from API requests. However, any field with an
7558	// empty value appearing in NullFields will be sent to the server as
7559	// null. It is an error if a field in this list has a non-empty value.
7560	// This may be used to include null fields in Patch requests.
7561	NullFields []string `json:"-"`
7562}
7563
7564func (s *GoogleCloudDialogflowCxV3beta1FulfillmentConditionalCases) MarshalJSON() ([]byte, error) {
7565	type NoMethod GoogleCloudDialogflowCxV3beta1FulfillmentConditionalCases
7566	raw := NoMethod(*s)
7567	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7568}
7569
7570// GoogleCloudDialogflowCxV3beta1FulfillmentConditionalCasesCase: Each
7571// case has a Boolean condition. When it is evaluated to be True, the
7572// corresponding messages will be selected and evaluated recursively.
7573type GoogleCloudDialogflowCxV3beta1FulfillmentConditionalCasesCase struct {
7574	// CaseContent: A list of case content.
7575	CaseContent []*GoogleCloudDialogflowCxV3beta1FulfillmentConditionalCasesCaseCaseContent `json:"caseContent,omitempty"`
7576
7577	// Condition: The condition to activate and select this case. Empty
7578	// means the condition is always true. The condition is evaluated
7579	// against form parameters or session parameters. See the conditions
7580	// reference
7581	// (https://cloud.google.com/dialogflow/cx/docs/reference/condition).
7582	Condition string `json:"condition,omitempty"`
7583
7584	// ForceSendFields is a list of field names (e.g. "CaseContent") to
7585	// unconditionally include in API requests. By default, fields with
7586	// empty values are omitted from API requests. However, any non-pointer,
7587	// non-interface field appearing in ForceSendFields will be sent to the
7588	// server regardless of whether the field is empty or not. This may be
7589	// used to include empty fields in Patch requests.
7590	ForceSendFields []string `json:"-"`
7591
7592	// NullFields is a list of field names (e.g. "CaseContent") to include
7593	// in API requests with the JSON null value. By default, fields with
7594	// empty values are omitted from API requests. However, any field with
7595	// an empty value appearing in NullFields will be sent to the server as
7596	// null. It is an error if a field in this list has a non-empty value.
7597	// This may be used to include null fields in Patch requests.
7598	NullFields []string `json:"-"`
7599}
7600
7601func (s *GoogleCloudDialogflowCxV3beta1FulfillmentConditionalCasesCase) MarshalJSON() ([]byte, error) {
7602	type NoMethod GoogleCloudDialogflowCxV3beta1FulfillmentConditionalCasesCase
7603	raw := NoMethod(*s)
7604	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7605}
7606
7607// GoogleCloudDialogflowCxV3beta1FulfillmentConditionalCasesCaseCaseConte
7608// nt: The list of messages or conditional cases to activate for this
7609// case.
7610type GoogleCloudDialogflowCxV3beta1FulfillmentConditionalCasesCaseCaseContent struct {
7611	// AdditionalCases: Additional cases to be evaluated.
7612	AdditionalCases *GoogleCloudDialogflowCxV3beta1FulfillmentConditionalCases `json:"additionalCases,omitempty"`
7613
7614	// Message: Returned message.
7615	Message *GoogleCloudDialogflowCxV3beta1ResponseMessage `json:"message,omitempty"`
7616
7617	// ForceSendFields is a list of field names (e.g. "AdditionalCases") to
7618	// unconditionally include in API requests. By default, fields with
7619	// empty values are omitted from API requests. However, any non-pointer,
7620	// non-interface field appearing in ForceSendFields will be sent to the
7621	// server regardless of whether the field is empty or not. This may be
7622	// used to include empty fields in Patch requests.
7623	ForceSendFields []string `json:"-"`
7624
7625	// NullFields is a list of field names (e.g. "AdditionalCases") to
7626	// include in API requests with the JSON null value. By default, fields
7627	// with empty values are omitted from API requests. However, any field
7628	// with an empty value appearing in NullFields will be sent to the
7629	// server as null. It is an error if a field in this list has a
7630	// non-empty value. This may be used to include null fields in Patch
7631	// requests.
7632	NullFields []string `json:"-"`
7633}
7634
7635func (s *GoogleCloudDialogflowCxV3beta1FulfillmentConditionalCasesCaseCaseContent) MarshalJSON() ([]byte, error) {
7636	type NoMethod GoogleCloudDialogflowCxV3beta1FulfillmentConditionalCasesCaseCaseContent
7637	raw := NoMethod(*s)
7638	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7639}
7640
7641// GoogleCloudDialogflowCxV3beta1FulfillmentSetParameterAction: Setting
7642// a parameter value.
7643type GoogleCloudDialogflowCxV3beta1FulfillmentSetParameterAction struct {
7644	// Parameter: Display name of the parameter.
7645	Parameter string `json:"parameter,omitempty"`
7646
7647	// Value: The new value of the parameter. A null value clears the
7648	// parameter.
7649	Value interface{} `json:"value,omitempty"`
7650
7651	// ForceSendFields is a list of field names (e.g. "Parameter") to
7652	// unconditionally include in API requests. By default, fields with
7653	// empty values are omitted from API requests. However, any non-pointer,
7654	// non-interface field appearing in ForceSendFields will be sent to the
7655	// server regardless of whether the field is empty or not. This may be
7656	// used to include empty fields in Patch requests.
7657	ForceSendFields []string `json:"-"`
7658
7659	// NullFields is a list of field names (e.g. "Parameter") to include in
7660	// API requests with the JSON null value. By default, fields with empty
7661	// values are omitted from API requests. However, any field with an
7662	// empty value appearing in NullFields will be sent to the server as
7663	// null. It is an error if a field in this list has a non-empty value.
7664	// This may be used to include null fields in Patch requests.
7665	NullFields []string `json:"-"`
7666}
7667
7668func (s *GoogleCloudDialogflowCxV3beta1FulfillmentSetParameterAction) MarshalJSON() ([]byte, error) {
7669	type NoMethod GoogleCloudDialogflowCxV3beta1FulfillmentSetParameterAction
7670	raw := NoMethod(*s)
7671	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7672}
7673
7674// GoogleCloudDialogflowCxV3beta1GenericKnowledgeOperationMetadata:
7675// Metadata in google::longrunning::Operation for Knowledge operations.
7676type GoogleCloudDialogflowCxV3beta1GenericKnowledgeOperationMetadata struct {
7677	// State: Required. Output only. The current state of this operation.
7678	//
7679	// Possible values:
7680	//   "STATE_UNSPECIFIED" - State unspecified.
7681	//   "PENDING" - The operation has been created.
7682	//   "RUNNING" - The operation is currently running.
7683	//   "DONE" - The operation is done, either cancelled or completed.
7684	State string `json:"state,omitempty"`
7685
7686	// ForceSendFields is a list of field names (e.g. "State") to
7687	// unconditionally include in API requests. By default, fields with
7688	// empty values are omitted from API requests. However, any non-pointer,
7689	// non-interface field appearing in ForceSendFields will be sent to the
7690	// server regardless of whether the field is empty or not. This may be
7691	// used to include empty fields in Patch requests.
7692	ForceSendFields []string `json:"-"`
7693
7694	// NullFields is a list of field names (e.g. "State") to include in API
7695	// requests with the JSON null value. By default, fields with empty
7696	// values are omitted from API requests. However, any field with an
7697	// empty value appearing in NullFields will be sent to the server as
7698	// null. It is an error if a field in this list has a non-empty value.
7699	// This may be used to include null fields in Patch requests.
7700	NullFields []string `json:"-"`
7701}
7702
7703func (s *GoogleCloudDialogflowCxV3beta1GenericKnowledgeOperationMetadata) MarshalJSON() ([]byte, error) {
7704	type NoMethod GoogleCloudDialogflowCxV3beta1GenericKnowledgeOperationMetadata
7705	raw := NoMethod(*s)
7706	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7707}
7708
7709// GoogleCloudDialogflowCxV3beta1ImportDocumentsOperationMetadata:
7710// Metadata for ImportDocuments operation.
7711type GoogleCloudDialogflowCxV3beta1ImportDocumentsOperationMetadata struct {
7712	// GenericMetadata: The generic information of the operation.
7713	GenericMetadata *GoogleCloudDialogflowCxV3beta1GenericKnowledgeOperationMetadata `json:"genericMetadata,omitempty"`
7714
7715	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
7716	// unconditionally include in API requests. By default, fields with
7717	// empty values are omitted from API requests. However, any non-pointer,
7718	// non-interface field appearing in ForceSendFields will be sent to the
7719	// server regardless of whether the field is empty or not. This may be
7720	// used to include empty fields in Patch requests.
7721	ForceSendFields []string `json:"-"`
7722
7723	// NullFields is a list of field names (e.g. "GenericMetadata") to
7724	// include in API requests with the JSON null value. By default, fields
7725	// with empty values are omitted from API requests. However, any field
7726	// with an empty value appearing in NullFields will be sent to the
7727	// server as null. It is an error if a field in this list has a
7728	// non-empty value. This may be used to include null fields in Patch
7729	// requests.
7730	NullFields []string `json:"-"`
7731}
7732
7733func (s *GoogleCloudDialogflowCxV3beta1ImportDocumentsOperationMetadata) MarshalJSON() ([]byte, error) {
7734	type NoMethod GoogleCloudDialogflowCxV3beta1ImportDocumentsOperationMetadata
7735	raw := NoMethod(*s)
7736	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7737}
7738
7739// GoogleCloudDialogflowCxV3beta1ImportDocumentsResponse: Response
7740// message for Documents.ImportDocuments.
7741type GoogleCloudDialogflowCxV3beta1ImportDocumentsResponse struct {
7742	// Warnings: Includes details about skipped documents or any other
7743	// warnings.
7744	Warnings []*GoogleRpcStatus `json:"warnings,omitempty"`
7745
7746	// ForceSendFields is a list of field names (e.g. "Warnings") to
7747	// unconditionally include in API requests. By default, fields with
7748	// empty values are omitted from API requests. However, any non-pointer,
7749	// non-interface field appearing in ForceSendFields will be sent to the
7750	// server regardless of whether the field is empty or not. This may be
7751	// used to include empty fields in Patch requests.
7752	ForceSendFields []string `json:"-"`
7753
7754	// NullFields is a list of field names (e.g. "Warnings") to include in
7755	// API requests with the JSON null value. By default, fields with empty
7756	// values are omitted from API requests. However, any field with an
7757	// empty value appearing in NullFields will be sent to the server as
7758	// null. It is an error if a field in this list has a non-empty value.
7759	// This may be used to include null fields in Patch requests.
7760	NullFields []string `json:"-"`
7761}
7762
7763func (s *GoogleCloudDialogflowCxV3beta1ImportDocumentsResponse) MarshalJSON() ([]byte, error) {
7764	type NoMethod GoogleCloudDialogflowCxV3beta1ImportDocumentsResponse
7765	raw := NoMethod(*s)
7766	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7767}
7768
7769// GoogleCloudDialogflowCxV3beta1ImportTestCasesMetadata: Metadata
7770// returned for the TestCases.ImportTestCases long running operation.
7771type GoogleCloudDialogflowCxV3beta1ImportTestCasesMetadata struct {
7772	// Errors: Errors for failed test cases.
7773	Errors []*GoogleCloudDialogflowCxV3beta1TestCaseError `json:"errors,omitempty"`
7774
7775	// ForceSendFields is a list of field names (e.g. "Errors") to
7776	// unconditionally include in API requests. By default, fields with
7777	// empty values are omitted from API requests. However, any non-pointer,
7778	// non-interface field appearing in ForceSendFields will be sent to the
7779	// server regardless of whether the field is empty or not. This may be
7780	// used to include empty fields in Patch requests.
7781	ForceSendFields []string `json:"-"`
7782
7783	// NullFields is a list of field names (e.g. "Errors") to include in API
7784	// requests with the JSON null value. By default, fields with empty
7785	// values are omitted from API requests. However, any field with an
7786	// empty value appearing in NullFields will be sent to the server as
7787	// null. It is an error if a field in this list has a non-empty value.
7788	// This may be used to include null fields in Patch requests.
7789	NullFields []string `json:"-"`
7790}
7791
7792func (s *GoogleCloudDialogflowCxV3beta1ImportTestCasesMetadata) MarshalJSON() ([]byte, error) {
7793	type NoMethod GoogleCloudDialogflowCxV3beta1ImportTestCasesMetadata
7794	raw := NoMethod(*s)
7795	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7796}
7797
7798// GoogleCloudDialogflowCxV3beta1ImportTestCasesResponse: The response
7799// message for TestCases.ImportTestCases.
7800type GoogleCloudDialogflowCxV3beta1ImportTestCasesResponse struct {
7801	// Names: The unique identifiers of the new test cases. Format:
7802	// `projects//locations//agents//testCases/`.
7803	Names []string `json:"names,omitempty"`
7804
7805	// ForceSendFields is a list of field names (e.g. "Names") to
7806	// unconditionally include in API requests. By default, fields with
7807	// empty values are omitted from API requests. However, any non-pointer,
7808	// non-interface field appearing in ForceSendFields will be sent to the
7809	// server regardless of whether the field is empty or not. This may be
7810	// used to include empty fields in Patch requests.
7811	ForceSendFields []string `json:"-"`
7812
7813	// NullFields is a list of field names (e.g. "Names") to include in API
7814	// requests with the JSON null value. By default, fields with empty
7815	// values are omitted from API requests. However, any field with an
7816	// empty value appearing in NullFields will be sent to the server as
7817	// null. It is an error if a field in this list has a non-empty value.
7818	// This may be used to include null fields in Patch requests.
7819	NullFields []string `json:"-"`
7820}
7821
7822func (s *GoogleCloudDialogflowCxV3beta1ImportTestCasesResponse) MarshalJSON() ([]byte, error) {
7823	type NoMethod GoogleCloudDialogflowCxV3beta1ImportTestCasesResponse
7824	raw := NoMethod(*s)
7825	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7826}
7827
7828// GoogleCloudDialogflowCxV3beta1InputAudioConfig: Instructs the speech
7829// recognizer on how to process the audio content.
7830type GoogleCloudDialogflowCxV3beta1InputAudioConfig struct {
7831	// AudioEncoding: Required. Audio encoding of the audio content to
7832	// process.
7833	//
7834	// Possible values:
7835	//   "AUDIO_ENCODING_UNSPECIFIED" - Not specified.
7836	//   "AUDIO_ENCODING_LINEAR_16" - Uncompressed 16-bit signed
7837	// little-endian samples (Linear PCM).
7838	//   "AUDIO_ENCODING_FLAC" -
7839	// [`FLAC`](https://xiph.org/flac/documentation.html) (Free Lossless
7840	// Audio Codec) is the recommended encoding because it is lossless
7841	// (therefore recognition is not compromised) and requires only about
7842	// half the bandwidth of `LINEAR16`. `FLAC` stream encoding supports
7843	// 16-bit and 24-bit samples, however, not all fields in `STREAMINFO`
7844	// are supported.
7845	//   "AUDIO_ENCODING_MULAW" - 8-bit samples that compand 14-bit audio
7846	// samples using G.711 PCMU/mu-law.
7847	//   "AUDIO_ENCODING_AMR" - Adaptive Multi-Rate Narrowband codec.
7848	// `sample_rate_hertz` must be 8000.
7849	//   "AUDIO_ENCODING_AMR_WB" - Adaptive Multi-Rate Wideband codec.
7850	// `sample_rate_hertz` must be 16000.
7851	//   "AUDIO_ENCODING_OGG_OPUS" - Opus encoded audio frames in Ogg
7852	// container ([OggOpus](https://wiki.xiph.org/OggOpus)).
7853	// `sample_rate_hertz` must be 16000.
7854	//   "AUDIO_ENCODING_SPEEX_WITH_HEADER_BYTE" - Although the use of lossy
7855	// encodings is not recommended, if a very low bitrate encoding is
7856	// required, `OGG_OPUS` is highly preferred over Speex encoding. The
7857	// [Speex](https://speex.org/) encoding supported by Dialogflow API has
7858	// a header byte in each block, as in MIME type
7859	// `audio/x-speex-with-header-byte`. It is a variant of the RTP Speex
7860	// encoding defined in [RFC 5574](https://tools.ietf.org/html/rfc5574).
7861	// The stream is a sequence of blocks, one block per RTP packet. Each
7862	// block starts with a byte containing the length of the block, in
7863	// bytes, followed by one or more frames of Speex data, padded to an
7864	// integral number of bytes (octets) as specified in RFC 5574. In other
7865	// words, each RTP header is replaced with a single byte containing the
7866	// block length. Only Speex wideband is supported. `sample_rate_hertz`
7867	// must be 16000.
7868	AudioEncoding string `json:"audioEncoding,omitempty"`
7869
7870	// EnableWordInfo: Optional. If `true`, Dialogflow returns
7871	// SpeechWordInfo in StreamingRecognitionResult with information about
7872	// the recognized speech words, e.g. start and end time offsets. If
7873	// false or unspecified, Speech doesn't return any word-level
7874	// information.
7875	EnableWordInfo bool `json:"enableWordInfo,omitempty"`
7876
7877	// Model: Optional. Which Speech model to select for the given request.
7878	// Select the model best suited to your domain to get best results. If a
7879	// model is not explicitly specified, then we auto-select a model based
7880	// on the parameters in the InputAudioConfig. If enhanced speech model
7881	// is enabled for the agent and an enhanced version of the specified
7882	// model for the language does not exist, then the speech is recognized
7883	// using the standard version of the specified model. Refer to Cloud
7884	// Speech API documentation
7885	// (https://cloud.google.com/speech-to-text/docs/basics#select-model)
7886	// for more details.
7887	Model string `json:"model,omitempty"`
7888
7889	// ModelVariant: Optional. Which variant of the Speech model to use.
7890	//
7891	// Possible values:
7892	//   "SPEECH_MODEL_VARIANT_UNSPECIFIED" - No model variant specified. In
7893	// this case Dialogflow defaults to USE_BEST_AVAILABLE.
7894	//   "USE_BEST_AVAILABLE" - Use the best available variant of the Speech
7895	// model that the caller is eligible for. Please see the [Dialogflow
7896	// docs](https://cloud.google.com/dialogflow/docs/data-logging) for how
7897	// to make your project eligible for enhanced models.
7898	//   "USE_STANDARD" - Use standard model variant even if an enhanced
7899	// model is available. See the [Cloud Speech
7900	// documentation](https://cloud.google.com/speech-to-text/docs/enhanced-m
7901	// odels) for details about enhanced models.
7902	//   "USE_ENHANCED" - Use an enhanced model variant: * If an enhanced
7903	// variant does not exist for the given model and request language,
7904	// Dialogflow falls back to the standard variant. The [Cloud Speech
7905	// documentation](https://cloud.google.com/speech-to-text/docs/enhanced-m
7906	// odels) describes which models have enhanced variants. * If the API
7907	// caller isn't eligible for enhanced models, Dialogflow returns an
7908	// error. Please see the [Dialogflow
7909	// docs](https://cloud.google.com/dialogflow/docs/data-logging) for how
7910	// to make your project eligible.
7911	ModelVariant string `json:"modelVariant,omitempty"`
7912
7913	// PhraseHints: Optional. A list of strings containing words and phrases
7914	// that the speech recognizer should recognize with higher likelihood.
7915	// See the Cloud Speech documentation
7916	// (https://cloud.google.com/speech-to-text/docs/basics#phrase-hints)
7917	// for more details.
7918	PhraseHints []string `json:"phraseHints,omitempty"`
7919
7920	// SampleRateHertz: Sample rate (in Hertz) of the audio content sent in
7921	// the query. Refer to Cloud Speech API documentation
7922	// (https://cloud.google.com/speech-to-text/docs/basics) for more
7923	// details.
7924	SampleRateHertz int64 `json:"sampleRateHertz,omitempty"`
7925
7926	// SingleUtterance: Optional. If `false` (default), recognition does not
7927	// cease until the client closes the stream. If `true`, the recognizer
7928	// will detect a single spoken utterance in input audio. Recognition
7929	// ceases when it detects the audio's voice has stopped or paused. In
7930	// this case, once a detected intent is received, the client should
7931	// close the stream and start a new request with a new stream as needed.
7932	// Note: This setting is relevant only for streaming methods.
7933	SingleUtterance bool `json:"singleUtterance,omitempty"`
7934
7935	// ForceSendFields is a list of field names (e.g. "AudioEncoding") to
7936	// unconditionally include in API requests. By default, fields with
7937	// empty values are omitted from API requests. However, any non-pointer,
7938	// non-interface field appearing in ForceSendFields will be sent to the
7939	// server regardless of whether the field is empty or not. This may be
7940	// used to include empty fields in Patch requests.
7941	ForceSendFields []string `json:"-"`
7942
7943	// NullFields is a list of field names (e.g. "AudioEncoding") to include
7944	// in API requests with the JSON null value. By default, fields with
7945	// empty values are omitted from API requests. However, any field with
7946	// an empty value appearing in NullFields will be sent to the server as
7947	// null. It is an error if a field in this list has a non-empty value.
7948	// This may be used to include null fields in Patch requests.
7949	NullFields []string `json:"-"`
7950}
7951
7952func (s *GoogleCloudDialogflowCxV3beta1InputAudioConfig) MarshalJSON() ([]byte, error) {
7953	type NoMethod GoogleCloudDialogflowCxV3beta1InputAudioConfig
7954	raw := NoMethod(*s)
7955	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7956}
7957
7958// GoogleCloudDialogflowCxV3beta1Intent: An intent represents a user's
7959// intent to interact with a conversational agent. You can provide
7960// information for the Dialogflow API to use to match user input to an
7961// intent by adding training phrases (i.e., examples of user input) to
7962// your intent.
7963type GoogleCloudDialogflowCxV3beta1Intent struct {
7964	// Description: Optional. Human readable description for better
7965	// understanding an intent like its scope, content, result etc. Maximum
7966	// character limit: 140 characters.
7967	Description string `json:"description,omitempty"`
7968
7969	// DisplayName: Required. The human-readable name of the intent, unique
7970	// within the agent.
7971	DisplayName string `json:"displayName,omitempty"`
7972
7973	// IsFallback: Indicates whether this is a fallback intent. Currently
7974	// only default fallback intent is allowed in the agent, which is added
7975	// upon agent creation. Adding training phrases to fallback intent is
7976	// useful in the case of requests that are mistakenly matched, since
7977	// training phrases assigned to fallback intents act as negative
7978	// examples that triggers no-match event.
7979	IsFallback bool `json:"isFallback,omitempty"`
7980
7981	// Labels: Optional. The key/value metadata to label an intent. Labels
7982	// can contain lowercase letters, digits and the symbols '-' and '_'.
7983	// International characters are allowed, including letters from unicase
7984	// alphabets. Keys must start with a letter. Keys and values can be no
7985	// longer than 63 characters and no more than 128 bytes. Prefix "sys-"
7986	// is reserved for Dialogflow defined labels. Currently allowed
7987	// Dialogflow defined labels include: * sys-head * sys-contextual The
7988	// above labels do not require value. "sys-head" means the intent is a
7989	// head intent. "sys-contextual" means the intent is a contextual
7990	// intent.
7991	Labels map[string]string `json:"labels,omitempty"`
7992
7993	// Name: The unique identifier of the intent. Required for the
7994	// Intents.UpdateIntent method. Intents.CreateIntent populates the name
7995	// automatically. Format: `projects//locations//agents//intents/`.
7996	Name string `json:"name,omitempty"`
7997
7998	// Parameters: The collection of parameters associated with the intent.
7999	Parameters []*GoogleCloudDialogflowCxV3beta1IntentParameter `json:"parameters,omitempty"`
8000
8001	// Priority: The priority of this intent. Higher numbers represent
8002	// higher priorities. - If the supplied value is unspecified or 0, the
8003	// service translates the value to 500,000, which corresponds to the
8004	// `Normal` priority in the console. - If the supplied value is
8005	// negative, the intent is ignored in runtime detect intent requests.
8006	Priority int64 `json:"priority,omitempty"`
8007
8008	// TrainingPhrases: The collection of training phrases the agent is
8009	// trained on to identify the intent.
8010	TrainingPhrases []*GoogleCloudDialogflowCxV3beta1IntentTrainingPhrase `json:"trainingPhrases,omitempty"`
8011
8012	// ForceSendFields is a list of field names (e.g. "Description") to
8013	// unconditionally include in API requests. By default, fields with
8014	// empty values are omitted from API requests. However, any non-pointer,
8015	// non-interface field appearing in ForceSendFields will be sent to the
8016	// server regardless of whether the field is empty or not. This may be
8017	// used to include empty fields in Patch requests.
8018	ForceSendFields []string `json:"-"`
8019
8020	// NullFields is a list of field names (e.g. "Description") to include
8021	// in API requests with the JSON null value. By default, fields with
8022	// empty values are omitted from API requests. However, any field with
8023	// an empty value appearing in NullFields will be sent to the server as
8024	// null. It is an error if a field in this list has a non-empty value.
8025	// This may be used to include null fields in Patch requests.
8026	NullFields []string `json:"-"`
8027}
8028
8029func (s *GoogleCloudDialogflowCxV3beta1Intent) MarshalJSON() ([]byte, error) {
8030	type NoMethod GoogleCloudDialogflowCxV3beta1Intent
8031	raw := NoMethod(*s)
8032	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8033}
8034
8035// GoogleCloudDialogflowCxV3beta1IntentInput: Represents the intent to
8036// trigger programmatically rather than as a result of natural language
8037// processing.
8038type GoogleCloudDialogflowCxV3beta1IntentInput struct {
8039	// Intent: Required. The unique identifier of the intent. Format:
8040	// `projects//locations//agents//intents/`.
8041	Intent string `json:"intent,omitempty"`
8042
8043	// ForceSendFields is a list of field names (e.g. "Intent") to
8044	// unconditionally include in API requests. By default, fields with
8045	// empty values are omitted from API requests. However, any non-pointer,
8046	// non-interface field appearing in ForceSendFields will be sent to the
8047	// server regardless of whether the field is empty or not. This may be
8048	// used to include empty fields in Patch requests.
8049	ForceSendFields []string `json:"-"`
8050
8051	// NullFields is a list of field names (e.g. "Intent") to include in API
8052	// requests with the JSON null value. By default, fields with empty
8053	// values are omitted from API requests. However, any field with an
8054	// empty value appearing in NullFields will be sent to the server as
8055	// null. It is an error if a field in this list has a non-empty value.
8056	// This may be used to include null fields in Patch requests.
8057	NullFields []string `json:"-"`
8058}
8059
8060func (s *GoogleCloudDialogflowCxV3beta1IntentInput) MarshalJSON() ([]byte, error) {
8061	type NoMethod GoogleCloudDialogflowCxV3beta1IntentInput
8062	raw := NoMethod(*s)
8063	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8064}
8065
8066// GoogleCloudDialogflowCxV3beta1IntentParameter: Represents an intent
8067// parameter.
8068type GoogleCloudDialogflowCxV3beta1IntentParameter struct {
8069	// EntityType: Required. The entity type of the parameter. Format:
8070	// `projects/-/locations/-/agents/-/entityTypes/` for system entity
8071	// types (for example,
8072	// `projects/-/locations/-/agents/-/entityTypes/sys.date`), or
8073	// `projects//locations//agents//entityTypes/` for developer entity
8074	// types.
8075	EntityType string `json:"entityType,omitempty"`
8076
8077	// Id: Required. The unique identifier of the parameter. This field is
8078	// used by training phrases to annotate their parts.
8079	Id string `json:"id,omitempty"`
8080
8081	// IsList: Indicates whether the parameter represents a list of values.
8082	IsList bool `json:"isList,omitempty"`
8083
8084	// Redact: Indicates whether the parameter content should be redacted in
8085	// log. If redaction is enabled, the parameter content will be replaced
8086	// by parameter name during logging. Note: the parameter content is
8087	// subject to redaction if either parameter level redaction or entity
8088	// type level redaction is enabled.
8089	Redact bool `json:"redact,omitempty"`
8090
8091	// ForceSendFields is a list of field names (e.g. "EntityType") to
8092	// unconditionally include in API requests. By default, fields with
8093	// empty values are omitted from API requests. However, any non-pointer,
8094	// non-interface field appearing in ForceSendFields will be sent to the
8095	// server regardless of whether the field is empty or not. This may be
8096	// used to include empty fields in Patch requests.
8097	ForceSendFields []string `json:"-"`
8098
8099	// NullFields is a list of field names (e.g. "EntityType") to include in
8100	// API requests with the JSON null value. By default, fields with empty
8101	// values are omitted from API requests. However, any field with an
8102	// empty value appearing in NullFields will be sent to the server as
8103	// null. It is an error if a field in this list has a non-empty value.
8104	// This may be used to include null fields in Patch requests.
8105	NullFields []string `json:"-"`
8106}
8107
8108func (s *GoogleCloudDialogflowCxV3beta1IntentParameter) MarshalJSON() ([]byte, error) {
8109	type NoMethod GoogleCloudDialogflowCxV3beta1IntentParameter
8110	raw := NoMethod(*s)
8111	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8112}
8113
8114// GoogleCloudDialogflowCxV3beta1IntentTrainingPhrase: Represents an
8115// example that the agent is trained on to identify the intent.
8116type GoogleCloudDialogflowCxV3beta1IntentTrainingPhrase struct {
8117	// Id: Output only. The unique identifier of the training phrase.
8118	Id string `json:"id,omitempty"`
8119
8120	// Parts: Required. The ordered list of training phrase parts. The parts
8121	// are concatenated in order to form the training phrase. Note: The API
8122	// does not automatically annotate training phrases like the Dialogflow
8123	// Console does. Note: Do not forget to include whitespace at part
8124	// boundaries, so the training phrase is well formatted when the parts
8125	// are concatenated. If the training phrase does not need to be
8126	// annotated with parameters, you just need a single part with only the
8127	// Part.text field set. If you want to annotate the training phrase, you
8128	// must create multiple parts, where the fields of each part are
8129	// populated in one of two ways: - `Part.text` is set to a part of the
8130	// phrase that has no parameters. - `Part.text` is set to a part of the
8131	// phrase that you want to annotate, and the `parameter_id` field is
8132	// set.
8133	Parts []*GoogleCloudDialogflowCxV3beta1IntentTrainingPhrasePart `json:"parts,omitempty"`
8134
8135	// RepeatCount: Indicates how many times this example was added to the
8136	// intent.
8137	RepeatCount int64 `json:"repeatCount,omitempty"`
8138
8139	// ForceSendFields is a list of field names (e.g. "Id") to
8140	// unconditionally include in API requests. By default, fields with
8141	// empty values are omitted from API requests. However, any non-pointer,
8142	// non-interface field appearing in ForceSendFields will be sent to the
8143	// server regardless of whether the field is empty or not. This may be
8144	// used to include empty fields in Patch requests.
8145	ForceSendFields []string `json:"-"`
8146
8147	// NullFields is a list of field names (e.g. "Id") to include in API
8148	// requests with the JSON null value. By default, fields with empty
8149	// values are omitted from API requests. However, any field with an
8150	// empty value appearing in NullFields will be sent to the server as
8151	// null. It is an error if a field in this list has a non-empty value.
8152	// This may be used to include null fields in Patch requests.
8153	NullFields []string `json:"-"`
8154}
8155
8156func (s *GoogleCloudDialogflowCxV3beta1IntentTrainingPhrase) MarshalJSON() ([]byte, error) {
8157	type NoMethod GoogleCloudDialogflowCxV3beta1IntentTrainingPhrase
8158	raw := NoMethod(*s)
8159	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8160}
8161
8162// GoogleCloudDialogflowCxV3beta1IntentTrainingPhrasePart: Represents a
8163// part of a training phrase.
8164type GoogleCloudDialogflowCxV3beta1IntentTrainingPhrasePart struct {
8165	// ParameterId: The parameter used to annotate this part of the training
8166	// phrase. This field is required for annotated parts of the training
8167	// phrase.
8168	ParameterId string `json:"parameterId,omitempty"`
8169
8170	// Text: Required. The text for this part.
8171	Text string `json:"text,omitempty"`
8172
8173	// ForceSendFields is a list of field names (e.g. "ParameterId") to
8174	// unconditionally include in API requests. By default, fields with
8175	// empty values are omitted from API requests. However, any non-pointer,
8176	// non-interface field appearing in ForceSendFields will be sent to the
8177	// server regardless of whether the field is empty or not. This may be
8178	// used to include empty fields in Patch requests.
8179	ForceSendFields []string `json:"-"`
8180
8181	// NullFields is a list of field names (e.g. "ParameterId") to include
8182	// in API requests with the JSON null value. By default, fields with
8183	// empty values are omitted from API requests. However, any field with
8184	// an empty value appearing in NullFields will be sent to the server as
8185	// null. It is an error if a field in this list has a non-empty value.
8186	// This may be used to include null fields in Patch requests.
8187	NullFields []string `json:"-"`
8188}
8189
8190func (s *GoogleCloudDialogflowCxV3beta1IntentTrainingPhrasePart) MarshalJSON() ([]byte, error) {
8191	type NoMethod GoogleCloudDialogflowCxV3beta1IntentTrainingPhrasePart
8192	raw := NoMethod(*s)
8193	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8194}
8195
8196// GoogleCloudDialogflowCxV3beta1Page: A Dialogflow CX conversation
8197// (session) can be described and visualized as a state machine. The
8198// states of a CX session are represented by pages. For each flow, you
8199// define many pages, where your combined pages can handle a complete
8200// conversation on the topics the flow is designed for. At any given
8201// moment, exactly one page is the current page, the current page is
8202// considered active, and the flow associated with that page is
8203// considered active. Every flow has a special start page. When a flow
8204// initially becomes active, the start page page becomes the current
8205// page. For each conversational turn, the current page will either stay
8206// the same or transition to another page. You configure each page to
8207// collect information from the end-user that is relevant for the
8208// conversational state represented by the page. For more information,
8209// see the Page guide
8210// (https://cloud.google.com/dialogflow/cx/docs/concept/page).
8211type GoogleCloudDialogflowCxV3beta1Page struct {
8212	// DisplayName: Required. The human-readable name of the page, unique
8213	// within the agent.
8214	DisplayName string `json:"displayName,omitempty"`
8215
8216	// EntryFulfillment: The fulfillment to call when the session is
8217	// entering the page.
8218	EntryFulfillment *GoogleCloudDialogflowCxV3beta1Fulfillment `json:"entryFulfillment,omitempty"`
8219
8220	// EventHandlers: Handlers associated with the page to handle events
8221	// such as webhook errors, no match or no input.
8222	EventHandlers []*GoogleCloudDialogflowCxV3beta1EventHandler `json:"eventHandlers,omitempty"`
8223
8224	// Form: The form associated with the page, used for collecting
8225	// parameters relevant to the page.
8226	Form *GoogleCloudDialogflowCxV3beta1Form `json:"form,omitempty"`
8227
8228	// Name: The unique identifier of the page. Required for the
8229	// Pages.UpdatePage method. Pages.CreatePage populates the name
8230	// automatically. Format: `projects//locations//agents//flows//pages/`.
8231	Name string `json:"name,omitempty"`
8232
8233	// TransitionRouteGroups: Ordered list of `TransitionRouteGroups`
8234	// associated with the page. Transition route groups must be unique
8235	// within a page. * If multiple transition routes within a page scope
8236	// refer to the same intent, then the precedence order is: page's
8237	// transition route -> page's transition route group -> flow's
8238	// transition routes. * If multiple transition route groups within a
8239	// page contain the same intent, then the first group in the ordered
8240	// list takes precedence.
8241	// Format:`projects//locations//agents//flows//transitionRouteGroups/`.
8242	TransitionRouteGroups []string `json:"transitionRouteGroups,omitempty"`
8243
8244	// TransitionRoutes: A list of transitions for the transition rules of
8245	// this page. They route the conversation to another page in the same
8246	// flow, or another flow. When we are in a certain page, the
8247	// TransitionRoutes are evalauted in the following order: *
8248	// TransitionRoutes defined in the page with intent specified. *
8249	// TransitionRoutes defined in the transition route groups with intent
8250	// specified. * TransitionRoutes defined in flow with intent specified.
8251	// * TransitionRoutes defined in the transition route groups with intent
8252	// specified. * TransitionRoutes defined in the page with only condition
8253	// specified. * TransitionRoutes defined in the transition route groups
8254	// with only condition specified.
8255	TransitionRoutes []*GoogleCloudDialogflowCxV3beta1TransitionRoute `json:"transitionRoutes,omitempty"`
8256
8257	// ForceSendFields is a list of field names (e.g. "DisplayName") to
8258	// unconditionally include in API requests. By default, fields with
8259	// empty values are omitted from API requests. However, any non-pointer,
8260	// non-interface field appearing in ForceSendFields will be sent to the
8261	// server regardless of whether the field is empty or not. This may be
8262	// used to include empty fields in Patch requests.
8263	ForceSendFields []string `json:"-"`
8264
8265	// NullFields is a list of field names (e.g. "DisplayName") to include
8266	// in API requests with the JSON null value. By default, fields with
8267	// empty values are omitted from API requests. However, any field with
8268	// an empty value appearing in NullFields will be sent to the server as
8269	// null. It is an error if a field in this list has a non-empty value.
8270	// This may be used to include null fields in Patch requests.
8271	NullFields []string `json:"-"`
8272}
8273
8274func (s *GoogleCloudDialogflowCxV3beta1Page) MarshalJSON() ([]byte, error) {
8275	type NoMethod GoogleCloudDialogflowCxV3beta1Page
8276	raw := NoMethod(*s)
8277	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8278}
8279
8280// GoogleCloudDialogflowCxV3beta1PageInfo: Represents page information
8281// communicated to and from the webhook.
8282type GoogleCloudDialogflowCxV3beta1PageInfo struct {
8283	// CurrentPage: Always present for WebhookRequest. Ignored for
8284	// WebhookResponse. The unique identifier of the current page. Format:
8285	// `projects//locations//agents//flows//pages/`.
8286	CurrentPage string `json:"currentPage,omitempty"`
8287
8288	// FormInfo: Optional for both WebhookRequest and WebhookResponse.
8289	// Information about the form.
8290	FormInfo *GoogleCloudDialogflowCxV3beta1PageInfoFormInfo `json:"formInfo,omitempty"`
8291
8292	// ForceSendFields is a list of field names (e.g. "CurrentPage") to
8293	// unconditionally include in API requests. By default, fields with
8294	// empty values are omitted from API requests. However, any non-pointer,
8295	// non-interface field appearing in ForceSendFields will be sent to the
8296	// server regardless of whether the field is empty or not. This may be
8297	// used to include empty fields in Patch requests.
8298	ForceSendFields []string `json:"-"`
8299
8300	// NullFields is a list of field names (e.g. "CurrentPage") to include
8301	// in API requests with the JSON null value. By default, fields with
8302	// empty values are omitted from API requests. However, any field with
8303	// an empty value appearing in NullFields will be sent to the server as
8304	// null. It is an error if a field in this list has a non-empty value.
8305	// This may be used to include null fields in Patch requests.
8306	NullFields []string `json:"-"`
8307}
8308
8309func (s *GoogleCloudDialogflowCxV3beta1PageInfo) MarshalJSON() ([]byte, error) {
8310	type NoMethod GoogleCloudDialogflowCxV3beta1PageInfo
8311	raw := NoMethod(*s)
8312	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8313}
8314
8315// GoogleCloudDialogflowCxV3beta1PageInfoFormInfo: Represents form
8316// information.
8317type GoogleCloudDialogflowCxV3beta1PageInfoFormInfo struct {
8318	// ParameterInfo: Optional for both WebhookRequest and WebhookResponse.
8319	// The parameters contained in the form. Note that the webhook cannot
8320	// add or remove any form parameter.
8321	ParameterInfo []*GoogleCloudDialogflowCxV3beta1PageInfoFormInfoParameterInfo `json:"parameterInfo,omitempty"`
8322
8323	// ForceSendFields is a list of field names (e.g. "ParameterInfo") to
8324	// unconditionally include in API requests. By default, fields with
8325	// empty values are omitted from API requests. However, any non-pointer,
8326	// non-interface field appearing in ForceSendFields will be sent to the
8327	// server regardless of whether the field is empty or not. This may be
8328	// used to include empty fields in Patch requests.
8329	ForceSendFields []string `json:"-"`
8330
8331	// NullFields is a list of field names (e.g. "ParameterInfo") to include
8332	// in API requests with the JSON null value. By default, fields with
8333	// empty values are omitted from API requests. However, any field with
8334	// an empty value appearing in NullFields will be sent to the server as
8335	// null. It is an error if a field in this list has a non-empty value.
8336	// This may be used to include null fields in Patch requests.
8337	NullFields []string `json:"-"`
8338}
8339
8340func (s *GoogleCloudDialogflowCxV3beta1PageInfoFormInfo) MarshalJSON() ([]byte, error) {
8341	type NoMethod GoogleCloudDialogflowCxV3beta1PageInfoFormInfo
8342	raw := NoMethod(*s)
8343	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8344}
8345
8346// GoogleCloudDialogflowCxV3beta1PageInfoFormInfoParameterInfo:
8347// Represents parameter information.
8348type GoogleCloudDialogflowCxV3beta1PageInfoFormInfoParameterInfo struct {
8349	// DisplayName: Always present for WebhookRequest. Required for
8350	// WebhookResponse. The human-readable name of the parameter, unique
8351	// within the form. This field cannot be modified by the webhook.
8352	DisplayName string `json:"displayName,omitempty"`
8353
8354	// JustCollected: Optional for WebhookRequest. Ignored for
8355	// WebhookResponse. Indicates if the parameter value was just collected
8356	// on the last conversation turn.
8357	JustCollected bool `json:"justCollected,omitempty"`
8358
8359	// Required: Optional for both WebhookRequest and WebhookResponse.
8360	// Indicates whether the parameter is required. Optional parameters will
8361	// not trigger prompts; however, they are filled if the user specifies
8362	// them. Required parameters must be filled before form filling
8363	// concludes.
8364	Required bool `json:"required,omitempty"`
8365
8366	// State: Always present for WebhookRequest. Required for
8367	// WebhookResponse. The state of the parameter. This field can be set to
8368	// INVALID by the webhook to invalidate the parameter; other values set
8369	// by the webhook will be ignored.
8370	//
8371	// Possible values:
8372	//   "PARAMETER_STATE_UNSPECIFIED" - Not specified. This value should be
8373	// never used.
8374	//   "EMPTY" - Indicates that the parameter does not have a value.
8375	//   "INVALID" - Indicates that the parameter value is invalid. This
8376	// field can be used by the webhook to invalidate the parameter and ask
8377	// the server to collect it from the user again.
8378	//   "FILLED" - Indicates that the parameter has a value.
8379	State string `json:"state,omitempty"`
8380
8381	// Value: Optional for both WebhookRequest and WebhookResponse. The
8382	// value of the parameter. This field can be set by the webhook to
8383	// change the parameter value.
8384	Value interface{} `json:"value,omitempty"`
8385
8386	// ForceSendFields is a list of field names (e.g. "DisplayName") to
8387	// unconditionally include in API requests. By default, fields with
8388	// empty values are omitted from API requests. However, any non-pointer,
8389	// non-interface field appearing in ForceSendFields will be sent to the
8390	// server regardless of whether the field is empty or not. This may be
8391	// used to include empty fields in Patch requests.
8392	ForceSendFields []string `json:"-"`
8393
8394	// NullFields is a list of field names (e.g. "DisplayName") to include
8395	// in API requests with the JSON null value. By default, fields with
8396	// empty values are omitted from API requests. However, any field with
8397	// an empty value appearing in NullFields will be sent to the server as
8398	// null. It is an error if a field in this list has a non-empty value.
8399	// This may be used to include null fields in Patch requests.
8400	NullFields []string `json:"-"`
8401}
8402
8403func (s *GoogleCloudDialogflowCxV3beta1PageInfoFormInfoParameterInfo) MarshalJSON() ([]byte, error) {
8404	type NoMethod GoogleCloudDialogflowCxV3beta1PageInfoFormInfoParameterInfo
8405	raw := NoMethod(*s)
8406	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8407}
8408
8409// GoogleCloudDialogflowCxV3beta1QueryInput: Represents the query input.
8410// It can contain one of: 1. A conversational query in the form of text.
8411// 2. An intent query that specifies which intent to trigger. 3. Natural
8412// language speech audio to be processed. 4. An event to be triggered.
8413type GoogleCloudDialogflowCxV3beta1QueryInput struct {
8414	// Audio: The natural language speech audio to be processed.
8415	Audio *GoogleCloudDialogflowCxV3beta1AudioInput `json:"audio,omitempty"`
8416
8417	// Dtmf: The DTMF event to be handled.
8418	Dtmf *GoogleCloudDialogflowCxV3beta1DtmfInput `json:"dtmf,omitempty"`
8419
8420	// Event: The event to be triggered.
8421	Event *GoogleCloudDialogflowCxV3beta1EventInput `json:"event,omitempty"`
8422
8423	// Intent: The intent to be triggered.
8424	Intent *GoogleCloudDialogflowCxV3beta1IntentInput `json:"intent,omitempty"`
8425
8426	// LanguageCode: Required. The language of the input. See Language
8427	// Support
8428	// (https://cloud.google.com/dialogflow/cx/docs/reference/language) for
8429	// a list of the currently supported language codes. Note that queries
8430	// in the same session do not necessarily need to specify the same
8431	// language.
8432	LanguageCode string `json:"languageCode,omitempty"`
8433
8434	// Text: The natural language text to be processed.
8435	Text *GoogleCloudDialogflowCxV3beta1TextInput `json:"text,omitempty"`
8436
8437	// ForceSendFields is a list of field names (e.g. "Audio") to
8438	// unconditionally include in API requests. By default, fields with
8439	// empty values are omitted from API requests. However, any non-pointer,
8440	// non-interface field appearing in ForceSendFields will be sent to the
8441	// server regardless of whether the field is empty or not. This may be
8442	// used to include empty fields in Patch requests.
8443	ForceSendFields []string `json:"-"`
8444
8445	// NullFields is a list of field names (e.g. "Audio") to include in API
8446	// requests with the JSON null value. By default, fields with empty
8447	// values are omitted from API requests. However, any field with an
8448	// empty value appearing in NullFields will be sent to the server as
8449	// null. It is an error if a field in this list has a non-empty value.
8450	// This may be used to include null fields in Patch requests.
8451	NullFields []string `json:"-"`
8452}
8453
8454func (s *GoogleCloudDialogflowCxV3beta1QueryInput) MarshalJSON() ([]byte, error) {
8455	type NoMethod GoogleCloudDialogflowCxV3beta1QueryInput
8456	raw := NoMethod(*s)
8457	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8458}
8459
8460// GoogleCloudDialogflowCxV3beta1ReloadDocumentOperationMetadata:
8461// Metadata for ReloadDocument operation.
8462type GoogleCloudDialogflowCxV3beta1ReloadDocumentOperationMetadata struct {
8463	// GenericMetadata: The generic information of the operation.
8464	GenericMetadata *GoogleCloudDialogflowCxV3beta1GenericKnowledgeOperationMetadata `json:"genericMetadata,omitempty"`
8465
8466	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
8467	// unconditionally include in API requests. By default, fields with
8468	// empty values are omitted from API requests. However, any non-pointer,
8469	// non-interface field appearing in ForceSendFields will be sent to the
8470	// server regardless of whether the field is empty or not. This may be
8471	// used to include empty fields in Patch requests.
8472	ForceSendFields []string `json:"-"`
8473
8474	// NullFields is a list of field names (e.g. "GenericMetadata") to
8475	// include in API requests with the JSON null value. By default, fields
8476	// with empty values are omitted from API requests. However, any field
8477	// with an empty value appearing in NullFields will be sent to the
8478	// server as null. It is an error if a field in this list has a
8479	// non-empty value. This may be used to include null fields in Patch
8480	// requests.
8481	NullFields []string `json:"-"`
8482}
8483
8484func (s *GoogleCloudDialogflowCxV3beta1ReloadDocumentOperationMetadata) MarshalJSON() ([]byte, error) {
8485	type NoMethod GoogleCloudDialogflowCxV3beta1ReloadDocumentOperationMetadata
8486	raw := NoMethod(*s)
8487	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8488}
8489
8490// GoogleCloudDialogflowCxV3beta1ResponseMessage: Represents a response
8491// message that can be returned by a conversational agent. Response
8492// messages are also used for output audio synthesis. The approach is as
8493// follows: * If at least one OutputAudioText response is present, then
8494// all OutputAudioText responses are linearly concatenated, and the
8495// result is used for output audio synthesis. * If the OutputAudioText
8496// responses are a mixture of text and SSML, then the concatenated
8497// result is treated as SSML; otherwise, the result is treated as either
8498// text or SSML as appropriate. The agent designer should ideally use
8499// either text or SSML consistently throughout the bot design. *
8500// Otherwise, all Text responses are linearly concatenated, and the
8501// result is used for output audio synthesis. This approach allows for
8502// more sophisticated user experience scenarios, where the text
8503// displayed to the user may differ from what is heard.
8504type GoogleCloudDialogflowCxV3beta1ResponseMessage struct {
8505	// ConversationSuccess: Indicates that the conversation succeeded.
8506	ConversationSuccess *GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccess `json:"conversationSuccess,omitempty"`
8507
8508	// EndInteraction: Output only. A signal that indicates the interaction
8509	// with the Dialogflow agent has ended. This message is generated by
8510	// Dialogflow only when the conversation reaches `END_SESSION` page. It
8511	// is not supposed to be defined by the user. It's guaranteed that there
8512	// is at most one such message in each response.
8513	EndInteraction *GoogleCloudDialogflowCxV3beta1ResponseMessageEndInteraction `json:"endInteraction,omitempty"`
8514
8515	// LiveAgentHandoff: Hands off conversation to a human agent.
8516	LiveAgentHandoff *GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoff `json:"liveAgentHandoff,omitempty"`
8517
8518	// MixedAudio: Output only. An audio response message composed of both
8519	// the synthesized Dialogflow agent responses and responses defined via
8520	// play_audio. This message is generated by Dialogflow only and not
8521	// supposed to be defined by the user.
8522	MixedAudio *GoogleCloudDialogflowCxV3beta1ResponseMessageMixedAudio `json:"mixedAudio,omitempty"`
8523
8524	// OutputAudioText: A text or ssml response that is preferentially used
8525	// for TTS output audio synthesis, as described in the comment on the
8526	// ResponseMessage message.
8527	OutputAudioText *GoogleCloudDialogflowCxV3beta1ResponseMessageOutputAudioText `json:"outputAudioText,omitempty"`
8528
8529	// Payload: Returns a response containing a custom, platform-specific
8530	// payload.
8531	Payload googleapi.RawMessage `json:"payload,omitempty"`
8532
8533	// PlayAudio: Signal that the client should play an audio clip hosted at
8534	// a client-specific URI. Dialogflow uses this to construct mixed_audio.
8535	// However, Dialogflow itself does not try to read or process the URI in
8536	// any way.
8537	PlayAudio *GoogleCloudDialogflowCxV3beta1ResponseMessagePlayAudio `json:"playAudio,omitempty"`
8538
8539	// Text: Returns a text response.
8540	Text *GoogleCloudDialogflowCxV3beta1ResponseMessageText `json:"text,omitempty"`
8541
8542	// ForceSendFields is a list of field names (e.g. "ConversationSuccess")
8543	// to unconditionally include in API requests. By default, fields with
8544	// empty values are omitted from API requests. However, any non-pointer,
8545	// non-interface field appearing in ForceSendFields will be sent to the
8546	// server regardless of whether the field is empty or not. This may be
8547	// used to include empty fields in Patch requests.
8548	ForceSendFields []string `json:"-"`
8549
8550	// NullFields is a list of field names (e.g. "ConversationSuccess") to
8551	// include in API requests with the JSON null value. By default, fields
8552	// with empty values are omitted from API requests. However, any field
8553	// with an empty value appearing in NullFields will be sent to the
8554	// server as null. It is an error if a field in this list has a
8555	// non-empty value. This may be used to include null fields in Patch
8556	// requests.
8557	NullFields []string `json:"-"`
8558}
8559
8560func (s *GoogleCloudDialogflowCxV3beta1ResponseMessage) MarshalJSON() ([]byte, error) {
8561	type NoMethod GoogleCloudDialogflowCxV3beta1ResponseMessage
8562	raw := NoMethod(*s)
8563	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8564}
8565
8566// GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccess:
8567// Indicates that the conversation succeeded, i.e., the bot handled the
8568// issue that the customer talked to it about. Dialogflow only uses this
8569// to determine which conversations should be counted as successful and
8570// doesn't process the metadata in this message in any way. Note that
8571// Dialogflow also considers conversations that get to the conversation
8572// end page as successful even if they don't return ConversationSuccess.
8573// You may set this, for example: * In the entry_fulfillment of a Page
8574// if entering the page indicates that the conversation succeeded. * In
8575// a webhook response when you determine that you handled the customer
8576// issue.
8577type GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccess struct {
8578	// Metadata: Custom metadata. Dialogflow doesn't impose any structure on
8579	// this.
8580	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
8581
8582	// ForceSendFields is a list of field names (e.g. "Metadata") to
8583	// unconditionally include in API requests. By default, fields with
8584	// empty values are omitted from API requests. However, any non-pointer,
8585	// non-interface field appearing in ForceSendFields will be sent to the
8586	// server regardless of whether the field is empty or not. This may be
8587	// used to include empty fields in Patch requests.
8588	ForceSendFields []string `json:"-"`
8589
8590	// NullFields is a list of field names (e.g. "Metadata") to include in
8591	// API requests with the JSON null value. By default, fields with empty
8592	// values are omitted from API requests. However, any field with an
8593	// empty value appearing in NullFields will be sent to the server as
8594	// null. It is an error if a field in this list has a non-empty value.
8595	// This may be used to include null fields in Patch requests.
8596	NullFields []string `json:"-"`
8597}
8598
8599func (s *GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccess) MarshalJSON() ([]byte, error) {
8600	type NoMethod GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccess
8601	raw := NoMethod(*s)
8602	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8603}
8604
8605// GoogleCloudDialogflowCxV3beta1ResponseMessageEndInteraction:
8606// Indicates that interaction with the Dialogflow agent has ended. This
8607// message is generated by Dialogflow only and not supposed to be
8608// defined by the user.
8609type GoogleCloudDialogflowCxV3beta1ResponseMessageEndInteraction struct {
8610}
8611
8612// GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoff:
8613// Indicates that the conversation should be handed off to a live agent.
8614// Dialogflow only uses this to determine which conversations were
8615// handed off to a human agent for measurement purposes. What else to do
8616// with this signal is up to you and your handoff procedures. You may
8617// set this, for example: * In the entry_fulfillment of a Page if
8618// entering the page indicates something went extremely wrong in the
8619// conversation. * In a webhook response when you determine that the
8620// customer issue can only be handled by a human.
8621type GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoff struct {
8622	// Metadata: Custom metadata for your handoff procedure. Dialogflow
8623	// doesn't impose any structure on this.
8624	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
8625
8626	// ForceSendFields is a list of field names (e.g. "Metadata") to
8627	// unconditionally include in API requests. By default, fields with
8628	// empty values are omitted from API requests. However, any non-pointer,
8629	// non-interface field appearing in ForceSendFields will be sent to the
8630	// server regardless of whether the field is empty or not. This may be
8631	// used to include empty fields in Patch requests.
8632	ForceSendFields []string `json:"-"`
8633
8634	// NullFields is a list of field names (e.g. "Metadata") to include in
8635	// API requests with the JSON null value. By default, fields with empty
8636	// values are omitted from API requests. However, any field with an
8637	// empty value appearing in NullFields will be sent to the server as
8638	// null. It is an error if a field in this list has a non-empty value.
8639	// This may be used to include null fields in Patch requests.
8640	NullFields []string `json:"-"`
8641}
8642
8643func (s *GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoff) MarshalJSON() ([]byte, error) {
8644	type NoMethod GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoff
8645	raw := NoMethod(*s)
8646	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8647}
8648
8649// GoogleCloudDialogflowCxV3beta1ResponseMessageMixedAudio: Represents
8650// an audio message that is composed of both segments synthesized from
8651// the Dialogflow agent prompts and ones hosted externally at the
8652// specified URIs. The external URIs are specified via play_audio. This
8653// message is generated by Dialogflow only and not supposed to be
8654// defined by the user.
8655type GoogleCloudDialogflowCxV3beta1ResponseMessageMixedAudio struct {
8656	// Segments: Segments this audio response is composed of.
8657	Segments []*GoogleCloudDialogflowCxV3beta1ResponseMessageMixedAudioSegment `json:"segments,omitempty"`
8658
8659	// ForceSendFields is a list of field names (e.g. "Segments") to
8660	// unconditionally include in API requests. By default, fields with
8661	// empty values are omitted from API requests. However, any non-pointer,
8662	// non-interface field appearing in ForceSendFields will be sent to the
8663	// server regardless of whether the field is empty or not. This may be
8664	// used to include empty fields in Patch requests.
8665	ForceSendFields []string `json:"-"`
8666
8667	// NullFields is a list of field names (e.g. "Segments") to include in
8668	// API requests with the JSON null value. By default, fields with empty
8669	// values are omitted from API requests. However, any field with an
8670	// empty value appearing in NullFields will be sent to the server as
8671	// null. It is an error if a field in this list has a non-empty value.
8672	// This may be used to include null fields in Patch requests.
8673	NullFields []string `json:"-"`
8674}
8675
8676func (s *GoogleCloudDialogflowCxV3beta1ResponseMessageMixedAudio) MarshalJSON() ([]byte, error) {
8677	type NoMethod GoogleCloudDialogflowCxV3beta1ResponseMessageMixedAudio
8678	raw := NoMethod(*s)
8679	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8680}
8681
8682// GoogleCloudDialogflowCxV3beta1ResponseMessageMixedAudioSegment:
8683// Represents one segment of audio.
8684type GoogleCloudDialogflowCxV3beta1ResponseMessageMixedAudioSegment struct {
8685	// AllowPlaybackInterruption: Output only. Whether the playback of this
8686	// segment can be interrupted by the end user's speech and the client
8687	// should then start the next Dialogflow request.
8688	AllowPlaybackInterruption bool `json:"allowPlaybackInterruption,omitempty"`
8689
8690	// Audio: Raw audio synthesized from the Dialogflow agent's response
8691	// using the output config specified in the request.
8692	Audio string `json:"audio,omitempty"`
8693
8694	// Uri: Client-specific URI that points to an audio clip accessible to
8695	// the client. Dialogflow does not impose any validation on it.
8696	Uri string `json:"uri,omitempty"`
8697
8698	// ForceSendFields is a list of field names (e.g.
8699	// "AllowPlaybackInterruption") to unconditionally include in API
8700	// requests. By default, fields with empty values are omitted from API
8701	// requests. However, any non-pointer, non-interface field appearing in
8702	// ForceSendFields will be sent to the server regardless of whether the
8703	// field is empty or not. This may be used to include empty fields in
8704	// Patch requests.
8705	ForceSendFields []string `json:"-"`
8706
8707	// NullFields is a list of field names (e.g.
8708	// "AllowPlaybackInterruption") to include in API requests with the JSON
8709	// null value. By default, fields with empty values are omitted from API
8710	// requests. However, any field with an empty value appearing in
8711	// NullFields will be sent to the server as null. It is an error if a
8712	// field in this list has a non-empty value. This may be used to include
8713	// null fields in Patch requests.
8714	NullFields []string `json:"-"`
8715}
8716
8717func (s *GoogleCloudDialogflowCxV3beta1ResponseMessageMixedAudioSegment) MarshalJSON() ([]byte, error) {
8718	type NoMethod GoogleCloudDialogflowCxV3beta1ResponseMessageMixedAudioSegment
8719	raw := NoMethod(*s)
8720	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8721}
8722
8723// GoogleCloudDialogflowCxV3beta1ResponseMessageOutputAudioText: A text
8724// or ssml response that is preferentially used for TTS output audio
8725// synthesis, as described in the comment on the ResponseMessage
8726// message.
8727type GoogleCloudDialogflowCxV3beta1ResponseMessageOutputAudioText struct {
8728	// AllowPlaybackInterruption: Output only. Whether the playback of this
8729	// message can be interrupted by the end user's speech and the client
8730	// can then starts the next Dialogflow request.
8731	AllowPlaybackInterruption bool `json:"allowPlaybackInterruption,omitempty"`
8732
8733	// Ssml: The SSML text to be synthesized. For more information, see SSML
8734	// (/speech/text-to-speech/docs/ssml).
8735	Ssml string `json:"ssml,omitempty"`
8736
8737	// Text: The raw text to be synthesized.
8738	Text string `json:"text,omitempty"`
8739
8740	// ForceSendFields is a list of field names (e.g.
8741	// "AllowPlaybackInterruption") to unconditionally include in API
8742	// requests. By default, fields with empty values are omitted from API
8743	// requests. However, any non-pointer, non-interface field appearing in
8744	// ForceSendFields will be sent to the server regardless of whether the
8745	// field is empty or not. This may be used to include empty fields in
8746	// Patch requests.
8747	ForceSendFields []string `json:"-"`
8748
8749	// NullFields is a list of field names (e.g.
8750	// "AllowPlaybackInterruption") to include in API requests with the JSON
8751	// null value. By default, fields with empty values are omitted from API
8752	// requests. However, any field with an empty value appearing in
8753	// NullFields will be sent to the server as null. It is an error if a
8754	// field in this list has a non-empty value. This may be used to include
8755	// null fields in Patch requests.
8756	NullFields []string `json:"-"`
8757}
8758
8759func (s *GoogleCloudDialogflowCxV3beta1ResponseMessageOutputAudioText) MarshalJSON() ([]byte, error) {
8760	type NoMethod GoogleCloudDialogflowCxV3beta1ResponseMessageOutputAudioText
8761	raw := NoMethod(*s)
8762	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8763}
8764
8765// GoogleCloudDialogflowCxV3beta1ResponseMessagePlayAudio: Specifies an
8766// audio clip to be played by the client as part of the response.
8767type GoogleCloudDialogflowCxV3beta1ResponseMessagePlayAudio struct {
8768	// AllowPlaybackInterruption: Output only. Whether the playback of this
8769	// message can be interrupted by the end user's speech and the client
8770	// can then starts the next Dialogflow request.
8771	AllowPlaybackInterruption bool `json:"allowPlaybackInterruption,omitempty"`
8772
8773	// AudioUri: Required. URI of the audio clip. Dialogflow does not impose
8774	// any validation on this value. It is specific to the client that reads
8775	// it.
8776	AudioUri string `json:"audioUri,omitempty"`
8777
8778	// ForceSendFields is a list of field names (e.g.
8779	// "AllowPlaybackInterruption") to unconditionally include in API
8780	// requests. By default, fields with empty values are omitted from API
8781	// requests. However, any non-pointer, non-interface field appearing in
8782	// ForceSendFields will be sent to the server regardless of whether the
8783	// field is empty or not. This may be used to include empty fields in
8784	// Patch requests.
8785	ForceSendFields []string `json:"-"`
8786
8787	// NullFields is a list of field names (e.g.
8788	// "AllowPlaybackInterruption") to include in API requests with the JSON
8789	// null value. By default, fields with empty values are omitted from API
8790	// requests. However, any field with an empty value appearing in
8791	// NullFields will be sent to the server as null. It is an error if a
8792	// field in this list has a non-empty value. This may be used to include
8793	// null fields in Patch requests.
8794	NullFields []string `json:"-"`
8795}
8796
8797func (s *GoogleCloudDialogflowCxV3beta1ResponseMessagePlayAudio) MarshalJSON() ([]byte, error) {
8798	type NoMethod GoogleCloudDialogflowCxV3beta1ResponseMessagePlayAudio
8799	raw := NoMethod(*s)
8800	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8801}
8802
8803// GoogleCloudDialogflowCxV3beta1ResponseMessageText: The text response
8804// message.
8805type GoogleCloudDialogflowCxV3beta1ResponseMessageText struct {
8806	// AllowPlaybackInterruption: Output only. Whether the playback of this
8807	// message can be interrupted by the end user's speech and the client
8808	// can then starts the next Dialogflow request.
8809	AllowPlaybackInterruption bool `json:"allowPlaybackInterruption,omitempty"`
8810
8811	// Text: Required. A collection of text responses.
8812	Text []string `json:"text,omitempty"`
8813
8814	// ForceSendFields is a list of field names (e.g.
8815	// "AllowPlaybackInterruption") to unconditionally include in API
8816	// requests. By default, fields with empty values are omitted from API
8817	// requests. However, any non-pointer, non-interface field appearing in
8818	// ForceSendFields will be sent to the server regardless of whether the
8819	// field is empty or not. This may be used to include empty fields in
8820	// Patch requests.
8821	ForceSendFields []string `json:"-"`
8822
8823	// NullFields is a list of field names (e.g.
8824	// "AllowPlaybackInterruption") to include in API requests with the JSON
8825	// null value. By default, fields with empty values are omitted from API
8826	// requests. However, any field with an empty value appearing in
8827	// NullFields will be sent to the server as null. It is an error if a
8828	// field in this list has a non-empty value. This may be used to include
8829	// null fields in Patch requests.
8830	NullFields []string `json:"-"`
8831}
8832
8833func (s *GoogleCloudDialogflowCxV3beta1ResponseMessageText) MarshalJSON() ([]byte, error) {
8834	type NoMethod GoogleCloudDialogflowCxV3beta1ResponseMessageText
8835	raw := NoMethod(*s)
8836	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8837}
8838
8839// GoogleCloudDialogflowCxV3beta1RunTestCaseMetadata: Metadata returned
8840// for the TestCases.RunTestCase long running operation.
8841type GoogleCloudDialogflowCxV3beta1RunTestCaseMetadata struct {
8842}
8843
8844// GoogleCloudDialogflowCxV3beta1RunTestCaseResponse: The response
8845// message for TestCases.RunTestCase.
8846type GoogleCloudDialogflowCxV3beta1RunTestCaseResponse struct {
8847	// Result: The result.
8848	Result *GoogleCloudDialogflowCxV3beta1TestCaseResult `json:"result,omitempty"`
8849
8850	// ForceSendFields is a list of field names (e.g. "Result") to
8851	// unconditionally include in API requests. By default, fields with
8852	// empty values are omitted from API requests. However, any non-pointer,
8853	// non-interface field appearing in ForceSendFields will be sent to the
8854	// server regardless of whether the field is empty or not. This may be
8855	// used to include empty fields in Patch requests.
8856	ForceSendFields []string `json:"-"`
8857
8858	// NullFields is a list of field names (e.g. "Result") to include in API
8859	// requests with the JSON null value. By default, fields with empty
8860	// values are omitted from API requests. However, any field with an
8861	// empty value appearing in NullFields will be sent to the server as
8862	// null. It is an error if a field in this list has a non-empty value.
8863	// This may be used to include null fields in Patch requests.
8864	NullFields []string `json:"-"`
8865}
8866
8867func (s *GoogleCloudDialogflowCxV3beta1RunTestCaseResponse) MarshalJSON() ([]byte, error) {
8868	type NoMethod GoogleCloudDialogflowCxV3beta1RunTestCaseResponse
8869	raw := NoMethod(*s)
8870	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8871}
8872
8873// GoogleCloudDialogflowCxV3beta1SessionInfo: Represents session
8874// information communicated to and from the webhook.
8875type GoogleCloudDialogflowCxV3beta1SessionInfo struct {
8876	// Parameters: Optional for WebhookRequest. Optional for
8877	// WebhookResponse. All parameters collected from forms and intents
8878	// during the session. Parameters can be created, updated, or removed by
8879	// the webhook. To remove a parameter from the session, the webhook
8880	// should explicitly set the parameter value to null in WebhookResponse.
8881	// The map is keyed by parameters' display names.
8882	Parameters googleapi.RawMessage `json:"parameters,omitempty"`
8883
8884	// Session: Always present for WebhookRequest. Ignored for
8885	// WebhookResponse. The unique identifier of the session. This field can
8886	// be used by the webhook to identify a session. Format:
8887	// `projects//locations//agents//sessions/` or
8888	// `projects//locations//agents//environments//sessions/` if environment
8889	// is specified.
8890	Session string `json:"session,omitempty"`
8891
8892	// ForceSendFields is a list of field names (e.g. "Parameters") to
8893	// unconditionally include in API requests. By default, fields with
8894	// empty values are omitted from API requests. However, any non-pointer,
8895	// non-interface field appearing in ForceSendFields will be sent to the
8896	// server regardless of whether the field is empty or not. This may be
8897	// used to include empty fields in Patch requests.
8898	ForceSendFields []string `json:"-"`
8899
8900	// NullFields is a list of field names (e.g. "Parameters") to include in
8901	// API requests with the JSON null value. By default, fields with empty
8902	// values are omitted from API requests. However, any field with an
8903	// empty value appearing in NullFields will be sent to the server as
8904	// null. It is an error if a field in this list has a non-empty value.
8905	// This may be used to include null fields in Patch requests.
8906	NullFields []string `json:"-"`
8907}
8908
8909func (s *GoogleCloudDialogflowCxV3beta1SessionInfo) MarshalJSON() ([]byte, error) {
8910	type NoMethod GoogleCloudDialogflowCxV3beta1SessionInfo
8911	raw := NoMethod(*s)
8912	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8913}
8914
8915// GoogleCloudDialogflowCxV3beta1TestCase: Represents a test case.
8916type GoogleCloudDialogflowCxV3beta1TestCase struct {
8917	// CreationTime: Output only. When the test was created.
8918	CreationTime string `json:"creationTime,omitempty"`
8919
8920	// DisplayName: Required. The human-readable name of the test case,
8921	// unique within the agent. Limit of 200 characters.
8922	DisplayName string `json:"displayName,omitempty"`
8923
8924	// LastTestResult: The latest test result.
8925	LastTestResult *GoogleCloudDialogflowCxV3beta1TestCaseResult `json:"lastTestResult,omitempty"`
8926
8927	// Name: The unique identifier of the test case.
8928	// TestCases.CreateTestCase will populate the name automatically.
8929	// Otherwise use format: `projects//locations//agents/ /testCases/`.
8930	Name string `json:"name,omitempty"`
8931
8932	// Notes: Additional freeform notes about the test case. Limit of 400
8933	// characters.
8934	Notes string `json:"notes,omitempty"`
8935
8936	// Tags: Tags are short descriptions that users may apply to test cases
8937	// for organizational and filtering purposes. Each tag should start with
8938	// "#" and has a limit of 30 characters.
8939	Tags []string `json:"tags,omitempty"`
8940
8941	// TestCaseConversationTurns: The conversation turns uttered when the
8942	// test case was created, in chronological order. These include the
8943	// canonical set of agent utterances that should occur when the agent is
8944	// working properly.
8945	TestCaseConversationTurns []*GoogleCloudDialogflowCxV3beta1ConversationTurn `json:"testCaseConversationTurns,omitempty"`
8946
8947	// TestConfig: Config for the test case.
8948	TestConfig *GoogleCloudDialogflowCxV3beta1TestConfig `json:"testConfig,omitempty"`
8949
8950	// ForceSendFields is a list of field names (e.g. "CreationTime") to
8951	// unconditionally include in API requests. By default, fields with
8952	// empty values are omitted from API requests. However, any non-pointer,
8953	// non-interface field appearing in ForceSendFields will be sent to the
8954	// server regardless of whether the field is empty or not. This may be
8955	// used to include empty fields in Patch requests.
8956	ForceSendFields []string `json:"-"`
8957
8958	// NullFields is a list of field names (e.g. "CreationTime") to include
8959	// in API requests with the JSON null value. By default, fields with
8960	// empty values are omitted from API requests. However, any field with
8961	// an empty value appearing in NullFields will be sent to the server as
8962	// null. It is an error if a field in this list has a non-empty value.
8963	// This may be used to include null fields in Patch requests.
8964	NullFields []string `json:"-"`
8965}
8966
8967func (s *GoogleCloudDialogflowCxV3beta1TestCase) MarshalJSON() ([]byte, error) {
8968	type NoMethod GoogleCloudDialogflowCxV3beta1TestCase
8969	raw := NoMethod(*s)
8970	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8971}
8972
8973// GoogleCloudDialogflowCxV3beta1TestCaseError: Error info for importing
8974// a test.
8975type GoogleCloudDialogflowCxV3beta1TestCaseError struct {
8976	// Status: The status associated with the test case.
8977	Status *GoogleRpcStatus `json:"status,omitempty"`
8978
8979	// TestCase: The test case.
8980	TestCase *GoogleCloudDialogflowCxV3beta1TestCase `json:"testCase,omitempty"`
8981
8982	// ForceSendFields is a list of field names (e.g. "Status") to
8983	// unconditionally include in API requests. By default, fields with
8984	// empty values are omitted from API requests. However, any non-pointer,
8985	// non-interface field appearing in ForceSendFields will be sent to the
8986	// server regardless of whether the field is empty or not. This may be
8987	// used to include empty fields in Patch requests.
8988	ForceSendFields []string `json:"-"`
8989
8990	// NullFields is a list of field names (e.g. "Status") to include in API
8991	// requests with the JSON null value. By default, fields with empty
8992	// values are omitted from API requests. However, any field with an
8993	// empty value appearing in NullFields will be sent to the server as
8994	// null. It is an error if a field in this list has a non-empty value.
8995	// This may be used to include null fields in Patch requests.
8996	NullFields []string `json:"-"`
8997}
8998
8999func (s *GoogleCloudDialogflowCxV3beta1TestCaseError) MarshalJSON() ([]byte, error) {
9000	type NoMethod GoogleCloudDialogflowCxV3beta1TestCaseError
9001	raw := NoMethod(*s)
9002	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9003}
9004
9005// GoogleCloudDialogflowCxV3beta1TestCaseResult: Represents a result
9006// from running a test case in an agent environment.
9007type GoogleCloudDialogflowCxV3beta1TestCaseResult struct {
9008	// ConversationTurns: The conversation turns uttered during the test
9009	// case replay in chronological order.
9010	ConversationTurns []*GoogleCloudDialogflowCxV3beta1ConversationTurn `json:"conversationTurns,omitempty"`
9011
9012	// Environment: Environment where the test was run. If not set, it
9013	// indicates the draft environment.
9014	Environment string `json:"environment,omitempty"`
9015
9016	// Name: The resource name for the test case result. Format:
9017	// `projects//locations//agents//testCases/ /results/`.
9018	Name string `json:"name,omitempty"`
9019
9020	// TestResult: Whether the test case passed in the agent environment.
9021	//
9022	// Possible values:
9023	//   "TEST_RESULT_UNSPECIFIED" - Not specified. Should never be used.
9024	//   "PASSED" - The test passed.
9025	//   "FAILED" - The test did not pass.
9026	TestResult string `json:"testResult,omitempty"`
9027
9028	// TestTime: The time that the test was run.
9029	TestTime string `json:"testTime,omitempty"`
9030
9031	// ForceSendFields is a list of field names (e.g. "ConversationTurns")
9032	// to unconditionally include in API requests. By default, fields with
9033	// empty values are omitted from API requests. However, any non-pointer,
9034	// non-interface field appearing in ForceSendFields will be sent to the
9035	// server regardless of whether the field is empty or not. This may be
9036	// used to include empty fields in Patch requests.
9037	ForceSendFields []string `json:"-"`
9038
9039	// NullFields is a list of field names (e.g. "ConversationTurns") to
9040	// include in API requests with the JSON null value. By default, fields
9041	// with empty values are omitted from API requests. However, any field
9042	// with an empty value appearing in NullFields will be sent to the
9043	// server as null. It is an error if a field in this list has a
9044	// non-empty value. This may be used to include null fields in Patch
9045	// requests.
9046	NullFields []string `json:"-"`
9047}
9048
9049func (s *GoogleCloudDialogflowCxV3beta1TestCaseResult) MarshalJSON() ([]byte, error) {
9050	type NoMethod GoogleCloudDialogflowCxV3beta1TestCaseResult
9051	raw := NoMethod(*s)
9052	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9053}
9054
9055// GoogleCloudDialogflowCxV3beta1TestConfig: Represents configurations
9056// for a test case.
9057type GoogleCloudDialogflowCxV3beta1TestConfig struct {
9058	// Flow: Flow name. If not set, default start flow is assumed. Format:
9059	// `projects//locations//agents//flows/`.
9060	Flow string `json:"flow,omitempty"`
9061
9062	// TrackingParameters: Session parameters to be compared when
9063	// calculating differences.
9064	TrackingParameters []string `json:"trackingParameters,omitempty"`
9065
9066	// ForceSendFields is a list of field names (e.g. "Flow") to
9067	// unconditionally include in API requests. By default, fields with
9068	// empty values are omitted from API requests. However, any non-pointer,
9069	// non-interface field appearing in ForceSendFields will be sent to the
9070	// server regardless of whether the field is empty or not. This may be
9071	// used to include empty fields in Patch requests.
9072	ForceSendFields []string `json:"-"`
9073
9074	// NullFields is a list of field names (e.g. "Flow") to include in API
9075	// requests with the JSON null value. By default, fields with empty
9076	// values are omitted from API requests. However, any field with an
9077	// empty value appearing in NullFields will be sent to the server as
9078	// null. It is an error if a field in this list has a non-empty value.
9079	// This may be used to include null fields in Patch requests.
9080	NullFields []string `json:"-"`
9081}
9082
9083func (s *GoogleCloudDialogflowCxV3beta1TestConfig) MarshalJSON() ([]byte, error) {
9084	type NoMethod GoogleCloudDialogflowCxV3beta1TestConfig
9085	raw := NoMethod(*s)
9086	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9087}
9088
9089// GoogleCloudDialogflowCxV3beta1TestError: Error info for running a
9090// test.
9091type GoogleCloudDialogflowCxV3beta1TestError struct {
9092	// Status: The status associated with the test.
9093	Status *GoogleRpcStatus `json:"status,omitempty"`
9094
9095	// TestCase: The test case resource name.
9096	TestCase string `json:"testCase,omitempty"`
9097
9098	// TestTime: The timestamp when the test was completed.
9099	TestTime string `json:"testTime,omitempty"`
9100
9101	// ForceSendFields is a list of field names (e.g. "Status") to
9102	// unconditionally include in API requests. By default, fields with
9103	// empty values are omitted from API requests. However, any non-pointer,
9104	// non-interface field appearing in ForceSendFields will be sent to the
9105	// server regardless of whether the field is empty or not. This may be
9106	// used to include empty fields in Patch requests.
9107	ForceSendFields []string `json:"-"`
9108
9109	// NullFields is a list of field names (e.g. "Status") to include in API
9110	// requests with the JSON null value. By default, fields with empty
9111	// values are omitted from API requests. However, any field with an
9112	// empty value appearing in NullFields will be sent to the server as
9113	// null. It is an error if a field in this list has a non-empty value.
9114	// This may be used to include null fields in Patch requests.
9115	NullFields []string `json:"-"`
9116}
9117
9118func (s *GoogleCloudDialogflowCxV3beta1TestError) MarshalJSON() ([]byte, error) {
9119	type NoMethod GoogleCloudDialogflowCxV3beta1TestError
9120	raw := NoMethod(*s)
9121	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9122}
9123
9124// GoogleCloudDialogflowCxV3beta1TestRunDifference: The description of
9125// differences between original and replayed agent output.
9126type GoogleCloudDialogflowCxV3beta1TestRunDifference struct {
9127	// Description: A description of the diff, showing the actual output vs
9128	// expected output.
9129	Description string `json:"description,omitempty"`
9130
9131	// Type: The type of diff.
9132	//
9133	// Possible values:
9134	//   "DIFF_TYPE_UNSPECIFIED" - Should never be used.
9135	//   "INTENT" - The intent.
9136	//   "PAGE" - The page.
9137	//   "PARAMETERS" - The parameters.
9138	//   "UTTERANCE" - The message utterance.
9139	Type string `json:"type,omitempty"`
9140
9141	// ForceSendFields is a list of field names (e.g. "Description") to
9142	// unconditionally include in API requests. By default, fields with
9143	// empty values are omitted from API requests. However, any non-pointer,
9144	// non-interface field appearing in ForceSendFields will be sent to the
9145	// server regardless of whether the field is empty or not. This may be
9146	// used to include empty fields in Patch requests.
9147	ForceSendFields []string `json:"-"`
9148
9149	// NullFields is a list of field names (e.g. "Description") to include
9150	// in API requests with the JSON null value. By default, fields with
9151	// empty values are omitted from API requests. However, any field with
9152	// an empty value appearing in NullFields will be sent to the server as
9153	// null. It is an error if a field in this list has a non-empty value.
9154	// This may be used to include null fields in Patch requests.
9155	NullFields []string `json:"-"`
9156}
9157
9158func (s *GoogleCloudDialogflowCxV3beta1TestRunDifference) MarshalJSON() ([]byte, error) {
9159	type NoMethod GoogleCloudDialogflowCxV3beta1TestRunDifference
9160	raw := NoMethod(*s)
9161	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9162}
9163
9164// GoogleCloudDialogflowCxV3beta1TextInput: Represents the natural
9165// language text to be processed.
9166type GoogleCloudDialogflowCxV3beta1TextInput struct {
9167	// Text: Required. The UTF-8 encoded natural language text to be
9168	// processed. Text length must not exceed 256 characters.
9169	Text string `json:"text,omitempty"`
9170
9171	// ForceSendFields is a list of field names (e.g. "Text") to
9172	// unconditionally include in API requests. By default, fields with
9173	// empty values are omitted from API requests. However, any non-pointer,
9174	// non-interface field appearing in ForceSendFields will be sent to the
9175	// server regardless of whether the field is empty or not. This may be
9176	// used to include empty fields in Patch requests.
9177	ForceSendFields []string `json:"-"`
9178
9179	// NullFields is a list of field names (e.g. "Text") to include in API
9180	// requests with the JSON null value. By default, fields with empty
9181	// values are omitted from API requests. However, any field with an
9182	// empty value appearing in NullFields will be sent to the server as
9183	// null. It is an error if a field in this list has a non-empty value.
9184	// This may be used to include null fields in Patch requests.
9185	NullFields []string `json:"-"`
9186}
9187
9188func (s *GoogleCloudDialogflowCxV3beta1TextInput) MarshalJSON() ([]byte, error) {
9189	type NoMethod GoogleCloudDialogflowCxV3beta1TextInput
9190	raw := NoMethod(*s)
9191	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9192}
9193
9194// GoogleCloudDialogflowCxV3beta1TransitionRoute: A transition route
9195// specifies a intent that can be matched and/or a data condition that
9196// can be evaluated during a session. When a specified transition is
9197// matched, the following actions are taken in order: * If there is a
9198// `trigger_fulfillment` associated with the transition, it will be
9199// called. * If there is a `target_page` associated with the transition,
9200// the session will transition into the specified page. * If there is a
9201// `target_flow` associated with the transition, the session will
9202// transition into the specified flow.
9203type GoogleCloudDialogflowCxV3beta1TransitionRoute struct {
9204	// Condition: The condition to evaluate against form parameters or
9205	// session parameters. See the conditions reference
9206	// (https://cloud.google.com/dialogflow/cx/docs/reference/condition). At
9207	// least one of `intent` or `condition` must be specified. When both
9208	// `intent` and `condition` are specified, the transition can only
9209	// happen when both are fulfilled.
9210	Condition string `json:"condition,omitempty"`
9211
9212	// Intent: The unique identifier of an Intent. Format:
9213	// `projects//locations//agents//intents/`. Indicates that the
9214	// transition can only happen when the given intent is matched. At least
9215	// one of `intent` or `condition` must be specified. When both `intent`
9216	// and `condition` are specified, the transition can only happen when
9217	// both are fulfilled.
9218	Intent string `json:"intent,omitempty"`
9219
9220	// Name: Output only. The unique identifier of this transition route.
9221	Name string `json:"name,omitempty"`
9222
9223	// TargetFlow: The target flow to transition to. Format:
9224	// `projects//locations//agents//flows/`.
9225	TargetFlow string `json:"targetFlow,omitempty"`
9226
9227	// TargetPage: The target page to transition to. Format:
9228	// `projects//locations//agents//flows//pages/`.
9229	TargetPage string `json:"targetPage,omitempty"`
9230
9231	// TriggerFulfillment: The fulfillment to call when the condition is
9232	// satisfied. At least one of `trigger_fulfillment` and `target` must be
9233	// specified. When both are defined, `trigger_fulfillment` is executed
9234	// first.
9235	TriggerFulfillment *GoogleCloudDialogflowCxV3beta1Fulfillment `json:"triggerFulfillment,omitempty"`
9236
9237	// ForceSendFields is a list of field names (e.g. "Condition") to
9238	// unconditionally include in API requests. By default, fields with
9239	// empty values are omitted from API requests. However, any non-pointer,
9240	// non-interface field appearing in ForceSendFields will be sent to the
9241	// server regardless of whether the field is empty or not. This may be
9242	// used to include empty fields in Patch requests.
9243	ForceSendFields []string `json:"-"`
9244
9245	// NullFields is a list of field names (e.g. "Condition") to include in
9246	// API requests with the JSON null value. By default, fields with empty
9247	// values are omitted from API requests. However, any field with an
9248	// empty value appearing in NullFields will be sent to the server as
9249	// null. It is an error if a field in this list has a non-empty value.
9250	// This may be used to include null fields in Patch requests.
9251	NullFields []string `json:"-"`
9252}
9253
9254func (s *GoogleCloudDialogflowCxV3beta1TransitionRoute) MarshalJSON() ([]byte, error) {
9255	type NoMethod GoogleCloudDialogflowCxV3beta1TransitionRoute
9256	raw := NoMethod(*s)
9257	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9258}
9259
9260// GoogleCloudDialogflowCxV3beta1UpdateDocumentOperationMetadata:
9261// Metadata for UpdateDocument operation.
9262type GoogleCloudDialogflowCxV3beta1UpdateDocumentOperationMetadata struct {
9263	// GenericMetadata: The generic information of the operation.
9264	GenericMetadata *GoogleCloudDialogflowCxV3beta1GenericKnowledgeOperationMetadata `json:"genericMetadata,omitempty"`
9265
9266	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
9267	// unconditionally include in API requests. By default, fields with
9268	// empty values are omitted from API requests. However, any non-pointer,
9269	// non-interface field appearing in ForceSendFields will be sent to the
9270	// server regardless of whether the field is empty or not. This may be
9271	// used to include empty fields in Patch requests.
9272	ForceSendFields []string `json:"-"`
9273
9274	// NullFields is a list of field names (e.g. "GenericMetadata") to
9275	// include in API requests with the JSON null value. By default, fields
9276	// with empty values are omitted from API requests. However, any field
9277	// with an empty value appearing in NullFields will be sent to the
9278	// server as null. It is an error if a field in this list has a
9279	// non-empty value. This may be used to include null fields in Patch
9280	// requests.
9281	NullFields []string `json:"-"`
9282}
9283
9284func (s *GoogleCloudDialogflowCxV3beta1UpdateDocumentOperationMetadata) MarshalJSON() ([]byte, error) {
9285	type NoMethod GoogleCloudDialogflowCxV3beta1UpdateDocumentOperationMetadata
9286	raw := NoMethod(*s)
9287	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9288}
9289
9290// GoogleCloudDialogflowCxV3beta1WebhookRequest: The request message for
9291// a webhook call. The request is sent as a JSON object and the field
9292// names will be presented in camel cases.
9293type GoogleCloudDialogflowCxV3beta1WebhookRequest struct {
9294	// DetectIntentResponseId: Always present. The unique identifier of the
9295	// DetectIntentResponse that will be returned to the API caller.
9296	DetectIntentResponseId string `json:"detectIntentResponseId,omitempty"`
9297
9298	// FulfillmentInfo: Always present. Information about the fulfillment
9299	// that triggered this webhook call.
9300	FulfillmentInfo *GoogleCloudDialogflowCxV3beta1WebhookRequestFulfillmentInfo `json:"fulfillmentInfo,omitempty"`
9301
9302	// IntentInfo: Information about the last matched intent.
9303	IntentInfo *GoogleCloudDialogflowCxV3beta1WebhookRequestIntentInfo `json:"intentInfo,omitempty"`
9304
9305	// Messages: The list of rich message responses to present to the user.
9306	// Webhook can choose to append or replace this list in
9307	// WebhookResponse.fulfillment_response;
9308	Messages []*GoogleCloudDialogflowCxV3beta1ResponseMessage `json:"messages,omitempty"`
9309
9310	// PageInfo: Information about page status.
9311	PageInfo *GoogleCloudDialogflowCxV3beta1PageInfo `json:"pageInfo,omitempty"`
9312
9313	// Payload: Custom data set in QueryParameters.payload.
9314	Payload googleapi.RawMessage `json:"payload,omitempty"`
9315
9316	// SentimentAnalysisResult: The sentiment analysis result of the current
9317	// user request. The field is filled when sentiment analysis is
9318	// configured to be enabled for the request.
9319	SentimentAnalysisResult *GoogleCloudDialogflowCxV3beta1WebhookRequestSentimentAnalysisResult `json:"sentimentAnalysisResult,omitempty"`
9320
9321	// SessionInfo: Information about session status.
9322	SessionInfo *GoogleCloudDialogflowCxV3beta1SessionInfo `json:"sessionInfo,omitempty"`
9323
9324	// Text: If natural language text was provided as input, this field will
9325	// contain a copy of the text.
9326	Text string `json:"text,omitempty"`
9327
9328	// Transcript: If natural language speech audio was provided as input,
9329	// this field will contain the transcript for the audio.
9330	Transcript string `json:"transcript,omitempty"`
9331
9332	// TriggerEvent: If an event was provided as input, this field will
9333	// contain the name of the event.
9334	TriggerEvent string `json:"triggerEvent,omitempty"`
9335
9336	// TriggerIntent: If an intent was provided as input, this field will
9337	// contain a copy of the intent identifier. Format:
9338	// `projects//locations//agents//intents/`.
9339	TriggerIntent string `json:"triggerIntent,omitempty"`
9340
9341	// ForceSendFields is a list of field names (e.g.
9342	// "DetectIntentResponseId") to unconditionally include in API requests.
9343	// By default, fields with empty values are omitted from API requests.
9344	// However, any non-pointer, non-interface field appearing in
9345	// ForceSendFields will be sent to the server regardless of whether the
9346	// field is empty or not. This may be used to include empty fields in
9347	// Patch requests.
9348	ForceSendFields []string `json:"-"`
9349
9350	// NullFields is a list of field names (e.g. "DetectIntentResponseId")
9351	// to include in API requests with the JSON null value. By default,
9352	// fields with empty values are omitted from API requests. However, any
9353	// field with an empty value appearing in NullFields will be sent to the
9354	// server as null. It is an error if a field in this list has a
9355	// non-empty value. This may be used to include null fields in Patch
9356	// requests.
9357	NullFields []string `json:"-"`
9358}
9359
9360func (s *GoogleCloudDialogflowCxV3beta1WebhookRequest) MarshalJSON() ([]byte, error) {
9361	type NoMethod GoogleCloudDialogflowCxV3beta1WebhookRequest
9362	raw := NoMethod(*s)
9363	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9364}
9365
9366// GoogleCloudDialogflowCxV3beta1WebhookRequestFulfillmentInfo:
9367// Represents fulfillment information communicated to the webhook.
9368type GoogleCloudDialogflowCxV3beta1WebhookRequestFulfillmentInfo struct {
9369	// Tag: Always present. The tag used to identify which fulfillment is
9370	// being called.
9371	Tag string `json:"tag,omitempty"`
9372
9373	// ForceSendFields is a list of field names (e.g. "Tag") to
9374	// unconditionally include in API requests. By default, fields with
9375	// empty values are omitted from API requests. However, any non-pointer,
9376	// non-interface field appearing in ForceSendFields will be sent to the
9377	// server regardless of whether the field is empty or not. This may be
9378	// used to include empty fields in Patch requests.
9379	ForceSendFields []string `json:"-"`
9380
9381	// NullFields is a list of field names (e.g. "Tag") to include in API
9382	// requests with the JSON null value. By default, fields with empty
9383	// values are omitted from API requests. However, any field with an
9384	// empty value appearing in NullFields will be sent to the server as
9385	// null. It is an error if a field in this list has a non-empty value.
9386	// This may be used to include null fields in Patch requests.
9387	NullFields []string `json:"-"`
9388}
9389
9390func (s *GoogleCloudDialogflowCxV3beta1WebhookRequestFulfillmentInfo) MarshalJSON() ([]byte, error) {
9391	type NoMethod GoogleCloudDialogflowCxV3beta1WebhookRequestFulfillmentInfo
9392	raw := NoMethod(*s)
9393	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9394}
9395
9396// GoogleCloudDialogflowCxV3beta1WebhookRequestIntentInfo: Represents
9397// intent information communicated to the webhook.
9398type GoogleCloudDialogflowCxV3beta1WebhookRequestIntentInfo struct {
9399	// Confidence: The confidence of the matched intent. Values range from
9400	// 0.0 (completely uncertain) to 1.0 (completely certain).
9401	Confidence float64 `json:"confidence,omitempty"`
9402
9403	// DisplayName: Always present. The display name of the last matched
9404	// intent.
9405	DisplayName string `json:"displayName,omitempty"`
9406
9407	// LastMatchedIntent: Always present. The unique identifier of the last
9408	// matched intent. Format: `projects//locations//agents//intents/`.
9409	LastMatchedIntent string `json:"lastMatchedIntent,omitempty"`
9410
9411	// Parameters: Parameters identified as a result of intent matching.
9412	// This is a map of the name of the identified parameter to the value of
9413	// the parameter identified from the user's utterance. All parameters
9414	// defined in the matched intent that are identified will be surfaced
9415	// here.
9416	Parameters map[string]GoogleCloudDialogflowCxV3beta1WebhookRequestIntentInfoIntentParameterValue `json:"parameters,omitempty"`
9417
9418	// ForceSendFields is a list of field names (e.g. "Confidence") to
9419	// unconditionally include in API requests. By default, fields with
9420	// empty values are omitted from API requests. However, any non-pointer,
9421	// non-interface field appearing in ForceSendFields will be sent to the
9422	// server regardless of whether the field is empty or not. This may be
9423	// used to include empty fields in Patch requests.
9424	ForceSendFields []string `json:"-"`
9425
9426	// NullFields is a list of field names (e.g. "Confidence") to include in
9427	// API requests with the JSON null value. By default, fields with empty
9428	// values are omitted from API requests. However, any field with an
9429	// empty value appearing in NullFields will be sent to the server as
9430	// null. It is an error if a field in this list has a non-empty value.
9431	// This may be used to include null fields in Patch requests.
9432	NullFields []string `json:"-"`
9433}
9434
9435func (s *GoogleCloudDialogflowCxV3beta1WebhookRequestIntentInfo) MarshalJSON() ([]byte, error) {
9436	type NoMethod GoogleCloudDialogflowCxV3beta1WebhookRequestIntentInfo
9437	raw := NoMethod(*s)
9438	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9439}
9440
9441func (s *GoogleCloudDialogflowCxV3beta1WebhookRequestIntentInfo) UnmarshalJSON(data []byte) error {
9442	type NoMethod GoogleCloudDialogflowCxV3beta1WebhookRequestIntentInfo
9443	var s1 struct {
9444		Confidence gensupport.JSONFloat64 `json:"confidence"`
9445		*NoMethod
9446	}
9447	s1.NoMethod = (*NoMethod)(s)
9448	if err := json.Unmarshal(data, &s1); err != nil {
9449		return err
9450	}
9451	s.Confidence = float64(s1.Confidence)
9452	return nil
9453}
9454
9455// GoogleCloudDialogflowCxV3beta1WebhookRequestIntentInfoIntentParameterV
9456// alue: Represents a value for an intent parameter.
9457type GoogleCloudDialogflowCxV3beta1WebhookRequestIntentInfoIntentParameterValue struct {
9458	// OriginalValue: Always present. Original text value extracted from
9459	// user utterance.
9460	OriginalValue string `json:"originalValue,omitempty"`
9461
9462	// ResolvedValue: Always present. Structured value for the parameter
9463	// extracted from user utterance.
9464	ResolvedValue interface{} `json:"resolvedValue,omitempty"`
9465
9466	// ForceSendFields is a list of field names (e.g. "OriginalValue") to
9467	// unconditionally include in API requests. By default, fields with
9468	// empty values are omitted from API requests. However, any non-pointer,
9469	// non-interface field appearing in ForceSendFields will be sent to the
9470	// server regardless of whether the field is empty or not. This may be
9471	// used to include empty fields in Patch requests.
9472	ForceSendFields []string `json:"-"`
9473
9474	// NullFields is a list of field names (e.g. "OriginalValue") to include
9475	// in API requests with the JSON null value. By default, fields with
9476	// empty values are omitted from API requests. However, any field with
9477	// an empty value appearing in NullFields will be sent to the server as
9478	// null. It is an error if a field in this list has a non-empty value.
9479	// This may be used to include null fields in Patch requests.
9480	NullFields []string `json:"-"`
9481}
9482
9483func (s *GoogleCloudDialogflowCxV3beta1WebhookRequestIntentInfoIntentParameterValue) MarshalJSON() ([]byte, error) {
9484	type NoMethod GoogleCloudDialogflowCxV3beta1WebhookRequestIntentInfoIntentParameterValue
9485	raw := NoMethod(*s)
9486	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9487}
9488
9489// GoogleCloudDialogflowCxV3beta1WebhookRequestSentimentAnalysisResult:
9490// Represents the result of sentiment analysis.
9491type GoogleCloudDialogflowCxV3beta1WebhookRequestSentimentAnalysisResult struct {
9492	// Magnitude: A non-negative number in the [0, +inf) range, which
9493	// represents the absolute magnitude of sentiment, regardless of score
9494	// (positive or negative).
9495	Magnitude float64 `json:"magnitude,omitempty"`
9496
9497	// Score: Sentiment score between -1.0 (negative sentiment) and 1.0
9498	// (positive sentiment).
9499	Score float64 `json:"score,omitempty"`
9500
9501	// ForceSendFields is a list of field names (e.g. "Magnitude") to
9502	// unconditionally include in API requests. By default, fields with
9503	// empty values are omitted from API requests. However, any non-pointer,
9504	// non-interface field appearing in ForceSendFields will be sent to the
9505	// server regardless of whether the field is empty or not. This may be
9506	// used to include empty fields in Patch requests.
9507	ForceSendFields []string `json:"-"`
9508
9509	// NullFields is a list of field names (e.g. "Magnitude") to include in
9510	// API requests with the JSON null value. By default, fields with empty
9511	// values are omitted from API requests. However, any field with an
9512	// empty value appearing in NullFields will be sent to the server as
9513	// null. It is an error if a field in this list has a non-empty value.
9514	// This may be used to include null fields in Patch requests.
9515	NullFields []string `json:"-"`
9516}
9517
9518func (s *GoogleCloudDialogflowCxV3beta1WebhookRequestSentimentAnalysisResult) MarshalJSON() ([]byte, error) {
9519	type NoMethod GoogleCloudDialogflowCxV3beta1WebhookRequestSentimentAnalysisResult
9520	raw := NoMethod(*s)
9521	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9522}
9523
9524func (s *GoogleCloudDialogflowCxV3beta1WebhookRequestSentimentAnalysisResult) UnmarshalJSON(data []byte) error {
9525	type NoMethod GoogleCloudDialogflowCxV3beta1WebhookRequestSentimentAnalysisResult
9526	var s1 struct {
9527		Magnitude gensupport.JSONFloat64 `json:"magnitude"`
9528		Score     gensupport.JSONFloat64 `json:"score"`
9529		*NoMethod
9530	}
9531	s1.NoMethod = (*NoMethod)(s)
9532	if err := json.Unmarshal(data, &s1); err != nil {
9533		return err
9534	}
9535	s.Magnitude = float64(s1.Magnitude)
9536	s.Score = float64(s1.Score)
9537	return nil
9538}
9539
9540// GoogleCloudDialogflowCxV3beta1WebhookResponse: The response message
9541// for a webhook call.
9542type GoogleCloudDialogflowCxV3beta1WebhookResponse struct {
9543	// FulfillmentResponse: The fulfillment response to send to the user.
9544	// This field can be omitted by the webhook if it does not intend to
9545	// send any response to the user.
9546	FulfillmentResponse *GoogleCloudDialogflowCxV3beta1WebhookResponseFulfillmentResponse `json:"fulfillmentResponse,omitempty"`
9547
9548	// PageInfo: Information about page status. This field can be omitted by
9549	// the webhook if it does not intend to modify page status.
9550	PageInfo *GoogleCloudDialogflowCxV3beta1PageInfo `json:"pageInfo,omitempty"`
9551
9552	// Payload: Value to append directly to QueryResult.webhook_payloads.
9553	Payload googleapi.RawMessage `json:"payload,omitempty"`
9554
9555	// SessionInfo: Information about session status. This field can be
9556	// omitted by the webhook if it does not intend to modify session
9557	// status.
9558	SessionInfo *GoogleCloudDialogflowCxV3beta1SessionInfo `json:"sessionInfo,omitempty"`
9559
9560	// TargetFlow: The target flow to transition to. Format:
9561	// `projects//locations//agents//flows/`.
9562	TargetFlow string `json:"targetFlow,omitempty"`
9563
9564	// TargetPage: The target page to transition to. Format:
9565	// `projects//locations//agents//flows//pages/`.
9566	TargetPage string `json:"targetPage,omitempty"`
9567
9568	// ForceSendFields is a list of field names (e.g. "FulfillmentResponse")
9569	// to unconditionally include in API requests. By default, fields with
9570	// empty values are omitted from API requests. However, any non-pointer,
9571	// non-interface field appearing in ForceSendFields will be sent to the
9572	// server regardless of whether the field is empty or not. This may be
9573	// used to include empty fields in Patch requests.
9574	ForceSendFields []string `json:"-"`
9575
9576	// NullFields is a list of field names (e.g. "FulfillmentResponse") to
9577	// include in API requests with the JSON null value. By default, fields
9578	// with empty values are omitted from API requests. However, any field
9579	// with an empty value appearing in NullFields will be sent to the
9580	// server as null. It is an error if a field in this list has a
9581	// non-empty value. This may be used to include null fields in Patch
9582	// requests.
9583	NullFields []string `json:"-"`
9584}
9585
9586func (s *GoogleCloudDialogflowCxV3beta1WebhookResponse) MarshalJSON() ([]byte, error) {
9587	type NoMethod GoogleCloudDialogflowCxV3beta1WebhookResponse
9588	raw := NoMethod(*s)
9589	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9590}
9591
9592// GoogleCloudDialogflowCxV3beta1WebhookResponseFulfillmentResponse:
9593// Represents a fulfillment response to the user.
9594type GoogleCloudDialogflowCxV3beta1WebhookResponseFulfillmentResponse struct {
9595	// MergeBehavior: Merge behavior for `messages`.
9596	//
9597	// Possible values:
9598	//   "MERGE_BEHAVIOR_UNSPECIFIED" - Not specified. `APPEND` will be
9599	// used.
9600	//   "APPEND" - `messages` will be appended to the list of messages
9601	// waiting to be sent to the user.
9602	//   "REPLACE" - `messages` will replace the list of messages waiting to
9603	// be sent to the user.
9604	MergeBehavior string `json:"mergeBehavior,omitempty"`
9605
9606	// Messages: The list of rich message responses to present to the user.
9607	Messages []*GoogleCloudDialogflowCxV3beta1ResponseMessage `json:"messages,omitempty"`
9608
9609	// ForceSendFields is a list of field names (e.g. "MergeBehavior") to
9610	// unconditionally include in API requests. By default, fields with
9611	// empty values are omitted from API requests. However, any non-pointer,
9612	// non-interface field appearing in ForceSendFields will be sent to the
9613	// server regardless of whether the field is empty or not. This may be
9614	// used to include empty fields in Patch requests.
9615	ForceSendFields []string `json:"-"`
9616
9617	// NullFields is a list of field names (e.g. "MergeBehavior") to include
9618	// in API requests with the JSON null value. By default, fields with
9619	// empty values are omitted from API requests. However, any field with
9620	// an empty value appearing in NullFields will be sent to the server as
9621	// null. It is an error if a field in this list has a non-empty value.
9622	// This may be used to include null fields in Patch requests.
9623	NullFields []string `json:"-"`
9624}
9625
9626func (s *GoogleCloudDialogflowCxV3beta1WebhookResponseFulfillmentResponse) MarshalJSON() ([]byte, error) {
9627	type NoMethod GoogleCloudDialogflowCxV3beta1WebhookResponseFulfillmentResponse
9628	raw := NoMethod(*s)
9629	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9630}
9631
9632// GoogleCloudDialogflowV2AnnotatedMessagePart: Represents a part of a
9633// message possibly annotated with an entity. The part can be an entity
9634// or purely a part of the message between two entities or message
9635// start/end.
9636type GoogleCloudDialogflowV2AnnotatedMessagePart struct {
9637	// EntityType: The Dialogflow system entity type
9638	// (https://cloud.google.com/dialogflow/docs/reference/system-entities)
9639	// of this message part. If this is empty, Dialogflow could not annotate
9640	// the phrase part with a system entity.
9641	EntityType string `json:"entityType,omitempty"`
9642
9643	// FormattedValue: The Dialogflow system entity formatted value
9644	// (https://cloud.google.com/dialogflow/docs/reference/system-entities)
9645	// of this message part. For example for a system entity of type
9646	// `@sys.unit-currency`, this may contain: { "amount": 5, "currency":
9647	// "USD" }
9648	FormattedValue interface{} `json:"formattedValue,omitempty"`
9649
9650	// Text: A part of a message possibly annotated with an entity.
9651	Text string `json:"text,omitempty"`
9652
9653	// ForceSendFields is a list of field names (e.g. "EntityType") to
9654	// unconditionally include in API requests. By default, fields with
9655	// empty values are omitted from API requests. However, any non-pointer,
9656	// non-interface field appearing in ForceSendFields will be sent to the
9657	// server regardless of whether the field is empty or not. This may be
9658	// used to include empty fields in Patch requests.
9659	ForceSendFields []string `json:"-"`
9660
9661	// NullFields is a list of field names (e.g. "EntityType") to include in
9662	// API requests with the JSON null value. By default, fields with empty
9663	// values are omitted from API requests. However, any field with an
9664	// empty value appearing in NullFields will be sent to the server as
9665	// null. It is an error if a field in this list has a non-empty value.
9666	// This may be used to include null fields in Patch requests.
9667	NullFields []string `json:"-"`
9668}
9669
9670func (s *GoogleCloudDialogflowV2AnnotatedMessagePart) MarshalJSON() ([]byte, error) {
9671	type NoMethod GoogleCloudDialogflowV2AnnotatedMessagePart
9672	raw := NoMethod(*s)
9673	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9674}
9675
9676// GoogleCloudDialogflowV2ArticleAnswer: Represents article answer.
9677type GoogleCloudDialogflowV2ArticleAnswer struct {
9678	// AnswerRecord: The name of answer record, in the format of
9679	// "projects//locations//answerRecords/"
9680	AnswerRecord string `json:"answerRecord,omitempty"`
9681
9682	// Confidence: Article match confidence. The system's confidence score
9683	// that this article is a good match for this conversation, as a value
9684	// from 0.0 (completely uncertain) to 1.0 (completely certain).
9685	Confidence float64 `json:"confidence,omitempty"`
9686
9687	// Metadata: A map that contains metadata about the answer and the
9688	// document from which it originates.
9689	Metadata map[string]string `json:"metadata,omitempty"`
9690
9691	// Snippets: Article snippets.
9692	Snippets []string `json:"snippets,omitempty"`
9693
9694	// Title: The article title.
9695	Title string `json:"title,omitempty"`
9696
9697	// Uri: The article URI.
9698	Uri string `json:"uri,omitempty"`
9699
9700	// ForceSendFields is a list of field names (e.g. "AnswerRecord") to
9701	// unconditionally include in API requests. By default, fields with
9702	// empty values are omitted from API requests. However, any non-pointer,
9703	// non-interface field appearing in ForceSendFields will be sent to the
9704	// server regardless of whether the field is empty or not. This may be
9705	// used to include empty fields in Patch requests.
9706	ForceSendFields []string `json:"-"`
9707
9708	// NullFields is a list of field names (e.g. "AnswerRecord") to include
9709	// in API requests with the JSON null value. By default, fields with
9710	// empty values are omitted from API requests. However, any field with
9711	// an empty value appearing in NullFields will be sent to the server as
9712	// null. It is an error if a field in this list has a non-empty value.
9713	// This may be used to include null fields in Patch requests.
9714	NullFields []string `json:"-"`
9715}
9716
9717func (s *GoogleCloudDialogflowV2ArticleAnswer) MarshalJSON() ([]byte, error) {
9718	type NoMethod GoogleCloudDialogflowV2ArticleAnswer
9719	raw := NoMethod(*s)
9720	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9721}
9722
9723func (s *GoogleCloudDialogflowV2ArticleAnswer) UnmarshalJSON(data []byte) error {
9724	type NoMethod GoogleCloudDialogflowV2ArticleAnswer
9725	var s1 struct {
9726		Confidence gensupport.JSONFloat64 `json:"confidence"`
9727		*NoMethod
9728	}
9729	s1.NoMethod = (*NoMethod)(s)
9730	if err := json.Unmarshal(data, &s1); err != nil {
9731		return err
9732	}
9733	s.Confidence = float64(s1.Confidence)
9734	return nil
9735}
9736
9737// GoogleCloudDialogflowV2BatchUpdateEntityTypesResponse: The response
9738// message for EntityTypes.BatchUpdateEntityTypes.
9739type GoogleCloudDialogflowV2BatchUpdateEntityTypesResponse struct {
9740	// EntityTypes: The collection of updated or created entity types.
9741	EntityTypes []*GoogleCloudDialogflowV2EntityType `json:"entityTypes,omitempty"`
9742
9743	// ForceSendFields is a list of field names (e.g. "EntityTypes") to
9744	// unconditionally include in API requests. By default, fields with
9745	// empty values are omitted from API requests. However, any non-pointer,
9746	// non-interface field appearing in ForceSendFields will be sent to the
9747	// server regardless of whether the field is empty or not. This may be
9748	// used to include empty fields in Patch requests.
9749	ForceSendFields []string `json:"-"`
9750
9751	// NullFields is a list of field names (e.g. "EntityTypes") to include
9752	// in API requests with the JSON null value. By default, fields with
9753	// empty values are omitted from API requests. However, any field with
9754	// an empty value appearing in NullFields will be sent to the server as
9755	// null. It is an error if a field in this list has a non-empty value.
9756	// This may be used to include null fields in Patch requests.
9757	NullFields []string `json:"-"`
9758}
9759
9760func (s *GoogleCloudDialogflowV2BatchUpdateEntityTypesResponse) MarshalJSON() ([]byte, error) {
9761	type NoMethod GoogleCloudDialogflowV2BatchUpdateEntityTypesResponse
9762	raw := NoMethod(*s)
9763	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9764}
9765
9766// GoogleCloudDialogflowV2BatchUpdateIntentsResponse: The response
9767// message for Intents.BatchUpdateIntents.
9768type GoogleCloudDialogflowV2BatchUpdateIntentsResponse struct {
9769	// Intents: The collection of updated or created intents.
9770	Intents []*GoogleCloudDialogflowV2Intent `json:"intents,omitempty"`
9771
9772	// ForceSendFields is a list of field names (e.g. "Intents") to
9773	// unconditionally include in API requests. By default, fields with
9774	// empty values are omitted from API requests. However, any non-pointer,
9775	// non-interface field appearing in ForceSendFields will be sent to the
9776	// server regardless of whether the field is empty or not. This may be
9777	// used to include empty fields in Patch requests.
9778	ForceSendFields []string `json:"-"`
9779
9780	// NullFields is a list of field names (e.g. "Intents") to include in
9781	// API requests with the JSON null value. By default, fields with empty
9782	// values are omitted from API requests. However, any field with an
9783	// empty value appearing in NullFields will be sent to the server as
9784	// null. It is an error if a field in this list has a non-empty value.
9785	// This may be used to include null fields in Patch requests.
9786	NullFields []string `json:"-"`
9787}
9788
9789func (s *GoogleCloudDialogflowV2BatchUpdateIntentsResponse) MarshalJSON() ([]byte, error) {
9790	type NoMethod GoogleCloudDialogflowV2BatchUpdateIntentsResponse
9791	raw := NoMethod(*s)
9792	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9793}
9794
9795// GoogleCloudDialogflowV2Context: Dialogflow contexts are similar to
9796// natural language context. If a person says to you "they are orange",
9797// you need context in order to understand what "they" is referring to.
9798// Similarly, for Dialogflow to handle an end-user expression like that,
9799// it needs to be provided with context in order to correctly match an
9800// intent. Using contexts, you can control the flow of a conversation.
9801// You can configure contexts for an intent by setting input and output
9802// contexts, which are identified by string names. When an intent is
9803// matched, any configured output contexts for that intent become
9804// active. While any contexts are active, Dialogflow is more likely to
9805// match intents that are configured with input contexts that correspond
9806// to the currently active contexts. For more information about context,
9807// see the Contexts guide
9808// (https://cloud.google.com/dialogflow/docs/contexts-overview).
9809type GoogleCloudDialogflowV2Context struct {
9810	// LifespanCount: Optional. The number of conversational query requests
9811	// after which the context expires. The default is `0`. If set to `0`,
9812	// the context expires immediately. Contexts expire automatically after
9813	// 20 minutes if there are no matching queries.
9814	LifespanCount int64 `json:"lifespanCount,omitempty"`
9815
9816	// Name: Required. The unique identifier of the context. Format:
9817	// `projects//agent/sessions//contexts/`, or
9818	// `projects//agent/environments//users//sessions//contexts/`. The
9819	// `Context ID` is always converted to lowercase, may only contain
9820	// characters in a-zA-Z0-9_-% and may be at most 250 bytes long. If
9821	// `Environment ID` is not specified, we assume default 'draft'
9822	// environment. If `User ID` is not specified, we assume default '-'
9823	// user. The following context names are reserved for internal use by
9824	// Dialogflow. You should not use these contexts or create contexts with
9825	// these names: * `__system_counters__` * `*_id_dialog_context` *
9826	// `*_dialog_params_size`
9827	Name string `json:"name,omitempty"`
9828
9829	// Parameters: Optional. The collection of parameters associated with
9830	// this context. Depending on your protocol or client library language,
9831	// this is a map, associative array, symbol table, dictionary, or JSON
9832	// object composed of a collection of (MapKey, MapValue) pairs: - MapKey
9833	// type: string - MapKey value: parameter name - MapValue type: - If
9834	// parameter's entity type is a composite entity: map - Else: depending
9835	// on parameter value type, could be one of string, number, boolean,
9836	// null, list or map - MapValue value: - If parameter's entity type is a
9837	// composite entity: map from composite entity property names to
9838	// property values - Else: parameter value
9839	Parameters googleapi.RawMessage `json:"parameters,omitempty"`
9840
9841	// ForceSendFields is a list of field names (e.g. "LifespanCount") to
9842	// unconditionally include in API requests. By default, fields with
9843	// empty values are omitted from API requests. However, any non-pointer,
9844	// non-interface field appearing in ForceSendFields will be sent to the
9845	// server regardless of whether the field is empty or not. This may be
9846	// used to include empty fields in Patch requests.
9847	ForceSendFields []string `json:"-"`
9848
9849	// NullFields is a list of field names (e.g. "LifespanCount") to include
9850	// in API requests with the JSON null value. By default, fields with
9851	// empty values are omitted from API requests. However, any field with
9852	// an empty value appearing in NullFields will be sent to the server as
9853	// null. It is an error if a field in this list has a non-empty value.
9854	// This may be used to include null fields in Patch requests.
9855	NullFields []string `json:"-"`
9856}
9857
9858func (s *GoogleCloudDialogflowV2Context) MarshalJSON() ([]byte, error) {
9859	type NoMethod GoogleCloudDialogflowV2Context
9860	raw := NoMethod(*s)
9861	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9862}
9863
9864// GoogleCloudDialogflowV2ConversationEvent: Represents a notification
9865// sent to Pub/Sub subscribers for conversation lifecycle events.
9866type GoogleCloudDialogflowV2ConversationEvent struct {
9867	// Conversation: The unique identifier of the conversation this
9868	// notification refers to. Format: `projects//conversations/`.
9869	Conversation string `json:"conversation,omitempty"`
9870
9871	// ErrorStatus: More detailed information about an error. Only set for
9872	// type UNRECOVERABLE_ERROR_IN_PHONE_CALL.
9873	ErrorStatus *GoogleRpcStatus `json:"errorStatus,omitempty"`
9874
9875	// NewMessagePayload: Payload of NEW_MESSAGE event.
9876	NewMessagePayload *GoogleCloudDialogflowV2Message `json:"newMessagePayload,omitempty"`
9877
9878	// Type: The type of the event that this notification refers to.
9879	//
9880	// Possible values:
9881	//   "TYPE_UNSPECIFIED" - Type not set.
9882	//   "CONVERSATION_STARTED" - A new conversation has been opened. This
9883	// is fired when a telephone call is answered, or a conversation is
9884	// created via the API.
9885	//   "CONVERSATION_FINISHED" - An existing conversation has closed. This
9886	// is fired when a telephone call is terminated, or a conversation is
9887	// closed via the API.
9888	//   "HUMAN_INTERVENTION_NEEDED" - An existing conversation has received
9889	// notification from Dialogflow that human intervention is required.
9890	//   "NEW_MESSAGE" - An existing conversation has received a new
9891	// message, either from API or telephony. It is configured in
9892	// ConversationProfile.new_message_event_notification_config
9893	//   "UNRECOVERABLE_ERROR" - Unrecoverable error during a telephone
9894	// call. In general non-recoverable errors only occur if something was
9895	// misconfigured in the ConversationProfile corresponding to the call.
9896	// After a non-recoverable error, Dialogflow may stop responding. We
9897	// don't fire this event: * in an API call because we can directly
9898	// return the error, or, * when we can recover from an error.
9899	Type string `json:"type,omitempty"`
9900
9901	// ForceSendFields is a list of field names (e.g. "Conversation") to
9902	// unconditionally include in API requests. By default, fields with
9903	// empty values are omitted from API requests. However, any non-pointer,
9904	// non-interface field appearing in ForceSendFields will be sent to the
9905	// server regardless of whether the field is empty or not. This may be
9906	// used to include empty fields in Patch requests.
9907	ForceSendFields []string `json:"-"`
9908
9909	// NullFields is a list of field names (e.g. "Conversation") to include
9910	// in API requests with the JSON null value. By default, fields with
9911	// empty values are omitted from API requests. However, any field with
9912	// an empty value appearing in NullFields will be sent to the server as
9913	// null. It is an error if a field in this list has a non-empty value.
9914	// This may be used to include null fields in Patch requests.
9915	NullFields []string `json:"-"`
9916}
9917
9918func (s *GoogleCloudDialogflowV2ConversationEvent) MarshalJSON() ([]byte, error) {
9919	type NoMethod GoogleCloudDialogflowV2ConversationEvent
9920	raw := NoMethod(*s)
9921	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9922}
9923
9924// GoogleCloudDialogflowV2EntityType: Each intent parameter has a type,
9925// called the entity type, which dictates exactly how data from an
9926// end-user expression is extracted. Dialogflow provides predefined
9927// system entities that can match many common types of data. For
9928// example, there are system entities for matching dates, times, colors,
9929// email addresses, and so on. You can also create your own custom
9930// entities for matching custom data. For example, you could define a
9931// vegetable entity that can match the types of vegetables available for
9932// purchase with a grocery store agent. For more information, see the
9933// Entity guide
9934// (https://cloud.google.com/dialogflow/docs/entities-overview).
9935type GoogleCloudDialogflowV2EntityType struct {
9936	// AutoExpansionMode: Optional. Indicates whether the entity type can be
9937	// automatically expanded.
9938	//
9939	// Possible values:
9940	//   "AUTO_EXPANSION_MODE_UNSPECIFIED" - Auto expansion disabled for the
9941	// entity.
9942	//   "AUTO_EXPANSION_MODE_DEFAULT" - Allows an agent to recognize values
9943	// that have not been explicitly listed in the entity.
9944	AutoExpansionMode string `json:"autoExpansionMode,omitempty"`
9945
9946	// DisplayName: Required. The name of the entity type.
9947	DisplayName string `json:"displayName,omitempty"`
9948
9949	// EnableFuzzyExtraction: Optional. Enables fuzzy entity extraction
9950	// during classification.
9951	EnableFuzzyExtraction bool `json:"enableFuzzyExtraction,omitempty"`
9952
9953	// Entities: Optional. The collection of entity entries associated with
9954	// the entity type.
9955	Entities []*GoogleCloudDialogflowV2EntityTypeEntity `json:"entities,omitempty"`
9956
9957	// Kind: Required. Indicates the kind of entity type.
9958	//
9959	// Possible values:
9960	//   "KIND_UNSPECIFIED" - Not specified. This value should be never
9961	// used.
9962	//   "KIND_MAP" - Map entity types allow mapping of a group of synonyms
9963	// to a reference value.
9964	//   "KIND_LIST" - List entity types contain a set of entries that do
9965	// not map to reference values. However, list entity types can contain
9966	// references to other entity types (with or without aliases).
9967	//   "KIND_REGEXP" - Regexp entity types allow to specify regular
9968	// expressions in entries values.
9969	Kind string `json:"kind,omitempty"`
9970
9971	// Name: The unique identifier of the entity type. Required for
9972	// EntityTypes.UpdateEntityType and EntityTypes.BatchUpdateEntityTypes
9973	// methods. Format: `projects//agent/entityTypes/`.
9974	Name string `json:"name,omitempty"`
9975
9976	// ForceSendFields is a list of field names (e.g. "AutoExpansionMode")
9977	// to unconditionally include in API requests. By default, fields with
9978	// empty values are omitted from API requests. However, any non-pointer,
9979	// non-interface field appearing in ForceSendFields will be sent to the
9980	// server regardless of whether the field is empty or not. This may be
9981	// used to include empty fields in Patch requests.
9982	ForceSendFields []string `json:"-"`
9983
9984	// NullFields is a list of field names (e.g. "AutoExpansionMode") to
9985	// include in API requests with the JSON null value. By default, fields
9986	// with empty values are omitted from API requests. However, any field
9987	// with an empty value appearing in NullFields will be sent to the
9988	// server as null. It is an error if a field in this list has a
9989	// non-empty value. This may be used to include null fields in Patch
9990	// requests.
9991	NullFields []string `json:"-"`
9992}
9993
9994func (s *GoogleCloudDialogflowV2EntityType) MarshalJSON() ([]byte, error) {
9995	type NoMethod GoogleCloudDialogflowV2EntityType
9996	raw := NoMethod(*s)
9997	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9998}
9999
10000// GoogleCloudDialogflowV2EntityTypeEntity: An **entity entry** for an
10001// associated entity type.
10002type GoogleCloudDialogflowV2EntityTypeEntity struct {
10003	// Synonyms: Required. A collection of value synonyms. For example, if
10004	// the entity type is *vegetable*, and `value` is *scallions*, a synonym
10005	// could be *green onions*. For `KIND_LIST` entity types: * This
10006	// collection must contain exactly one synonym equal to `value`.
10007	Synonyms []string `json:"synonyms,omitempty"`
10008
10009	// Value: Required. The primary value associated with this entity entry.
10010	// For example, if the entity type is *vegetable*, the value could be
10011	// *scallions*. For `KIND_MAP` entity types: * A reference value to be
10012	// used in place of synonyms. For `KIND_LIST` entity types: * A string
10013	// that can contain references to other entity types (with or without
10014	// aliases).
10015	Value string `json:"value,omitempty"`
10016
10017	// ForceSendFields is a list of field names (e.g. "Synonyms") to
10018	// unconditionally include in API requests. By default, fields with
10019	// empty values are omitted from API requests. However, any non-pointer,
10020	// non-interface field appearing in ForceSendFields will be sent to the
10021	// server regardless of whether the field is empty or not. This may be
10022	// used to include empty fields in Patch requests.
10023	ForceSendFields []string `json:"-"`
10024
10025	// NullFields is a list of field names (e.g. "Synonyms") to include in
10026	// API requests with the JSON null value. By default, fields with empty
10027	// values are omitted from API requests. However, any field with an
10028	// empty value appearing in NullFields will be sent to the server as
10029	// null. It is an error if a field in this list has a non-empty value.
10030	// This may be used to include null fields in Patch requests.
10031	NullFields []string `json:"-"`
10032}
10033
10034func (s *GoogleCloudDialogflowV2EntityTypeEntity) MarshalJSON() ([]byte, error) {
10035	type NoMethod GoogleCloudDialogflowV2EntityTypeEntity
10036	raw := NoMethod(*s)
10037	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10038}
10039
10040// GoogleCloudDialogflowV2EventInput: Events allow for matching intents
10041// by event name instead of the natural language input. For instance,
10042// input `` can trigger a personalized welcome response. The parameter
10043// `name` may be used by the agent in the response: "Hello
10044// #welcome_event.name! What can I do for you today?".
10045type GoogleCloudDialogflowV2EventInput struct {
10046	// LanguageCode: Required. The language of this query. See Language
10047	// Support (https://cloud.google.com/dialogflow/docs/reference/language)
10048	// for a list of the currently supported language codes. Note that
10049	// queries in the same session do not necessarily need to specify the
10050	// same language.
10051	LanguageCode string `json:"languageCode,omitempty"`
10052
10053	// Name: Required. The unique identifier of the event.
10054	Name string `json:"name,omitempty"`
10055
10056	// Parameters: The collection of parameters associated with the event.
10057	// Depending on your protocol or client library language, this is a map,
10058	// associative array, symbol table, dictionary, or JSON object composed
10059	// of a collection of (MapKey, MapValue) pairs: - MapKey type: string -
10060	// MapKey value: parameter name - MapValue type: - If parameter's entity
10061	// type is a composite entity: map - Else: depending on parameter value
10062	// type, could be one of string, number, boolean, null, list or map -
10063	// MapValue value: - If parameter's entity type is a composite entity:
10064	// map from composite entity property names to property values - Else:
10065	// parameter value
10066	Parameters googleapi.RawMessage `json:"parameters,omitempty"`
10067
10068	// ForceSendFields is a list of field names (e.g. "LanguageCode") to
10069	// unconditionally include in API requests. By default, fields with
10070	// empty values are omitted from API requests. However, any non-pointer,
10071	// non-interface field appearing in ForceSendFields will be sent to the
10072	// server regardless of whether the field is empty or not. This may be
10073	// used to include empty fields in Patch requests.
10074	ForceSendFields []string `json:"-"`
10075
10076	// NullFields is a list of field names (e.g. "LanguageCode") to include
10077	// in API requests with the JSON null value. By default, fields with
10078	// empty values are omitted from API requests. However, any field with
10079	// an empty value appearing in NullFields will be sent to the server as
10080	// null. It is an error if a field in this list has a non-empty value.
10081	// This may be used to include null fields in Patch requests.
10082	NullFields []string `json:"-"`
10083}
10084
10085func (s *GoogleCloudDialogflowV2EventInput) MarshalJSON() ([]byte, error) {
10086	type NoMethod GoogleCloudDialogflowV2EventInput
10087	raw := NoMethod(*s)
10088	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10089}
10090
10091// GoogleCloudDialogflowV2ExportAgentResponse: The response message for
10092// Agents.ExportAgent.
10093type GoogleCloudDialogflowV2ExportAgentResponse struct {
10094	// AgentContent: Zip compressed raw byte content for agent.
10095	AgentContent string `json:"agentContent,omitempty"`
10096
10097	// AgentUri: The URI to a file containing the exported agent. This field
10098	// is populated only if `agent_uri` is specified in
10099	// `ExportAgentRequest`.
10100	AgentUri string `json:"agentUri,omitempty"`
10101
10102	// ForceSendFields is a list of field names (e.g. "AgentContent") to
10103	// unconditionally include in API requests. By default, fields with
10104	// empty values are omitted from API requests. However, any non-pointer,
10105	// non-interface field appearing in ForceSendFields will be sent to the
10106	// server regardless of whether the field is empty or not. This may be
10107	// used to include empty fields in Patch requests.
10108	ForceSendFields []string `json:"-"`
10109
10110	// NullFields is a list of field names (e.g. "AgentContent") to include
10111	// in API requests with the JSON null value. By default, fields with
10112	// empty values are omitted from API requests. However, any field with
10113	// an empty value appearing in NullFields will be sent to the server as
10114	// null. It is an error if a field in this list has a non-empty value.
10115	// This may be used to include null fields in Patch requests.
10116	NullFields []string `json:"-"`
10117}
10118
10119func (s *GoogleCloudDialogflowV2ExportAgentResponse) MarshalJSON() ([]byte, error) {
10120	type NoMethod GoogleCloudDialogflowV2ExportAgentResponse
10121	raw := NoMethod(*s)
10122	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10123}
10124
10125// GoogleCloudDialogflowV2FaqAnswer: Represents answer from "frequently
10126// asked questions".
10127type GoogleCloudDialogflowV2FaqAnswer struct {
10128	// Answer: The piece of text from the `source` knowledge base document.
10129	Answer string `json:"answer,omitempty"`
10130
10131	// AnswerRecord: The name of answer record, in the format of
10132	// "projects//locations//answerRecords/"
10133	AnswerRecord string `json:"answerRecord,omitempty"`
10134
10135	// Confidence: The system's confidence score that this Knowledge answer
10136	// is a good match for this conversational query, range from 0.0
10137	// (completely uncertain) to 1.0 (completely certain).
10138	Confidence float64 `json:"confidence,omitempty"`
10139
10140	// Metadata: A map that contains metadata about the answer and the
10141	// document from which it originates.
10142	Metadata map[string]string `json:"metadata,omitempty"`
10143
10144	// Question: The corresponding FAQ question.
10145	Question string `json:"question,omitempty"`
10146
10147	// Source: Indicates which Knowledge Document this answer was extracted
10148	// from. Format:
10149	// `projects//locations//agent/knowledgeBases//documents/`.
10150	Source string `json:"source,omitempty"`
10151
10152	// ForceSendFields is a list of field names (e.g. "Answer") to
10153	// unconditionally include in API requests. By default, fields with
10154	// empty values are omitted from API requests. However, any non-pointer,
10155	// non-interface field appearing in ForceSendFields will be sent to the
10156	// server regardless of whether the field is empty or not. This may be
10157	// used to include empty fields in Patch requests.
10158	ForceSendFields []string `json:"-"`
10159
10160	// NullFields is a list of field names (e.g. "Answer") to include in API
10161	// requests with the JSON null value. By default, fields with empty
10162	// values are omitted from API requests. However, any field with an
10163	// empty value appearing in NullFields will be sent to the server as
10164	// null. It is an error if a field in this list has a non-empty value.
10165	// This may be used to include null fields in Patch requests.
10166	NullFields []string `json:"-"`
10167}
10168
10169func (s *GoogleCloudDialogflowV2FaqAnswer) MarshalJSON() ([]byte, error) {
10170	type NoMethod GoogleCloudDialogflowV2FaqAnswer
10171	raw := NoMethod(*s)
10172	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10173}
10174
10175func (s *GoogleCloudDialogflowV2FaqAnswer) UnmarshalJSON(data []byte) error {
10176	type NoMethod GoogleCloudDialogflowV2FaqAnswer
10177	var s1 struct {
10178		Confidence gensupport.JSONFloat64 `json:"confidence"`
10179		*NoMethod
10180	}
10181	s1.NoMethod = (*NoMethod)(s)
10182	if err := json.Unmarshal(data, &s1); err != nil {
10183		return err
10184	}
10185	s.Confidence = float64(s1.Confidence)
10186	return nil
10187}
10188
10189// GoogleCloudDialogflowV2HumanAgentAssistantEvent: Represents a
10190// notification sent to Cloud Pub/Sub subscribers for human agent
10191// assistant events in a specific conversation.
10192type GoogleCloudDialogflowV2HumanAgentAssistantEvent struct {
10193	// Conversation: The conversation this notification refers to. Format:
10194	// `projects//conversations/`.
10195	Conversation string `json:"conversation,omitempty"`
10196
10197	// Participant: The participant that the suggestion is compiled for.
10198	// Format: `projects//conversations//participants/`. It will not be set
10199	// in legacy workflow.
10200	Participant string `json:"participant,omitempty"`
10201
10202	// SuggestionResults: The suggestion results payload that this
10203	// notification refers to.
10204	SuggestionResults []*GoogleCloudDialogflowV2SuggestionResult `json:"suggestionResults,omitempty"`
10205
10206	// ForceSendFields is a list of field names (e.g. "Conversation") to
10207	// unconditionally include in API requests. By default, fields with
10208	// empty values are omitted from API requests. However, any non-pointer,
10209	// non-interface field appearing in ForceSendFields will be sent to the
10210	// server regardless of whether the field is empty or not. This may be
10211	// used to include empty fields in Patch requests.
10212	ForceSendFields []string `json:"-"`
10213
10214	// NullFields is a list of field names (e.g. "Conversation") to include
10215	// in API requests with the JSON null value. By default, fields with
10216	// empty values are omitted from API requests. However, any field with
10217	// an empty value appearing in NullFields will be sent to the server as
10218	// null. It is an error if a field in this list has a non-empty value.
10219	// This may be used to include null fields in Patch requests.
10220	NullFields []string `json:"-"`
10221}
10222
10223func (s *GoogleCloudDialogflowV2HumanAgentAssistantEvent) MarshalJSON() ([]byte, error) {
10224	type NoMethod GoogleCloudDialogflowV2HumanAgentAssistantEvent
10225	raw := NoMethod(*s)
10226	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10227}
10228
10229// GoogleCloudDialogflowV2Intent: An intent categorizes an end-user's
10230// intention for one conversation turn. For each agent, you define many
10231// intents, where your combined intents can handle a complete
10232// conversation. When an end-user writes or says something, referred to
10233// as an end-user expression or end-user input, Dialogflow matches the
10234// end-user input to the best intent in your agent. Matching an intent
10235// is also known as intent classification. For more information, see the
10236// intent guide
10237// (https://cloud.google.com/dialogflow/docs/intents-overview).
10238type GoogleCloudDialogflowV2Intent struct {
10239	// Action: Optional. The name of the action associated with the intent.
10240	// Note: The action name must not contain whitespaces.
10241	Action string `json:"action,omitempty"`
10242
10243	// DefaultResponsePlatforms: Optional. The list of platforms for which
10244	// the first responses will be copied from the messages in
10245	// PLATFORM_UNSPECIFIED (i.e. default platform).
10246	//
10247	// Possible values:
10248	//   "PLATFORM_UNSPECIFIED" - Default platform.
10249	//   "FACEBOOK" - Facebook.
10250	//   "SLACK" - Slack.
10251	//   "TELEGRAM" - Telegram.
10252	//   "KIK" - Kik.
10253	//   "SKYPE" - Skype.
10254	//   "LINE" - Line.
10255	//   "VIBER" - Viber.
10256	//   "ACTIONS_ON_GOOGLE" - Google Assistant See [Dialogflow webhook
10257	// format](https://developers.google.com/assistant/actions/build/json/dia
10258	// logflow-webhook-json)
10259	//   "GOOGLE_HANGOUTS" - Google Hangouts.
10260	DefaultResponsePlatforms []string `json:"defaultResponsePlatforms,omitempty"`
10261
10262	// DisplayName: Required. The name of this intent.
10263	DisplayName string `json:"displayName,omitempty"`
10264
10265	// EndInteraction: Optional. Indicates that this intent ends an
10266	// interaction. Some integrations (e.g., Actions on Google or Dialogflow
10267	// phone gateway) use this information to close interaction with an end
10268	// user. Default is false.
10269	EndInteraction bool `json:"endInteraction,omitempty"`
10270
10271	// Events: Optional. The collection of event names that trigger the
10272	// intent. If the collection of input contexts is not empty, all of the
10273	// contexts must be present in the active user session for an event to
10274	// trigger this intent. Event names are limited to 150 characters.
10275	Events []string `json:"events,omitempty"`
10276
10277	// FollowupIntentInfo: Read-only. Information about all followup intents
10278	// that have this intent as a direct or indirect parent. We populate
10279	// this field only in the output.
10280	FollowupIntentInfo []*GoogleCloudDialogflowV2IntentFollowupIntentInfo `json:"followupIntentInfo,omitempty"`
10281
10282	// InputContextNames: Optional. The list of context names required for
10283	// this intent to be triggered. Format:
10284	// `projects//agent/sessions/-/contexts/`.
10285	InputContextNames []string `json:"inputContextNames,omitempty"`
10286
10287	// IsFallback: Optional. Indicates whether this is a fallback intent.
10288	IsFallback bool `json:"isFallback,omitempty"`
10289
10290	// LiveAgentHandoff: Optional. Indicates that a live agent should be
10291	// brought in to handle the interaction with the user. In most cases,
10292	// when you set this flag to true, you would also want to set
10293	// end_interaction to true as well. Default is false.
10294	LiveAgentHandoff bool `json:"liveAgentHandoff,omitempty"`
10295
10296	// Messages: Optional. The collection of rich messages corresponding to
10297	// the `Response` field in the Dialogflow console.
10298	Messages []*GoogleCloudDialogflowV2IntentMessage `json:"messages,omitempty"`
10299
10300	// MlDisabled: Optional. Indicates whether Machine Learning is disabled
10301	// for the intent. Note: If `ml_disabled` setting is set to true, then
10302	// this intent is not taken into account during inference in `ML ONLY`
10303	// match mode. Also, auto-markup in the UI is turned off.
10304	MlDisabled bool `json:"mlDisabled,omitempty"`
10305
10306	// Name: Optional. The unique identifier of this intent. Required for
10307	// Intents.UpdateIntent and Intents.BatchUpdateIntents methods. Format:
10308	// `projects//agent/intents/`.
10309	Name string `json:"name,omitempty"`
10310
10311	// OutputContexts: Optional. The collection of contexts that are
10312	// activated when the intent is matched. Context messages in this
10313	// collection should not set the parameters field. Setting the
10314	// `lifespan_count` to 0 will reset the context when the intent is
10315	// matched. Format: `projects//agent/sessions/-/contexts/`.
10316	OutputContexts []*GoogleCloudDialogflowV2Context `json:"outputContexts,omitempty"`
10317
10318	// Parameters: Optional. The collection of parameters associated with
10319	// the intent.
10320	Parameters []*GoogleCloudDialogflowV2IntentParameter `json:"parameters,omitempty"`
10321
10322	// ParentFollowupIntentName: Read-only after creation. The unique
10323	// identifier of the parent intent in the chain of followup intents. You
10324	// can set this field when creating an intent, for example with
10325	// CreateIntent or BatchUpdateIntents, in order to make this intent a
10326	// followup intent. It identifies the parent followup intent. Format:
10327	// `projects//agent/intents/`.
10328	ParentFollowupIntentName string `json:"parentFollowupIntentName,omitempty"`
10329
10330	// Priority: Optional. The priority of this intent. Higher numbers
10331	// represent higher priorities. - If the supplied value is unspecified
10332	// or 0, the service translates the value to 500,000, which corresponds
10333	// to the `Normal` priority in the console. - If the supplied value is
10334	// negative, the intent is ignored in runtime detect intent requests.
10335	Priority int64 `json:"priority,omitempty"`
10336
10337	// ResetContexts: Optional. Indicates whether to delete all contexts in
10338	// the current session when this intent is matched.
10339	ResetContexts bool `json:"resetContexts,omitempty"`
10340
10341	// RootFollowupIntentName: Read-only. The unique identifier of the root
10342	// intent in the chain of followup intents. It identifies the correct
10343	// followup intents chain for this intent. We populate this field only
10344	// in the output. Format: `projects//agent/intents/`.
10345	RootFollowupIntentName string `json:"rootFollowupIntentName,omitempty"`
10346
10347	// TrainingPhrases: Optional. The collection of examples that the agent
10348	// is trained on.
10349	TrainingPhrases []*GoogleCloudDialogflowV2IntentTrainingPhrase `json:"trainingPhrases,omitempty"`
10350
10351	// WebhookState: Optional. Indicates whether webhooks are enabled for
10352	// the intent.
10353	//
10354	// Possible values:
10355	//   "WEBHOOK_STATE_UNSPECIFIED" - Webhook is disabled in the agent and
10356	// in the intent.
10357	//   "WEBHOOK_STATE_ENABLED" - Webhook is enabled in the agent and in
10358	// the intent.
10359	//   "WEBHOOK_STATE_ENABLED_FOR_SLOT_FILLING" - Webhook is enabled in
10360	// the agent and in the intent. Also, each slot filling prompt is
10361	// forwarded to the webhook.
10362	WebhookState string `json:"webhookState,omitempty"`
10363
10364	// ForceSendFields is a list of field names (e.g. "Action") to
10365	// unconditionally include in API requests. By default, fields with
10366	// empty values are omitted from API requests. However, any non-pointer,
10367	// non-interface field appearing in ForceSendFields will be sent to the
10368	// server regardless of whether the field is empty or not. This may be
10369	// used to include empty fields in Patch requests.
10370	ForceSendFields []string `json:"-"`
10371
10372	// NullFields is a list of field names (e.g. "Action") to include in API
10373	// requests with the JSON null value. By default, fields with empty
10374	// values are omitted from API requests. However, any field with an
10375	// empty value appearing in NullFields will be sent to the server as
10376	// null. It is an error if a field in this list has a non-empty value.
10377	// This may be used to include null fields in Patch requests.
10378	NullFields []string `json:"-"`
10379}
10380
10381func (s *GoogleCloudDialogflowV2Intent) MarshalJSON() ([]byte, error) {
10382	type NoMethod GoogleCloudDialogflowV2Intent
10383	raw := NoMethod(*s)
10384	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10385}
10386
10387// GoogleCloudDialogflowV2IntentFollowupIntentInfo: Represents a single
10388// followup intent in the chain.
10389type GoogleCloudDialogflowV2IntentFollowupIntentInfo struct {
10390	// FollowupIntentName: The unique identifier of the followup intent.
10391	// Format: `projects//agent/intents/`.
10392	FollowupIntentName string `json:"followupIntentName,omitempty"`
10393
10394	// ParentFollowupIntentName: The unique identifier of the followup
10395	// intent's parent. Format: `projects//agent/intents/`.
10396	ParentFollowupIntentName string `json:"parentFollowupIntentName,omitempty"`
10397
10398	// ForceSendFields is a list of field names (e.g. "FollowupIntentName")
10399	// to unconditionally include in API requests. By default, fields with
10400	// empty values are omitted from API requests. However, any non-pointer,
10401	// non-interface field appearing in ForceSendFields will be sent to the
10402	// server regardless of whether the field is empty or not. This may be
10403	// used to include empty fields in Patch requests.
10404	ForceSendFields []string `json:"-"`
10405
10406	// NullFields is a list of field names (e.g. "FollowupIntentName") to
10407	// include in API requests with the JSON null value. By default, fields
10408	// with empty values are omitted from API requests. However, any field
10409	// with an empty value appearing in NullFields will be sent to the
10410	// server as null. It is an error if a field in this list has a
10411	// non-empty value. This may be used to include null fields in Patch
10412	// requests.
10413	NullFields []string `json:"-"`
10414}
10415
10416func (s *GoogleCloudDialogflowV2IntentFollowupIntentInfo) MarshalJSON() ([]byte, error) {
10417	type NoMethod GoogleCloudDialogflowV2IntentFollowupIntentInfo
10418	raw := NoMethod(*s)
10419	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10420}
10421
10422// GoogleCloudDialogflowV2IntentMessage: A rich response message.
10423// Corresponds to the intent `Response` field in the Dialogflow console.
10424// For more information, see Rich response messages
10425// (https://cloud.google.com/dialogflow/docs/intents-rich-messages).
10426type GoogleCloudDialogflowV2IntentMessage struct {
10427	// BasicCard: The basic card response for Actions on Google.
10428	BasicCard *GoogleCloudDialogflowV2IntentMessageBasicCard `json:"basicCard,omitempty"`
10429
10430	// BrowseCarouselCard: Browse carousel card for Actions on Google.
10431	BrowseCarouselCard *GoogleCloudDialogflowV2IntentMessageBrowseCarouselCard `json:"browseCarouselCard,omitempty"`
10432
10433	// Card: The card response.
10434	Card *GoogleCloudDialogflowV2IntentMessageCard `json:"card,omitempty"`
10435
10436	// CarouselSelect: The carousel card response for Actions on Google.
10437	CarouselSelect *GoogleCloudDialogflowV2IntentMessageCarouselSelect `json:"carouselSelect,omitempty"`
10438
10439	// Image: The image response.
10440	Image *GoogleCloudDialogflowV2IntentMessageImage `json:"image,omitempty"`
10441
10442	// LinkOutSuggestion: The link out suggestion chip for Actions on
10443	// Google.
10444	LinkOutSuggestion *GoogleCloudDialogflowV2IntentMessageLinkOutSuggestion `json:"linkOutSuggestion,omitempty"`
10445
10446	// ListSelect: The list card response for Actions on Google.
10447	ListSelect *GoogleCloudDialogflowV2IntentMessageListSelect `json:"listSelect,omitempty"`
10448
10449	// MediaContent: The media content card for Actions on Google.
10450	MediaContent *GoogleCloudDialogflowV2IntentMessageMediaContent `json:"mediaContent,omitempty"`
10451
10452	// Payload: A custom platform-specific response.
10453	Payload googleapi.RawMessage `json:"payload,omitempty"`
10454
10455	// Platform: Optional. The platform that this message is intended for.
10456	//
10457	// Possible values:
10458	//   "PLATFORM_UNSPECIFIED" - Default platform.
10459	//   "FACEBOOK" - Facebook.
10460	//   "SLACK" - Slack.
10461	//   "TELEGRAM" - Telegram.
10462	//   "KIK" - Kik.
10463	//   "SKYPE" - Skype.
10464	//   "LINE" - Line.
10465	//   "VIBER" - Viber.
10466	//   "ACTIONS_ON_GOOGLE" - Google Assistant See [Dialogflow webhook
10467	// format](https://developers.google.com/assistant/actions/build/json/dia
10468	// logflow-webhook-json)
10469	//   "GOOGLE_HANGOUTS" - Google Hangouts.
10470	Platform string `json:"platform,omitempty"`
10471
10472	// QuickReplies: The quick replies response.
10473	QuickReplies *GoogleCloudDialogflowV2IntentMessageQuickReplies `json:"quickReplies,omitempty"`
10474
10475	// SimpleResponses: The voice and text-only responses for Actions on
10476	// Google.
10477	SimpleResponses *GoogleCloudDialogflowV2IntentMessageSimpleResponses `json:"simpleResponses,omitempty"`
10478
10479	// Suggestions: The suggestion chips for Actions on Google.
10480	Suggestions *GoogleCloudDialogflowV2IntentMessageSuggestions `json:"suggestions,omitempty"`
10481
10482	// TableCard: Table card for Actions on Google.
10483	TableCard *GoogleCloudDialogflowV2IntentMessageTableCard `json:"tableCard,omitempty"`
10484
10485	// Text: The text response.
10486	Text *GoogleCloudDialogflowV2IntentMessageText `json:"text,omitempty"`
10487
10488	// ForceSendFields is a list of field names (e.g. "BasicCard") to
10489	// unconditionally include in API requests. By default, fields with
10490	// empty values are omitted from API requests. However, any non-pointer,
10491	// non-interface field appearing in ForceSendFields will be sent to the
10492	// server regardless of whether the field is empty or not. This may be
10493	// used to include empty fields in Patch requests.
10494	ForceSendFields []string `json:"-"`
10495
10496	// NullFields is a list of field names (e.g. "BasicCard") to include in
10497	// API requests with the JSON null value. By default, fields with empty
10498	// values are omitted from API requests. However, any field with an
10499	// empty value appearing in NullFields will be sent to the server as
10500	// null. It is an error if a field in this list has a non-empty value.
10501	// This may be used to include null fields in Patch requests.
10502	NullFields []string `json:"-"`
10503}
10504
10505func (s *GoogleCloudDialogflowV2IntentMessage) MarshalJSON() ([]byte, error) {
10506	type NoMethod GoogleCloudDialogflowV2IntentMessage
10507	raw := NoMethod(*s)
10508	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10509}
10510
10511// GoogleCloudDialogflowV2IntentMessageBasicCard: The basic card
10512// message. Useful for displaying information.
10513type GoogleCloudDialogflowV2IntentMessageBasicCard struct {
10514	// Buttons: Optional. The collection of card buttons.
10515	Buttons []*GoogleCloudDialogflowV2IntentMessageBasicCardButton `json:"buttons,omitempty"`
10516
10517	// FormattedText: Required, unless image is present. The body text of
10518	// the card.
10519	FormattedText string `json:"formattedText,omitempty"`
10520
10521	// Image: Optional. The image for the card.
10522	Image *GoogleCloudDialogflowV2IntentMessageImage `json:"image,omitempty"`
10523
10524	// Subtitle: Optional. The subtitle of the card.
10525	Subtitle string `json:"subtitle,omitempty"`
10526
10527	// Title: Optional. The title of the card.
10528	Title string `json:"title,omitempty"`
10529
10530	// ForceSendFields is a list of field names (e.g. "Buttons") to
10531	// unconditionally include in API requests. By default, fields with
10532	// empty values are omitted from API requests. However, any non-pointer,
10533	// non-interface field appearing in ForceSendFields will be sent to the
10534	// server regardless of whether the field is empty or not. This may be
10535	// used to include empty fields in Patch requests.
10536	ForceSendFields []string `json:"-"`
10537
10538	// NullFields is a list of field names (e.g. "Buttons") to include in
10539	// API requests with the JSON null value. By default, fields with empty
10540	// values are omitted from API requests. However, any field with an
10541	// empty value appearing in NullFields will be sent to the server as
10542	// null. It is an error if a field in this list has a non-empty value.
10543	// This may be used to include null fields in Patch requests.
10544	NullFields []string `json:"-"`
10545}
10546
10547func (s *GoogleCloudDialogflowV2IntentMessageBasicCard) MarshalJSON() ([]byte, error) {
10548	type NoMethod GoogleCloudDialogflowV2IntentMessageBasicCard
10549	raw := NoMethod(*s)
10550	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10551}
10552
10553// GoogleCloudDialogflowV2IntentMessageBasicCardButton: The button
10554// object that appears at the bottom of a card.
10555type GoogleCloudDialogflowV2IntentMessageBasicCardButton struct {
10556	// OpenUriAction: Required. Action to take when a user taps on the
10557	// button.
10558	OpenUriAction *GoogleCloudDialogflowV2IntentMessageBasicCardButtonOpenUriAction `json:"openUriAction,omitempty"`
10559
10560	// Title: Required. The title of the button.
10561	Title string `json:"title,omitempty"`
10562
10563	// ForceSendFields is a list of field names (e.g. "OpenUriAction") to
10564	// unconditionally include in API requests. By default, fields with
10565	// empty values are omitted from API requests. However, any non-pointer,
10566	// non-interface field appearing in ForceSendFields will be sent to the
10567	// server regardless of whether the field is empty or not. This may be
10568	// used to include empty fields in Patch requests.
10569	ForceSendFields []string `json:"-"`
10570
10571	// NullFields is a list of field names (e.g. "OpenUriAction") to include
10572	// in API requests with the JSON null value. By default, fields with
10573	// empty values are omitted from API requests. However, any field with
10574	// an empty value appearing in NullFields will be sent to the server as
10575	// null. It is an error if a field in this list has a non-empty value.
10576	// This may be used to include null fields in Patch requests.
10577	NullFields []string `json:"-"`
10578}
10579
10580func (s *GoogleCloudDialogflowV2IntentMessageBasicCardButton) MarshalJSON() ([]byte, error) {
10581	type NoMethod GoogleCloudDialogflowV2IntentMessageBasicCardButton
10582	raw := NoMethod(*s)
10583	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10584}
10585
10586// GoogleCloudDialogflowV2IntentMessageBasicCardButtonOpenUriAction:
10587// Opens the given URI.
10588type GoogleCloudDialogflowV2IntentMessageBasicCardButtonOpenUriAction struct {
10589	// Uri: Required. The HTTP or HTTPS scheme URI.
10590	Uri string `json:"uri,omitempty"`
10591
10592	// ForceSendFields is a list of field names (e.g. "Uri") to
10593	// unconditionally include in API requests. By default, fields with
10594	// empty values are omitted from API requests. However, any non-pointer,
10595	// non-interface field appearing in ForceSendFields will be sent to the
10596	// server regardless of whether the field is empty or not. This may be
10597	// used to include empty fields in Patch requests.
10598	ForceSendFields []string `json:"-"`
10599
10600	// NullFields is a list of field names (e.g. "Uri") to include in API
10601	// requests with the JSON null value. By default, fields with empty
10602	// values are omitted from API requests. However, any field with an
10603	// empty value appearing in NullFields will be sent to the server as
10604	// null. It is an error if a field in this list has a non-empty value.
10605	// This may be used to include null fields in Patch requests.
10606	NullFields []string `json:"-"`
10607}
10608
10609func (s *GoogleCloudDialogflowV2IntentMessageBasicCardButtonOpenUriAction) MarshalJSON() ([]byte, error) {
10610	type NoMethod GoogleCloudDialogflowV2IntentMessageBasicCardButtonOpenUriAction
10611	raw := NoMethod(*s)
10612	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10613}
10614
10615// GoogleCloudDialogflowV2IntentMessageBrowseCarouselCard: Browse
10616// Carousel Card for Actions on Google.
10617// https://developers.google.com/actions/assistant/responses#browsing_carousel
10618type GoogleCloudDialogflowV2IntentMessageBrowseCarouselCard struct {
10619	// ImageDisplayOptions: Optional. Settings for displaying the image.
10620	// Applies to every image in items.
10621	//
10622	// Possible values:
10623	//   "IMAGE_DISPLAY_OPTIONS_UNSPECIFIED" - Fill the gaps between the
10624	// image and the image container with gray bars.
10625	//   "GRAY" - Fill the gaps between the image and the image container
10626	// with gray bars.
10627	//   "WHITE" - Fill the gaps between the image and the image container
10628	// with white bars.
10629	//   "CROPPED" - Image is scaled such that the image width and height
10630	// match or exceed the container dimensions. This may crop the top and
10631	// bottom of the image if the scaled image height is greater than the
10632	// container height, or crop the left and right of the image if the
10633	// scaled image width is greater than the container width. This is
10634	// similar to "Zoom Mode" on a widescreen TV when playing a 4:3 video.
10635	//   "BLURRED_BACKGROUND" - Pad the gaps between image and image frame
10636	// with a blurred copy of the same image.
10637	ImageDisplayOptions string `json:"imageDisplayOptions,omitempty"`
10638
10639	// Items: Required. List of items in the Browse Carousel Card. Minimum
10640	// of two items, maximum of ten.
10641	Items []*GoogleCloudDialogflowV2IntentMessageBrowseCarouselCardBrowseCarouselCardItem `json:"items,omitempty"`
10642
10643	// ForceSendFields is a list of field names (e.g. "ImageDisplayOptions")
10644	// to unconditionally include in API requests. By default, fields with
10645	// empty values are omitted from API requests. However, any non-pointer,
10646	// non-interface field appearing in ForceSendFields will be sent to the
10647	// server regardless of whether the field is empty or not. This may be
10648	// used to include empty fields in Patch requests.
10649	ForceSendFields []string `json:"-"`
10650
10651	// NullFields is a list of field names (e.g. "ImageDisplayOptions") to
10652	// include in API requests with the JSON null value. By default, fields
10653	// with empty values are omitted from API requests. However, any field
10654	// with an empty value appearing in NullFields will be sent to the
10655	// server as null. It is an error if a field in this list has a
10656	// non-empty value. This may be used to include null fields in Patch
10657	// requests.
10658	NullFields []string `json:"-"`
10659}
10660
10661func (s *GoogleCloudDialogflowV2IntentMessageBrowseCarouselCard) MarshalJSON() ([]byte, error) {
10662	type NoMethod GoogleCloudDialogflowV2IntentMessageBrowseCarouselCard
10663	raw := NoMethod(*s)
10664	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10665}
10666
10667// GoogleCloudDialogflowV2IntentMessageBrowseCarouselCardBrowseCarouselCa
10668// rdItem: Browsing carousel tile
10669type GoogleCloudDialogflowV2IntentMessageBrowseCarouselCardBrowseCarouselCardItem struct {
10670	// Description: Optional. Description of the carousel item. Maximum of
10671	// four lines of text.
10672	Description string `json:"description,omitempty"`
10673
10674	// Footer: Optional. Text that appears at the bottom of the Browse
10675	// Carousel Card. Maximum of one line of text.
10676	Footer string `json:"footer,omitempty"`
10677
10678	// Image: Optional. Hero image for the carousel item.
10679	Image *GoogleCloudDialogflowV2IntentMessageImage `json:"image,omitempty"`
10680
10681	// OpenUriAction: Required. Action to present to the user.
10682	OpenUriAction *GoogleCloudDialogflowV2IntentMessageBrowseCarouselCardBrowseCarouselCardItemOpenUrlAction `json:"openUriAction,omitempty"`
10683
10684	// Title: Required. Title of the carousel item. Maximum of two lines of
10685	// text.
10686	Title string `json:"title,omitempty"`
10687
10688	// ForceSendFields is a list of field names (e.g. "Description") to
10689	// unconditionally include in API requests. By default, fields with
10690	// empty values are omitted from API requests. However, any non-pointer,
10691	// non-interface field appearing in ForceSendFields will be sent to the
10692	// server regardless of whether the field is empty or not. This may be
10693	// used to include empty fields in Patch requests.
10694	ForceSendFields []string `json:"-"`
10695
10696	// NullFields is a list of field names (e.g. "Description") to include
10697	// in API requests with the JSON null value. By default, fields with
10698	// empty values are omitted from API requests. However, any field with
10699	// an empty value appearing in NullFields will be sent to the server as
10700	// null. It is an error if a field in this list has a non-empty value.
10701	// This may be used to include null fields in Patch requests.
10702	NullFields []string `json:"-"`
10703}
10704
10705func (s *GoogleCloudDialogflowV2IntentMessageBrowseCarouselCardBrowseCarouselCardItem) MarshalJSON() ([]byte, error) {
10706	type NoMethod GoogleCloudDialogflowV2IntentMessageBrowseCarouselCardBrowseCarouselCardItem
10707	raw := NoMethod(*s)
10708	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10709}
10710
10711// GoogleCloudDialogflowV2IntentMessageBrowseCarouselCardBrowseCarouselCa
10712// rdItemOpenUrlAction: Actions on Google action to open a given url.
10713type GoogleCloudDialogflowV2IntentMessageBrowseCarouselCardBrowseCarouselCardItemOpenUrlAction struct {
10714	// Url: Required. URL
10715	Url string `json:"url,omitempty"`
10716
10717	// UrlTypeHint: Optional. Specifies the type of viewer that is used when
10718	// opening the URL. Defaults to opening via web browser.
10719	//
10720	// Possible values:
10721	//   "URL_TYPE_HINT_UNSPECIFIED" - Unspecified
10722	//   "AMP_ACTION" - Url would be an amp action
10723	//   "AMP_CONTENT" - URL that points directly to AMP content, or to a
10724	// canonical URL which refers to AMP content via .
10725	UrlTypeHint string `json:"urlTypeHint,omitempty"`
10726
10727	// ForceSendFields is a list of field names (e.g. "Url") to
10728	// unconditionally include in API requests. By default, fields with
10729	// empty values are omitted from API requests. However, any non-pointer,
10730	// non-interface field appearing in ForceSendFields will be sent to the
10731	// server regardless of whether the field is empty or not. This may be
10732	// used to include empty fields in Patch requests.
10733	ForceSendFields []string `json:"-"`
10734
10735	// NullFields is a list of field names (e.g. "Url") to include in API
10736	// requests with the JSON null value. By default, fields with empty
10737	// values are omitted from API requests. However, any field with an
10738	// empty value appearing in NullFields will be sent to the server as
10739	// null. It is an error if a field in this list has a non-empty value.
10740	// This may be used to include null fields in Patch requests.
10741	NullFields []string `json:"-"`
10742}
10743
10744func (s *GoogleCloudDialogflowV2IntentMessageBrowseCarouselCardBrowseCarouselCardItemOpenUrlAction) MarshalJSON() ([]byte, error) {
10745	type NoMethod GoogleCloudDialogflowV2IntentMessageBrowseCarouselCardBrowseCarouselCardItemOpenUrlAction
10746	raw := NoMethod(*s)
10747	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10748}
10749
10750// GoogleCloudDialogflowV2IntentMessageCard: The card response message.
10751type GoogleCloudDialogflowV2IntentMessageCard struct {
10752	// Buttons: Optional. The collection of card buttons.
10753	Buttons []*GoogleCloudDialogflowV2IntentMessageCardButton `json:"buttons,omitempty"`
10754
10755	// ImageUri: Optional. The public URI to an image file for the card.
10756	ImageUri string `json:"imageUri,omitempty"`
10757
10758	// Subtitle: Optional. The subtitle of the card.
10759	Subtitle string `json:"subtitle,omitempty"`
10760
10761	// Title: Optional. The title of the card.
10762	Title string `json:"title,omitempty"`
10763
10764	// ForceSendFields is a list of field names (e.g. "Buttons") to
10765	// unconditionally include in API requests. By default, fields with
10766	// empty values are omitted from API requests. However, any non-pointer,
10767	// non-interface field appearing in ForceSendFields will be sent to the
10768	// server regardless of whether the field is empty or not. This may be
10769	// used to include empty fields in Patch requests.
10770	ForceSendFields []string `json:"-"`
10771
10772	// NullFields is a list of field names (e.g. "Buttons") to include in
10773	// API requests with the JSON null value. By default, fields with empty
10774	// values are omitted from API requests. However, any field with an
10775	// empty value appearing in NullFields will be sent to the server as
10776	// null. It is an error if a field in this list has a non-empty value.
10777	// This may be used to include null fields in Patch requests.
10778	NullFields []string `json:"-"`
10779}
10780
10781func (s *GoogleCloudDialogflowV2IntentMessageCard) MarshalJSON() ([]byte, error) {
10782	type NoMethod GoogleCloudDialogflowV2IntentMessageCard
10783	raw := NoMethod(*s)
10784	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10785}
10786
10787// GoogleCloudDialogflowV2IntentMessageCardButton: Contains information
10788// about a button.
10789type GoogleCloudDialogflowV2IntentMessageCardButton struct {
10790	// Postback: Optional. The text to send back to the Dialogflow API or a
10791	// URI to open.
10792	Postback string `json:"postback,omitempty"`
10793
10794	// Text: Optional. The text to show on the button.
10795	Text string `json:"text,omitempty"`
10796
10797	// ForceSendFields is a list of field names (e.g. "Postback") to
10798	// unconditionally include in API requests. By default, fields with
10799	// empty values are omitted from API requests. However, any non-pointer,
10800	// non-interface field appearing in ForceSendFields will be sent to the
10801	// server regardless of whether the field is empty or not. This may be
10802	// used to include empty fields in Patch requests.
10803	ForceSendFields []string `json:"-"`
10804
10805	// NullFields is a list of field names (e.g. "Postback") to include in
10806	// API requests with the JSON null value. By default, fields with empty
10807	// values are omitted from API requests. However, any field with an
10808	// empty value appearing in NullFields will be sent to the server as
10809	// null. It is an error if a field in this list has a non-empty value.
10810	// This may be used to include null fields in Patch requests.
10811	NullFields []string `json:"-"`
10812}
10813
10814func (s *GoogleCloudDialogflowV2IntentMessageCardButton) MarshalJSON() ([]byte, error) {
10815	type NoMethod GoogleCloudDialogflowV2IntentMessageCardButton
10816	raw := NoMethod(*s)
10817	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10818}
10819
10820// GoogleCloudDialogflowV2IntentMessageCarouselSelect: The card for
10821// presenting a carousel of options to select from.
10822type GoogleCloudDialogflowV2IntentMessageCarouselSelect struct {
10823	// Items: Required. Carousel items.
10824	Items []*GoogleCloudDialogflowV2IntentMessageCarouselSelectItem `json:"items,omitempty"`
10825
10826	// ForceSendFields is a list of field names (e.g. "Items") to
10827	// unconditionally include in API requests. By default, fields with
10828	// empty values are omitted from API requests. However, any non-pointer,
10829	// non-interface field appearing in ForceSendFields will be sent to the
10830	// server regardless of whether the field is empty or not. This may be
10831	// used to include empty fields in Patch requests.
10832	ForceSendFields []string `json:"-"`
10833
10834	// NullFields is a list of field names (e.g. "Items") to include in API
10835	// requests with the JSON null value. By default, fields with empty
10836	// values are omitted from API requests. However, any field with an
10837	// empty value appearing in NullFields will be sent to the server as
10838	// null. It is an error if a field in this list has a non-empty value.
10839	// This may be used to include null fields in Patch requests.
10840	NullFields []string `json:"-"`
10841}
10842
10843func (s *GoogleCloudDialogflowV2IntentMessageCarouselSelect) MarshalJSON() ([]byte, error) {
10844	type NoMethod GoogleCloudDialogflowV2IntentMessageCarouselSelect
10845	raw := NoMethod(*s)
10846	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10847}
10848
10849// GoogleCloudDialogflowV2IntentMessageCarouselSelectItem: An item in
10850// the carousel.
10851type GoogleCloudDialogflowV2IntentMessageCarouselSelectItem struct {
10852	// Description: Optional. The body text of the card.
10853	Description string `json:"description,omitempty"`
10854
10855	// Image: Optional. The image to display.
10856	Image *GoogleCloudDialogflowV2IntentMessageImage `json:"image,omitempty"`
10857
10858	// Info: Required. Additional info about the option item.
10859	Info *GoogleCloudDialogflowV2IntentMessageSelectItemInfo `json:"info,omitempty"`
10860
10861	// Title: Required. Title of the carousel item.
10862	Title string `json:"title,omitempty"`
10863
10864	// ForceSendFields is a list of field names (e.g. "Description") to
10865	// unconditionally include in API requests. By default, fields with
10866	// empty values are omitted from API requests. However, any non-pointer,
10867	// non-interface field appearing in ForceSendFields will be sent to the
10868	// server regardless of whether the field is empty or not. This may be
10869	// used to include empty fields in Patch requests.
10870	ForceSendFields []string `json:"-"`
10871
10872	// NullFields is a list of field names (e.g. "Description") to include
10873	// in API requests with the JSON null value. By default, fields with
10874	// empty values are omitted from API requests. However, any field with
10875	// an empty value appearing in NullFields will be sent to the server as
10876	// null. It is an error if a field in this list has a non-empty value.
10877	// This may be used to include null fields in Patch requests.
10878	NullFields []string `json:"-"`
10879}
10880
10881func (s *GoogleCloudDialogflowV2IntentMessageCarouselSelectItem) MarshalJSON() ([]byte, error) {
10882	type NoMethod GoogleCloudDialogflowV2IntentMessageCarouselSelectItem
10883	raw := NoMethod(*s)
10884	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10885}
10886
10887// GoogleCloudDialogflowV2IntentMessageColumnProperties: Column
10888// properties for TableCard.
10889type GoogleCloudDialogflowV2IntentMessageColumnProperties struct {
10890	// Header: Required. Column heading.
10891	Header string `json:"header,omitempty"`
10892
10893	// HorizontalAlignment: Optional. Defines text alignment for all cells
10894	// in this column.
10895	//
10896	// Possible values:
10897	//   "HORIZONTAL_ALIGNMENT_UNSPECIFIED" - Text is aligned to the leading
10898	// edge of the column.
10899	//   "LEADING" - Text is aligned to the leading edge of the column.
10900	//   "CENTER" - Text is centered in the column.
10901	//   "TRAILING" - Text is aligned to the trailing edge of the column.
10902	HorizontalAlignment string `json:"horizontalAlignment,omitempty"`
10903
10904	// ForceSendFields is a list of field names (e.g. "Header") to
10905	// unconditionally include in API requests. By default, fields with
10906	// empty values are omitted from API requests. However, any non-pointer,
10907	// non-interface field appearing in ForceSendFields will be sent to the
10908	// server regardless of whether the field is empty or not. This may be
10909	// used to include empty fields in Patch requests.
10910	ForceSendFields []string `json:"-"`
10911
10912	// NullFields is a list of field names (e.g. "Header") to include in API
10913	// requests with the JSON null value. By default, fields with empty
10914	// values are omitted from API requests. However, any field with an
10915	// empty value appearing in NullFields will be sent to the server as
10916	// null. It is an error if a field in this list has a non-empty value.
10917	// This may be used to include null fields in Patch requests.
10918	NullFields []string `json:"-"`
10919}
10920
10921func (s *GoogleCloudDialogflowV2IntentMessageColumnProperties) MarshalJSON() ([]byte, error) {
10922	type NoMethod GoogleCloudDialogflowV2IntentMessageColumnProperties
10923	raw := NoMethod(*s)
10924	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10925}
10926
10927// GoogleCloudDialogflowV2IntentMessageImage: The image response
10928// message.
10929type GoogleCloudDialogflowV2IntentMessageImage struct {
10930	// AccessibilityText: Optional. A text description of the image to be
10931	// used for accessibility, e.g., screen readers.
10932	AccessibilityText string `json:"accessibilityText,omitempty"`
10933
10934	// ImageUri: Optional. The public URI to an image file.
10935	ImageUri string `json:"imageUri,omitempty"`
10936
10937	// ForceSendFields is a list of field names (e.g. "AccessibilityText")
10938	// to unconditionally include in API requests. By default, fields with
10939	// empty values are omitted from API requests. However, any non-pointer,
10940	// non-interface field appearing in ForceSendFields will be sent to the
10941	// server regardless of whether the field is empty or not. This may be
10942	// used to include empty fields in Patch requests.
10943	ForceSendFields []string `json:"-"`
10944
10945	// NullFields is a list of field names (e.g. "AccessibilityText") to
10946	// include in API requests with the JSON null value. By default, fields
10947	// with empty values are omitted from API requests. However, any field
10948	// with an empty value appearing in NullFields will be sent to the
10949	// server as null. It is an error if a field in this list has a
10950	// non-empty value. This may be used to include null fields in Patch
10951	// requests.
10952	NullFields []string `json:"-"`
10953}
10954
10955func (s *GoogleCloudDialogflowV2IntentMessageImage) MarshalJSON() ([]byte, error) {
10956	type NoMethod GoogleCloudDialogflowV2IntentMessageImage
10957	raw := NoMethod(*s)
10958	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10959}
10960
10961// GoogleCloudDialogflowV2IntentMessageLinkOutSuggestion: The suggestion
10962// chip message that allows the user to jump out to the app or website
10963// associated with this agent.
10964type GoogleCloudDialogflowV2IntentMessageLinkOutSuggestion struct {
10965	// DestinationName: Required. The name of the app or site this chip is
10966	// linking to.
10967	DestinationName string `json:"destinationName,omitempty"`
10968
10969	// Uri: Required. The URI of the app or site to open when the user taps
10970	// the suggestion chip.
10971	Uri string `json:"uri,omitempty"`
10972
10973	// ForceSendFields is a list of field names (e.g. "DestinationName") to
10974	// unconditionally include in API requests. By default, fields with
10975	// empty values are omitted from API requests. However, any non-pointer,
10976	// non-interface field appearing in ForceSendFields will be sent to the
10977	// server regardless of whether the field is empty or not. This may be
10978	// used to include empty fields in Patch requests.
10979	ForceSendFields []string `json:"-"`
10980
10981	// NullFields is a list of field names (e.g. "DestinationName") to
10982	// include in API requests with the JSON null value. By default, fields
10983	// with empty values are omitted from API requests. However, any field
10984	// with an empty value appearing in NullFields will be sent to the
10985	// server as null. It is an error if a field in this list has a
10986	// non-empty value. This may be used to include null fields in Patch
10987	// requests.
10988	NullFields []string `json:"-"`
10989}
10990
10991func (s *GoogleCloudDialogflowV2IntentMessageLinkOutSuggestion) MarshalJSON() ([]byte, error) {
10992	type NoMethod GoogleCloudDialogflowV2IntentMessageLinkOutSuggestion
10993	raw := NoMethod(*s)
10994	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10995}
10996
10997// GoogleCloudDialogflowV2IntentMessageListSelect: The card for
10998// presenting a list of options to select from.
10999type GoogleCloudDialogflowV2IntentMessageListSelect struct {
11000	// Items: Required. List items.
11001	Items []*GoogleCloudDialogflowV2IntentMessageListSelectItem `json:"items,omitempty"`
11002
11003	// Subtitle: Optional. Subtitle of the list.
11004	Subtitle string `json:"subtitle,omitempty"`
11005
11006	// Title: Optional. The overall title of the list.
11007	Title string `json:"title,omitempty"`
11008
11009	// ForceSendFields is a list of field names (e.g. "Items") to
11010	// unconditionally include in API requests. By default, fields with
11011	// empty values are omitted from API requests. However, any non-pointer,
11012	// non-interface field appearing in ForceSendFields will be sent to the
11013	// server regardless of whether the field is empty or not. This may be
11014	// used to include empty fields in Patch requests.
11015	ForceSendFields []string `json:"-"`
11016
11017	// NullFields is a list of field names (e.g. "Items") to include in API
11018	// requests with the JSON null value. By default, fields with empty
11019	// values are omitted from API requests. However, any field with an
11020	// empty value appearing in NullFields will be sent to the server as
11021	// null. It is an error if a field in this list has a non-empty value.
11022	// This may be used to include null fields in Patch requests.
11023	NullFields []string `json:"-"`
11024}
11025
11026func (s *GoogleCloudDialogflowV2IntentMessageListSelect) MarshalJSON() ([]byte, error) {
11027	type NoMethod GoogleCloudDialogflowV2IntentMessageListSelect
11028	raw := NoMethod(*s)
11029	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11030}
11031
11032// GoogleCloudDialogflowV2IntentMessageListSelectItem: An item in the
11033// list.
11034type GoogleCloudDialogflowV2IntentMessageListSelectItem struct {
11035	// Description: Optional. The main text describing the item.
11036	Description string `json:"description,omitempty"`
11037
11038	// Image: Optional. The image to display.
11039	Image *GoogleCloudDialogflowV2IntentMessageImage `json:"image,omitempty"`
11040
11041	// Info: Required. Additional information about this option.
11042	Info *GoogleCloudDialogflowV2IntentMessageSelectItemInfo `json:"info,omitempty"`
11043
11044	// Title: Required. The title of the list item.
11045	Title string `json:"title,omitempty"`
11046
11047	// ForceSendFields is a list of field names (e.g. "Description") to
11048	// unconditionally include in API requests. By default, fields with
11049	// empty values are omitted from API requests. However, any non-pointer,
11050	// non-interface field appearing in ForceSendFields will be sent to the
11051	// server regardless of whether the field is empty or not. This may be
11052	// used to include empty fields in Patch requests.
11053	ForceSendFields []string `json:"-"`
11054
11055	// NullFields is a list of field names (e.g. "Description") to include
11056	// in API requests with the JSON null value. By default, fields with
11057	// empty values are omitted from API requests. However, any field with
11058	// an empty value appearing in NullFields will be sent to the server as
11059	// null. It is an error if a field in this list has a non-empty value.
11060	// This may be used to include null fields in Patch requests.
11061	NullFields []string `json:"-"`
11062}
11063
11064func (s *GoogleCloudDialogflowV2IntentMessageListSelectItem) MarshalJSON() ([]byte, error) {
11065	type NoMethod GoogleCloudDialogflowV2IntentMessageListSelectItem
11066	raw := NoMethod(*s)
11067	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11068}
11069
11070// GoogleCloudDialogflowV2IntentMessageMediaContent: The media content
11071// card for Actions on Google.
11072type GoogleCloudDialogflowV2IntentMessageMediaContent struct {
11073	// MediaObjects: Required. List of media objects.
11074	MediaObjects []*GoogleCloudDialogflowV2IntentMessageMediaContentResponseMediaObject `json:"mediaObjects,omitempty"`
11075
11076	// MediaType: Optional. What type of media is the content (ie "audio").
11077	//
11078	// Possible values:
11079	//   "RESPONSE_MEDIA_TYPE_UNSPECIFIED" - Unspecified.
11080	//   "AUDIO" - Response media type is audio.
11081	MediaType string `json:"mediaType,omitempty"`
11082
11083	// ForceSendFields is a list of field names (e.g. "MediaObjects") to
11084	// unconditionally include in API requests. By default, fields with
11085	// empty values are omitted from API requests. However, any non-pointer,
11086	// non-interface field appearing in ForceSendFields will be sent to the
11087	// server regardless of whether the field is empty or not. This may be
11088	// used to include empty fields in Patch requests.
11089	ForceSendFields []string `json:"-"`
11090
11091	// NullFields is a list of field names (e.g. "MediaObjects") to include
11092	// in API requests with the JSON null value. By default, fields with
11093	// empty values are omitted from API requests. However, any field with
11094	// an empty value appearing in NullFields will be sent to the server as
11095	// null. It is an error if a field in this list has a non-empty value.
11096	// This may be used to include null fields in Patch requests.
11097	NullFields []string `json:"-"`
11098}
11099
11100func (s *GoogleCloudDialogflowV2IntentMessageMediaContent) MarshalJSON() ([]byte, error) {
11101	type NoMethod GoogleCloudDialogflowV2IntentMessageMediaContent
11102	raw := NoMethod(*s)
11103	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11104}
11105
11106// GoogleCloudDialogflowV2IntentMessageMediaContentResponseMediaObject:
11107// Response media object for media content card.
11108type GoogleCloudDialogflowV2IntentMessageMediaContentResponseMediaObject struct {
11109	// ContentUrl: Required. Url where the media is stored.
11110	ContentUrl string `json:"contentUrl,omitempty"`
11111
11112	// Description: Optional. Description of media card.
11113	Description string `json:"description,omitempty"`
11114
11115	// Icon: Optional. Icon to display above media content.
11116	Icon *GoogleCloudDialogflowV2IntentMessageImage `json:"icon,omitempty"`
11117
11118	// LargeImage: Optional. Image to display above media content.
11119	LargeImage *GoogleCloudDialogflowV2IntentMessageImage `json:"largeImage,omitempty"`
11120
11121	// Name: Required. Name of media card.
11122	Name string `json:"name,omitempty"`
11123
11124	// ForceSendFields is a list of field names (e.g. "ContentUrl") to
11125	// unconditionally include in API requests. By default, fields with
11126	// empty values are omitted from API requests. However, any non-pointer,
11127	// non-interface field appearing in ForceSendFields will be sent to the
11128	// server regardless of whether the field is empty or not. This may be
11129	// used to include empty fields in Patch requests.
11130	ForceSendFields []string `json:"-"`
11131
11132	// NullFields is a list of field names (e.g. "ContentUrl") to include in
11133	// API requests with the JSON null value. By default, fields with empty
11134	// values are omitted from API requests. However, any field with an
11135	// empty value appearing in NullFields will be sent to the server as
11136	// null. It is an error if a field in this list has a non-empty value.
11137	// This may be used to include null fields in Patch requests.
11138	NullFields []string `json:"-"`
11139}
11140
11141func (s *GoogleCloudDialogflowV2IntentMessageMediaContentResponseMediaObject) MarshalJSON() ([]byte, error) {
11142	type NoMethod GoogleCloudDialogflowV2IntentMessageMediaContentResponseMediaObject
11143	raw := NoMethod(*s)
11144	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11145}
11146
11147// GoogleCloudDialogflowV2IntentMessageQuickReplies: The quick replies
11148// response message.
11149type GoogleCloudDialogflowV2IntentMessageQuickReplies struct {
11150	// QuickReplies: Optional. The collection of quick replies.
11151	QuickReplies []string `json:"quickReplies,omitempty"`
11152
11153	// Title: Optional. The title of the collection of quick replies.
11154	Title string `json:"title,omitempty"`
11155
11156	// ForceSendFields is a list of field names (e.g. "QuickReplies") to
11157	// unconditionally include in API requests. By default, fields with
11158	// empty values are omitted from API requests. However, any non-pointer,
11159	// non-interface field appearing in ForceSendFields will be sent to the
11160	// server regardless of whether the field is empty or not. This may be
11161	// used to include empty fields in Patch requests.
11162	ForceSendFields []string `json:"-"`
11163
11164	// NullFields is a list of field names (e.g. "QuickReplies") to include
11165	// in API requests with the JSON null value. By default, fields with
11166	// empty values are omitted from API requests. However, any field with
11167	// an empty value appearing in NullFields will be sent to the server as
11168	// null. It is an error if a field in this list has a non-empty value.
11169	// This may be used to include null fields in Patch requests.
11170	NullFields []string `json:"-"`
11171}
11172
11173func (s *GoogleCloudDialogflowV2IntentMessageQuickReplies) MarshalJSON() ([]byte, error) {
11174	type NoMethod GoogleCloudDialogflowV2IntentMessageQuickReplies
11175	raw := NoMethod(*s)
11176	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11177}
11178
11179// GoogleCloudDialogflowV2IntentMessageSelectItemInfo: Additional info
11180// about the select item for when it is triggered in a dialog.
11181type GoogleCloudDialogflowV2IntentMessageSelectItemInfo struct {
11182	// Key: Required. A unique key that will be sent back to the agent if
11183	// this response is given.
11184	Key string `json:"key,omitempty"`
11185
11186	// Synonyms: Optional. A list of synonyms that can also be used to
11187	// trigger this item in dialog.
11188	Synonyms []string `json:"synonyms,omitempty"`
11189
11190	// ForceSendFields is a list of field names (e.g. "Key") to
11191	// unconditionally include in API requests. By default, fields with
11192	// empty values are omitted from API requests. However, any non-pointer,
11193	// non-interface field appearing in ForceSendFields will be sent to the
11194	// server regardless of whether the field is empty or not. This may be
11195	// used to include empty fields in Patch requests.
11196	ForceSendFields []string `json:"-"`
11197
11198	// NullFields is a list of field names (e.g. "Key") to include in API
11199	// requests with the JSON null value. By default, fields with empty
11200	// values are omitted from API requests. However, any field with an
11201	// empty value appearing in NullFields will be sent to the server as
11202	// null. It is an error if a field in this list has a non-empty value.
11203	// This may be used to include null fields in Patch requests.
11204	NullFields []string `json:"-"`
11205}
11206
11207func (s *GoogleCloudDialogflowV2IntentMessageSelectItemInfo) MarshalJSON() ([]byte, error) {
11208	type NoMethod GoogleCloudDialogflowV2IntentMessageSelectItemInfo
11209	raw := NoMethod(*s)
11210	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11211}
11212
11213// GoogleCloudDialogflowV2IntentMessageSimpleResponse: The simple
11214// response message containing speech or text.
11215type GoogleCloudDialogflowV2IntentMessageSimpleResponse struct {
11216	// DisplayText: Optional. The text to display.
11217	DisplayText string `json:"displayText,omitempty"`
11218
11219	// Ssml: One of text_to_speech or ssml must be provided. Structured
11220	// spoken response to the user in the SSML format. Mutually exclusive
11221	// with text_to_speech.
11222	Ssml string `json:"ssml,omitempty"`
11223
11224	// TextToSpeech: One of text_to_speech or ssml must be provided. The
11225	// plain text of the speech output. Mutually exclusive with ssml.
11226	TextToSpeech string `json:"textToSpeech,omitempty"`
11227
11228	// ForceSendFields is a list of field names (e.g. "DisplayText") to
11229	// unconditionally include in API requests. By default, fields with
11230	// empty values are omitted from API requests. However, any non-pointer,
11231	// non-interface field appearing in ForceSendFields will be sent to the
11232	// server regardless of whether the field is empty or not. This may be
11233	// used to include empty fields in Patch requests.
11234	ForceSendFields []string `json:"-"`
11235
11236	// NullFields is a list of field names (e.g. "DisplayText") to include
11237	// in API requests with the JSON null value. By default, fields with
11238	// empty values are omitted from API requests. However, any field with
11239	// an empty value appearing in NullFields will be sent to the server as
11240	// null. It is an error if a field in this list has a non-empty value.
11241	// This may be used to include null fields in Patch requests.
11242	NullFields []string `json:"-"`
11243}
11244
11245func (s *GoogleCloudDialogflowV2IntentMessageSimpleResponse) MarshalJSON() ([]byte, error) {
11246	type NoMethod GoogleCloudDialogflowV2IntentMessageSimpleResponse
11247	raw := NoMethod(*s)
11248	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11249}
11250
11251// GoogleCloudDialogflowV2IntentMessageSimpleResponses: The collection
11252// of simple response candidates. This message in
11253// `QueryResult.fulfillment_messages` and
11254// `WebhookResponse.fulfillment_messages` should contain only one
11255// `SimpleResponse`.
11256type GoogleCloudDialogflowV2IntentMessageSimpleResponses struct {
11257	// SimpleResponses: Required. The list of simple responses.
11258	SimpleResponses []*GoogleCloudDialogflowV2IntentMessageSimpleResponse `json:"simpleResponses,omitempty"`
11259
11260	// ForceSendFields is a list of field names (e.g. "SimpleResponses") to
11261	// unconditionally include in API requests. By default, fields with
11262	// empty values are omitted from API requests. However, any non-pointer,
11263	// non-interface field appearing in ForceSendFields will be sent to the
11264	// server regardless of whether the field is empty or not. This may be
11265	// used to include empty fields in Patch requests.
11266	ForceSendFields []string `json:"-"`
11267
11268	// NullFields is a list of field names (e.g. "SimpleResponses") to
11269	// include in API requests with the JSON null value. By default, fields
11270	// with empty values are omitted from API requests. However, any field
11271	// with an empty value appearing in NullFields will be sent to the
11272	// server as null. It is an error if a field in this list has a
11273	// non-empty value. This may be used to include null fields in Patch
11274	// requests.
11275	NullFields []string `json:"-"`
11276}
11277
11278func (s *GoogleCloudDialogflowV2IntentMessageSimpleResponses) MarshalJSON() ([]byte, error) {
11279	type NoMethod GoogleCloudDialogflowV2IntentMessageSimpleResponses
11280	raw := NoMethod(*s)
11281	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11282}
11283
11284// GoogleCloudDialogflowV2IntentMessageSuggestion: The suggestion chip
11285// message that the user can tap to quickly post a reply to the
11286// conversation.
11287type GoogleCloudDialogflowV2IntentMessageSuggestion struct {
11288	// Title: Required. The text shown the in the suggestion chip.
11289	Title string `json:"title,omitempty"`
11290
11291	// ForceSendFields is a list of field names (e.g. "Title") to
11292	// unconditionally include in API requests. By default, fields with
11293	// empty values are omitted from API requests. However, any non-pointer,
11294	// non-interface field appearing in ForceSendFields will be sent to the
11295	// server regardless of whether the field is empty or not. This may be
11296	// used to include empty fields in Patch requests.
11297	ForceSendFields []string `json:"-"`
11298
11299	// NullFields is a list of field names (e.g. "Title") to include in API
11300	// requests with the JSON null value. By default, fields with empty
11301	// values are omitted from API requests. However, any field with an
11302	// empty value appearing in NullFields will be sent to the server as
11303	// null. It is an error if a field in this list has a non-empty value.
11304	// This may be used to include null fields in Patch requests.
11305	NullFields []string `json:"-"`
11306}
11307
11308func (s *GoogleCloudDialogflowV2IntentMessageSuggestion) MarshalJSON() ([]byte, error) {
11309	type NoMethod GoogleCloudDialogflowV2IntentMessageSuggestion
11310	raw := NoMethod(*s)
11311	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11312}
11313
11314// GoogleCloudDialogflowV2IntentMessageSuggestions: The collection of
11315// suggestions.
11316type GoogleCloudDialogflowV2IntentMessageSuggestions struct {
11317	// Suggestions: Required. The list of suggested replies.
11318	Suggestions []*GoogleCloudDialogflowV2IntentMessageSuggestion `json:"suggestions,omitempty"`
11319
11320	// ForceSendFields is a list of field names (e.g. "Suggestions") to
11321	// unconditionally include in API requests. By default, fields with
11322	// empty values are omitted from API requests. However, any non-pointer,
11323	// non-interface field appearing in ForceSendFields will be sent to the
11324	// server regardless of whether the field is empty or not. This may be
11325	// used to include empty fields in Patch requests.
11326	ForceSendFields []string `json:"-"`
11327
11328	// NullFields is a list of field names (e.g. "Suggestions") to include
11329	// in API requests with the JSON null value. By default, fields with
11330	// empty values are omitted from API requests. However, any field with
11331	// an empty value appearing in NullFields will be sent to the server as
11332	// null. It is an error if a field in this list has a non-empty value.
11333	// This may be used to include null fields in Patch requests.
11334	NullFields []string `json:"-"`
11335}
11336
11337func (s *GoogleCloudDialogflowV2IntentMessageSuggestions) MarshalJSON() ([]byte, error) {
11338	type NoMethod GoogleCloudDialogflowV2IntentMessageSuggestions
11339	raw := NoMethod(*s)
11340	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11341}
11342
11343// GoogleCloudDialogflowV2IntentMessageTableCard: Table card for Actions
11344// on Google.
11345type GoogleCloudDialogflowV2IntentMessageTableCard struct {
11346	// Buttons: Optional. List of buttons for the card.
11347	Buttons []*GoogleCloudDialogflowV2IntentMessageBasicCardButton `json:"buttons,omitempty"`
11348
11349	// ColumnProperties: Optional. Display properties for the columns in
11350	// this table.
11351	ColumnProperties []*GoogleCloudDialogflowV2IntentMessageColumnProperties `json:"columnProperties,omitempty"`
11352
11353	// Image: Optional. Image which should be displayed on the card.
11354	Image *GoogleCloudDialogflowV2IntentMessageImage `json:"image,omitempty"`
11355
11356	// Rows: Optional. Rows in this table of data.
11357	Rows []*GoogleCloudDialogflowV2IntentMessageTableCardRow `json:"rows,omitempty"`
11358
11359	// Subtitle: Optional. Subtitle to the title.
11360	Subtitle string `json:"subtitle,omitempty"`
11361
11362	// Title: Required. Title of the card.
11363	Title string `json:"title,omitempty"`
11364
11365	// ForceSendFields is a list of field names (e.g. "Buttons") to
11366	// unconditionally include in API requests. By default, fields with
11367	// empty values are omitted from API requests. However, any non-pointer,
11368	// non-interface field appearing in ForceSendFields will be sent to the
11369	// server regardless of whether the field is empty or not. This may be
11370	// used to include empty fields in Patch requests.
11371	ForceSendFields []string `json:"-"`
11372
11373	// NullFields is a list of field names (e.g. "Buttons") to include in
11374	// API requests with the JSON null value. By default, fields with empty
11375	// values are omitted from API requests. However, any field with an
11376	// empty value appearing in NullFields will be sent to the server as
11377	// null. It is an error if a field in this list has a non-empty value.
11378	// This may be used to include null fields in Patch requests.
11379	NullFields []string `json:"-"`
11380}
11381
11382func (s *GoogleCloudDialogflowV2IntentMessageTableCard) MarshalJSON() ([]byte, error) {
11383	type NoMethod GoogleCloudDialogflowV2IntentMessageTableCard
11384	raw := NoMethod(*s)
11385	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11386}
11387
11388// GoogleCloudDialogflowV2IntentMessageTableCardCell: Cell of
11389// TableCardRow.
11390type GoogleCloudDialogflowV2IntentMessageTableCardCell struct {
11391	// Text: Required. Text in this cell.
11392	Text string `json:"text,omitempty"`
11393
11394	// ForceSendFields is a list of field names (e.g. "Text") to
11395	// unconditionally include in API requests. By default, fields with
11396	// empty values are omitted from API requests. However, any non-pointer,
11397	// non-interface field appearing in ForceSendFields will be sent to the
11398	// server regardless of whether the field is empty or not. This may be
11399	// used to include empty fields in Patch requests.
11400	ForceSendFields []string `json:"-"`
11401
11402	// NullFields is a list of field names (e.g. "Text") to include in API
11403	// requests with the JSON null value. By default, fields with empty
11404	// values are omitted from API requests. However, any field with an
11405	// empty value appearing in NullFields will be sent to the server as
11406	// null. It is an error if a field in this list has a non-empty value.
11407	// This may be used to include null fields in Patch requests.
11408	NullFields []string `json:"-"`
11409}
11410
11411func (s *GoogleCloudDialogflowV2IntentMessageTableCardCell) MarshalJSON() ([]byte, error) {
11412	type NoMethod GoogleCloudDialogflowV2IntentMessageTableCardCell
11413	raw := NoMethod(*s)
11414	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11415}
11416
11417// GoogleCloudDialogflowV2IntentMessageTableCardRow: Row of TableCard.
11418type GoogleCloudDialogflowV2IntentMessageTableCardRow struct {
11419	// Cells: Optional. List of cells that make up this row.
11420	Cells []*GoogleCloudDialogflowV2IntentMessageTableCardCell `json:"cells,omitempty"`
11421
11422	// DividerAfter: Optional. Whether to add a visual divider after this
11423	// row.
11424	DividerAfter bool `json:"dividerAfter,omitempty"`
11425
11426	// ForceSendFields is a list of field names (e.g. "Cells") to
11427	// unconditionally include in API requests. By default, fields with
11428	// empty values are omitted from API requests. However, any non-pointer,
11429	// non-interface field appearing in ForceSendFields will be sent to the
11430	// server regardless of whether the field is empty or not. This may be
11431	// used to include empty fields in Patch requests.
11432	ForceSendFields []string `json:"-"`
11433
11434	// NullFields is a list of field names (e.g. "Cells") to include in API
11435	// requests with the JSON null value. By default, fields with empty
11436	// values are omitted from API requests. However, any field with an
11437	// empty value appearing in NullFields will be sent to the server as
11438	// null. It is an error if a field in this list has a non-empty value.
11439	// This may be used to include null fields in Patch requests.
11440	NullFields []string `json:"-"`
11441}
11442
11443func (s *GoogleCloudDialogflowV2IntentMessageTableCardRow) MarshalJSON() ([]byte, error) {
11444	type NoMethod GoogleCloudDialogflowV2IntentMessageTableCardRow
11445	raw := NoMethod(*s)
11446	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11447}
11448
11449// GoogleCloudDialogflowV2IntentMessageText: The text response message.
11450type GoogleCloudDialogflowV2IntentMessageText struct {
11451	// Text: Optional. The collection of the agent's responses.
11452	Text []string `json:"text,omitempty"`
11453
11454	// ForceSendFields is a list of field names (e.g. "Text") to
11455	// unconditionally include in API requests. By default, fields with
11456	// empty values are omitted from API requests. However, any non-pointer,
11457	// non-interface field appearing in ForceSendFields will be sent to the
11458	// server regardless of whether the field is empty or not. This may be
11459	// used to include empty fields in Patch requests.
11460	ForceSendFields []string `json:"-"`
11461
11462	// NullFields is a list of field names (e.g. "Text") to include in API
11463	// requests with the JSON null value. By default, fields with empty
11464	// values are omitted from API requests. However, any field with an
11465	// empty value appearing in NullFields will be sent to the server as
11466	// null. It is an error if a field in this list has a non-empty value.
11467	// This may be used to include null fields in Patch requests.
11468	NullFields []string `json:"-"`
11469}
11470
11471func (s *GoogleCloudDialogflowV2IntentMessageText) MarshalJSON() ([]byte, error) {
11472	type NoMethod GoogleCloudDialogflowV2IntentMessageText
11473	raw := NoMethod(*s)
11474	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11475}
11476
11477// GoogleCloudDialogflowV2IntentParameter: Represents intent parameters.
11478type GoogleCloudDialogflowV2IntentParameter struct {
11479	// DefaultValue: Optional. The default value to use when the `value`
11480	// yields an empty result. Default values can be extracted from contexts
11481	// by using the following syntax: `#context_name.parameter_name`.
11482	DefaultValue string `json:"defaultValue,omitempty"`
11483
11484	// DisplayName: Required. The name of the parameter.
11485	DisplayName string `json:"displayName,omitempty"`
11486
11487	// EntityTypeDisplayName: Optional. The name of the entity type,
11488	// prefixed with `@`, that describes values of the parameter. If the
11489	// parameter is required, this must be provided.
11490	EntityTypeDisplayName string `json:"entityTypeDisplayName,omitempty"`
11491
11492	// IsList: Optional. Indicates whether the parameter represents a list
11493	// of values.
11494	IsList bool `json:"isList,omitempty"`
11495
11496	// Mandatory: Optional. Indicates whether the parameter is required.
11497	// That is, whether the intent cannot be completed without collecting
11498	// the parameter value.
11499	Mandatory bool `json:"mandatory,omitempty"`
11500
11501	// Name: The unique identifier of this parameter.
11502	Name string `json:"name,omitempty"`
11503
11504	// Prompts: Optional. The collection of prompts that the agent can
11505	// present to the user in order to collect a value for the parameter.
11506	Prompts []string `json:"prompts,omitempty"`
11507
11508	// Value: Optional. The definition of the parameter value. It can be: -
11509	// a constant string, - a parameter value defined as `$parameter_name`,
11510	// - an original parameter value defined as `$parameter_name.original`,
11511	// - a parameter value from some context defined as
11512	// `#context_name.parameter_name`.
11513	Value string `json:"value,omitempty"`
11514
11515	// ForceSendFields is a list of field names (e.g. "DefaultValue") to
11516	// unconditionally include in API requests. By default, fields with
11517	// empty values are omitted from API requests. However, any non-pointer,
11518	// non-interface field appearing in ForceSendFields will be sent to the
11519	// server regardless of whether the field is empty or not. This may be
11520	// used to include empty fields in Patch requests.
11521	ForceSendFields []string `json:"-"`
11522
11523	// NullFields is a list of field names (e.g. "DefaultValue") to include
11524	// in API requests with the JSON null value. By default, fields with
11525	// empty values are omitted from API requests. However, any field with
11526	// an empty value appearing in NullFields will be sent to the server as
11527	// null. It is an error if a field in this list has a non-empty value.
11528	// This may be used to include null fields in Patch requests.
11529	NullFields []string `json:"-"`
11530}
11531
11532func (s *GoogleCloudDialogflowV2IntentParameter) MarshalJSON() ([]byte, error) {
11533	type NoMethod GoogleCloudDialogflowV2IntentParameter
11534	raw := NoMethod(*s)
11535	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11536}
11537
11538// GoogleCloudDialogflowV2IntentTrainingPhrase: Represents an example
11539// that the agent is trained on.
11540type GoogleCloudDialogflowV2IntentTrainingPhrase struct {
11541	// Name: Output only. The unique identifier of this training phrase.
11542	Name string `json:"name,omitempty"`
11543
11544	// Parts: Required. The ordered list of training phrase parts. The parts
11545	// are concatenated in order to form the training phrase. Note: The API
11546	// does not automatically annotate training phrases like the Dialogflow
11547	// Console does. Note: Do not forget to include whitespace at part
11548	// boundaries, so the training phrase is well formatted when the parts
11549	// are concatenated. If the training phrase does not need to be
11550	// annotated with parameters, you just need a single part with only the
11551	// Part.text field set. If you want to annotate the training phrase, you
11552	// must create multiple parts, where the fields of each part are
11553	// populated in one of two ways: - `Part.text` is set to a part of the
11554	// phrase that has no parameters. - `Part.text` is set to a part of the
11555	// phrase that you want to annotate, and the `entity_type`, `alias`, and
11556	// `user_defined` fields are all set.
11557	Parts []*GoogleCloudDialogflowV2IntentTrainingPhrasePart `json:"parts,omitempty"`
11558
11559	// TimesAddedCount: Optional. Indicates how many times this example was
11560	// added to the intent. Each time a developer adds an existing sample by
11561	// editing an intent or training, this counter is increased.
11562	TimesAddedCount int64 `json:"timesAddedCount,omitempty"`
11563
11564	// Type: Required. The type of the training phrase.
11565	//
11566	// Possible values:
11567	//   "TYPE_UNSPECIFIED" - Not specified. This value should never be
11568	// used.
11569	//   "EXAMPLE" - Examples do not contain @-prefixed entity type names,
11570	// but example parts can be annotated with entity types.
11571	//   "TEMPLATE" - Templates are not annotated with entity types, but
11572	// they can contain @-prefixed entity type names as substrings. Template
11573	// mode has been deprecated. Example mode is the only supported way to
11574	// create new training phrases. If you have existing training phrases
11575	// that you've created in template mode, those will continue to work.
11576	Type string `json:"type,omitempty"`
11577
11578	// ForceSendFields is a list of field names (e.g. "Name") to
11579	// unconditionally include in API requests. By default, fields with
11580	// empty values are omitted from API requests. However, any non-pointer,
11581	// non-interface field appearing in ForceSendFields will be sent to the
11582	// server regardless of whether the field is empty or not. This may be
11583	// used to include empty fields in Patch requests.
11584	ForceSendFields []string `json:"-"`
11585
11586	// NullFields is a list of field names (e.g. "Name") to include in API
11587	// requests with the JSON null value. By default, fields with empty
11588	// values are omitted from API requests. However, any field with an
11589	// empty value appearing in NullFields will be sent to the server as
11590	// null. It is an error if a field in this list has a non-empty value.
11591	// This may be used to include null fields in Patch requests.
11592	NullFields []string `json:"-"`
11593}
11594
11595func (s *GoogleCloudDialogflowV2IntentTrainingPhrase) MarshalJSON() ([]byte, error) {
11596	type NoMethod GoogleCloudDialogflowV2IntentTrainingPhrase
11597	raw := NoMethod(*s)
11598	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11599}
11600
11601// GoogleCloudDialogflowV2IntentTrainingPhrasePart: Represents a part of
11602// a training phrase.
11603type GoogleCloudDialogflowV2IntentTrainingPhrasePart struct {
11604	// Alias: Optional. The parameter name for the value extracted from the
11605	// annotated part of the example. This field is required for annotated
11606	// parts of the training phrase.
11607	Alias string `json:"alias,omitempty"`
11608
11609	// EntityType: Optional. The entity type name prefixed with `@`. This
11610	// field is required for annotated parts of the training phrase.
11611	EntityType string `json:"entityType,omitempty"`
11612
11613	// Text: Required. The text for this part.
11614	Text string `json:"text,omitempty"`
11615
11616	// UserDefined: Optional. Indicates whether the text was manually
11617	// annotated. This field is set to true when the Dialogflow Console is
11618	// used to manually annotate the part. When creating an annotated part
11619	// with the API, you must set this to true.
11620	UserDefined bool `json:"userDefined,omitempty"`
11621
11622	// ForceSendFields is a list of field names (e.g. "Alias") to
11623	// unconditionally include in API requests. By default, fields with
11624	// empty values are omitted from API requests. However, any non-pointer,
11625	// non-interface field appearing in ForceSendFields will be sent to the
11626	// server regardless of whether the field is empty or not. This may be
11627	// used to include empty fields in Patch requests.
11628	ForceSendFields []string `json:"-"`
11629
11630	// NullFields is a list of field names (e.g. "Alias") to include in API
11631	// requests with the JSON null value. By default, fields with empty
11632	// values are omitted from API requests. However, any field with an
11633	// empty value appearing in NullFields will be sent to the server as
11634	// null. It is an error if a field in this list has a non-empty value.
11635	// This may be used to include null fields in Patch requests.
11636	NullFields []string `json:"-"`
11637}
11638
11639func (s *GoogleCloudDialogflowV2IntentTrainingPhrasePart) MarshalJSON() ([]byte, error) {
11640	type NoMethod GoogleCloudDialogflowV2IntentTrainingPhrasePart
11641	raw := NoMethod(*s)
11642	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11643}
11644
11645// GoogleCloudDialogflowV2KnowledgeOperationMetadata: Metadata in
11646// google::longrunning::Operation for Knowledge operations.
11647type GoogleCloudDialogflowV2KnowledgeOperationMetadata struct {
11648	// State: Output only. The current state of this operation.
11649	//
11650	// Possible values:
11651	//   "STATE_UNSPECIFIED" - State unspecified.
11652	//   "PENDING" - The operation has been created.
11653	//   "RUNNING" - The operation is currently running.
11654	//   "DONE" - The operation is done, either cancelled or completed.
11655	State string `json:"state,omitempty"`
11656
11657	// ForceSendFields is a list of field names (e.g. "State") to
11658	// unconditionally include in API requests. By default, fields with
11659	// empty values are omitted from API requests. However, any non-pointer,
11660	// non-interface field appearing in ForceSendFields will be sent to the
11661	// server regardless of whether the field is empty or not. This may be
11662	// used to include empty fields in Patch requests.
11663	ForceSendFields []string `json:"-"`
11664
11665	// NullFields is a list of field names (e.g. "State") to include in API
11666	// requests with the JSON null value. By default, fields with empty
11667	// values are omitted from API requests. However, any field with an
11668	// empty value appearing in NullFields will be sent to the server as
11669	// null. It is an error if a field in this list has a non-empty value.
11670	// This may be used to include null fields in Patch requests.
11671	NullFields []string `json:"-"`
11672}
11673
11674func (s *GoogleCloudDialogflowV2KnowledgeOperationMetadata) MarshalJSON() ([]byte, error) {
11675	type NoMethod GoogleCloudDialogflowV2KnowledgeOperationMetadata
11676	raw := NoMethod(*s)
11677	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11678}
11679
11680// GoogleCloudDialogflowV2Message: Represents a message posted into a
11681// conversation.
11682type GoogleCloudDialogflowV2Message struct {
11683	// Content: Required. The message content.
11684	Content string `json:"content,omitempty"`
11685
11686	// CreateTime: Output only. The time when the message was created.
11687	CreateTime string `json:"createTime,omitempty"`
11688
11689	// LanguageCode: Optional. The message language. This should be a BCP-47
11690	// (https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. Example:
11691	// "en-US".
11692	LanguageCode string `json:"languageCode,omitempty"`
11693
11694	// MessageAnnotation: Output only. The annotation for the message.
11695	MessageAnnotation *GoogleCloudDialogflowV2MessageAnnotation `json:"messageAnnotation,omitempty"`
11696
11697	// Name: The unique identifier of the message. Format:
11698	// `projects//locations//conversations//messages/`.
11699	Name string `json:"name,omitempty"`
11700
11701	// Participant: Output only. The participant that sends this message.
11702	Participant string `json:"participant,omitempty"`
11703
11704	// ParticipantRole: Output only. The role of the participant.
11705	//
11706	// Possible values:
11707	//   "ROLE_UNSPECIFIED" - Participant role not set.
11708	//   "HUMAN_AGENT" - Participant is a human agent.
11709	//   "AUTOMATED_AGENT" - Participant is an automated agent, such as a
11710	// Dialogflow agent.
11711	//   "END_USER" - Participant is an end user that has called or chatted
11712	// with Dialogflow services.
11713	ParticipantRole string `json:"participantRole,omitempty"`
11714
11715	// ForceSendFields is a list of field names (e.g. "Content") to
11716	// unconditionally include in API requests. By default, fields with
11717	// empty values are omitted from API requests. However, any non-pointer,
11718	// non-interface field appearing in ForceSendFields will be sent to the
11719	// server regardless of whether the field is empty or not. This may be
11720	// used to include empty fields in Patch requests.
11721	ForceSendFields []string `json:"-"`
11722
11723	// NullFields is a list of field names (e.g. "Content") to include in
11724	// API requests with the JSON null value. By default, fields with empty
11725	// values are omitted from API requests. However, any field with an
11726	// empty value appearing in NullFields will be sent to the server as
11727	// null. It is an error if a field in this list has a non-empty value.
11728	// This may be used to include null fields in Patch requests.
11729	NullFields []string `json:"-"`
11730}
11731
11732func (s *GoogleCloudDialogflowV2Message) MarshalJSON() ([]byte, error) {
11733	type NoMethod GoogleCloudDialogflowV2Message
11734	raw := NoMethod(*s)
11735	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11736}
11737
11738// GoogleCloudDialogflowV2MessageAnnotation: Represents the result of
11739// annotation for the message.
11740type GoogleCloudDialogflowV2MessageAnnotation struct {
11741	// ContainEntities: Indicates whether the text message contains
11742	// entities.
11743	ContainEntities bool `json:"containEntities,omitempty"`
11744
11745	// Parts: The collection of annotated message parts ordered by their
11746	// position in the message. You can recover the annotated message by
11747	// concatenating [AnnotatedMessagePart.text].
11748	Parts []*GoogleCloudDialogflowV2AnnotatedMessagePart `json:"parts,omitempty"`
11749
11750	// ForceSendFields is a list of field names (e.g. "ContainEntities") to
11751	// unconditionally include in API requests. By default, fields with
11752	// empty values are omitted from API requests. However, any non-pointer,
11753	// non-interface field appearing in ForceSendFields will be sent to the
11754	// server regardless of whether the field is empty or not. This may be
11755	// used to include empty fields in Patch requests.
11756	ForceSendFields []string `json:"-"`
11757
11758	// NullFields is a list of field names (e.g. "ContainEntities") to
11759	// include in API requests with the JSON null value. By default, fields
11760	// with empty values are omitted from API requests. However, any field
11761	// with an empty value appearing in NullFields will be sent to the
11762	// server as null. It is an error if a field in this list has a
11763	// non-empty value. This may be used to include null fields in Patch
11764	// requests.
11765	NullFields []string `json:"-"`
11766}
11767
11768func (s *GoogleCloudDialogflowV2MessageAnnotation) MarshalJSON() ([]byte, error) {
11769	type NoMethod GoogleCloudDialogflowV2MessageAnnotation
11770	raw := NoMethod(*s)
11771	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11772}
11773
11774// GoogleCloudDialogflowV2OriginalDetectIntentRequest: Represents the
11775// contents of the original request that was passed to the
11776// `[Streaming]DetectIntent` call.
11777type GoogleCloudDialogflowV2OriginalDetectIntentRequest struct {
11778	// Payload: Optional. This field is set to the value of the
11779	// `QueryParameters.payload` field passed in the request. Some
11780	// integrations that query a Dialogflow agent may provide additional
11781	// information in the payload. In particular, for the Dialogflow Phone
11782	// Gateway integration, this field has the form: { "telephony": {
11783	// "caller_id": "+18558363987" } } Note: The caller ID field
11784	// (`caller_id`) will be redacted for Trial Edition agents and populated
11785	// with the caller ID in E.164 format
11786	// (https://en.wikipedia.org/wiki/E.164) for Essentials Edition agents.
11787	Payload googleapi.RawMessage `json:"payload,omitempty"`
11788
11789	// Source: The source of this request, e.g., `google`, `facebook`,
11790	// `slack`. It is set by Dialogflow-owned servers.
11791	Source string `json:"source,omitempty"`
11792
11793	// Version: Optional. The version of the protocol used for this request.
11794	// This field is AoG-specific.
11795	Version string `json:"version,omitempty"`
11796
11797	// ForceSendFields is a list of field names (e.g. "Payload") to
11798	// unconditionally include in API requests. By default, fields with
11799	// empty values are omitted from API requests. However, any non-pointer,
11800	// non-interface field appearing in ForceSendFields will be sent to the
11801	// server regardless of whether the field is empty or not. This may be
11802	// used to include empty fields in Patch requests.
11803	ForceSendFields []string `json:"-"`
11804
11805	// NullFields is a list of field names (e.g. "Payload") to include in
11806	// API requests with the JSON null value. By default, fields with empty
11807	// values are omitted from API requests. However, any field with an
11808	// empty value appearing in NullFields will be sent to the server as
11809	// null. It is an error if a field in this list has a non-empty value.
11810	// This may be used to include null fields in Patch requests.
11811	NullFields []string `json:"-"`
11812}
11813
11814func (s *GoogleCloudDialogflowV2OriginalDetectIntentRequest) MarshalJSON() ([]byte, error) {
11815	type NoMethod GoogleCloudDialogflowV2OriginalDetectIntentRequest
11816	raw := NoMethod(*s)
11817	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11818}
11819
11820// GoogleCloudDialogflowV2QueryResult: Represents the result of
11821// conversational query or event processing.
11822type GoogleCloudDialogflowV2QueryResult struct {
11823	// Action: The action name from the matched intent.
11824	Action string `json:"action,omitempty"`
11825
11826	// AllRequiredParamsPresent: This field is set to: - `false` if the
11827	// matched intent has required parameters and not all of the required
11828	// parameter values have been collected. - `true` if all required
11829	// parameter values have been collected, or if the matched intent
11830	// doesn't contain any required parameters.
11831	AllRequiredParamsPresent bool `json:"allRequiredParamsPresent,omitempty"`
11832
11833	// DiagnosticInfo: Free-form diagnostic information for the associated
11834	// detect intent request. The fields of this data can change without
11835	// notice, so you should not write code that depends on its structure.
11836	// The data may contain: - webhook call latency - webhook errors
11837	DiagnosticInfo googleapi.RawMessage `json:"diagnosticInfo,omitempty"`
11838
11839	// FulfillmentMessages: The collection of rich messages to present to
11840	// the user.
11841	FulfillmentMessages []*GoogleCloudDialogflowV2IntentMessage `json:"fulfillmentMessages,omitempty"`
11842
11843	// FulfillmentText: The text to be pronounced to the user or shown on
11844	// the screen. Note: This is a legacy field, `fulfillment_messages`
11845	// should be preferred.
11846	FulfillmentText string `json:"fulfillmentText,omitempty"`
11847
11848	// Intent: The intent that matched the conversational query. Some, not
11849	// all fields are filled in this message, including but not limited to:
11850	// `name`, `display_name`, `end_interaction` and `is_fallback`.
11851	Intent *GoogleCloudDialogflowV2Intent `json:"intent,omitempty"`
11852
11853	// IntentDetectionConfidence: The intent detection confidence. Values
11854	// range from 0.0 (completely uncertain) to 1.0 (completely certain).
11855	// This value is for informational purpose only and is only used to help
11856	// match the best intent within the classification threshold. This value
11857	// may change for the same end-user expression at any time due to a
11858	// model retraining or change in implementation. If there are `multiple
11859	// knowledge_answers` messages, this value is set to the greatest
11860	// `knowledgeAnswers.match_confidence` value in the list.
11861	IntentDetectionConfidence float64 `json:"intentDetectionConfidence,omitempty"`
11862
11863	// LanguageCode: The language that was triggered during intent
11864	// detection. See Language Support
11865	// (https://cloud.google.com/dialogflow/docs/reference/language) for a
11866	// list of the currently supported language codes.
11867	LanguageCode string `json:"languageCode,omitempty"`
11868
11869	// OutputContexts: The collection of output contexts. If applicable,
11870	// `output_contexts.parameters` contains entries with name `.original`
11871	// containing the original parameter values before the query.
11872	OutputContexts []*GoogleCloudDialogflowV2Context `json:"outputContexts,omitempty"`
11873
11874	// Parameters: The collection of extracted parameters. Depending on your
11875	// protocol or client library language, this is a map, associative
11876	// array, symbol table, dictionary, or JSON object composed of a
11877	// collection of (MapKey, MapValue) pairs: - MapKey type: string -
11878	// MapKey value: parameter name - MapValue type: - If parameter's entity
11879	// type is a composite entity: map - Else: depending on parameter value
11880	// type, could be one of string, number, boolean, null, list or map -
11881	// MapValue value: - If parameter's entity type is a composite entity:
11882	// map from composite entity property names to property values - Else:
11883	// parameter value
11884	Parameters googleapi.RawMessage `json:"parameters,omitempty"`
11885
11886	// QueryText: The original conversational query text: - If natural
11887	// language text was provided as input, `query_text` contains a copy of
11888	// the input. - If natural language speech audio was provided as input,
11889	// `query_text` contains the speech recognition result. If speech
11890	// recognizer produced multiple alternatives, a particular one is
11891	// picked. - If automatic spell correction is enabled, `query_text` will
11892	// contain the corrected user input.
11893	QueryText string `json:"queryText,omitempty"`
11894
11895	// SentimentAnalysisResult: The sentiment analysis result, which depends
11896	// on the `sentiment_analysis_request_config` specified in the request.
11897	SentimentAnalysisResult *GoogleCloudDialogflowV2SentimentAnalysisResult `json:"sentimentAnalysisResult,omitempty"`
11898
11899	// SpeechRecognitionConfidence: The Speech recognition confidence
11900	// between 0.0 and 1.0. A higher number indicates an estimated greater
11901	// likelihood that the recognized words are correct. The default of 0.0
11902	// is a sentinel value indicating that confidence was not set. This
11903	// field is not guaranteed to be accurate or set. In particular this
11904	// field isn't set for StreamingDetectIntent since the streaming
11905	// endpoint has separate confidence estimates per portion of the audio
11906	// in StreamingRecognitionResult.
11907	SpeechRecognitionConfidence float64 `json:"speechRecognitionConfidence,omitempty"`
11908
11909	// WebhookPayload: If the query was fulfilled by a webhook call, this
11910	// field is set to the value of the `payload` field returned in the
11911	// webhook response.
11912	WebhookPayload googleapi.RawMessage `json:"webhookPayload,omitempty"`
11913
11914	// WebhookSource: If the query was fulfilled by a webhook call, this
11915	// field is set to the value of the `source` field returned in the
11916	// webhook response.
11917	WebhookSource string `json:"webhookSource,omitempty"`
11918
11919	// ForceSendFields is a list of field names (e.g. "Action") to
11920	// unconditionally include in API requests. By default, fields with
11921	// empty values are omitted from API requests. However, any non-pointer,
11922	// non-interface field appearing in ForceSendFields will be sent to the
11923	// server regardless of whether the field is empty or not. This may be
11924	// used to include empty fields in Patch requests.
11925	ForceSendFields []string `json:"-"`
11926
11927	// NullFields is a list of field names (e.g. "Action") to include in API
11928	// requests with the JSON null value. By default, fields with empty
11929	// values are omitted from API requests. However, any field with an
11930	// empty value appearing in NullFields will be sent to the server as
11931	// null. It is an error if a field in this list has a non-empty value.
11932	// This may be used to include null fields in Patch requests.
11933	NullFields []string `json:"-"`
11934}
11935
11936func (s *GoogleCloudDialogflowV2QueryResult) MarshalJSON() ([]byte, error) {
11937	type NoMethod GoogleCloudDialogflowV2QueryResult
11938	raw := NoMethod(*s)
11939	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11940}
11941
11942func (s *GoogleCloudDialogflowV2QueryResult) UnmarshalJSON(data []byte) error {
11943	type NoMethod GoogleCloudDialogflowV2QueryResult
11944	var s1 struct {
11945		IntentDetectionConfidence   gensupport.JSONFloat64 `json:"intentDetectionConfidence"`
11946		SpeechRecognitionConfidence gensupport.JSONFloat64 `json:"speechRecognitionConfidence"`
11947		*NoMethod
11948	}
11949	s1.NoMethod = (*NoMethod)(s)
11950	if err := json.Unmarshal(data, &s1); err != nil {
11951		return err
11952	}
11953	s.IntentDetectionConfidence = float64(s1.IntentDetectionConfidence)
11954	s.SpeechRecognitionConfidence = float64(s1.SpeechRecognitionConfidence)
11955	return nil
11956}
11957
11958// GoogleCloudDialogflowV2Sentiment: The sentiment, such as
11959// positive/negative feeling or association, for a unit of analysis,
11960// such as the query text.
11961type GoogleCloudDialogflowV2Sentiment struct {
11962	// Magnitude: A non-negative number in the [0, +inf) range, which
11963	// represents the absolute magnitude of sentiment, regardless of score
11964	// (positive or negative).
11965	Magnitude float64 `json:"magnitude,omitempty"`
11966
11967	// Score: Sentiment score between -1.0 (negative sentiment) and 1.0
11968	// (positive sentiment).
11969	Score float64 `json:"score,omitempty"`
11970
11971	// ForceSendFields is a list of field names (e.g. "Magnitude") to
11972	// unconditionally include in API requests. By default, fields with
11973	// empty values are omitted from API requests. However, any non-pointer,
11974	// non-interface field appearing in ForceSendFields will be sent to the
11975	// server regardless of whether the field is empty or not. This may be
11976	// used to include empty fields in Patch requests.
11977	ForceSendFields []string `json:"-"`
11978
11979	// NullFields is a list of field names (e.g. "Magnitude") to include in
11980	// API requests with the JSON null value. By default, fields with empty
11981	// values are omitted from API requests. However, any field with an
11982	// empty value appearing in NullFields will be sent to the server as
11983	// null. It is an error if a field in this list has a non-empty value.
11984	// This may be used to include null fields in Patch requests.
11985	NullFields []string `json:"-"`
11986}
11987
11988func (s *GoogleCloudDialogflowV2Sentiment) MarshalJSON() ([]byte, error) {
11989	type NoMethod GoogleCloudDialogflowV2Sentiment
11990	raw := NoMethod(*s)
11991	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11992}
11993
11994func (s *GoogleCloudDialogflowV2Sentiment) UnmarshalJSON(data []byte) error {
11995	type NoMethod GoogleCloudDialogflowV2Sentiment
11996	var s1 struct {
11997		Magnitude gensupport.JSONFloat64 `json:"magnitude"`
11998		Score     gensupport.JSONFloat64 `json:"score"`
11999		*NoMethod
12000	}
12001	s1.NoMethod = (*NoMethod)(s)
12002	if err := json.Unmarshal(data, &s1); err != nil {
12003		return err
12004	}
12005	s.Magnitude = float64(s1.Magnitude)
12006	s.Score = float64(s1.Score)
12007	return nil
12008}
12009
12010// GoogleCloudDialogflowV2SentimentAnalysisResult: The result of
12011// sentiment analysis. Sentiment analysis inspects user input and
12012// identifies the prevailing subjective opinion, especially to determine
12013// a user's attitude as positive, negative, or neutral. For
12014// Participants.DetectIntent, it needs to be configured in
12015// DetectIntentRequest.query_params. For
12016// Participants.StreamingDetectIntent, it needs to be configured in
12017// StreamingDetectIntentRequest.query_params. And for
12018// Participants.AnalyzeContent and Participants.StreamingAnalyzeContent,
12019// it needs to be configured in
12020// ConversationProfile.human_agent_assistant_config
12021type GoogleCloudDialogflowV2SentimentAnalysisResult struct {
12022	// QueryTextSentiment: The sentiment analysis result for `query_text`.
12023	QueryTextSentiment *GoogleCloudDialogflowV2Sentiment `json:"queryTextSentiment,omitempty"`
12024
12025	// ForceSendFields is a list of field names (e.g. "QueryTextSentiment")
12026	// to unconditionally include in API requests. By default, fields with
12027	// empty values are omitted from API requests. However, any non-pointer,
12028	// non-interface field appearing in ForceSendFields will be sent to the
12029	// server regardless of whether the field is empty or not. This may be
12030	// used to include empty fields in Patch requests.
12031	ForceSendFields []string `json:"-"`
12032
12033	// NullFields is a list of field names (e.g. "QueryTextSentiment") to
12034	// include in API requests with the JSON null value. By default, fields
12035	// with empty values are omitted from API requests. However, any field
12036	// with an empty value appearing in NullFields will be sent to the
12037	// server as null. It is an error if a field in this list has a
12038	// non-empty value. This may be used to include null fields in Patch
12039	// requests.
12040	NullFields []string `json:"-"`
12041}
12042
12043func (s *GoogleCloudDialogflowV2SentimentAnalysisResult) MarshalJSON() ([]byte, error) {
12044	type NoMethod GoogleCloudDialogflowV2SentimentAnalysisResult
12045	raw := NoMethod(*s)
12046	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12047}
12048
12049// GoogleCloudDialogflowV2SessionEntityType: A session represents a
12050// conversation between a Dialogflow agent and an end-user. You can
12051// create special entities, called session entities, during a session.
12052// Session entities can extend or replace custom entity types and only
12053// exist during the session that they were created for. All session
12054// data, including session entities, is stored by Dialogflow for 20
12055// minutes. For more information, see the session entity guide
12056// (https://cloud.google.com/dialogflow/docs/entities-session).
12057type GoogleCloudDialogflowV2SessionEntityType struct {
12058	// Entities: Required. The collection of entities associated with this
12059	// session entity type.
12060	Entities []*GoogleCloudDialogflowV2EntityTypeEntity `json:"entities,omitempty"`
12061
12062	// EntityOverrideMode: Required. Indicates whether the additional data
12063	// should override or supplement the custom entity type definition.
12064	//
12065	// Possible values:
12066	//   "ENTITY_OVERRIDE_MODE_UNSPECIFIED" - Not specified. This value
12067	// should be never used.
12068	//   "ENTITY_OVERRIDE_MODE_OVERRIDE" - The collection of session
12069	// entities overrides the collection of entities in the corresponding
12070	// custom entity type.
12071	//   "ENTITY_OVERRIDE_MODE_SUPPLEMENT" - The collection of session
12072	// entities extends the collection of entities in the corresponding
12073	// custom entity type. Note: Even in this override mode calls to
12074	// `ListSessionEntityTypes`, `GetSessionEntityType`,
12075	// `CreateSessionEntityType` and `UpdateSessionEntityType` only return
12076	// the additional entities added in this session entity type. If you
12077	// want to get the supplemented list, please call
12078	// EntityTypes.GetEntityType on the custom entity type and merge.
12079	EntityOverrideMode string `json:"entityOverrideMode,omitempty"`
12080
12081	// Name: Required. The unique identifier of this session entity type.
12082	// Format: `projects//agent/sessions//entityTypes/`, or
12083	// `projects//agent/environments//users//sessions//entityTypes/`. If
12084	// `Environment ID` is not specified, we assume default 'draft'
12085	// environment. If `User ID` is not specified, we assume default '-'
12086	// user. `` must be the display name of an existing entity type in the
12087	// same agent that will be overridden or supplemented.
12088	Name string `json:"name,omitempty"`
12089
12090	// ForceSendFields is a list of field names (e.g. "Entities") to
12091	// unconditionally include in API requests. By default, fields with
12092	// empty values are omitted from API requests. However, any non-pointer,
12093	// non-interface field appearing in ForceSendFields will be sent to the
12094	// server regardless of whether the field is empty or not. This may be
12095	// used to include empty fields in Patch requests.
12096	ForceSendFields []string `json:"-"`
12097
12098	// NullFields is a list of field names (e.g. "Entities") to include in
12099	// API requests with the JSON null value. By default, fields with empty
12100	// values are omitted from API requests. However, any field with an
12101	// empty value appearing in NullFields will be sent to the server as
12102	// null. It is an error if a field in this list has a non-empty value.
12103	// This may be used to include null fields in Patch requests.
12104	NullFields []string `json:"-"`
12105}
12106
12107func (s *GoogleCloudDialogflowV2SessionEntityType) MarshalJSON() ([]byte, error) {
12108	type NoMethod GoogleCloudDialogflowV2SessionEntityType
12109	raw := NoMethod(*s)
12110	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12111}
12112
12113// GoogleCloudDialogflowV2SuggestArticlesResponse: The response message
12114// for Participants.SuggestArticles.
12115type GoogleCloudDialogflowV2SuggestArticlesResponse struct {
12116	// ArticleAnswers: Articles ordered by score in descending order.
12117	ArticleAnswers []*GoogleCloudDialogflowV2ArticleAnswer `json:"articleAnswers,omitempty"`
12118
12119	// ContextSize: Number of messages prior to and including latest_message
12120	// to compile the suggestion. It may be smaller than the
12121	// SuggestArticlesRequest.context_size field in the request if there
12122	// aren't that many messages in the conversation.
12123	ContextSize int64 `json:"contextSize,omitempty"`
12124
12125	// LatestMessage: The name of the latest conversation message used to
12126	// compile suggestion for. Format:
12127	// `projects//locations//conversations//messages/`.
12128	LatestMessage string `json:"latestMessage,omitempty"`
12129
12130	// ForceSendFields is a list of field names (e.g. "ArticleAnswers") to
12131	// unconditionally include in API requests. By default, fields with
12132	// empty values are omitted from API requests. However, any non-pointer,
12133	// non-interface field appearing in ForceSendFields will be sent to the
12134	// server regardless of whether the field is empty or not. This may be
12135	// used to include empty fields in Patch requests.
12136	ForceSendFields []string `json:"-"`
12137
12138	// NullFields is a list of field names (e.g. "ArticleAnswers") to
12139	// include in API requests with the JSON null value. By default, fields
12140	// with empty values are omitted from API requests. However, any field
12141	// with an empty value appearing in NullFields will be sent to the
12142	// server as null. It is an error if a field in this list has a
12143	// non-empty value. This may be used to include null fields in Patch
12144	// requests.
12145	NullFields []string `json:"-"`
12146}
12147
12148func (s *GoogleCloudDialogflowV2SuggestArticlesResponse) MarshalJSON() ([]byte, error) {
12149	type NoMethod GoogleCloudDialogflowV2SuggestArticlesResponse
12150	raw := NoMethod(*s)
12151	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12152}
12153
12154// GoogleCloudDialogflowV2SuggestFaqAnswersResponse: The request message
12155// for Participants.SuggestFaqAnswers.
12156type GoogleCloudDialogflowV2SuggestFaqAnswersResponse struct {
12157	// ContextSize: Number of messages prior to and including latest_message
12158	// to compile the suggestion. It may be smaller than the
12159	// SuggestFaqAnswersRequest.context_size field in the request if there
12160	// aren't that many messages in the conversation.
12161	ContextSize int64 `json:"contextSize,omitempty"`
12162
12163	// FaqAnswers: Answers extracted from FAQ documents.
12164	FaqAnswers []*GoogleCloudDialogflowV2FaqAnswer `json:"faqAnswers,omitempty"`
12165
12166	// LatestMessage: The name of the latest conversation message used to
12167	// compile suggestion for. Format:
12168	// `projects//locations//conversations//messages/`.
12169	LatestMessage string `json:"latestMessage,omitempty"`
12170
12171	// ForceSendFields is a list of field names (e.g. "ContextSize") to
12172	// unconditionally include in API requests. By default, fields with
12173	// empty values are omitted from API requests. However, any non-pointer,
12174	// non-interface field appearing in ForceSendFields will be sent to the
12175	// server regardless of whether the field is empty or not. This may be
12176	// used to include empty fields in Patch requests.
12177	ForceSendFields []string `json:"-"`
12178
12179	// NullFields is a list of field names (e.g. "ContextSize") to include
12180	// in API requests with the JSON null value. By default, fields with
12181	// empty values are omitted from API requests. However, any field with
12182	// an empty value appearing in NullFields will be sent to the server as
12183	// null. It is an error if a field in this list has a non-empty value.
12184	// This may be used to include null fields in Patch requests.
12185	NullFields []string `json:"-"`
12186}
12187
12188func (s *GoogleCloudDialogflowV2SuggestFaqAnswersResponse) MarshalJSON() ([]byte, error) {
12189	type NoMethod GoogleCloudDialogflowV2SuggestFaqAnswersResponse
12190	raw := NoMethod(*s)
12191	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12192}
12193
12194// GoogleCloudDialogflowV2SuggestionResult: One response of different
12195// type of suggestion response which is used in the response of
12196// Participants.AnalyzeContent and Participants.AnalyzeContent, as well
12197// as HumanAgentAssistantEvent.
12198type GoogleCloudDialogflowV2SuggestionResult struct {
12199	// Error: Error status if the request failed.
12200	Error *GoogleRpcStatus `json:"error,omitempty"`
12201
12202	// SuggestArticlesResponse: SuggestArticlesResponse if request is for
12203	// ARTICLE_SUGGESTION.
12204	SuggestArticlesResponse *GoogleCloudDialogflowV2SuggestArticlesResponse `json:"suggestArticlesResponse,omitempty"`
12205
12206	// SuggestFaqAnswersResponse: SuggestFaqAnswersResponse if request is
12207	// for FAQ_ANSWER.
12208	SuggestFaqAnswersResponse *GoogleCloudDialogflowV2SuggestFaqAnswersResponse `json:"suggestFaqAnswersResponse,omitempty"`
12209
12210	// ForceSendFields is a list of field names (e.g. "Error") to
12211	// unconditionally include in API requests. By default, fields with
12212	// empty values are omitted from API requests. However, any non-pointer,
12213	// non-interface field appearing in ForceSendFields will be sent to the
12214	// server regardless of whether the field is empty or not. This may be
12215	// used to include empty fields in Patch requests.
12216	ForceSendFields []string `json:"-"`
12217
12218	// NullFields is a list of field names (e.g. "Error") to include in API
12219	// requests with the JSON null value. By default, fields with empty
12220	// values are omitted from API requests. However, any field with an
12221	// empty value appearing in NullFields will be sent to the server as
12222	// null. It is an error if a field in this list has a non-empty value.
12223	// This may be used to include null fields in Patch requests.
12224	NullFields []string `json:"-"`
12225}
12226
12227func (s *GoogleCloudDialogflowV2SuggestionResult) MarshalJSON() ([]byte, error) {
12228	type NoMethod GoogleCloudDialogflowV2SuggestionResult
12229	raw := NoMethod(*s)
12230	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12231}
12232
12233// GoogleCloudDialogflowV2WebhookRequest: The request message for a
12234// webhook call.
12235type GoogleCloudDialogflowV2WebhookRequest struct {
12236	// OriginalDetectIntentRequest: Optional. The contents of the original
12237	// request that was passed to `[Streaming]DetectIntent` call.
12238	OriginalDetectIntentRequest *GoogleCloudDialogflowV2OriginalDetectIntentRequest `json:"originalDetectIntentRequest,omitempty"`
12239
12240	// QueryResult: The result of the conversational query or event
12241	// processing. Contains the same value as
12242	// `[Streaming]DetectIntentResponse.query_result`.
12243	QueryResult *GoogleCloudDialogflowV2QueryResult `json:"queryResult,omitempty"`
12244
12245	// ResponseId: The unique identifier of the response. Contains the same
12246	// value as `[Streaming]DetectIntentResponse.response_id`.
12247	ResponseId string `json:"responseId,omitempty"`
12248
12249	// Session: The unique identifier of detectIntent request session. Can
12250	// be used to identify end-user inside webhook implementation. Format:
12251	// `projects//agent/sessions/`, or
12252	// `projects//agent/environments//users//sessions/`.
12253	Session string `json:"session,omitempty"`
12254
12255	// ForceSendFields is a list of field names (e.g.
12256	// "OriginalDetectIntentRequest") to unconditionally include in API
12257	// requests. By default, fields with empty values are omitted from API
12258	// requests. However, any non-pointer, non-interface field appearing in
12259	// ForceSendFields will be sent to the server regardless of whether the
12260	// field is empty or not. This may be used to include empty fields in
12261	// Patch requests.
12262	ForceSendFields []string `json:"-"`
12263
12264	// NullFields is a list of field names (e.g.
12265	// "OriginalDetectIntentRequest") to include in API requests with the
12266	// JSON null value. By default, fields with empty values are omitted
12267	// from API requests. However, any field with an empty value appearing
12268	// in NullFields will be sent to the server as null. It is an error if a
12269	// field in this list has a non-empty value. This may be used to include
12270	// null fields in Patch requests.
12271	NullFields []string `json:"-"`
12272}
12273
12274func (s *GoogleCloudDialogflowV2WebhookRequest) MarshalJSON() ([]byte, error) {
12275	type NoMethod GoogleCloudDialogflowV2WebhookRequest
12276	raw := NoMethod(*s)
12277	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12278}
12279
12280// GoogleCloudDialogflowV2WebhookResponse: The response message for a
12281// webhook call. This response is validated by the Dialogflow server. If
12282// validation fails, an error will be returned in the
12283// QueryResult.diagnostic_info field. Setting JSON fields to an empty
12284// value with the wrong type is a common error. To avoid this error: -
12285// Use "" for empty strings - Use `{}` or `null` for empty objects -
12286// Use `[]` or `null` for empty arrays For more information, see the
12287// Protocol Buffers Language Guide
12288// (https://developers.google.com/protocol-buffers/docs/proto3#json).
12289type GoogleCloudDialogflowV2WebhookResponse struct {
12290	// FollowupEventInput: Optional. Invokes the supplied events. When this
12291	// field is set, Dialogflow ignores the `fulfillment_text`,
12292	// `fulfillment_messages`, and `payload` fields.
12293	FollowupEventInput *GoogleCloudDialogflowV2EventInput `json:"followupEventInput,omitempty"`
12294
12295	// FulfillmentMessages: Optional. The rich response messages intended
12296	// for the end-user. When provided, Dialogflow uses this field to
12297	// populate QueryResult.fulfillment_messages sent to the integration or
12298	// API caller.
12299	FulfillmentMessages []*GoogleCloudDialogflowV2IntentMessage `json:"fulfillmentMessages,omitempty"`
12300
12301	// FulfillmentText: Optional. The text response message intended for the
12302	// end-user. It is recommended to use
12303	// `fulfillment_messages.text.text[0]` instead. When provided,
12304	// Dialogflow uses this field to populate QueryResult.fulfillment_text
12305	// sent to the integration or API caller.
12306	FulfillmentText string `json:"fulfillmentText,omitempty"`
12307
12308	// OutputContexts: Optional. The collection of output contexts that will
12309	// overwrite currently active contexts for the session and reset their
12310	// lifespans. When provided, Dialogflow uses this field to populate
12311	// QueryResult.output_contexts sent to the integration or API caller.
12312	OutputContexts []*GoogleCloudDialogflowV2Context `json:"outputContexts,omitempty"`
12313
12314	// Payload: Optional. This field can be used to pass custom data from
12315	// your webhook to the integration or API caller. Arbitrary JSON objects
12316	// are supported. When provided, Dialogflow uses this field to populate
12317	// QueryResult.webhook_payload sent to the integration or API caller.
12318	// This field is also used by the Google Assistant integration
12319	// (https://cloud.google.com/dialogflow/docs/integrations/aog) for rich
12320	// response messages. See the format definition at Google Assistant
12321	// Dialogflow webhook format
12322	// (https://developers.google.com/assistant/actions/build/json/dialogflow-webhook-json)
12323	Payload googleapi.RawMessage `json:"payload,omitempty"`
12324
12325	// SessionEntityTypes: Optional. Additional session entity types to
12326	// replace or extend developer entity types with. The entity synonyms
12327	// apply to all languages and persist for the session. Setting this data
12328	// from a webhook overwrites the session entity types that have been set
12329	// using `detectIntent`, `streamingDetectIntent` or SessionEntityType
12330	// management methods.
12331	SessionEntityTypes []*GoogleCloudDialogflowV2SessionEntityType `json:"sessionEntityTypes,omitempty"`
12332
12333	// Source: Optional. A custom field used to identify the webhook source.
12334	// Arbitrary strings are supported. When provided, Dialogflow uses this
12335	// field to populate QueryResult.webhook_source sent to the integration
12336	// or API caller.
12337	Source string `json:"source,omitempty"`
12338
12339	// ForceSendFields is a list of field names (e.g. "FollowupEventInput")
12340	// to unconditionally include in API requests. By default, fields with
12341	// empty values are omitted from API requests. However, any non-pointer,
12342	// non-interface field appearing in ForceSendFields will be sent to the
12343	// server regardless of whether the field is empty or not. This may be
12344	// used to include empty fields in Patch requests.
12345	ForceSendFields []string `json:"-"`
12346
12347	// NullFields is a list of field names (e.g. "FollowupEventInput") to
12348	// include in API requests with the JSON null value. By default, fields
12349	// with empty values are omitted from API requests. However, any field
12350	// with an empty value appearing in NullFields will be sent to the
12351	// server as null. It is an error if a field in this list has a
12352	// non-empty value. This may be used to include null fields in Patch
12353	// requests.
12354	NullFields []string `json:"-"`
12355}
12356
12357func (s *GoogleCloudDialogflowV2WebhookResponse) MarshalJSON() ([]byte, error) {
12358	type NoMethod GoogleCloudDialogflowV2WebhookResponse
12359	raw := NoMethod(*s)
12360	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12361}
12362
12363// GoogleCloudDialogflowV2beta1AnnotatedMessagePart: Represents a part
12364// of a message possibly annotated with an entity. The part can be an
12365// entity or purely a part of the message between two entities or
12366// message start/end.
12367type GoogleCloudDialogflowV2beta1AnnotatedMessagePart struct {
12368	// EntityType: Optional. The Dialogflow system entity type
12369	// (https://cloud.google.com/dialogflow/docs/reference/system-entities)
12370	// of this message part. If this is empty, Dialogflow could not annotate
12371	// the phrase part with a system entity.
12372	EntityType string `json:"entityType,omitempty"`
12373
12374	// FormattedValue: Optional. The Dialogflow system entity formatted
12375	// value
12376	// (https://cloud.google.com/dialogflow/docs/reference/system-entities)
12377	// of this message part. For example for a system entity of type
12378	// `@sys.unit-currency`, this may contain: { "amount": 5, "currency":
12379	// "USD" }
12380	FormattedValue interface{} `json:"formattedValue,omitempty"`
12381
12382	// Text: Required. A part of a message possibly annotated with an
12383	// entity.
12384	Text string `json:"text,omitempty"`
12385
12386	// ForceSendFields is a list of field names (e.g. "EntityType") to
12387	// unconditionally include in API requests. By default, fields with
12388	// empty values are omitted from API requests. However, any non-pointer,
12389	// non-interface field appearing in ForceSendFields will be sent to the
12390	// server regardless of whether the field is empty or not. This may be
12391	// used to include empty fields in Patch requests.
12392	ForceSendFields []string `json:"-"`
12393
12394	// NullFields is a list of field names (e.g. "EntityType") to include in
12395	// API requests with the JSON null value. By default, fields with empty
12396	// values are omitted from API requests. However, any field with an
12397	// empty value appearing in NullFields will be sent to the server as
12398	// null. It is an error if a field in this list has a non-empty value.
12399	// This may be used to include null fields in Patch requests.
12400	NullFields []string `json:"-"`
12401}
12402
12403func (s *GoogleCloudDialogflowV2beta1AnnotatedMessagePart) MarshalJSON() ([]byte, error) {
12404	type NoMethod GoogleCloudDialogflowV2beta1AnnotatedMessagePart
12405	raw := NoMethod(*s)
12406	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12407}
12408
12409// GoogleCloudDialogflowV2beta1ArticleAnswer: Represents article answer.
12410type GoogleCloudDialogflowV2beta1ArticleAnswer struct {
12411	// AnswerRecord: The name of answer record, in the format of
12412	// "projects//locations//answerRecords/"
12413	AnswerRecord string `json:"answerRecord,omitempty"`
12414
12415	// Metadata: A map that contains metadata about the answer and the
12416	// document from which it originates.
12417	Metadata map[string]string `json:"metadata,omitempty"`
12418
12419	// Snippets: Output only. Article snippets.
12420	Snippets []string `json:"snippets,omitempty"`
12421
12422	// Title: The article title.
12423	Title string `json:"title,omitempty"`
12424
12425	// Uri: The article URI.
12426	Uri string `json:"uri,omitempty"`
12427
12428	// ForceSendFields is a list of field names (e.g. "AnswerRecord") to
12429	// unconditionally include in API requests. By default, fields with
12430	// empty values are omitted from API requests. However, any non-pointer,
12431	// non-interface field appearing in ForceSendFields will be sent to the
12432	// server regardless of whether the field is empty or not. This may be
12433	// used to include empty fields in Patch requests.
12434	ForceSendFields []string `json:"-"`
12435
12436	// NullFields is a list of field names (e.g. "AnswerRecord") to include
12437	// in API requests with the JSON null value. By default, fields with
12438	// empty values are omitted from API requests. However, any field with
12439	// an empty value appearing in NullFields will be sent to the server as
12440	// null. It is an error if a field in this list has a non-empty value.
12441	// This may be used to include null fields in Patch requests.
12442	NullFields []string `json:"-"`
12443}
12444
12445func (s *GoogleCloudDialogflowV2beta1ArticleAnswer) MarshalJSON() ([]byte, error) {
12446	type NoMethod GoogleCloudDialogflowV2beta1ArticleAnswer
12447	raw := NoMethod(*s)
12448	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12449}
12450
12451// GoogleCloudDialogflowV2beta1BatchUpdateEntityTypesResponse: The
12452// response message for EntityTypes.BatchUpdateEntityTypes.
12453type GoogleCloudDialogflowV2beta1BatchUpdateEntityTypesResponse struct {
12454	// EntityTypes: The collection of updated or created entity types.
12455	EntityTypes []*GoogleCloudDialogflowV2beta1EntityType `json:"entityTypes,omitempty"`
12456
12457	// ForceSendFields is a list of field names (e.g. "EntityTypes") to
12458	// unconditionally include in API requests. By default, fields with
12459	// empty values are omitted from API requests. However, any non-pointer,
12460	// non-interface field appearing in ForceSendFields will be sent to the
12461	// server regardless of whether the field is empty or not. This may be
12462	// used to include empty fields in Patch requests.
12463	ForceSendFields []string `json:"-"`
12464
12465	// NullFields is a list of field names (e.g. "EntityTypes") to include
12466	// in API requests with the JSON null value. By default, fields with
12467	// empty values are omitted from API requests. However, any field with
12468	// an empty value appearing in NullFields will be sent to the server as
12469	// null. It is an error if a field in this list has a non-empty value.
12470	// This may be used to include null fields in Patch requests.
12471	NullFields []string `json:"-"`
12472}
12473
12474func (s *GoogleCloudDialogflowV2beta1BatchUpdateEntityTypesResponse) MarshalJSON() ([]byte, error) {
12475	type NoMethod GoogleCloudDialogflowV2beta1BatchUpdateEntityTypesResponse
12476	raw := NoMethod(*s)
12477	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12478}
12479
12480// GoogleCloudDialogflowV2beta1BatchUpdateIntentsResponse: The response
12481// message for Intents.BatchUpdateIntents.
12482type GoogleCloudDialogflowV2beta1BatchUpdateIntentsResponse struct {
12483	// Intents: The collection of updated or created intents.
12484	Intents []*GoogleCloudDialogflowV2beta1Intent `json:"intents,omitempty"`
12485
12486	// ForceSendFields is a list of field names (e.g. "Intents") to
12487	// unconditionally include in API requests. By default, fields with
12488	// empty values are omitted from API requests. However, any non-pointer,
12489	// non-interface field appearing in ForceSendFields will be sent to the
12490	// server regardless of whether the field is empty or not. This may be
12491	// used to include empty fields in Patch requests.
12492	ForceSendFields []string `json:"-"`
12493
12494	// NullFields is a list of field names (e.g. "Intents") to include in
12495	// API requests with the JSON null value. By default, fields with empty
12496	// values are omitted from API requests. However, any field with an
12497	// empty value appearing in NullFields will be sent to the server as
12498	// null. It is an error if a field in this list has a non-empty value.
12499	// This may be used to include null fields in Patch requests.
12500	NullFields []string `json:"-"`
12501}
12502
12503func (s *GoogleCloudDialogflowV2beta1BatchUpdateIntentsResponse) MarshalJSON() ([]byte, error) {
12504	type NoMethod GoogleCloudDialogflowV2beta1BatchUpdateIntentsResponse
12505	raw := NoMethod(*s)
12506	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12507}
12508
12509// GoogleCloudDialogflowV2beta1Context: Dialogflow contexts are similar
12510// to natural language context. If a person says to you "they are
12511// orange", you need context in order to understand what "they" is
12512// referring to. Similarly, for Dialogflow to handle an end-user
12513// expression like that, it needs to be provided with context in order
12514// to correctly match an intent. Using contexts, you can control the
12515// flow of a conversation. You can configure contexts for an intent by
12516// setting input and output contexts, which are identified by string
12517// names. When an intent is matched, any configured output contexts for
12518// that intent become active. While any contexts are active, Dialogflow
12519// is more likely to match intents that are configured with input
12520// contexts that correspond to the currently active contexts. For more
12521// information about context, see the Contexts guide
12522// (https://cloud.google.com/dialogflow/docs/contexts-overview).
12523type GoogleCloudDialogflowV2beta1Context struct {
12524	// LifespanCount: Optional. The number of conversational query requests
12525	// after which the context expires. The default is `0`. If set to `0`,
12526	// the context expires immediately. Contexts expire automatically after
12527	// 20 minutes if there are no matching queries.
12528	LifespanCount int64 `json:"lifespanCount,omitempty"`
12529
12530	// Name: Required. The unique identifier of the context. Supported
12531	// formats: - `projects//agent/sessions//contexts/`, -
12532	// `projects//locations//agent/sessions//contexts/`, -
12533	// `projects//agent/environments//users//sessions//contexts/`, -
12534	// `projects//locations//agent/environments//users//sessions//contexts/`,
12535	//  The `Context ID` is always converted to lowercase, may only contain
12536	// characters in a-zA-Z0-9_-% and may be at most 250 bytes long. If
12537	// `Environment ID` is not specified, we assume default 'draft'
12538	// environment. If `User ID` is not specified, we assume default '-'
12539	// user. The following context names are reserved for internal use by
12540	// Dialogflow. You should not use these contexts or create contexts with
12541	// these names: * `__system_counters__` * `*_id_dialog_context` *
12542	// `*_dialog_params_size`
12543	Name string `json:"name,omitempty"`
12544
12545	// Parameters: Optional. The collection of parameters associated with
12546	// this context. Depending on your protocol or client library language,
12547	// this is a map, associative array, symbol table, dictionary, or JSON
12548	// object composed of a collection of (MapKey, MapValue) pairs: - MapKey
12549	// type: string - MapKey value: parameter name - MapValue type: - If
12550	// parameter's entity type is a composite entity: map - Else: depending
12551	// on parameter value type, could be one of string, number, boolean,
12552	// null, list or map - MapValue value: - If parameter's entity type is a
12553	// composite entity: map from composite entity property names to
12554	// property values - Else: parameter value
12555	Parameters googleapi.RawMessage `json:"parameters,omitempty"`
12556
12557	// ForceSendFields is a list of field names (e.g. "LifespanCount") to
12558	// unconditionally include in API requests. By default, fields with
12559	// empty values are omitted from API requests. However, any non-pointer,
12560	// non-interface field appearing in ForceSendFields will be sent to the
12561	// server regardless of whether the field is empty or not. This may be
12562	// used to include empty fields in Patch requests.
12563	ForceSendFields []string `json:"-"`
12564
12565	// NullFields is a list of field names (e.g. "LifespanCount") to include
12566	// in API requests with the JSON null value. By default, fields with
12567	// empty values are omitted from API requests. However, any field with
12568	// an empty value appearing in NullFields will be sent to the server as
12569	// null. It is an error if a field in this list has a non-empty value.
12570	// This may be used to include null fields in Patch requests.
12571	NullFields []string `json:"-"`
12572}
12573
12574func (s *GoogleCloudDialogflowV2beta1Context) MarshalJSON() ([]byte, error) {
12575	type NoMethod GoogleCloudDialogflowV2beta1Context
12576	raw := NoMethod(*s)
12577	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12578}
12579
12580// GoogleCloudDialogflowV2beta1ConversationEvent: Represents a
12581// notification sent to Pub/Sub subscribers for conversation lifecycle
12582// events.
12583type GoogleCloudDialogflowV2beta1ConversationEvent struct {
12584	// Conversation: Required. The unique identifier of the conversation
12585	// this notification refers to. Format: `projects//conversations/`.
12586	Conversation string `json:"conversation,omitempty"`
12587
12588	// ErrorStatus: Optional. More detailed information about an error. Only
12589	// set for type UNRECOVERABLE_ERROR_IN_PHONE_CALL.
12590	ErrorStatus *GoogleRpcStatus `json:"errorStatus,omitempty"`
12591
12592	// NewMessagePayload: Payload of NEW_MESSAGE event.
12593	NewMessagePayload *GoogleCloudDialogflowV2beta1Message `json:"newMessagePayload,omitempty"`
12594
12595	// Type: Required. The type of the event that this notification refers
12596	// to.
12597	//
12598	// Possible values:
12599	//   "TYPE_UNSPECIFIED" - Type not set.
12600	//   "CONVERSATION_STARTED" - A new conversation has been opened. This
12601	// is fired when a telephone call is answered, or a conversation is
12602	// created via the API.
12603	//   "CONVERSATION_FINISHED" - An existing conversation has closed. This
12604	// is fired when a telephone call is terminated, or a conversation is
12605	// closed via the API.
12606	//   "NEW_MESSAGE" - An existing conversation has received a new
12607	// message, either from API or telephony. It is configured in
12608	// ConversationProfile.new_message_event_notification_config
12609	//   "UNRECOVERABLE_ERROR" - Unrecoverable error during a telephone
12610	// call. In general non-recoverable errors only occur if something was
12611	// misconfigured in the ConversationProfile corresponding to the call.
12612	// After a non-recoverable error, Dialogflow may stop responding. We
12613	// don't fire this event: * in an API call because we can directly
12614	// return the error, or, * when we can recover from an error.
12615	Type string `json:"type,omitempty"`
12616
12617	// ForceSendFields is a list of field names (e.g. "Conversation") to
12618	// unconditionally include in API requests. By default, fields with
12619	// empty values are omitted from API requests. However, any non-pointer,
12620	// non-interface field appearing in ForceSendFields will be sent to the
12621	// server regardless of whether the field is empty or not. This may be
12622	// used to include empty fields in Patch requests.
12623	ForceSendFields []string `json:"-"`
12624
12625	// NullFields is a list of field names (e.g. "Conversation") to include
12626	// in API requests with the JSON null value. By default, fields with
12627	// empty values are omitted from API requests. However, any field with
12628	// an empty value appearing in NullFields will be sent to the server as
12629	// null. It is an error if a field in this list has a non-empty value.
12630	// This may be used to include null fields in Patch requests.
12631	NullFields []string `json:"-"`
12632}
12633
12634func (s *GoogleCloudDialogflowV2beta1ConversationEvent) MarshalJSON() ([]byte, error) {
12635	type NoMethod GoogleCloudDialogflowV2beta1ConversationEvent
12636	raw := NoMethod(*s)
12637	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12638}
12639
12640// GoogleCloudDialogflowV2beta1EntityType: Each intent parameter has a
12641// type, called the entity type, which dictates exactly how data from an
12642// end-user expression is extracted. Dialogflow provides predefined
12643// system entities that can match many common types of data. For
12644// example, there are system entities for matching dates, times, colors,
12645// email addresses, and so on. You can also create your own custom
12646// entities for matching custom data. For example, you could define a
12647// vegetable entity that can match the types of vegetables available for
12648// purchase with a grocery store agent. For more information, see the
12649// Entity guide
12650// (https://cloud.google.com/dialogflow/docs/entities-overview).
12651type GoogleCloudDialogflowV2beta1EntityType struct {
12652	// AutoExpansionMode: Optional. Indicates whether the entity type can be
12653	// automatically expanded.
12654	//
12655	// Possible values:
12656	//   "AUTO_EXPANSION_MODE_UNSPECIFIED" - Auto expansion disabled for the
12657	// entity.
12658	//   "AUTO_EXPANSION_MODE_DEFAULT" - Allows an agent to recognize values
12659	// that have not been explicitly listed in the entity.
12660	AutoExpansionMode string `json:"autoExpansionMode,omitempty"`
12661
12662	// DisplayName: Required. The name of the entity type.
12663	DisplayName string `json:"displayName,omitempty"`
12664
12665	// EnableFuzzyExtraction: Optional. Enables fuzzy entity extraction
12666	// during classification.
12667	EnableFuzzyExtraction bool `json:"enableFuzzyExtraction,omitempty"`
12668
12669	// Entities: Optional. The collection of entity entries associated with
12670	// the entity type.
12671	Entities []*GoogleCloudDialogflowV2beta1EntityTypeEntity `json:"entities,omitempty"`
12672
12673	// Kind: Required. Indicates the kind of entity type.
12674	//
12675	// Possible values:
12676	//   "KIND_UNSPECIFIED" - Not specified. This value should be never
12677	// used.
12678	//   "KIND_MAP" - Map entity types allow mapping of a group of synonyms
12679	// to a reference value.
12680	//   "KIND_LIST" - List entity types contain a set of entries that do
12681	// not map to reference values. However, list entity types can contain
12682	// references to other entity types (with or without aliases).
12683	//   "KIND_REGEXP" - Regexp entity types allow to specify regular
12684	// expressions in entries values.
12685	Kind string `json:"kind,omitempty"`
12686
12687	// Name: The unique identifier of the entity type. Required for
12688	// EntityTypes.UpdateEntityType and EntityTypes.BatchUpdateEntityTypes
12689	// methods. Supported formats: - `projects//agent/entityTypes/` -
12690	// `projects//locations//agent/entityTypes/`
12691	Name string `json:"name,omitempty"`
12692
12693	// ForceSendFields is a list of field names (e.g. "AutoExpansionMode")
12694	// to unconditionally include in API requests. By default, fields with
12695	// empty values are omitted from API requests. However, any non-pointer,
12696	// non-interface field appearing in ForceSendFields will be sent to the
12697	// server regardless of whether the field is empty or not. This may be
12698	// used to include empty fields in Patch requests.
12699	ForceSendFields []string `json:"-"`
12700
12701	// NullFields is a list of field names (e.g. "AutoExpansionMode") to
12702	// include in API requests with the JSON null value. By default, fields
12703	// with empty values are omitted from API requests. However, any field
12704	// with an empty value appearing in NullFields will be sent to the
12705	// server as null. It is an error if a field in this list has a
12706	// non-empty value. This may be used to include null fields in Patch
12707	// requests.
12708	NullFields []string `json:"-"`
12709}
12710
12711func (s *GoogleCloudDialogflowV2beta1EntityType) MarshalJSON() ([]byte, error) {
12712	type NoMethod GoogleCloudDialogflowV2beta1EntityType
12713	raw := NoMethod(*s)
12714	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12715}
12716
12717// GoogleCloudDialogflowV2beta1EntityTypeEntity: An **entity entry** for
12718// an associated entity type.
12719type GoogleCloudDialogflowV2beta1EntityTypeEntity struct {
12720	// Synonyms: Required. A collection of value synonyms. For example, if
12721	// the entity type is *vegetable*, and `value` is *scallions*, a synonym
12722	// could be *green onions*. For `KIND_LIST` entity types: * This
12723	// collection must contain exactly one synonym equal to `value`.
12724	Synonyms []string `json:"synonyms,omitempty"`
12725
12726	// Value: Required. The primary value associated with this entity entry.
12727	// For example, if the entity type is *vegetable*, the value could be
12728	// *scallions*. For `KIND_MAP` entity types: * A reference value to be
12729	// used in place of synonyms. For `KIND_LIST` entity types: * A string
12730	// that can contain references to other entity types (with or without
12731	// aliases).
12732	Value string `json:"value,omitempty"`
12733
12734	// ForceSendFields is a list of field names (e.g. "Synonyms") to
12735	// unconditionally include in API requests. By default, fields with
12736	// empty values are omitted from API requests. However, any non-pointer,
12737	// non-interface field appearing in ForceSendFields will be sent to the
12738	// server regardless of whether the field is empty or not. This may be
12739	// used to include empty fields in Patch requests.
12740	ForceSendFields []string `json:"-"`
12741
12742	// NullFields is a list of field names (e.g. "Synonyms") to include in
12743	// API requests with the JSON null value. By default, fields with empty
12744	// values are omitted from API requests. However, any field with an
12745	// empty value appearing in NullFields will be sent to the server as
12746	// null. It is an error if a field in this list has a non-empty value.
12747	// This may be used to include null fields in Patch requests.
12748	NullFields []string `json:"-"`
12749}
12750
12751func (s *GoogleCloudDialogflowV2beta1EntityTypeEntity) MarshalJSON() ([]byte, error) {
12752	type NoMethod GoogleCloudDialogflowV2beta1EntityTypeEntity
12753	raw := NoMethod(*s)
12754	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12755}
12756
12757// GoogleCloudDialogflowV2beta1EventInput: Events allow for matching
12758// intents by event name instead of the natural language input. For
12759// instance, input `` can trigger a personalized welcome response. The
12760// parameter `name` may be used by the agent in the response: "Hello
12761// #welcome_event.name! What can I do for you today?".
12762type GoogleCloudDialogflowV2beta1EventInput struct {
12763	// LanguageCode: Required. The language of this query. See Language
12764	// Support (https://cloud.google.com/dialogflow/docs/reference/language)
12765	// for a list of the currently supported language codes. Note that
12766	// queries in the same session do not necessarily need to specify the
12767	// same language.
12768	LanguageCode string `json:"languageCode,omitempty"`
12769
12770	// Name: Required. The unique identifier of the event.
12771	Name string `json:"name,omitempty"`
12772
12773	// Parameters: The collection of parameters associated with the event.
12774	// Depending on your protocol or client library language, this is a map,
12775	// associative array, symbol table, dictionary, or JSON object composed
12776	// of a collection of (MapKey, MapValue) pairs: - MapKey type: string -
12777	// MapKey value: parameter name - MapValue type: - If parameter's entity
12778	// type is a composite entity: map - Else: depending on parameter value
12779	// type, could be one of string, number, boolean, null, list or map -
12780	// MapValue value: - If parameter's entity type is a composite entity:
12781	// map from composite entity property names to property values - Else:
12782	// parameter value
12783	Parameters googleapi.RawMessage `json:"parameters,omitempty"`
12784
12785	// ForceSendFields is a list of field names (e.g. "LanguageCode") to
12786	// unconditionally include in API requests. By default, fields with
12787	// empty values are omitted from API requests. However, any non-pointer,
12788	// non-interface field appearing in ForceSendFields will be sent to the
12789	// server regardless of whether the field is empty or not. This may be
12790	// used to include empty fields in Patch requests.
12791	ForceSendFields []string `json:"-"`
12792
12793	// NullFields is a list of field names (e.g. "LanguageCode") to include
12794	// in API requests with the JSON null value. By default, fields with
12795	// empty values are omitted from API requests. However, any field with
12796	// an empty value appearing in NullFields will be sent to the server as
12797	// null. It is an error if a field in this list has a non-empty value.
12798	// This may be used to include null fields in Patch requests.
12799	NullFields []string `json:"-"`
12800}
12801
12802func (s *GoogleCloudDialogflowV2beta1EventInput) MarshalJSON() ([]byte, error) {
12803	type NoMethod GoogleCloudDialogflowV2beta1EventInput
12804	raw := NoMethod(*s)
12805	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12806}
12807
12808// GoogleCloudDialogflowV2beta1ExportAgentResponse: The response message
12809// for Agents.ExportAgent.
12810type GoogleCloudDialogflowV2beta1ExportAgentResponse struct {
12811	// AgentContent: Zip compressed raw byte content for agent.
12812	AgentContent string `json:"agentContent,omitempty"`
12813
12814	// AgentUri: The URI to a file containing the exported agent. This field
12815	// is populated only if `agent_uri` is specified in
12816	// `ExportAgentRequest`.
12817	AgentUri string `json:"agentUri,omitempty"`
12818
12819	// ForceSendFields is a list of field names (e.g. "AgentContent") to
12820	// unconditionally include in API requests. By default, fields with
12821	// empty values are omitted from API requests. However, any non-pointer,
12822	// non-interface field appearing in ForceSendFields will be sent to the
12823	// server regardless of whether the field is empty or not. This may be
12824	// used to include empty fields in Patch requests.
12825	ForceSendFields []string `json:"-"`
12826
12827	// NullFields is a list of field names (e.g. "AgentContent") to include
12828	// in API requests with the JSON null value. By default, fields with
12829	// empty values are omitted from API requests. However, any field with
12830	// an empty value appearing in NullFields will be sent to the server as
12831	// null. It is an error if a field in this list has a non-empty value.
12832	// This may be used to include null fields in Patch requests.
12833	NullFields []string `json:"-"`
12834}
12835
12836func (s *GoogleCloudDialogflowV2beta1ExportAgentResponse) MarshalJSON() ([]byte, error) {
12837	type NoMethod GoogleCloudDialogflowV2beta1ExportAgentResponse
12838	raw := NoMethod(*s)
12839	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12840}
12841
12842// GoogleCloudDialogflowV2beta1FaqAnswer: Represents answer from
12843// "frequently asked questions".
12844type GoogleCloudDialogflowV2beta1FaqAnswer struct {
12845	// Answer: The piece of text from the `source` knowledge base document.
12846	Answer string `json:"answer,omitempty"`
12847
12848	// AnswerRecord: The name of answer record, in the format of
12849	// "projects//locations//answerRecords/"
12850	AnswerRecord string `json:"answerRecord,omitempty"`
12851
12852	// Confidence: The system's confidence score that this Knowledge answer
12853	// is a good match for this conversational query, range from 0.0
12854	// (completely uncertain) to 1.0 (completely certain).
12855	Confidence float64 `json:"confidence,omitempty"`
12856
12857	// Metadata: A map that contains metadata about the answer and the
12858	// document from which it originates.
12859	Metadata map[string]string `json:"metadata,omitempty"`
12860
12861	// Question: The corresponding FAQ question.
12862	Question string `json:"question,omitempty"`
12863
12864	// Source: Indicates which Knowledge Document this answer was extracted
12865	// from. Format:
12866	// `projects//locations//agent/knowledgeBases//documents/`.
12867	Source string `json:"source,omitempty"`
12868
12869	// ForceSendFields is a list of field names (e.g. "Answer") to
12870	// unconditionally include in API requests. By default, fields with
12871	// empty values are omitted from API requests. However, any non-pointer,
12872	// non-interface field appearing in ForceSendFields will be sent to the
12873	// server regardless of whether the field is empty or not. This may be
12874	// used to include empty fields in Patch requests.
12875	ForceSendFields []string `json:"-"`
12876
12877	// NullFields is a list of field names (e.g. "Answer") to include in API
12878	// requests with the JSON null value. By default, fields with empty
12879	// values are omitted from API requests. However, any field with an
12880	// empty value appearing in NullFields will be sent to the server as
12881	// null. It is an error if a field in this list has a non-empty value.
12882	// This may be used to include null fields in Patch requests.
12883	NullFields []string `json:"-"`
12884}
12885
12886func (s *GoogleCloudDialogflowV2beta1FaqAnswer) MarshalJSON() ([]byte, error) {
12887	type NoMethod GoogleCloudDialogflowV2beta1FaqAnswer
12888	raw := NoMethod(*s)
12889	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12890}
12891
12892func (s *GoogleCloudDialogflowV2beta1FaqAnswer) UnmarshalJSON(data []byte) error {
12893	type NoMethod GoogleCloudDialogflowV2beta1FaqAnswer
12894	var s1 struct {
12895		Confidence gensupport.JSONFloat64 `json:"confidence"`
12896		*NoMethod
12897	}
12898	s1.NoMethod = (*NoMethod)(s)
12899	if err := json.Unmarshal(data, &s1); err != nil {
12900		return err
12901	}
12902	s.Confidence = float64(s1.Confidence)
12903	return nil
12904}
12905
12906// GoogleCloudDialogflowV2beta1HumanAgentAssistantEvent: Output only.
12907// Represents a notification sent to Pub/Sub subscribers for agent
12908// assistant events in a specific conversation.
12909type GoogleCloudDialogflowV2beta1HumanAgentAssistantEvent struct {
12910	// Conversation: The conversation this notification refers to. Format:
12911	// `projects//conversations/`.
12912	Conversation string `json:"conversation,omitempty"`
12913
12914	// Participant: The participant that the suggestion is compiled for. And
12915	// This field is used to call Participants.ListSuggestions API. Format:
12916	// `projects//conversations//participants/`. It will not be set in
12917	// legacy workflow. HumanAgentAssistantConfig.name for more information.
12918	Participant string `json:"participant,omitempty"`
12919
12920	// SuggestionResults: The suggestion results payload that this
12921	// notification refers to. It will only be set when
12922	// HumanAgentAssistantConfig.SuggestionConfig.group_suggestion_responses
12923	// sets to true.
12924	SuggestionResults []*GoogleCloudDialogflowV2beta1SuggestionResult `json:"suggestionResults,omitempty"`
12925
12926	// ForceSendFields is a list of field names (e.g. "Conversation") to
12927	// unconditionally include in API requests. By default, fields with
12928	// empty values are omitted from API requests. However, any non-pointer,
12929	// non-interface field appearing in ForceSendFields will be sent to the
12930	// server regardless of whether the field is empty or not. This may be
12931	// used to include empty fields in Patch requests.
12932	ForceSendFields []string `json:"-"`
12933
12934	// NullFields is a list of field names (e.g. "Conversation") to include
12935	// in API requests with the JSON null value. By default, fields with
12936	// empty values are omitted from API requests. However, any field with
12937	// an empty value appearing in NullFields will be sent to the server as
12938	// null. It is an error if a field in this list has a non-empty value.
12939	// This may be used to include null fields in Patch requests.
12940	NullFields []string `json:"-"`
12941}
12942
12943func (s *GoogleCloudDialogflowV2beta1HumanAgentAssistantEvent) MarshalJSON() ([]byte, error) {
12944	type NoMethod GoogleCloudDialogflowV2beta1HumanAgentAssistantEvent
12945	raw := NoMethod(*s)
12946	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12947}
12948
12949// GoogleCloudDialogflowV2beta1ImportDocumentsResponse: Response message
12950// for Documents.ImportDocuments.
12951type GoogleCloudDialogflowV2beta1ImportDocumentsResponse struct {
12952	// Warnings: Includes details about skipped documents or any other
12953	// warnings.
12954	Warnings []*GoogleRpcStatus `json:"warnings,omitempty"`
12955
12956	// ForceSendFields is a list of field names (e.g. "Warnings") to
12957	// unconditionally include in API requests. By default, fields with
12958	// empty values are omitted from API requests. However, any non-pointer,
12959	// non-interface field appearing in ForceSendFields will be sent to the
12960	// server regardless of whether the field is empty or not. This may be
12961	// used to include empty fields in Patch requests.
12962	ForceSendFields []string `json:"-"`
12963
12964	// NullFields is a list of field names (e.g. "Warnings") to include in
12965	// API requests with the JSON null value. By default, fields with empty
12966	// values are omitted from API requests. However, any field with an
12967	// empty value appearing in NullFields will be sent to the server as
12968	// null. It is an error if a field in this list has a non-empty value.
12969	// This may be used to include null fields in Patch requests.
12970	NullFields []string `json:"-"`
12971}
12972
12973func (s *GoogleCloudDialogflowV2beta1ImportDocumentsResponse) MarshalJSON() ([]byte, error) {
12974	type NoMethod GoogleCloudDialogflowV2beta1ImportDocumentsResponse
12975	raw := NoMethod(*s)
12976	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12977}
12978
12979// GoogleCloudDialogflowV2beta1Intent: An intent categorizes an
12980// end-user's intention for one conversation turn. For each agent, you
12981// define many intents, where your combined intents can handle a
12982// complete conversation. When an end-user writes or says something,
12983// referred to as an end-user expression or end-user input, Dialogflow
12984// matches the end-user input to the best intent in your agent. Matching
12985// an intent is also known as intent classification. For more
12986// information, see the intent guide
12987// (https://cloud.google.com/dialogflow/docs/intents-overview).
12988type GoogleCloudDialogflowV2beta1Intent struct {
12989	// Action: Optional. The name of the action associated with the intent.
12990	// Note: The action name must not contain whitespaces.
12991	Action string `json:"action,omitempty"`
12992
12993	// DefaultResponsePlatforms: Optional. The list of platforms for which
12994	// the first responses will be copied from the messages in
12995	// PLATFORM_UNSPECIFIED (i.e. default platform).
12996	//
12997	// Possible values:
12998	//   "PLATFORM_UNSPECIFIED" - Not specified.
12999	//   "FACEBOOK" - Facebook.
13000	//   "SLACK" - Slack.
13001	//   "TELEGRAM" - Telegram.
13002	//   "KIK" - Kik.
13003	//   "SKYPE" - Skype.
13004	//   "LINE" - Line.
13005	//   "VIBER" - Viber.
13006	//   "ACTIONS_ON_GOOGLE" - Google Assistant See [Dialogflow webhook
13007	// format](https://developers.google.com/assistant/actions/build/json/dia
13008	// logflow-webhook-json)
13009	//   "TELEPHONY" - Telephony Gateway.
13010	//   "GOOGLE_HANGOUTS" - Google Hangouts.
13011	DefaultResponsePlatforms []string `json:"defaultResponsePlatforms,omitempty"`
13012
13013	// DisplayName: Required. The name of this intent.
13014	DisplayName string `json:"displayName,omitempty"`
13015
13016	// EndInteraction: Optional. Indicates that this intent ends an
13017	// interaction. Some integrations (e.g., Actions on Google or Dialogflow
13018	// phone gateway) use this information to close interaction with an end
13019	// user. Default is false.
13020	EndInteraction bool `json:"endInteraction,omitempty"`
13021
13022	// Events: Optional. The collection of event names that trigger the
13023	// intent. If the collection of input contexts is not empty, all of the
13024	// contexts must be present in the active user session for an event to
13025	// trigger this intent. Event names are limited to 150 characters.
13026	Events []string `json:"events,omitempty"`
13027
13028	// FollowupIntentInfo: Output only. Information about all followup
13029	// intents that have this intent as a direct or indirect parent. We
13030	// populate this field only in the output.
13031	FollowupIntentInfo []*GoogleCloudDialogflowV2beta1IntentFollowupIntentInfo `json:"followupIntentInfo,omitempty"`
13032
13033	// InputContextNames: Optional. The list of context names required for
13034	// this intent to be triggered. Formats: -
13035	// `projects//agent/sessions/-/contexts/` -
13036	// `projects//locations//agent/sessions/-/contexts/`
13037	InputContextNames []string `json:"inputContextNames,omitempty"`
13038
13039	// IsFallback: Optional. Indicates whether this is a fallback intent.
13040	IsFallback bool `json:"isFallback,omitempty"`
13041
13042	// LiveAgentHandoff: Optional. Indicates that a live agent should be
13043	// brought in to handle the interaction with the user. In most cases,
13044	// when you set this flag to true, you would also want to set
13045	// end_interaction to true as well. Default is false.
13046	LiveAgentHandoff bool `json:"liveAgentHandoff,omitempty"`
13047
13048	// Messages: Optional. The collection of rich messages corresponding to
13049	// the `Response` field in the Dialogflow console.
13050	Messages []*GoogleCloudDialogflowV2beta1IntentMessage `json:"messages,omitempty"`
13051
13052	// MlDisabled: Optional. Indicates whether Machine Learning is disabled
13053	// for the intent. Note: If `ml_disabled` setting is set to true, then
13054	// this intent is not taken into account during inference in `ML ONLY`
13055	// match mode. Also, auto-markup in the UI is turned off.
13056	MlDisabled bool `json:"mlDisabled,omitempty"`
13057
13058	// MlEnabled: Optional. Indicates whether Machine Learning is enabled
13059	// for the intent. Note: If `ml_enabled` setting is set to false, then
13060	// this intent is not taken into account during inference in `ML ONLY`
13061	// match mode. Also, auto-markup in the UI is turned off. DEPRECATED!
13062	// Please use `ml_disabled` field instead. NOTE: If both `ml_enabled`
13063	// and `ml_disabled` are either not set or false, then the default value
13064	// is determined as follows: - Before April 15th, 2018 the default is:
13065	// ml_enabled = false / ml_disabled = true. - After April 15th, 2018 the
13066	// default is: ml_enabled = true / ml_disabled = false.
13067	MlEnabled bool `json:"mlEnabled,omitempty"`
13068
13069	// Name: Optional. The unique identifier of this intent. Required for
13070	// Intents.UpdateIntent and Intents.BatchUpdateIntents methods.
13071	// Supported formats: - `projects//agent/intents/` -
13072	// `projects//locations//agent/intents/`
13073	Name string `json:"name,omitempty"`
13074
13075	// OutputContexts: Optional. The collection of contexts that are
13076	// activated when the intent is matched. Context messages in this
13077	// collection should not set the parameters field. Setting the
13078	// `lifespan_count` to 0 will reset the context when the intent is
13079	// matched. Format: `projects//agent/sessions/-/contexts/`.
13080	OutputContexts []*GoogleCloudDialogflowV2beta1Context `json:"outputContexts,omitempty"`
13081
13082	// Parameters: Optional. The collection of parameters associated with
13083	// the intent.
13084	Parameters []*GoogleCloudDialogflowV2beta1IntentParameter `json:"parameters,omitempty"`
13085
13086	// ParentFollowupIntentName: Optional. The unique identifier of the
13087	// parent intent in the chain of followup intents. You can set this
13088	// field when creating an intent, for example with CreateIntent or
13089	// BatchUpdateIntents, in order to make this intent a followup intent.
13090	// It identifies the parent followup intent. Format:
13091	// `projects//agent/intents/`.
13092	ParentFollowupIntentName string `json:"parentFollowupIntentName,omitempty"`
13093
13094	// Priority: Optional. The priority of this intent. Higher numbers
13095	// represent higher priorities. - If the supplied value is unspecified
13096	// or 0, the service translates the value to 500,000, which corresponds
13097	// to the `Normal` priority in the console. - If the supplied value is
13098	// negative, the intent is ignored in runtime detect intent requests.
13099	Priority int64 `json:"priority,omitempty"`
13100
13101	// ResetContexts: Optional. Indicates whether to delete all contexts in
13102	// the current session when this intent is matched.
13103	ResetContexts bool `json:"resetContexts,omitempty"`
13104
13105	// RootFollowupIntentName: Output only. The unique identifier of the
13106	// root intent in the chain of followup intents. It identifies the
13107	// correct followup intents chain for this intent. Format:
13108	// `projects//agent/intents/`.
13109	RootFollowupIntentName string `json:"rootFollowupIntentName,omitempty"`
13110
13111	// TrainingPhrases: Optional. The collection of examples that the agent
13112	// is trained on.
13113	TrainingPhrases []*GoogleCloudDialogflowV2beta1IntentTrainingPhrase `json:"trainingPhrases,omitempty"`
13114
13115	// WebhookState: Optional. Indicates whether webhooks are enabled for
13116	// the intent.
13117	//
13118	// Possible values:
13119	//   "WEBHOOK_STATE_UNSPECIFIED" - Webhook is disabled in the agent and
13120	// in the intent.
13121	//   "WEBHOOK_STATE_ENABLED" - Webhook is enabled in the agent and in
13122	// the intent.
13123	//   "WEBHOOK_STATE_ENABLED_FOR_SLOT_FILLING" - Webhook is enabled in
13124	// the agent and in the intent. Also, each slot filling prompt is
13125	// forwarded to the webhook.
13126	WebhookState string `json:"webhookState,omitempty"`
13127
13128	// ForceSendFields is a list of field names (e.g. "Action") to
13129	// unconditionally include in API requests. By default, fields with
13130	// empty values are omitted from API requests. However, any non-pointer,
13131	// non-interface field appearing in ForceSendFields will be sent to the
13132	// server regardless of whether the field is empty or not. This may be
13133	// used to include empty fields in Patch requests.
13134	ForceSendFields []string `json:"-"`
13135
13136	// NullFields is a list of field names (e.g. "Action") to include in API
13137	// requests with the JSON null value. By default, fields with empty
13138	// values are omitted from API requests. However, any field with an
13139	// empty value appearing in NullFields will be sent to the server as
13140	// null. It is an error if a field in this list has a non-empty value.
13141	// This may be used to include null fields in Patch requests.
13142	NullFields []string `json:"-"`
13143}
13144
13145func (s *GoogleCloudDialogflowV2beta1Intent) MarshalJSON() ([]byte, error) {
13146	type NoMethod GoogleCloudDialogflowV2beta1Intent
13147	raw := NoMethod(*s)
13148	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13149}
13150
13151// GoogleCloudDialogflowV2beta1IntentFollowupIntentInfo: Represents a
13152// single followup intent in the chain.
13153type GoogleCloudDialogflowV2beta1IntentFollowupIntentInfo struct {
13154	// FollowupIntentName: The unique identifier of the followup intent.
13155	// Format: `projects//agent/intents/`.
13156	FollowupIntentName string `json:"followupIntentName,omitempty"`
13157
13158	// ParentFollowupIntentName: The unique identifier of the followup
13159	// intent's parent. Format: `projects//agent/intents/`.
13160	ParentFollowupIntentName string `json:"parentFollowupIntentName,omitempty"`
13161
13162	// ForceSendFields is a list of field names (e.g. "FollowupIntentName")
13163	// to unconditionally include in API requests. By default, fields with
13164	// empty values are omitted from API requests. However, any non-pointer,
13165	// non-interface field appearing in ForceSendFields will be sent to the
13166	// server regardless of whether the field is empty or not. This may be
13167	// used to include empty fields in Patch requests.
13168	ForceSendFields []string `json:"-"`
13169
13170	// NullFields is a list of field names (e.g. "FollowupIntentName") to
13171	// include in API requests with the JSON null value. By default, fields
13172	// with empty values are omitted from API requests. However, any field
13173	// with an empty value appearing in NullFields will be sent to the
13174	// server as null. It is an error if a field in this list has a
13175	// non-empty value. This may be used to include null fields in Patch
13176	// requests.
13177	NullFields []string `json:"-"`
13178}
13179
13180func (s *GoogleCloudDialogflowV2beta1IntentFollowupIntentInfo) MarshalJSON() ([]byte, error) {
13181	type NoMethod GoogleCloudDialogflowV2beta1IntentFollowupIntentInfo
13182	raw := NoMethod(*s)
13183	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13184}
13185
13186// GoogleCloudDialogflowV2beta1IntentMessage: Corresponds to the
13187// `Response` field in the Dialogflow console.
13188type GoogleCloudDialogflowV2beta1IntentMessage struct {
13189	// BasicCard: Displays a basic card for Actions on Google.
13190	BasicCard *GoogleCloudDialogflowV2beta1IntentMessageBasicCard `json:"basicCard,omitempty"`
13191
13192	// BrowseCarouselCard: Browse carousel card for Actions on Google.
13193	BrowseCarouselCard *GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCard `json:"browseCarouselCard,omitempty"`
13194
13195	// Card: Displays a card.
13196	Card *GoogleCloudDialogflowV2beta1IntentMessageCard `json:"card,omitempty"`
13197
13198	// CarouselSelect: Displays a carousel card for Actions on Google.
13199	CarouselSelect *GoogleCloudDialogflowV2beta1IntentMessageCarouselSelect `json:"carouselSelect,omitempty"`
13200
13201	// Image: Displays an image.
13202	Image *GoogleCloudDialogflowV2beta1IntentMessageImage `json:"image,omitempty"`
13203
13204	// LinkOutSuggestion: Displays a link out suggestion chip for Actions on
13205	// Google.
13206	LinkOutSuggestion *GoogleCloudDialogflowV2beta1IntentMessageLinkOutSuggestion `json:"linkOutSuggestion,omitempty"`
13207
13208	// ListSelect: Displays a list card for Actions on Google.
13209	ListSelect *GoogleCloudDialogflowV2beta1IntentMessageListSelect `json:"listSelect,omitempty"`
13210
13211	// MediaContent: The media content card for Actions on Google.
13212	MediaContent *GoogleCloudDialogflowV2beta1IntentMessageMediaContent `json:"mediaContent,omitempty"`
13213
13214	// Payload: A custom platform-specific response.
13215	Payload googleapi.RawMessage `json:"payload,omitempty"`
13216
13217	// Platform: Optional. The platform that this message is intended for.
13218	//
13219	// Possible values:
13220	//   "PLATFORM_UNSPECIFIED" - Not specified.
13221	//   "FACEBOOK" - Facebook.
13222	//   "SLACK" - Slack.
13223	//   "TELEGRAM" - Telegram.
13224	//   "KIK" - Kik.
13225	//   "SKYPE" - Skype.
13226	//   "LINE" - Line.
13227	//   "VIBER" - Viber.
13228	//   "ACTIONS_ON_GOOGLE" - Google Assistant See [Dialogflow webhook
13229	// format](https://developers.google.com/assistant/actions/build/json/dia
13230	// logflow-webhook-json)
13231	//   "TELEPHONY" - Telephony Gateway.
13232	//   "GOOGLE_HANGOUTS" - Google Hangouts.
13233	Platform string `json:"platform,omitempty"`
13234
13235	// QuickReplies: Displays quick replies.
13236	QuickReplies *GoogleCloudDialogflowV2beta1IntentMessageQuickReplies `json:"quickReplies,omitempty"`
13237
13238	// RbmCarouselRichCard: Rich Business Messaging (RBM) carousel rich card
13239	// response.
13240	RbmCarouselRichCard *GoogleCloudDialogflowV2beta1IntentMessageRbmCarouselCard `json:"rbmCarouselRichCard,omitempty"`
13241
13242	// RbmStandaloneRichCard: Standalone Rich Business Messaging (RBM) rich
13243	// card response.
13244	RbmStandaloneRichCard *GoogleCloudDialogflowV2beta1IntentMessageRbmStandaloneCard `json:"rbmStandaloneRichCard,omitempty"`
13245
13246	// RbmText: Rich Business Messaging (RBM) text response. RBM allows
13247	// businesses to send enriched and branded versions of SMS. See
13248	// https://jibe.google.com/business-messaging.
13249	RbmText *GoogleCloudDialogflowV2beta1IntentMessageRbmText `json:"rbmText,omitempty"`
13250
13251	// SimpleResponses: Returns a voice or text-only response for Actions on
13252	// Google.
13253	SimpleResponses *GoogleCloudDialogflowV2beta1IntentMessageSimpleResponses `json:"simpleResponses,omitempty"`
13254
13255	// Suggestions: Displays suggestion chips for Actions on Google.
13256	Suggestions *GoogleCloudDialogflowV2beta1IntentMessageSuggestions `json:"suggestions,omitempty"`
13257
13258	// TableCard: Table card for Actions on Google.
13259	TableCard *GoogleCloudDialogflowV2beta1IntentMessageTableCard `json:"tableCard,omitempty"`
13260
13261	// TelephonyPlayAudio: Plays audio from a file in Telephony Gateway.
13262	TelephonyPlayAudio *GoogleCloudDialogflowV2beta1IntentMessageTelephonyPlayAudio `json:"telephonyPlayAudio,omitempty"`
13263
13264	// TelephonySynthesizeSpeech: Synthesizes speech in Telephony Gateway.
13265	TelephonySynthesizeSpeech *GoogleCloudDialogflowV2beta1IntentMessageTelephonySynthesizeSpeech `json:"telephonySynthesizeSpeech,omitempty"`
13266
13267	// TelephonyTransferCall: Transfers the call in Telephony Gateway.
13268	TelephonyTransferCall *GoogleCloudDialogflowV2beta1IntentMessageTelephonyTransferCall `json:"telephonyTransferCall,omitempty"`
13269
13270	// Text: Returns a text response.
13271	Text *GoogleCloudDialogflowV2beta1IntentMessageText `json:"text,omitempty"`
13272
13273	// ForceSendFields is a list of field names (e.g. "BasicCard") to
13274	// unconditionally include in API requests. By default, fields with
13275	// empty values are omitted from API requests. However, any non-pointer,
13276	// non-interface field appearing in ForceSendFields will be sent to the
13277	// server regardless of whether the field is empty or not. This may be
13278	// used to include empty fields in Patch requests.
13279	ForceSendFields []string `json:"-"`
13280
13281	// NullFields is a list of field names (e.g. "BasicCard") to include in
13282	// API requests with the JSON null value. By default, fields with empty
13283	// values are omitted from API requests. However, any field with an
13284	// empty value appearing in NullFields will be sent to the server as
13285	// null. It is an error if a field in this list has a non-empty value.
13286	// This may be used to include null fields in Patch requests.
13287	NullFields []string `json:"-"`
13288}
13289
13290func (s *GoogleCloudDialogflowV2beta1IntentMessage) MarshalJSON() ([]byte, error) {
13291	type NoMethod GoogleCloudDialogflowV2beta1IntentMessage
13292	raw := NoMethod(*s)
13293	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13294}
13295
13296// GoogleCloudDialogflowV2beta1IntentMessageBasicCard: The basic card
13297// message. Useful for displaying information.
13298type GoogleCloudDialogflowV2beta1IntentMessageBasicCard struct {
13299	// Buttons: Optional. The collection of card buttons.
13300	Buttons []*GoogleCloudDialogflowV2beta1IntentMessageBasicCardButton `json:"buttons,omitempty"`
13301
13302	// FormattedText: Required, unless image is present. The body text of
13303	// the card.
13304	FormattedText string `json:"formattedText,omitempty"`
13305
13306	// Image: Optional. The image for the card.
13307	Image *GoogleCloudDialogflowV2beta1IntentMessageImage `json:"image,omitempty"`
13308
13309	// Subtitle: Optional. The subtitle of the card.
13310	Subtitle string `json:"subtitle,omitempty"`
13311
13312	// Title: Optional. The title of the card.
13313	Title string `json:"title,omitempty"`
13314
13315	// ForceSendFields is a list of field names (e.g. "Buttons") to
13316	// unconditionally include in API requests. By default, fields with
13317	// empty values are omitted from API requests. However, any non-pointer,
13318	// non-interface field appearing in ForceSendFields will be sent to the
13319	// server regardless of whether the field is empty or not. This may be
13320	// used to include empty fields in Patch requests.
13321	ForceSendFields []string `json:"-"`
13322
13323	// NullFields is a list of field names (e.g. "Buttons") to include in
13324	// API requests with the JSON null value. By default, fields with empty
13325	// values are omitted from API requests. However, any field with an
13326	// empty value appearing in NullFields will be sent to the server as
13327	// null. It is an error if a field in this list has a non-empty value.
13328	// This may be used to include null fields in Patch requests.
13329	NullFields []string `json:"-"`
13330}
13331
13332func (s *GoogleCloudDialogflowV2beta1IntentMessageBasicCard) MarshalJSON() ([]byte, error) {
13333	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageBasicCard
13334	raw := NoMethod(*s)
13335	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13336}
13337
13338// GoogleCloudDialogflowV2beta1IntentMessageBasicCardButton: The button
13339// object that appears at the bottom of a card.
13340type GoogleCloudDialogflowV2beta1IntentMessageBasicCardButton struct {
13341	// OpenUriAction: Required. Action to take when a user taps on the
13342	// button.
13343	OpenUriAction *GoogleCloudDialogflowV2beta1IntentMessageBasicCardButtonOpenUriAction `json:"openUriAction,omitempty"`
13344
13345	// Title: Required. The title of the button.
13346	Title string `json:"title,omitempty"`
13347
13348	// ForceSendFields is a list of field names (e.g. "OpenUriAction") to
13349	// unconditionally include in API requests. By default, fields with
13350	// empty values are omitted from API requests. However, any non-pointer,
13351	// non-interface field appearing in ForceSendFields will be sent to the
13352	// server regardless of whether the field is empty or not. This may be
13353	// used to include empty fields in Patch requests.
13354	ForceSendFields []string `json:"-"`
13355
13356	// NullFields is a list of field names (e.g. "OpenUriAction") to include
13357	// in API requests with the JSON null value. By default, fields with
13358	// empty values are omitted from API requests. However, any field with
13359	// an empty value appearing in NullFields will be sent to the server as
13360	// null. It is an error if a field in this list has a non-empty value.
13361	// This may be used to include null fields in Patch requests.
13362	NullFields []string `json:"-"`
13363}
13364
13365func (s *GoogleCloudDialogflowV2beta1IntentMessageBasicCardButton) MarshalJSON() ([]byte, error) {
13366	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageBasicCardButton
13367	raw := NoMethod(*s)
13368	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13369}
13370
13371// GoogleCloudDialogflowV2beta1IntentMessageBasicCardButtonOpenUriAction:
13372//  Opens the given URI.
13373type GoogleCloudDialogflowV2beta1IntentMessageBasicCardButtonOpenUriAction struct {
13374	// Uri: Required. The HTTP or HTTPS scheme URI.
13375	Uri string `json:"uri,omitempty"`
13376
13377	// ForceSendFields is a list of field names (e.g. "Uri") to
13378	// unconditionally include in API requests. By default, fields with
13379	// empty values are omitted from API requests. However, any non-pointer,
13380	// non-interface field appearing in ForceSendFields will be sent to the
13381	// server regardless of whether the field is empty or not. This may be
13382	// used to include empty fields in Patch requests.
13383	ForceSendFields []string `json:"-"`
13384
13385	// NullFields is a list of field names (e.g. "Uri") to include in API
13386	// requests with the JSON null value. By default, fields with empty
13387	// values are omitted from API requests. However, any field with an
13388	// empty value appearing in NullFields will be sent to the server as
13389	// null. It is an error if a field in this list has a non-empty value.
13390	// This may be used to include null fields in Patch requests.
13391	NullFields []string `json:"-"`
13392}
13393
13394func (s *GoogleCloudDialogflowV2beta1IntentMessageBasicCardButtonOpenUriAction) MarshalJSON() ([]byte, error) {
13395	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageBasicCardButtonOpenUriAction
13396	raw := NoMethod(*s)
13397	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13398}
13399
13400// GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCard: Browse
13401// Carousel Card for Actions on Google.
13402// https://developers.google.com/actions/assistant/responses#browsing_carousel
13403type GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCard struct {
13404	// ImageDisplayOptions: Optional. Settings for displaying the image.
13405	// Applies to every image in items.
13406	//
13407	// Possible values:
13408	//   "IMAGE_DISPLAY_OPTIONS_UNSPECIFIED" - Fill the gaps between the
13409	// image and the image container with gray bars.
13410	//   "GRAY" - Fill the gaps between the image and the image container
13411	// with gray bars.
13412	//   "WHITE" - Fill the gaps between the image and the image container
13413	// with white bars.
13414	//   "CROPPED" - Image is scaled such that the image width and height
13415	// match or exceed the container dimensions. This may crop the top and
13416	// bottom of the image if the scaled image height is greater than the
13417	// container height, or crop the left and right of the image if the
13418	// scaled image width is greater than the container width. This is
13419	// similar to "Zoom Mode" on a widescreen TV when playing a 4:3 video.
13420	//   "BLURRED_BACKGROUND" - Pad the gaps between image and image frame
13421	// with a blurred copy of the same image.
13422	ImageDisplayOptions string `json:"imageDisplayOptions,omitempty"`
13423
13424	// Items: Required. List of items in the Browse Carousel Card. Minimum
13425	// of two items, maximum of ten.
13426	Items []*GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCardBrowseCarouselCardItem `json:"items,omitempty"`
13427
13428	// ForceSendFields is a list of field names (e.g. "ImageDisplayOptions")
13429	// to unconditionally include in API requests. By default, fields with
13430	// empty values are omitted from API requests. However, any non-pointer,
13431	// non-interface field appearing in ForceSendFields will be sent to the
13432	// server regardless of whether the field is empty or not. This may be
13433	// used to include empty fields in Patch requests.
13434	ForceSendFields []string `json:"-"`
13435
13436	// NullFields is a list of field names (e.g. "ImageDisplayOptions") to
13437	// include in API requests with the JSON null value. By default, fields
13438	// with empty values are omitted from API requests. However, any field
13439	// with an empty value appearing in NullFields will be sent to the
13440	// server as null. It is an error if a field in this list has a
13441	// non-empty value. This may be used to include null fields in Patch
13442	// requests.
13443	NullFields []string `json:"-"`
13444}
13445
13446func (s *GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCard) MarshalJSON() ([]byte, error) {
13447	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCard
13448	raw := NoMethod(*s)
13449	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13450}
13451
13452// GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCardBrowseCarou
13453// selCardItem: Browsing carousel tile
13454type GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCardBrowseCarouselCardItem struct {
13455	// Description: Optional. Description of the carousel item. Maximum of
13456	// four lines of text.
13457	Description string `json:"description,omitempty"`
13458
13459	// Footer: Optional. Text that appears at the bottom of the Browse
13460	// Carousel Card. Maximum of one line of text.
13461	Footer string `json:"footer,omitempty"`
13462
13463	// Image: Optional. Hero image for the carousel item.
13464	Image *GoogleCloudDialogflowV2beta1IntentMessageImage `json:"image,omitempty"`
13465
13466	// OpenUriAction: Required. Action to present to the user.
13467	OpenUriAction *GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCardBrowseCarouselCardItemOpenUrlAction `json:"openUriAction,omitempty"`
13468
13469	// Title: Required. Title of the carousel item. Maximum of two lines of
13470	// text.
13471	Title string `json:"title,omitempty"`
13472
13473	// ForceSendFields is a list of field names (e.g. "Description") to
13474	// unconditionally include in API requests. By default, fields with
13475	// empty values are omitted from API requests. However, any non-pointer,
13476	// non-interface field appearing in ForceSendFields will be sent to the
13477	// server regardless of whether the field is empty or not. This may be
13478	// used to include empty fields in Patch requests.
13479	ForceSendFields []string `json:"-"`
13480
13481	// NullFields is a list of field names (e.g. "Description") to include
13482	// in API requests with the JSON null value. By default, fields with
13483	// empty values are omitted from API requests. However, any field with
13484	// an empty value appearing in NullFields will be sent to the server as
13485	// null. It is an error if a field in this list has a non-empty value.
13486	// This may be used to include null fields in Patch requests.
13487	NullFields []string `json:"-"`
13488}
13489
13490func (s *GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCardBrowseCarouselCardItem) MarshalJSON() ([]byte, error) {
13491	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCardBrowseCarouselCardItem
13492	raw := NoMethod(*s)
13493	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13494}
13495
13496// GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCardBrowseCarou
13497// selCardItemOpenUrlAction: Actions on Google action to open a given
13498// url.
13499type GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCardBrowseCarouselCardItemOpenUrlAction struct {
13500	// Url: Required. URL
13501	Url string `json:"url,omitempty"`
13502
13503	// UrlTypeHint: Optional. Specifies the type of viewer that is used when
13504	// opening the URL. Defaults to opening via web browser.
13505	//
13506	// Possible values:
13507	//   "URL_TYPE_HINT_UNSPECIFIED" - Unspecified
13508	//   "AMP_ACTION" - Url would be an amp action
13509	//   "AMP_CONTENT" - URL that points directly to AMP content, or to a
13510	// canonical URL which refers to AMP content via .
13511	UrlTypeHint string `json:"urlTypeHint,omitempty"`
13512
13513	// ForceSendFields is a list of field names (e.g. "Url") to
13514	// unconditionally include in API requests. By default, fields with
13515	// empty values are omitted from API requests. However, any non-pointer,
13516	// non-interface field appearing in ForceSendFields will be sent to the
13517	// server regardless of whether the field is empty or not. This may be
13518	// used to include empty fields in Patch requests.
13519	ForceSendFields []string `json:"-"`
13520
13521	// NullFields is a list of field names (e.g. "Url") to include in API
13522	// requests with the JSON null value. By default, fields with empty
13523	// values are omitted from API requests. However, any field with an
13524	// empty value appearing in NullFields will be sent to the server as
13525	// null. It is an error if a field in this list has a non-empty value.
13526	// This may be used to include null fields in Patch requests.
13527	NullFields []string `json:"-"`
13528}
13529
13530func (s *GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCardBrowseCarouselCardItemOpenUrlAction) MarshalJSON() ([]byte, error) {
13531	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCardBrowseCarouselCardItemOpenUrlAction
13532	raw := NoMethod(*s)
13533	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13534}
13535
13536// GoogleCloudDialogflowV2beta1IntentMessageCard: The card response
13537// message.
13538type GoogleCloudDialogflowV2beta1IntentMessageCard struct {
13539	// Buttons: Optional. The collection of card buttons.
13540	Buttons []*GoogleCloudDialogflowV2beta1IntentMessageCardButton `json:"buttons,omitempty"`
13541
13542	// ImageUri: Optional. The public URI to an image file for the card.
13543	ImageUri string `json:"imageUri,omitempty"`
13544
13545	// Subtitle: Optional. The subtitle of the card.
13546	Subtitle string `json:"subtitle,omitempty"`
13547
13548	// Title: Optional. The title of the card.
13549	Title string `json:"title,omitempty"`
13550
13551	// ForceSendFields is a list of field names (e.g. "Buttons") to
13552	// unconditionally include in API requests. By default, fields with
13553	// empty values are omitted from API requests. However, any non-pointer,
13554	// non-interface field appearing in ForceSendFields will be sent to the
13555	// server regardless of whether the field is empty or not. This may be
13556	// used to include empty fields in Patch requests.
13557	ForceSendFields []string `json:"-"`
13558
13559	// NullFields is a list of field names (e.g. "Buttons") to include in
13560	// API requests with the JSON null value. By default, fields with empty
13561	// values are omitted from API requests. However, any field with an
13562	// empty value appearing in NullFields will be sent to the server as
13563	// null. It is an error if a field in this list has a non-empty value.
13564	// This may be used to include null fields in Patch requests.
13565	NullFields []string `json:"-"`
13566}
13567
13568func (s *GoogleCloudDialogflowV2beta1IntentMessageCard) MarshalJSON() ([]byte, error) {
13569	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageCard
13570	raw := NoMethod(*s)
13571	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13572}
13573
13574// GoogleCloudDialogflowV2beta1IntentMessageCardButton: Optional.
13575// Contains information about a button.
13576type GoogleCloudDialogflowV2beta1IntentMessageCardButton struct {
13577	// Postback: Optional. The text to send back to the Dialogflow API or a
13578	// URI to open.
13579	Postback string `json:"postback,omitempty"`
13580
13581	// Text: Optional. The text to show on the button.
13582	Text string `json:"text,omitempty"`
13583
13584	// ForceSendFields is a list of field names (e.g. "Postback") to
13585	// unconditionally include in API requests. By default, fields with
13586	// empty values are omitted from API requests. However, any non-pointer,
13587	// non-interface field appearing in ForceSendFields will be sent to the
13588	// server regardless of whether the field is empty or not. This may be
13589	// used to include empty fields in Patch requests.
13590	ForceSendFields []string `json:"-"`
13591
13592	// NullFields is a list of field names (e.g. "Postback") to include in
13593	// API requests with the JSON null value. By default, fields with empty
13594	// values are omitted from API requests. However, any field with an
13595	// empty value appearing in NullFields will be sent to the server as
13596	// null. It is an error if a field in this list has a non-empty value.
13597	// This may be used to include null fields in Patch requests.
13598	NullFields []string `json:"-"`
13599}
13600
13601func (s *GoogleCloudDialogflowV2beta1IntentMessageCardButton) MarshalJSON() ([]byte, error) {
13602	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageCardButton
13603	raw := NoMethod(*s)
13604	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13605}
13606
13607// GoogleCloudDialogflowV2beta1IntentMessageCarouselSelect: The card for
13608// presenting a carousel of options to select from.
13609type GoogleCloudDialogflowV2beta1IntentMessageCarouselSelect struct {
13610	// Items: Required. Carousel items.
13611	Items []*GoogleCloudDialogflowV2beta1IntentMessageCarouselSelectItem `json:"items,omitempty"`
13612
13613	// ForceSendFields is a list of field names (e.g. "Items") to
13614	// unconditionally include in API requests. By default, fields with
13615	// empty values are omitted from API requests. However, any non-pointer,
13616	// non-interface field appearing in ForceSendFields will be sent to the
13617	// server regardless of whether the field is empty or not. This may be
13618	// used to include empty fields in Patch requests.
13619	ForceSendFields []string `json:"-"`
13620
13621	// NullFields is a list of field names (e.g. "Items") to include in API
13622	// requests with the JSON null value. By default, fields with empty
13623	// values are omitted from API requests. However, any field with an
13624	// empty value appearing in NullFields will be sent to the server as
13625	// null. It is an error if a field in this list has a non-empty value.
13626	// This may be used to include null fields in Patch requests.
13627	NullFields []string `json:"-"`
13628}
13629
13630func (s *GoogleCloudDialogflowV2beta1IntentMessageCarouselSelect) MarshalJSON() ([]byte, error) {
13631	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageCarouselSelect
13632	raw := NoMethod(*s)
13633	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13634}
13635
13636// GoogleCloudDialogflowV2beta1IntentMessageCarouselSelectItem: An item
13637// in the carousel.
13638type GoogleCloudDialogflowV2beta1IntentMessageCarouselSelectItem struct {
13639	// Description: Optional. The body text of the card.
13640	Description string `json:"description,omitempty"`
13641
13642	// Image: Optional. The image to display.
13643	Image *GoogleCloudDialogflowV2beta1IntentMessageImage `json:"image,omitempty"`
13644
13645	// Info: Required. Additional info about the option item.
13646	Info *GoogleCloudDialogflowV2beta1IntentMessageSelectItemInfo `json:"info,omitempty"`
13647
13648	// Title: Required. Title of the carousel item.
13649	Title string `json:"title,omitempty"`
13650
13651	// ForceSendFields is a list of field names (e.g. "Description") to
13652	// unconditionally include in API requests. By default, fields with
13653	// empty values are omitted from API requests. However, any non-pointer,
13654	// non-interface field appearing in ForceSendFields will be sent to the
13655	// server regardless of whether the field is empty or not. This may be
13656	// used to include empty fields in Patch requests.
13657	ForceSendFields []string `json:"-"`
13658
13659	// NullFields is a list of field names (e.g. "Description") to include
13660	// in API requests with the JSON null value. By default, fields with
13661	// empty values are omitted from API requests. However, any field with
13662	// an empty value appearing in NullFields will be sent to the server as
13663	// null. It is an error if a field in this list has a non-empty value.
13664	// This may be used to include null fields in Patch requests.
13665	NullFields []string `json:"-"`
13666}
13667
13668func (s *GoogleCloudDialogflowV2beta1IntentMessageCarouselSelectItem) MarshalJSON() ([]byte, error) {
13669	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageCarouselSelectItem
13670	raw := NoMethod(*s)
13671	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13672}
13673
13674// GoogleCloudDialogflowV2beta1IntentMessageColumnProperties: Column
13675// properties for TableCard.
13676type GoogleCloudDialogflowV2beta1IntentMessageColumnProperties struct {
13677	// Header: Required. Column heading.
13678	Header string `json:"header,omitempty"`
13679
13680	// HorizontalAlignment: Optional. Defines text alignment for all cells
13681	// in this column.
13682	//
13683	// Possible values:
13684	//   "HORIZONTAL_ALIGNMENT_UNSPECIFIED" - Text is aligned to the leading
13685	// edge of the column.
13686	//   "LEADING" - Text is aligned to the leading edge of the column.
13687	//   "CENTER" - Text is centered in the column.
13688	//   "TRAILING" - Text is aligned to the trailing edge of the column.
13689	HorizontalAlignment string `json:"horizontalAlignment,omitempty"`
13690
13691	// ForceSendFields is a list of field names (e.g. "Header") to
13692	// unconditionally include in API requests. By default, fields with
13693	// empty values are omitted from API requests. However, any non-pointer,
13694	// non-interface field appearing in ForceSendFields will be sent to the
13695	// server regardless of whether the field is empty or not. This may be
13696	// used to include empty fields in Patch requests.
13697	ForceSendFields []string `json:"-"`
13698
13699	// NullFields is a list of field names (e.g. "Header") to include in API
13700	// requests with the JSON null value. By default, fields with empty
13701	// values are omitted from API requests. However, any field with an
13702	// empty value appearing in NullFields will be sent to the server as
13703	// null. It is an error if a field in this list has a non-empty value.
13704	// This may be used to include null fields in Patch requests.
13705	NullFields []string `json:"-"`
13706}
13707
13708func (s *GoogleCloudDialogflowV2beta1IntentMessageColumnProperties) MarshalJSON() ([]byte, error) {
13709	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageColumnProperties
13710	raw := NoMethod(*s)
13711	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13712}
13713
13714// GoogleCloudDialogflowV2beta1IntentMessageImage: The image response
13715// message.
13716type GoogleCloudDialogflowV2beta1IntentMessageImage struct {
13717	// AccessibilityText: A text description of the image to be used for
13718	// accessibility, e.g., screen readers. Required if image_uri is set for
13719	// CarouselSelect.
13720	AccessibilityText string `json:"accessibilityText,omitempty"`
13721
13722	// ImageUri: Optional. The public URI to an image file.
13723	ImageUri string `json:"imageUri,omitempty"`
13724
13725	// ForceSendFields is a list of field names (e.g. "AccessibilityText")
13726	// to unconditionally include in API requests. By default, fields with
13727	// empty values are omitted from API requests. However, any non-pointer,
13728	// non-interface field appearing in ForceSendFields will be sent to the
13729	// server regardless of whether the field is empty or not. This may be
13730	// used to include empty fields in Patch requests.
13731	ForceSendFields []string `json:"-"`
13732
13733	// NullFields is a list of field names (e.g. "AccessibilityText") to
13734	// include in API requests with the JSON null value. By default, fields
13735	// with empty values are omitted from API requests. However, any field
13736	// with an empty value appearing in NullFields will be sent to the
13737	// server as null. It is an error if a field in this list has a
13738	// non-empty value. This may be used to include null fields in Patch
13739	// requests.
13740	NullFields []string `json:"-"`
13741}
13742
13743func (s *GoogleCloudDialogflowV2beta1IntentMessageImage) MarshalJSON() ([]byte, error) {
13744	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageImage
13745	raw := NoMethod(*s)
13746	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13747}
13748
13749// GoogleCloudDialogflowV2beta1IntentMessageLinkOutSuggestion: The
13750// suggestion chip message that allows the user to jump out to the app
13751// or website associated with this agent.
13752type GoogleCloudDialogflowV2beta1IntentMessageLinkOutSuggestion struct {
13753	// DestinationName: Required. The name of the app or site this chip is
13754	// linking to.
13755	DestinationName string `json:"destinationName,omitempty"`
13756
13757	// Uri: Required. The URI of the app or site to open when the user taps
13758	// the suggestion chip.
13759	Uri string `json:"uri,omitempty"`
13760
13761	// ForceSendFields is a list of field names (e.g. "DestinationName") to
13762	// unconditionally include in API requests. By default, fields with
13763	// empty values are omitted from API requests. However, any non-pointer,
13764	// non-interface field appearing in ForceSendFields will be sent to the
13765	// server regardless of whether the field is empty or not. This may be
13766	// used to include empty fields in Patch requests.
13767	ForceSendFields []string `json:"-"`
13768
13769	// NullFields is a list of field names (e.g. "DestinationName") to
13770	// include in API requests with the JSON null value. By default, fields
13771	// with empty values are omitted from API requests. However, any field
13772	// with an empty value appearing in NullFields will be sent to the
13773	// server as null. It is an error if a field in this list has a
13774	// non-empty value. This may be used to include null fields in Patch
13775	// requests.
13776	NullFields []string `json:"-"`
13777}
13778
13779func (s *GoogleCloudDialogflowV2beta1IntentMessageLinkOutSuggestion) MarshalJSON() ([]byte, error) {
13780	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageLinkOutSuggestion
13781	raw := NoMethod(*s)
13782	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13783}
13784
13785// GoogleCloudDialogflowV2beta1IntentMessageListSelect: The card for
13786// presenting a list of options to select from.
13787type GoogleCloudDialogflowV2beta1IntentMessageListSelect struct {
13788	// Items: Required. List items.
13789	Items []*GoogleCloudDialogflowV2beta1IntentMessageListSelectItem `json:"items,omitempty"`
13790
13791	// Subtitle: Optional. Subtitle of the list.
13792	Subtitle string `json:"subtitle,omitempty"`
13793
13794	// Title: Optional. The overall title of the list.
13795	Title string `json:"title,omitempty"`
13796
13797	// ForceSendFields is a list of field names (e.g. "Items") to
13798	// unconditionally include in API requests. By default, fields with
13799	// empty values are omitted from API requests. However, any non-pointer,
13800	// non-interface field appearing in ForceSendFields will be sent to the
13801	// server regardless of whether the field is empty or not. This may be
13802	// used to include empty fields in Patch requests.
13803	ForceSendFields []string `json:"-"`
13804
13805	// NullFields is a list of field names (e.g. "Items") to include in API
13806	// requests with the JSON null value. By default, fields with empty
13807	// values are omitted from API requests. However, any field with an
13808	// empty value appearing in NullFields will be sent to the server as
13809	// null. It is an error if a field in this list has a non-empty value.
13810	// This may be used to include null fields in Patch requests.
13811	NullFields []string `json:"-"`
13812}
13813
13814func (s *GoogleCloudDialogflowV2beta1IntentMessageListSelect) MarshalJSON() ([]byte, error) {
13815	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageListSelect
13816	raw := NoMethod(*s)
13817	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13818}
13819
13820// GoogleCloudDialogflowV2beta1IntentMessageListSelectItem: An item in
13821// the list.
13822type GoogleCloudDialogflowV2beta1IntentMessageListSelectItem struct {
13823	// Description: Optional. The main text describing the item.
13824	Description string `json:"description,omitempty"`
13825
13826	// Image: Optional. The image to display.
13827	Image *GoogleCloudDialogflowV2beta1IntentMessageImage `json:"image,omitempty"`
13828
13829	// Info: Required. Additional information about this option.
13830	Info *GoogleCloudDialogflowV2beta1IntentMessageSelectItemInfo `json:"info,omitempty"`
13831
13832	// Title: Required. The title of the list item.
13833	Title string `json:"title,omitempty"`
13834
13835	// ForceSendFields is a list of field names (e.g. "Description") to
13836	// unconditionally include in API requests. By default, fields with
13837	// empty values are omitted from API requests. However, any non-pointer,
13838	// non-interface field appearing in ForceSendFields will be sent to the
13839	// server regardless of whether the field is empty or not. This may be
13840	// used to include empty fields in Patch requests.
13841	ForceSendFields []string `json:"-"`
13842
13843	// NullFields is a list of field names (e.g. "Description") to include
13844	// in API requests with the JSON null value. By default, fields with
13845	// empty values are omitted from API requests. However, any field with
13846	// an empty value appearing in NullFields will be sent to the server as
13847	// null. It is an error if a field in this list has a non-empty value.
13848	// This may be used to include null fields in Patch requests.
13849	NullFields []string `json:"-"`
13850}
13851
13852func (s *GoogleCloudDialogflowV2beta1IntentMessageListSelectItem) MarshalJSON() ([]byte, error) {
13853	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageListSelectItem
13854	raw := NoMethod(*s)
13855	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13856}
13857
13858// GoogleCloudDialogflowV2beta1IntentMessageMediaContent: The media
13859// content card for Actions on Google.
13860type GoogleCloudDialogflowV2beta1IntentMessageMediaContent struct {
13861	// MediaObjects: Required. List of media objects.
13862	MediaObjects []*GoogleCloudDialogflowV2beta1IntentMessageMediaContentResponseMediaObject `json:"mediaObjects,omitempty"`
13863
13864	// MediaType: Optional. What type of media is the content (ie "audio").
13865	//
13866	// Possible values:
13867	//   "RESPONSE_MEDIA_TYPE_UNSPECIFIED" - Unspecified.
13868	//   "AUDIO" - Response media type is audio.
13869	MediaType string `json:"mediaType,omitempty"`
13870
13871	// ForceSendFields is a list of field names (e.g. "MediaObjects") to
13872	// unconditionally include in API requests. By default, fields with
13873	// empty values are omitted from API requests. However, any non-pointer,
13874	// non-interface field appearing in ForceSendFields will be sent to the
13875	// server regardless of whether the field is empty or not. This may be
13876	// used to include empty fields in Patch requests.
13877	ForceSendFields []string `json:"-"`
13878
13879	// NullFields is a list of field names (e.g. "MediaObjects") to include
13880	// in API requests with the JSON null value. By default, fields with
13881	// empty values are omitted from API requests. However, any field with
13882	// an empty value appearing in NullFields will be sent to the server as
13883	// null. It is an error if a field in this list has a non-empty value.
13884	// This may be used to include null fields in Patch requests.
13885	NullFields []string `json:"-"`
13886}
13887
13888func (s *GoogleCloudDialogflowV2beta1IntentMessageMediaContent) MarshalJSON() ([]byte, error) {
13889	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageMediaContent
13890	raw := NoMethod(*s)
13891	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13892}
13893
13894// GoogleCloudDialogflowV2beta1IntentMessageMediaContentResponseMediaObje
13895// ct: Response media object for media content card.
13896type GoogleCloudDialogflowV2beta1IntentMessageMediaContentResponseMediaObject struct {
13897	// ContentUrl: Required. Url where the media is stored.
13898	ContentUrl string `json:"contentUrl,omitempty"`
13899
13900	// Description: Optional. Description of media card.
13901	Description string `json:"description,omitempty"`
13902
13903	// Icon: Optional. Icon to display above media content.
13904	Icon *GoogleCloudDialogflowV2beta1IntentMessageImage `json:"icon,omitempty"`
13905
13906	// LargeImage: Optional. Image to display above media content.
13907	LargeImage *GoogleCloudDialogflowV2beta1IntentMessageImage `json:"largeImage,omitempty"`
13908
13909	// Name: Required. Name of media card.
13910	Name string `json:"name,omitempty"`
13911
13912	// ForceSendFields is a list of field names (e.g. "ContentUrl") to
13913	// unconditionally include in API requests. By default, fields with
13914	// empty values are omitted from API requests. However, any non-pointer,
13915	// non-interface field appearing in ForceSendFields will be sent to the
13916	// server regardless of whether the field is empty or not. This may be
13917	// used to include empty fields in Patch requests.
13918	ForceSendFields []string `json:"-"`
13919
13920	// NullFields is a list of field names (e.g. "ContentUrl") to include in
13921	// API requests with the JSON null value. By default, fields with empty
13922	// values are omitted from API requests. However, any field with an
13923	// empty value appearing in NullFields will be sent to the server as
13924	// null. It is an error if a field in this list has a non-empty value.
13925	// This may be used to include null fields in Patch requests.
13926	NullFields []string `json:"-"`
13927}
13928
13929func (s *GoogleCloudDialogflowV2beta1IntentMessageMediaContentResponseMediaObject) MarshalJSON() ([]byte, error) {
13930	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageMediaContentResponseMediaObject
13931	raw := NoMethod(*s)
13932	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13933}
13934
13935// GoogleCloudDialogflowV2beta1IntentMessageQuickReplies: The quick
13936// replies response message.
13937type GoogleCloudDialogflowV2beta1IntentMessageQuickReplies struct {
13938	// QuickReplies: Optional. The collection of quick replies.
13939	QuickReplies []string `json:"quickReplies,omitempty"`
13940
13941	// Title: Optional. The title of the collection of quick replies.
13942	Title string `json:"title,omitempty"`
13943
13944	// ForceSendFields is a list of field names (e.g. "QuickReplies") to
13945	// unconditionally include in API requests. By default, fields with
13946	// empty values are omitted from API requests. However, any non-pointer,
13947	// non-interface field appearing in ForceSendFields will be sent to the
13948	// server regardless of whether the field is empty or not. This may be
13949	// used to include empty fields in Patch requests.
13950	ForceSendFields []string `json:"-"`
13951
13952	// NullFields is a list of field names (e.g. "QuickReplies") to include
13953	// in API requests with the JSON null value. By default, fields with
13954	// empty values are omitted from API requests. However, any field with
13955	// an empty value appearing in NullFields will be sent to the server as
13956	// null. It is an error if a field in this list has a non-empty value.
13957	// This may be used to include null fields in Patch requests.
13958	NullFields []string `json:"-"`
13959}
13960
13961func (s *GoogleCloudDialogflowV2beta1IntentMessageQuickReplies) MarshalJSON() ([]byte, error) {
13962	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageQuickReplies
13963	raw := NoMethod(*s)
13964	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13965}
13966
13967// GoogleCloudDialogflowV2beta1IntentMessageRbmCardContent: Rich
13968// Business Messaging (RBM) Card content
13969type GoogleCloudDialogflowV2beta1IntentMessageRbmCardContent struct {
13970	// Description: Optional. Description of the card (at most 2000 bytes).
13971	// At least one of the title, description or media must be set.
13972	Description string `json:"description,omitempty"`
13973
13974	// Media: Optional. However at least one of the title, description or
13975	// media must be set. Media (image, GIF or a video) to include in the
13976	// card.
13977	Media *GoogleCloudDialogflowV2beta1IntentMessageRbmCardContentRbmMedia `json:"media,omitempty"`
13978
13979	// Suggestions: Optional. List of suggestions to include in the card.
13980	Suggestions []*GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestion `json:"suggestions,omitempty"`
13981
13982	// Title: Optional. Title of the card (at most 200 bytes). At least one
13983	// of the title, description or media must be set.
13984	Title string `json:"title,omitempty"`
13985
13986	// ForceSendFields is a list of field names (e.g. "Description") to
13987	// unconditionally include in API requests. By default, fields with
13988	// empty values are omitted from API requests. However, any non-pointer,
13989	// non-interface field appearing in ForceSendFields will be sent to the
13990	// server regardless of whether the field is empty or not. This may be
13991	// used to include empty fields in Patch requests.
13992	ForceSendFields []string `json:"-"`
13993
13994	// NullFields is a list of field names (e.g. "Description") to include
13995	// in API requests with the JSON null value. By default, fields with
13996	// empty values are omitted from API requests. However, any field with
13997	// an empty value appearing in NullFields will be sent to the server as
13998	// null. It is an error if a field in this list has a non-empty value.
13999	// This may be used to include null fields in Patch requests.
14000	NullFields []string `json:"-"`
14001}
14002
14003func (s *GoogleCloudDialogflowV2beta1IntentMessageRbmCardContent) MarshalJSON() ([]byte, error) {
14004	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageRbmCardContent
14005	raw := NoMethod(*s)
14006	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14007}
14008
14009// GoogleCloudDialogflowV2beta1IntentMessageRbmCardContentRbmMedia: Rich
14010// Business Messaging (RBM) Media displayed in Cards The following
14011// media-types are currently supported: Image Types * image/jpeg *
14012// image/jpg' * image/gif * image/png Video Types * video/h263 *
14013// video/m4v * video/mp4 * video/mpeg * video/mpeg4 * video/webm
14014type GoogleCloudDialogflowV2beta1IntentMessageRbmCardContentRbmMedia struct {
14015	// FileUri: Required. Publicly reachable URI of the file. The RBM
14016	// platform determines the MIME type of the file from the content-type
14017	// field in the HTTP headers when the platform fetches the file. The
14018	// content-type field must be present and accurate in the HTTP response
14019	// from the URL.
14020	FileUri string `json:"fileUri,omitempty"`
14021
14022	// Height: Required for cards with vertical orientation. The height of
14023	// the media within a rich card with a vertical layout. For a standalone
14024	// card with horizontal layout, height is not customizable, and this
14025	// field is ignored.
14026	//
14027	// Possible values:
14028	//   "HEIGHT_UNSPECIFIED" - Not specified.
14029	//   "SHORT" - 112 DP.
14030	//   "MEDIUM" - 168 DP.
14031	//   "TALL" - 264 DP. Not available for rich card carousels when the
14032	// card width is set to small.
14033	Height string `json:"height,omitempty"`
14034
14035	// ThumbnailUri: Optional. Publicly reachable URI of the thumbnail.If
14036	// you don't provide a thumbnail URI, the RBM platform displays a blank
14037	// placeholder thumbnail until the user's device downloads the file.
14038	// Depending on the user's setting, the file may not download
14039	// automatically and may require the user to tap a download button.
14040	ThumbnailUri string `json:"thumbnailUri,omitempty"`
14041
14042	// ForceSendFields is a list of field names (e.g. "FileUri") to
14043	// unconditionally include in API requests. By default, fields with
14044	// empty values are omitted from API requests. However, any non-pointer,
14045	// non-interface field appearing in ForceSendFields will be sent to the
14046	// server regardless of whether the field is empty or not. This may be
14047	// used to include empty fields in Patch requests.
14048	ForceSendFields []string `json:"-"`
14049
14050	// NullFields is a list of field names (e.g. "FileUri") to include in
14051	// API requests with the JSON null value. By default, fields with empty
14052	// values are omitted from API requests. However, any field with an
14053	// empty value appearing in NullFields will be sent to the server as
14054	// null. It is an error if a field in this list has a non-empty value.
14055	// This may be used to include null fields in Patch requests.
14056	NullFields []string `json:"-"`
14057}
14058
14059func (s *GoogleCloudDialogflowV2beta1IntentMessageRbmCardContentRbmMedia) MarshalJSON() ([]byte, error) {
14060	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageRbmCardContentRbmMedia
14061	raw := NoMethod(*s)
14062	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14063}
14064
14065// GoogleCloudDialogflowV2beta1IntentMessageRbmCarouselCard: Carousel
14066// Rich Business Messaging (RBM) rich card. Rich cards allow you to
14067// respond to users with more vivid content, e.g. with media and
14068// suggestions. If you want to show a single card with more control over
14069// the layout, please use RbmStandaloneCard instead.
14070type GoogleCloudDialogflowV2beta1IntentMessageRbmCarouselCard struct {
14071	// CardContents: Required. The cards in the carousel. A carousel must
14072	// have at least 2 cards and at most 10.
14073	CardContents []*GoogleCloudDialogflowV2beta1IntentMessageRbmCardContent `json:"cardContents,omitempty"`
14074
14075	// CardWidth: Required. The width of the cards in the carousel.
14076	//
14077	// Possible values:
14078	//   "CARD_WIDTH_UNSPECIFIED" - Not specified.
14079	//   "SMALL" - 120 DP. Note that tall media cannot be used.
14080	//   "MEDIUM" - 232 DP.
14081	CardWidth string `json:"cardWidth,omitempty"`
14082
14083	// ForceSendFields is a list of field names (e.g. "CardContents") to
14084	// unconditionally include in API requests. By default, fields with
14085	// empty values are omitted from API requests. However, any non-pointer,
14086	// non-interface field appearing in ForceSendFields will be sent to the
14087	// server regardless of whether the field is empty or not. This may be
14088	// used to include empty fields in Patch requests.
14089	ForceSendFields []string `json:"-"`
14090
14091	// NullFields is a list of field names (e.g. "CardContents") to include
14092	// in API requests with the JSON null value. By default, fields with
14093	// empty values are omitted from API requests. However, any field with
14094	// an empty value appearing in NullFields will be sent to the server as
14095	// null. It is an error if a field in this list has a non-empty value.
14096	// This may be used to include null fields in Patch requests.
14097	NullFields []string `json:"-"`
14098}
14099
14100func (s *GoogleCloudDialogflowV2beta1IntentMessageRbmCarouselCard) MarshalJSON() ([]byte, error) {
14101	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageRbmCarouselCard
14102	raw := NoMethod(*s)
14103	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14104}
14105
14106// GoogleCloudDialogflowV2beta1IntentMessageRbmStandaloneCard:
14107// Standalone Rich Business Messaging (RBM) rich card. Rich cards allow
14108// you to respond to users with more vivid content, e.g. with media and
14109// suggestions. You can group multiple rich cards into one using
14110// RbmCarouselCard but carousel cards will give you less control over
14111// the card layout.
14112type GoogleCloudDialogflowV2beta1IntentMessageRbmStandaloneCard struct {
14113	// CardContent: Required. Card content.
14114	CardContent *GoogleCloudDialogflowV2beta1IntentMessageRbmCardContent `json:"cardContent,omitempty"`
14115
14116	// CardOrientation: Required. Orientation of the card.
14117	//
14118	// Possible values:
14119	//   "CARD_ORIENTATION_UNSPECIFIED" - Not specified.
14120	//   "HORIZONTAL" - Horizontal layout.
14121	//   "VERTICAL" - Vertical layout.
14122	CardOrientation string `json:"cardOrientation,omitempty"`
14123
14124	// ThumbnailImageAlignment: Required if orientation is horizontal. Image
14125	// preview alignment for standalone cards with horizontal layout.
14126	//
14127	// Possible values:
14128	//   "THUMBNAIL_IMAGE_ALIGNMENT_UNSPECIFIED" - Not specified.
14129	//   "LEFT" - Thumbnail preview is left-aligned.
14130	//   "RIGHT" - Thumbnail preview is right-aligned.
14131	ThumbnailImageAlignment string `json:"thumbnailImageAlignment,omitempty"`
14132
14133	// ForceSendFields is a list of field names (e.g. "CardContent") to
14134	// unconditionally include in API requests. By default, fields with
14135	// empty values are omitted from API requests. However, any non-pointer,
14136	// non-interface field appearing in ForceSendFields will be sent to the
14137	// server regardless of whether the field is empty or not. This may be
14138	// used to include empty fields in Patch requests.
14139	ForceSendFields []string `json:"-"`
14140
14141	// NullFields is a list of field names (e.g. "CardContent") to include
14142	// in API requests with the JSON null value. By default, fields with
14143	// empty values are omitted from API requests. However, any field with
14144	// an empty value appearing in NullFields will be sent to the server as
14145	// null. It is an error if a field in this list has a non-empty value.
14146	// This may be used to include null fields in Patch requests.
14147	NullFields []string `json:"-"`
14148}
14149
14150func (s *GoogleCloudDialogflowV2beta1IntentMessageRbmStandaloneCard) MarshalJSON() ([]byte, error) {
14151	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageRbmStandaloneCard
14152	raw := NoMethod(*s)
14153	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14154}
14155
14156// GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedAction: Rich
14157// Business Messaging (RBM) suggested client-side action that the user
14158// can choose from the card.
14159type GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedAction struct {
14160	// Dial: Suggested client side action: Dial a phone number
14161	Dial *GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionDial `json:"dial,omitempty"`
14162
14163	// OpenUrl: Suggested client side action: Open a URI on device
14164	OpenUrl *GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionOpenUri `json:"openUrl,omitempty"`
14165
14166	// PostbackData: Opaque payload that the Dialogflow receives in a user
14167	// event when the user taps the suggested action. This data will be also
14168	// forwarded to webhook to allow performing custom business logic.
14169	PostbackData string `json:"postbackData,omitempty"`
14170
14171	// ShareLocation: Suggested client side action: Share user location
14172	ShareLocation *GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionShareLocation `json:"shareLocation,omitempty"`
14173
14174	// Text: Text to display alongside the action.
14175	Text string `json:"text,omitempty"`
14176
14177	// ForceSendFields is a list of field names (e.g. "Dial") to
14178	// unconditionally include in API requests. By default, fields with
14179	// empty values are omitted from API requests. However, any non-pointer,
14180	// non-interface field appearing in ForceSendFields will be sent to the
14181	// server regardless of whether the field is empty or not. This may be
14182	// used to include empty fields in Patch requests.
14183	ForceSendFields []string `json:"-"`
14184
14185	// NullFields is a list of field names (e.g. "Dial") to include in API
14186	// requests with the JSON null value. By default, fields with empty
14187	// values are omitted from API requests. However, any field with an
14188	// empty value appearing in NullFields will be sent to the server as
14189	// null. It is an error if a field in this list has a non-empty value.
14190	// This may be used to include null fields in Patch requests.
14191	NullFields []string `json:"-"`
14192}
14193
14194func (s *GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedAction) MarshalJSON() ([]byte, error) {
14195	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedAction
14196	raw := NoMethod(*s)
14197	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14198}
14199
14200// GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggeste
14201// dActionDial: Opens the user's default dialer app with the specified
14202// phone number but does not dial automatically.
14203type GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionDial struct {
14204	// PhoneNumber: Required. The phone number to fill in the default dialer
14205	// app. This field should be in E.164
14206	// (https://en.wikipedia.org/wiki/E.164) format. An example of a
14207	// correctly formatted phone number: +15556767888.
14208	PhoneNumber string `json:"phoneNumber,omitempty"`
14209
14210	// ForceSendFields is a list of field names (e.g. "PhoneNumber") to
14211	// unconditionally include in API requests. By default, fields with
14212	// empty values are omitted from API requests. However, any non-pointer,
14213	// non-interface field appearing in ForceSendFields will be sent to the
14214	// server regardless of whether the field is empty or not. This may be
14215	// used to include empty fields in Patch requests.
14216	ForceSendFields []string `json:"-"`
14217
14218	// NullFields is a list of field names (e.g. "PhoneNumber") to include
14219	// in API requests with the JSON null value. By default, fields with
14220	// empty values are omitted from API requests. However, any field with
14221	// an empty value appearing in NullFields will be sent to the server as
14222	// null. It is an error if a field in this list has a non-empty value.
14223	// This may be used to include null fields in Patch requests.
14224	NullFields []string `json:"-"`
14225}
14226
14227func (s *GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionDial) MarshalJSON() ([]byte, error) {
14228	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionDial
14229	raw := NoMethod(*s)
14230	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14231}
14232
14233// GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggeste
14234// dActionOpenUri: Opens the user's default web browser app to the
14235// specified uri If the user has an app installed that is registered as
14236// the default handler for the URL, then this app will be opened
14237// instead, and its icon will be used in the suggested action UI.
14238type GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionOpenUri struct {
14239	// Uri: Required. The uri to open on the user device
14240	Uri string `json:"uri,omitempty"`
14241
14242	// ForceSendFields is a list of field names (e.g. "Uri") to
14243	// unconditionally include in API requests. By default, fields with
14244	// empty values are omitted from API requests. However, any non-pointer,
14245	// non-interface field appearing in ForceSendFields will be sent to the
14246	// server regardless of whether the field is empty or not. This may be
14247	// used to include empty fields in Patch requests.
14248	ForceSendFields []string `json:"-"`
14249
14250	// NullFields is a list of field names (e.g. "Uri") to include in API
14251	// requests with the JSON null value. By default, fields with empty
14252	// values are omitted from API requests. However, any field with an
14253	// empty value appearing in NullFields will be sent to the server as
14254	// null. It is an error if a field in this list has a non-empty value.
14255	// This may be used to include null fields in Patch requests.
14256	NullFields []string `json:"-"`
14257}
14258
14259func (s *GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionOpenUri) MarshalJSON() ([]byte, error) {
14260	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionOpenUri
14261	raw := NoMethod(*s)
14262	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14263}
14264
14265// GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggeste
14266// dActionShareLocation: Opens the device's location chooser so the user
14267// can pick a location to send back to the agent.
14268type GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionShareLocation struct {
14269}
14270
14271// GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedReply: Rich
14272// Business Messaging (RBM) suggested reply that the user can click
14273// instead of typing in their own response.
14274type GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedReply struct {
14275	// PostbackData: Opaque payload that the Dialogflow receives in a user
14276	// event when the user taps the suggested reply. This data will be also
14277	// forwarded to webhook to allow performing custom business logic.
14278	PostbackData string `json:"postbackData,omitempty"`
14279
14280	// Text: Suggested reply text.
14281	Text string `json:"text,omitempty"`
14282
14283	// ForceSendFields is a list of field names (e.g. "PostbackData") to
14284	// unconditionally include in API requests. By default, fields with
14285	// empty values are omitted from API requests. However, any non-pointer,
14286	// non-interface field appearing in ForceSendFields will be sent to the
14287	// server regardless of whether the field is empty or not. This may be
14288	// used to include empty fields in Patch requests.
14289	ForceSendFields []string `json:"-"`
14290
14291	// NullFields is a list of field names (e.g. "PostbackData") to include
14292	// in API requests with the JSON null value. By default, fields with
14293	// empty values are omitted from API requests. However, any field with
14294	// an empty value appearing in NullFields will be sent to the server as
14295	// null. It is an error if a field in this list has a non-empty value.
14296	// This may be used to include null fields in Patch requests.
14297	NullFields []string `json:"-"`
14298}
14299
14300func (s *GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedReply) MarshalJSON() ([]byte, error) {
14301	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedReply
14302	raw := NoMethod(*s)
14303	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14304}
14305
14306// GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestion: Rich Business
14307// Messaging (RBM) suggestion. Suggestions allow user to easily
14308// select/click a predefined response or perform an action (like opening
14309// a web uri).
14310type GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestion struct {
14311	// Action: Predefined client side actions that user can choose
14312	Action *GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedAction `json:"action,omitempty"`
14313
14314	// Reply: Predefined replies for user to select instead of typing
14315	Reply *GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedReply `json:"reply,omitempty"`
14316
14317	// ForceSendFields is a list of field names (e.g. "Action") to
14318	// unconditionally include in API requests. By default, fields with
14319	// empty values are omitted from API requests. However, any non-pointer,
14320	// non-interface field appearing in ForceSendFields will be sent to the
14321	// server regardless of whether the field is empty or not. This may be
14322	// used to include empty fields in Patch requests.
14323	ForceSendFields []string `json:"-"`
14324
14325	// NullFields is a list of field names (e.g. "Action") to include in API
14326	// requests with the JSON null value. By default, fields with empty
14327	// values are omitted from API requests. However, any field with an
14328	// empty value appearing in NullFields will be sent to the server as
14329	// null. It is an error if a field in this list has a non-empty value.
14330	// This may be used to include null fields in Patch requests.
14331	NullFields []string `json:"-"`
14332}
14333
14334func (s *GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestion) MarshalJSON() ([]byte, error) {
14335	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestion
14336	raw := NoMethod(*s)
14337	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14338}
14339
14340// GoogleCloudDialogflowV2beta1IntentMessageRbmText: Rich Business
14341// Messaging (RBM) text response with suggestions.
14342type GoogleCloudDialogflowV2beta1IntentMessageRbmText struct {
14343	// RbmSuggestion: Optional. One or more suggestions to show to the user.
14344	RbmSuggestion []*GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestion `json:"rbmSuggestion,omitempty"`
14345
14346	// Text: Required. Text sent and displayed to the user.
14347	Text string `json:"text,omitempty"`
14348
14349	// ForceSendFields is a list of field names (e.g. "RbmSuggestion") to
14350	// unconditionally include in API requests. By default, fields with
14351	// empty values are omitted from API requests. However, any non-pointer,
14352	// non-interface field appearing in ForceSendFields will be sent to the
14353	// server regardless of whether the field is empty or not. This may be
14354	// used to include empty fields in Patch requests.
14355	ForceSendFields []string `json:"-"`
14356
14357	// NullFields is a list of field names (e.g. "RbmSuggestion") to include
14358	// in API requests with the JSON null value. By default, fields with
14359	// empty values are omitted from API requests. However, any field with
14360	// an empty value appearing in NullFields will be sent to the server as
14361	// null. It is an error if a field in this list has a non-empty value.
14362	// This may be used to include null fields in Patch requests.
14363	NullFields []string `json:"-"`
14364}
14365
14366func (s *GoogleCloudDialogflowV2beta1IntentMessageRbmText) MarshalJSON() ([]byte, error) {
14367	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageRbmText
14368	raw := NoMethod(*s)
14369	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14370}
14371
14372// GoogleCloudDialogflowV2beta1IntentMessageSelectItemInfo: Additional
14373// info about the select item for when it is triggered in a dialog.
14374type GoogleCloudDialogflowV2beta1IntentMessageSelectItemInfo struct {
14375	// Key: Required. A unique key that will be sent back to the agent if
14376	// this response is given.
14377	Key string `json:"key,omitempty"`
14378
14379	// Synonyms: Optional. A list of synonyms that can also be used to
14380	// trigger this item in dialog.
14381	Synonyms []string `json:"synonyms,omitempty"`
14382
14383	// ForceSendFields is a list of field names (e.g. "Key") to
14384	// unconditionally include in API requests. By default, fields with
14385	// empty values are omitted from API requests. However, any non-pointer,
14386	// non-interface field appearing in ForceSendFields will be sent to the
14387	// server regardless of whether the field is empty or not. This may be
14388	// used to include empty fields in Patch requests.
14389	ForceSendFields []string `json:"-"`
14390
14391	// NullFields is a list of field names (e.g. "Key") to include in API
14392	// requests with the JSON null value. By default, fields with empty
14393	// values are omitted from API requests. However, any field with an
14394	// empty value appearing in NullFields will be sent to the server as
14395	// null. It is an error if a field in this list has a non-empty value.
14396	// This may be used to include null fields in Patch requests.
14397	NullFields []string `json:"-"`
14398}
14399
14400func (s *GoogleCloudDialogflowV2beta1IntentMessageSelectItemInfo) MarshalJSON() ([]byte, error) {
14401	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageSelectItemInfo
14402	raw := NoMethod(*s)
14403	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14404}
14405
14406// GoogleCloudDialogflowV2beta1IntentMessageSimpleResponse: The simple
14407// response message containing speech or text.
14408type GoogleCloudDialogflowV2beta1IntentMessageSimpleResponse struct {
14409	// DisplayText: Optional. The text to display.
14410	DisplayText string `json:"displayText,omitempty"`
14411
14412	// Ssml: One of text_to_speech or ssml must be provided. Structured
14413	// spoken response to the user in the SSML format. Mutually exclusive
14414	// with text_to_speech.
14415	Ssml string `json:"ssml,omitempty"`
14416
14417	// TextToSpeech: One of text_to_speech or ssml must be provided. The
14418	// plain text of the speech output. Mutually exclusive with ssml.
14419	TextToSpeech string `json:"textToSpeech,omitempty"`
14420
14421	// ForceSendFields is a list of field names (e.g. "DisplayText") to
14422	// unconditionally include in API requests. By default, fields with
14423	// empty values are omitted from API requests. However, any non-pointer,
14424	// non-interface field appearing in ForceSendFields will be sent to the
14425	// server regardless of whether the field is empty or not. This may be
14426	// used to include empty fields in Patch requests.
14427	ForceSendFields []string `json:"-"`
14428
14429	// NullFields is a list of field names (e.g. "DisplayText") to include
14430	// in API requests with the JSON null value. By default, fields with
14431	// empty values are omitted from API requests. However, any field with
14432	// an empty value appearing in NullFields will be sent to the server as
14433	// null. It is an error if a field in this list has a non-empty value.
14434	// This may be used to include null fields in Patch requests.
14435	NullFields []string `json:"-"`
14436}
14437
14438func (s *GoogleCloudDialogflowV2beta1IntentMessageSimpleResponse) MarshalJSON() ([]byte, error) {
14439	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageSimpleResponse
14440	raw := NoMethod(*s)
14441	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14442}
14443
14444// GoogleCloudDialogflowV2beta1IntentMessageSimpleResponses: The
14445// collection of simple response candidates. This message in
14446// `QueryResult.fulfillment_messages` and
14447// `WebhookResponse.fulfillment_messages` should contain only one
14448// `SimpleResponse`.
14449type GoogleCloudDialogflowV2beta1IntentMessageSimpleResponses struct {
14450	// SimpleResponses: Required. The list of simple responses.
14451	SimpleResponses []*GoogleCloudDialogflowV2beta1IntentMessageSimpleResponse `json:"simpleResponses,omitempty"`
14452
14453	// ForceSendFields is a list of field names (e.g. "SimpleResponses") to
14454	// unconditionally include in API requests. By default, fields with
14455	// empty values are omitted from API requests. However, any non-pointer,
14456	// non-interface field appearing in ForceSendFields will be sent to the
14457	// server regardless of whether the field is empty or not. This may be
14458	// used to include empty fields in Patch requests.
14459	ForceSendFields []string `json:"-"`
14460
14461	// NullFields is a list of field names (e.g. "SimpleResponses") to
14462	// include in API requests with the JSON null value. By default, fields
14463	// with empty values are omitted from API requests. However, any field
14464	// with an empty value appearing in NullFields will be sent to the
14465	// server as null. It is an error if a field in this list has a
14466	// non-empty value. This may be used to include null fields in Patch
14467	// requests.
14468	NullFields []string `json:"-"`
14469}
14470
14471func (s *GoogleCloudDialogflowV2beta1IntentMessageSimpleResponses) MarshalJSON() ([]byte, error) {
14472	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageSimpleResponses
14473	raw := NoMethod(*s)
14474	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14475}
14476
14477// GoogleCloudDialogflowV2beta1IntentMessageSuggestion: The suggestion
14478// chip message that the user can tap to quickly post a reply to the
14479// conversation.
14480type GoogleCloudDialogflowV2beta1IntentMessageSuggestion struct {
14481	// Title: Required. The text shown the in the suggestion chip.
14482	Title string `json:"title,omitempty"`
14483
14484	// ForceSendFields is a list of field names (e.g. "Title") to
14485	// unconditionally include in API requests. By default, fields with
14486	// empty values are omitted from API requests. However, any non-pointer,
14487	// non-interface field appearing in ForceSendFields will be sent to the
14488	// server regardless of whether the field is empty or not. This may be
14489	// used to include empty fields in Patch requests.
14490	ForceSendFields []string `json:"-"`
14491
14492	// NullFields is a list of field names (e.g. "Title") to include in API
14493	// requests with the JSON null value. By default, fields with empty
14494	// values are omitted from API requests. However, any field with an
14495	// empty value appearing in NullFields will be sent to the server as
14496	// null. It is an error if a field in this list has a non-empty value.
14497	// This may be used to include null fields in Patch requests.
14498	NullFields []string `json:"-"`
14499}
14500
14501func (s *GoogleCloudDialogflowV2beta1IntentMessageSuggestion) MarshalJSON() ([]byte, error) {
14502	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageSuggestion
14503	raw := NoMethod(*s)
14504	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14505}
14506
14507// GoogleCloudDialogflowV2beta1IntentMessageSuggestions: The collection
14508// of suggestions.
14509type GoogleCloudDialogflowV2beta1IntentMessageSuggestions struct {
14510	// Suggestions: Required. The list of suggested replies.
14511	Suggestions []*GoogleCloudDialogflowV2beta1IntentMessageSuggestion `json:"suggestions,omitempty"`
14512
14513	// ForceSendFields is a list of field names (e.g. "Suggestions") to
14514	// unconditionally include in API requests. By default, fields with
14515	// empty values are omitted from API requests. However, any non-pointer,
14516	// non-interface field appearing in ForceSendFields will be sent to the
14517	// server regardless of whether the field is empty or not. This may be
14518	// used to include empty fields in Patch requests.
14519	ForceSendFields []string `json:"-"`
14520
14521	// NullFields is a list of field names (e.g. "Suggestions") to include
14522	// in API requests with the JSON null value. By default, fields with
14523	// empty values are omitted from API requests. However, any field with
14524	// an empty value appearing in NullFields will be sent to the server as
14525	// null. It is an error if a field in this list has a non-empty value.
14526	// This may be used to include null fields in Patch requests.
14527	NullFields []string `json:"-"`
14528}
14529
14530func (s *GoogleCloudDialogflowV2beta1IntentMessageSuggestions) MarshalJSON() ([]byte, error) {
14531	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageSuggestions
14532	raw := NoMethod(*s)
14533	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14534}
14535
14536// GoogleCloudDialogflowV2beta1IntentMessageTableCard: Table card for
14537// Actions on Google.
14538type GoogleCloudDialogflowV2beta1IntentMessageTableCard struct {
14539	// Buttons: Optional. List of buttons for the card.
14540	Buttons []*GoogleCloudDialogflowV2beta1IntentMessageBasicCardButton `json:"buttons,omitempty"`
14541
14542	// ColumnProperties: Optional. Display properties for the columns in
14543	// this table.
14544	ColumnProperties []*GoogleCloudDialogflowV2beta1IntentMessageColumnProperties `json:"columnProperties,omitempty"`
14545
14546	// Image: Optional. Image which should be displayed on the card.
14547	Image *GoogleCloudDialogflowV2beta1IntentMessageImage `json:"image,omitempty"`
14548
14549	// Rows: Optional. Rows in this table of data.
14550	Rows []*GoogleCloudDialogflowV2beta1IntentMessageTableCardRow `json:"rows,omitempty"`
14551
14552	// Subtitle: Optional. Subtitle to the title.
14553	Subtitle string `json:"subtitle,omitempty"`
14554
14555	// Title: Required. Title of the card.
14556	Title string `json:"title,omitempty"`
14557
14558	// ForceSendFields is a list of field names (e.g. "Buttons") to
14559	// unconditionally include in API requests. By default, fields with
14560	// empty values are omitted from API requests. However, any non-pointer,
14561	// non-interface field appearing in ForceSendFields will be sent to the
14562	// server regardless of whether the field is empty or not. This may be
14563	// used to include empty fields in Patch requests.
14564	ForceSendFields []string `json:"-"`
14565
14566	// NullFields is a list of field names (e.g. "Buttons") to include in
14567	// API requests with the JSON null value. By default, fields with empty
14568	// values are omitted from API requests. However, any field with an
14569	// empty value appearing in NullFields will be sent to the server as
14570	// null. It is an error if a field in this list has a non-empty value.
14571	// This may be used to include null fields in Patch requests.
14572	NullFields []string `json:"-"`
14573}
14574
14575func (s *GoogleCloudDialogflowV2beta1IntentMessageTableCard) MarshalJSON() ([]byte, error) {
14576	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageTableCard
14577	raw := NoMethod(*s)
14578	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14579}
14580
14581// GoogleCloudDialogflowV2beta1IntentMessageTableCardCell: Cell of
14582// TableCardRow.
14583type GoogleCloudDialogflowV2beta1IntentMessageTableCardCell struct {
14584	// Text: Required. Text in this cell.
14585	Text string `json:"text,omitempty"`
14586
14587	// ForceSendFields is a list of field names (e.g. "Text") to
14588	// unconditionally include in API requests. By default, fields with
14589	// empty values are omitted from API requests. However, any non-pointer,
14590	// non-interface field appearing in ForceSendFields will be sent to the
14591	// server regardless of whether the field is empty or not. This may be
14592	// used to include empty fields in Patch requests.
14593	ForceSendFields []string `json:"-"`
14594
14595	// NullFields is a list of field names (e.g. "Text") to include in API
14596	// requests with the JSON null value. By default, fields with empty
14597	// values are omitted from API requests. However, any field with an
14598	// empty value appearing in NullFields will be sent to the server as
14599	// null. It is an error if a field in this list has a non-empty value.
14600	// This may be used to include null fields in Patch requests.
14601	NullFields []string `json:"-"`
14602}
14603
14604func (s *GoogleCloudDialogflowV2beta1IntentMessageTableCardCell) MarshalJSON() ([]byte, error) {
14605	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageTableCardCell
14606	raw := NoMethod(*s)
14607	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14608}
14609
14610// GoogleCloudDialogflowV2beta1IntentMessageTableCardRow: Row of
14611// TableCard.
14612type GoogleCloudDialogflowV2beta1IntentMessageTableCardRow struct {
14613	// Cells: Optional. List of cells that make up this row.
14614	Cells []*GoogleCloudDialogflowV2beta1IntentMessageTableCardCell `json:"cells,omitempty"`
14615
14616	// DividerAfter: Optional. Whether to add a visual divider after this
14617	// row.
14618	DividerAfter bool `json:"dividerAfter,omitempty"`
14619
14620	// ForceSendFields is a list of field names (e.g. "Cells") to
14621	// unconditionally include in API requests. By default, fields with
14622	// empty values are omitted from API requests. However, any non-pointer,
14623	// non-interface field appearing in ForceSendFields will be sent to the
14624	// server regardless of whether the field is empty or not. This may be
14625	// used to include empty fields in Patch requests.
14626	ForceSendFields []string `json:"-"`
14627
14628	// NullFields is a list of field names (e.g. "Cells") to include in API
14629	// requests with the JSON null value. By default, fields with empty
14630	// values are omitted from API requests. However, any field with an
14631	// empty value appearing in NullFields will be sent to the server as
14632	// null. It is an error if a field in this list has a non-empty value.
14633	// This may be used to include null fields in Patch requests.
14634	NullFields []string `json:"-"`
14635}
14636
14637func (s *GoogleCloudDialogflowV2beta1IntentMessageTableCardRow) MarshalJSON() ([]byte, error) {
14638	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageTableCardRow
14639	raw := NoMethod(*s)
14640	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14641}
14642
14643// GoogleCloudDialogflowV2beta1IntentMessageTelephonyPlayAudio: Plays
14644// audio from a file in Telephony Gateway.
14645type GoogleCloudDialogflowV2beta1IntentMessageTelephonyPlayAudio struct {
14646	// AudioUri: Required. URI to a Google Cloud Storage object containing
14647	// the audio to play, e.g., "gs://bucket/object". The object must
14648	// contain a single channel (mono) of linear PCM audio (2 bytes /
14649	// sample) at 8kHz. This object must be readable by the
14650	// `service-@gcp-sa-dialogflow.iam.gserviceaccount.com` service account
14651	// where is the number of the Telephony Gateway project (usually the
14652	// same as the Dialogflow agent project). If the Google Cloud Storage
14653	// bucket is in the Telephony Gateway project, this permission is added
14654	// by default when enabling the Dialogflow V2 API. For audio from other
14655	// sources, consider using the `TelephonySynthesizeSpeech` message with
14656	// SSML.
14657	AudioUri string `json:"audioUri,omitempty"`
14658
14659	// ForceSendFields is a list of field names (e.g. "AudioUri") to
14660	// unconditionally include in API requests. By default, fields with
14661	// empty values are omitted from API requests. However, any non-pointer,
14662	// non-interface field appearing in ForceSendFields will be sent to the
14663	// server regardless of whether the field is empty or not. This may be
14664	// used to include empty fields in Patch requests.
14665	ForceSendFields []string `json:"-"`
14666
14667	// NullFields is a list of field names (e.g. "AudioUri") to include in
14668	// API requests with the JSON null value. By default, fields with empty
14669	// values are omitted from API requests. However, any field with an
14670	// empty value appearing in NullFields will be sent to the server as
14671	// null. It is an error if a field in this list has a non-empty value.
14672	// This may be used to include null fields in Patch requests.
14673	NullFields []string `json:"-"`
14674}
14675
14676func (s *GoogleCloudDialogflowV2beta1IntentMessageTelephonyPlayAudio) MarshalJSON() ([]byte, error) {
14677	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageTelephonyPlayAudio
14678	raw := NoMethod(*s)
14679	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14680}
14681
14682// GoogleCloudDialogflowV2beta1IntentMessageTelephonySynthesizeSpeech:
14683// Synthesizes speech and plays back the synthesized audio to the caller
14684// in Telephony Gateway. Telephony Gateway takes the synthesizer
14685// settings from `DetectIntentResponse.output_audio_config` which can
14686// either be set at request-level or can come from the agent-level
14687// synthesizer config.
14688type GoogleCloudDialogflowV2beta1IntentMessageTelephonySynthesizeSpeech struct {
14689	// Ssml: The SSML to be synthesized. For more information, see SSML
14690	// (https://developers.google.com/actions/reference/ssml).
14691	Ssml string `json:"ssml,omitempty"`
14692
14693	// Text: The raw text to be synthesized.
14694	Text string `json:"text,omitempty"`
14695
14696	// ForceSendFields is a list of field names (e.g. "Ssml") to
14697	// unconditionally include in API requests. By default, fields with
14698	// empty values are omitted from API requests. However, any non-pointer,
14699	// non-interface field appearing in ForceSendFields will be sent to the
14700	// server regardless of whether the field is empty or not. This may be
14701	// used to include empty fields in Patch requests.
14702	ForceSendFields []string `json:"-"`
14703
14704	// NullFields is a list of field names (e.g. "Ssml") to include in API
14705	// requests with the JSON null value. By default, fields with empty
14706	// values are omitted from API requests. However, any field with an
14707	// empty value appearing in NullFields will be sent to the server as
14708	// null. It is an error if a field in this list has a non-empty value.
14709	// This may be used to include null fields in Patch requests.
14710	NullFields []string `json:"-"`
14711}
14712
14713func (s *GoogleCloudDialogflowV2beta1IntentMessageTelephonySynthesizeSpeech) MarshalJSON() ([]byte, error) {
14714	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageTelephonySynthesizeSpeech
14715	raw := NoMethod(*s)
14716	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14717}
14718
14719// GoogleCloudDialogflowV2beta1IntentMessageTelephonyTransferCall:
14720// Transfers the call in Telephony Gateway.
14721type GoogleCloudDialogflowV2beta1IntentMessageTelephonyTransferCall struct {
14722	// PhoneNumber: Required. The phone number to transfer the call to in
14723	// E.164 format (https://en.wikipedia.org/wiki/E.164). We currently only
14724	// allow transferring to US numbers (+1xxxyyyzzzz).
14725	PhoneNumber string `json:"phoneNumber,omitempty"`
14726
14727	// ForceSendFields is a list of field names (e.g. "PhoneNumber") to
14728	// unconditionally include in API requests. By default, fields with
14729	// empty values are omitted from API requests. However, any non-pointer,
14730	// non-interface field appearing in ForceSendFields will be sent to the
14731	// server regardless of whether the field is empty or not. This may be
14732	// used to include empty fields in Patch requests.
14733	ForceSendFields []string `json:"-"`
14734
14735	// NullFields is a list of field names (e.g. "PhoneNumber") to include
14736	// in API requests with the JSON null value. By default, fields with
14737	// empty values are omitted from API requests. However, any field with
14738	// an empty value appearing in NullFields will be sent to the server as
14739	// null. It is an error if a field in this list has a non-empty value.
14740	// This may be used to include null fields in Patch requests.
14741	NullFields []string `json:"-"`
14742}
14743
14744func (s *GoogleCloudDialogflowV2beta1IntentMessageTelephonyTransferCall) MarshalJSON() ([]byte, error) {
14745	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageTelephonyTransferCall
14746	raw := NoMethod(*s)
14747	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14748}
14749
14750// GoogleCloudDialogflowV2beta1IntentMessageText: The text response
14751// message.
14752type GoogleCloudDialogflowV2beta1IntentMessageText struct {
14753	// Text: Optional. The collection of the agent's responses.
14754	Text []string `json:"text,omitempty"`
14755
14756	// ForceSendFields is a list of field names (e.g. "Text") to
14757	// unconditionally include in API requests. By default, fields with
14758	// empty values are omitted from API requests. However, any non-pointer,
14759	// non-interface field appearing in ForceSendFields will be sent to the
14760	// server regardless of whether the field is empty or not. This may be
14761	// used to include empty fields in Patch requests.
14762	ForceSendFields []string `json:"-"`
14763
14764	// NullFields is a list of field names (e.g. "Text") to include in API
14765	// requests with the JSON null value. By default, fields with empty
14766	// values are omitted from API requests. However, any field with an
14767	// empty value appearing in NullFields will be sent to the server as
14768	// null. It is an error if a field in this list has a non-empty value.
14769	// This may be used to include null fields in Patch requests.
14770	NullFields []string `json:"-"`
14771}
14772
14773func (s *GoogleCloudDialogflowV2beta1IntentMessageText) MarshalJSON() ([]byte, error) {
14774	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageText
14775	raw := NoMethod(*s)
14776	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14777}
14778
14779// GoogleCloudDialogflowV2beta1IntentParameter: Represents intent
14780// parameters.
14781type GoogleCloudDialogflowV2beta1IntentParameter struct {
14782	// DefaultValue: Optional. The default value to use when the `value`
14783	// yields an empty result. Default values can be extracted from contexts
14784	// by using the following syntax: `#context_name.parameter_name`.
14785	DefaultValue string `json:"defaultValue,omitempty"`
14786
14787	// DisplayName: Required. The name of the parameter.
14788	DisplayName string `json:"displayName,omitempty"`
14789
14790	// EntityTypeDisplayName: Optional. The name of the entity type,
14791	// prefixed with `@`, that describes values of the parameter. If the
14792	// parameter is required, this must be provided.
14793	EntityTypeDisplayName string `json:"entityTypeDisplayName,omitempty"`
14794
14795	// IsList: Optional. Indicates whether the parameter represents a list
14796	// of values.
14797	IsList bool `json:"isList,omitempty"`
14798
14799	// Mandatory: Optional. Indicates whether the parameter is required.
14800	// That is, whether the intent cannot be completed without collecting
14801	// the parameter value.
14802	Mandatory bool `json:"mandatory,omitempty"`
14803
14804	// Name: The unique identifier of this parameter.
14805	Name string `json:"name,omitempty"`
14806
14807	// Prompts: Optional. The collection of prompts that the agent can
14808	// present to the user in order to collect a value for the parameter.
14809	Prompts []string `json:"prompts,omitempty"`
14810
14811	// Value: Optional. The definition of the parameter value. It can be: -
14812	// a constant string, - a parameter value defined as `$parameter_name`,
14813	// - an original parameter value defined as `$parameter_name.original`,
14814	// - a parameter value from some context defined as
14815	// `#context_name.parameter_name`.
14816	Value string `json:"value,omitempty"`
14817
14818	// ForceSendFields is a list of field names (e.g. "DefaultValue") to
14819	// unconditionally include in API requests. By default, fields with
14820	// empty values are omitted from API requests. However, any non-pointer,
14821	// non-interface field appearing in ForceSendFields will be sent to the
14822	// server regardless of whether the field is empty or not. This may be
14823	// used to include empty fields in Patch requests.
14824	ForceSendFields []string `json:"-"`
14825
14826	// NullFields is a list of field names (e.g. "DefaultValue") to include
14827	// in API requests with the JSON null value. By default, fields with
14828	// empty values are omitted from API requests. However, any field with
14829	// an empty value appearing in NullFields will be sent to the server as
14830	// null. It is an error if a field in this list has a non-empty value.
14831	// This may be used to include null fields in Patch requests.
14832	NullFields []string `json:"-"`
14833}
14834
14835func (s *GoogleCloudDialogflowV2beta1IntentParameter) MarshalJSON() ([]byte, error) {
14836	type NoMethod GoogleCloudDialogflowV2beta1IntentParameter
14837	raw := NoMethod(*s)
14838	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14839}
14840
14841// GoogleCloudDialogflowV2beta1IntentTrainingPhrase: Represents an
14842// example that the agent is trained on.
14843type GoogleCloudDialogflowV2beta1IntentTrainingPhrase struct {
14844	// Name: Output only. The unique identifier of this training phrase.
14845	Name string `json:"name,omitempty"`
14846
14847	// Parts: Required. The ordered list of training phrase parts. The parts
14848	// are concatenated in order to form the training phrase. Note: The API
14849	// does not automatically annotate training phrases like the Dialogflow
14850	// Console does. Note: Do not forget to include whitespace at part
14851	// boundaries, so the training phrase is well formatted when the parts
14852	// are concatenated. If the training phrase does not need to be
14853	// annotated with parameters, you just need a single part with only the
14854	// Part.text field set. If you want to annotate the training phrase, you
14855	// must create multiple parts, where the fields of each part are
14856	// populated in one of two ways: - `Part.text` is set to a part of the
14857	// phrase that has no parameters. - `Part.text` is set to a part of the
14858	// phrase that you want to annotate, and the `entity_type`, `alias`, and
14859	// `user_defined` fields are all set.
14860	Parts []*GoogleCloudDialogflowV2beta1IntentTrainingPhrasePart `json:"parts,omitempty"`
14861
14862	// TimesAddedCount: Optional. Indicates how many times this example was
14863	// added to the intent. Each time a developer adds an existing sample by
14864	// editing an intent or training, this counter is increased.
14865	TimesAddedCount int64 `json:"timesAddedCount,omitempty"`
14866
14867	// Type: Required. The type of the training phrase.
14868	//
14869	// Possible values:
14870	//   "TYPE_UNSPECIFIED" - Not specified. This value should never be
14871	// used.
14872	//   "EXAMPLE" - Examples do not contain @-prefixed entity type names,
14873	// but example parts can be annotated with entity types.
14874	//   "TEMPLATE" - Templates are not annotated with entity types, but
14875	// they can contain @-prefixed entity type names as substrings. Template
14876	// mode has been deprecated. Example mode is the only supported way to
14877	// create new training phrases. If you have existing training phrases
14878	// that you've created in template mode, those will continue to work.
14879	Type string `json:"type,omitempty"`
14880
14881	// ForceSendFields is a list of field names (e.g. "Name") to
14882	// unconditionally include in API requests. By default, fields with
14883	// empty values are omitted from API requests. However, any non-pointer,
14884	// non-interface field appearing in ForceSendFields will be sent to the
14885	// server regardless of whether the field is empty or not. This may be
14886	// used to include empty fields in Patch requests.
14887	ForceSendFields []string `json:"-"`
14888
14889	// NullFields is a list of field names (e.g. "Name") to include in API
14890	// requests with the JSON null value. By default, fields with empty
14891	// values are omitted from API requests. However, any field with an
14892	// empty value appearing in NullFields will be sent to the server as
14893	// null. It is an error if a field in this list has a non-empty value.
14894	// This may be used to include null fields in Patch requests.
14895	NullFields []string `json:"-"`
14896}
14897
14898func (s *GoogleCloudDialogflowV2beta1IntentTrainingPhrase) MarshalJSON() ([]byte, error) {
14899	type NoMethod GoogleCloudDialogflowV2beta1IntentTrainingPhrase
14900	raw := NoMethod(*s)
14901	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14902}
14903
14904// GoogleCloudDialogflowV2beta1IntentTrainingPhrasePart: Represents a
14905// part of a training phrase.
14906type GoogleCloudDialogflowV2beta1IntentTrainingPhrasePart struct {
14907	// Alias: Optional. The parameter name for the value extracted from the
14908	// annotated part of the example. This field is required for annotated
14909	// parts of the training phrase.
14910	Alias string `json:"alias,omitempty"`
14911
14912	// EntityType: Optional. The entity type name prefixed with `@`. This
14913	// field is required for annotated parts of the training phrase.
14914	EntityType string `json:"entityType,omitempty"`
14915
14916	// Text: Required. The text for this part.
14917	Text string `json:"text,omitempty"`
14918
14919	// UserDefined: Optional. Indicates whether the text was manually
14920	// annotated. This field is set to true when the Dialogflow Console is
14921	// used to manually annotate the part. When creating an annotated part
14922	// with the API, you must set this to true.
14923	UserDefined bool `json:"userDefined,omitempty"`
14924
14925	// ForceSendFields is a list of field names (e.g. "Alias") to
14926	// unconditionally include in API requests. By default, fields with
14927	// empty values are omitted from API requests. However, any non-pointer,
14928	// non-interface field appearing in ForceSendFields will be sent to the
14929	// server regardless of whether the field is empty or not. This may be
14930	// used to include empty fields in Patch requests.
14931	ForceSendFields []string `json:"-"`
14932
14933	// NullFields is a list of field names (e.g. "Alias") to include in API
14934	// requests with the JSON null value. By default, fields with empty
14935	// values are omitted from API requests. However, any field with an
14936	// empty value appearing in NullFields will be sent to the server as
14937	// null. It is an error if a field in this list has a non-empty value.
14938	// This may be used to include null fields in Patch requests.
14939	NullFields []string `json:"-"`
14940}
14941
14942func (s *GoogleCloudDialogflowV2beta1IntentTrainingPhrasePart) MarshalJSON() ([]byte, error) {
14943	type NoMethod GoogleCloudDialogflowV2beta1IntentTrainingPhrasePart
14944	raw := NoMethod(*s)
14945	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14946}
14947
14948// GoogleCloudDialogflowV2beta1KnowledgeAnswers: Represents the result
14949// of querying a Knowledge base.
14950type GoogleCloudDialogflowV2beta1KnowledgeAnswers struct {
14951	// Answers: A list of answers from Knowledge Connector.
14952	Answers []*GoogleCloudDialogflowV2beta1KnowledgeAnswersAnswer `json:"answers,omitempty"`
14953
14954	// ForceSendFields is a list of field names (e.g. "Answers") to
14955	// unconditionally include in API requests. By default, fields with
14956	// empty values are omitted from API requests. However, any non-pointer,
14957	// non-interface field appearing in ForceSendFields will be sent to the
14958	// server regardless of whether the field is empty or not. This may be
14959	// used to include empty fields in Patch requests.
14960	ForceSendFields []string `json:"-"`
14961
14962	// NullFields is a list of field names (e.g. "Answers") to include in
14963	// API requests with the JSON null value. By default, fields with empty
14964	// values are omitted from API requests. However, any field with an
14965	// empty value appearing in NullFields will be sent to the server as
14966	// null. It is an error if a field in this list has a non-empty value.
14967	// This may be used to include null fields in Patch requests.
14968	NullFields []string `json:"-"`
14969}
14970
14971func (s *GoogleCloudDialogflowV2beta1KnowledgeAnswers) MarshalJSON() ([]byte, error) {
14972	type NoMethod GoogleCloudDialogflowV2beta1KnowledgeAnswers
14973	raw := NoMethod(*s)
14974	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14975}
14976
14977// GoogleCloudDialogflowV2beta1KnowledgeAnswersAnswer: An answer from
14978// Knowledge Connector.
14979type GoogleCloudDialogflowV2beta1KnowledgeAnswersAnswer struct {
14980	// Answer: The piece of text from the `source` knowledge base document
14981	// that answers this conversational query.
14982	Answer string `json:"answer,omitempty"`
14983
14984	// FaqQuestion: The corresponding FAQ question if the answer was
14985	// extracted from a FAQ Document, empty otherwise.
14986	FaqQuestion string `json:"faqQuestion,omitempty"`
14987
14988	// MatchConfidence: The system's confidence score that this Knowledge
14989	// answer is a good match for this conversational query. The range is
14990	// from 0.0 (completely uncertain) to 1.0 (completely certain). Note:
14991	// The confidence score is likely to vary somewhat (possibly even for
14992	// identical requests), as the underlying model is under constant
14993	// improvement. It may be deprecated in the future. We recommend using
14994	// `match_confidence_level` which should be generally more stable.
14995	MatchConfidence float64 `json:"matchConfidence,omitempty"`
14996
14997	// MatchConfidenceLevel: The system's confidence level that this
14998	// knowledge answer is a good match for this conversational query. NOTE:
14999	// The confidence level for a given `` pair may change without notice,
15000	// as it depends on models that are constantly being improved. However,
15001	// it will change less frequently than the confidence score below, and
15002	// should be preferred for referencing the quality of an answer.
15003	//
15004	// Possible values:
15005	//   "MATCH_CONFIDENCE_LEVEL_UNSPECIFIED" - Not specified.
15006	//   "LOW" - Indicates that the confidence is low.
15007	//   "MEDIUM" - Indicates our confidence is medium.
15008	//   "HIGH" - Indicates our confidence is high.
15009	MatchConfidenceLevel string `json:"matchConfidenceLevel,omitempty"`
15010
15011	// Source: Indicates which Knowledge Document this answer was extracted
15012	// from. Format: `projects//knowledgeBases//documents/`.
15013	Source string `json:"source,omitempty"`
15014
15015	// ForceSendFields is a list of field names (e.g. "Answer") to
15016	// unconditionally include in API requests. By default, fields with
15017	// empty values are omitted from API requests. However, any non-pointer,
15018	// non-interface field appearing in ForceSendFields will be sent to the
15019	// server regardless of whether the field is empty or not. This may be
15020	// used to include empty fields in Patch requests.
15021	ForceSendFields []string `json:"-"`
15022
15023	// NullFields is a list of field names (e.g. "Answer") to include in API
15024	// requests with the JSON null value. By default, fields with empty
15025	// values are omitted from API requests. However, any field with an
15026	// empty value appearing in NullFields will be sent to the server as
15027	// null. It is an error if a field in this list has a non-empty value.
15028	// This may be used to include null fields in Patch requests.
15029	NullFields []string `json:"-"`
15030}
15031
15032func (s *GoogleCloudDialogflowV2beta1KnowledgeAnswersAnswer) MarshalJSON() ([]byte, error) {
15033	type NoMethod GoogleCloudDialogflowV2beta1KnowledgeAnswersAnswer
15034	raw := NoMethod(*s)
15035	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
15036}
15037
15038func (s *GoogleCloudDialogflowV2beta1KnowledgeAnswersAnswer) UnmarshalJSON(data []byte) error {
15039	type NoMethod GoogleCloudDialogflowV2beta1KnowledgeAnswersAnswer
15040	var s1 struct {
15041		MatchConfidence gensupport.JSONFloat64 `json:"matchConfidence"`
15042		*NoMethod
15043	}
15044	s1.NoMethod = (*NoMethod)(s)
15045	if err := json.Unmarshal(data, &s1); err != nil {
15046		return err
15047	}
15048	s.MatchConfidence = float64(s1.MatchConfidence)
15049	return nil
15050}
15051
15052// GoogleCloudDialogflowV2beta1KnowledgeOperationMetadata: Metadata in
15053// google::longrunning::Operation for Knowledge operations.
15054type GoogleCloudDialogflowV2beta1KnowledgeOperationMetadata struct {
15055	// State: Required. Output only. The current state of this operation.
15056	//
15057	// Possible values:
15058	//   "STATE_UNSPECIFIED" - State unspecified.
15059	//   "PENDING" - The operation has been created.
15060	//   "RUNNING" - The operation is currently running.
15061	//   "DONE" - The operation is done, either cancelled or completed.
15062	State string `json:"state,omitempty"`
15063
15064	// ForceSendFields is a list of field names (e.g. "State") to
15065	// unconditionally include in API requests. By default, fields with
15066	// empty values are omitted from API requests. However, any non-pointer,
15067	// non-interface field appearing in ForceSendFields will be sent to the
15068	// server regardless of whether the field is empty or not. This may be
15069	// used to include empty fields in Patch requests.
15070	ForceSendFields []string `json:"-"`
15071
15072	// NullFields is a list of field names (e.g. "State") to include in API
15073	// requests with the JSON null value. By default, fields with empty
15074	// values are omitted from API requests. However, any field with an
15075	// empty value appearing in NullFields will be sent to the server as
15076	// null. It is an error if a field in this list has a non-empty value.
15077	// This may be used to include null fields in Patch requests.
15078	NullFields []string `json:"-"`
15079}
15080
15081func (s *GoogleCloudDialogflowV2beta1KnowledgeOperationMetadata) MarshalJSON() ([]byte, error) {
15082	type NoMethod GoogleCloudDialogflowV2beta1KnowledgeOperationMetadata
15083	raw := NoMethod(*s)
15084	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
15085}
15086
15087// GoogleCloudDialogflowV2beta1Message: Represents a message posted into
15088// a conversation.
15089type GoogleCloudDialogflowV2beta1Message struct {
15090	// Content: Required. The message content.
15091	Content string `json:"content,omitempty"`
15092
15093	// CreateTime: Output only. The time when the message was created in
15094	// Contact Center AI.
15095	CreateTime string `json:"createTime,omitempty"`
15096
15097	// LanguageCode: Optional. The message language. This should be a BCP-47
15098	// (https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. Example:
15099	// "en-US".
15100	LanguageCode string `json:"languageCode,omitempty"`
15101
15102	// MessageAnnotation: Output only. The annotation for the message.
15103	MessageAnnotation *GoogleCloudDialogflowV2beta1MessageAnnotation `json:"messageAnnotation,omitempty"`
15104
15105	// Name: Optional. The unique identifier of the message. Format:
15106	// `projects//locations//conversations//messages/`.
15107	Name string `json:"name,omitempty"`
15108
15109	// Participant: Output only. The participant that sends this message.
15110	Participant string `json:"participant,omitempty"`
15111
15112	// ParticipantRole: Output only. The role of the participant.
15113	//
15114	// Possible values:
15115	//   "ROLE_UNSPECIFIED" - Participant role not set.
15116	//   "HUMAN_AGENT" - Participant is a human agent.
15117	//   "AUTOMATED_AGENT" - Participant is an automated agent, such as a
15118	// Dialogflow agent.
15119	//   "END_USER" - Participant is an end user that has called or chatted
15120	// with Dialogflow services.
15121	ParticipantRole string `json:"participantRole,omitempty"`
15122
15123	// SendTime: Optional. The time when the message was sent.
15124	SendTime string `json:"sendTime,omitempty"`
15125
15126	// SentimentAnalysis: Output only. The sentiment analysis result for the
15127	// message.
15128	SentimentAnalysis *GoogleCloudDialogflowV2beta1SentimentAnalysisResult `json:"sentimentAnalysis,omitempty"`
15129
15130	// ForceSendFields is a list of field names (e.g. "Content") to
15131	// unconditionally include in API requests. By default, fields with
15132	// empty values are omitted from API requests. However, any non-pointer,
15133	// non-interface field appearing in ForceSendFields will be sent to the
15134	// server regardless of whether the field is empty or not. This may be
15135	// used to include empty fields in Patch requests.
15136	ForceSendFields []string `json:"-"`
15137
15138	// NullFields is a list of field names (e.g. "Content") to include in
15139	// API requests with the JSON null value. By default, fields with empty
15140	// values are omitted from API requests. However, any field with an
15141	// empty value appearing in NullFields will be sent to the server as
15142	// null. It is an error if a field in this list has a non-empty value.
15143	// This may be used to include null fields in Patch requests.
15144	NullFields []string `json:"-"`
15145}
15146
15147func (s *GoogleCloudDialogflowV2beta1Message) MarshalJSON() ([]byte, error) {
15148	type NoMethod GoogleCloudDialogflowV2beta1Message
15149	raw := NoMethod(*s)
15150	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
15151}
15152
15153// GoogleCloudDialogflowV2beta1MessageAnnotation: Represents the result
15154// of annotation for the message.
15155type GoogleCloudDialogflowV2beta1MessageAnnotation struct {
15156	// ContainEntities: Required. Indicates whether the text message
15157	// contains entities.
15158	ContainEntities bool `json:"containEntities,omitempty"`
15159
15160	// Parts: Optional. The collection of annotated message parts ordered by
15161	// their position in the message. You can recover the annotated message
15162	// by concatenating [AnnotatedMessagePart.text].
15163	Parts []*GoogleCloudDialogflowV2beta1AnnotatedMessagePart `json:"parts,omitempty"`
15164
15165	// ForceSendFields is a list of field names (e.g. "ContainEntities") to
15166	// unconditionally include in API requests. By default, fields with
15167	// empty values are omitted from API requests. However, any non-pointer,
15168	// non-interface field appearing in ForceSendFields will be sent to the
15169	// server regardless of whether the field is empty or not. This may be
15170	// used to include empty fields in Patch requests.
15171	ForceSendFields []string `json:"-"`
15172
15173	// NullFields is a list of field names (e.g. "ContainEntities") to
15174	// include in API requests with the JSON null value. By default, fields
15175	// with empty values are omitted from API requests. However, any field
15176	// with an empty value appearing in NullFields will be sent to the
15177	// server as null. It is an error if a field in this list has a
15178	// non-empty value. This may be used to include null fields in Patch
15179	// requests.
15180	NullFields []string `json:"-"`
15181}
15182
15183func (s *GoogleCloudDialogflowV2beta1MessageAnnotation) MarshalJSON() ([]byte, error) {
15184	type NoMethod GoogleCloudDialogflowV2beta1MessageAnnotation
15185	raw := NoMethod(*s)
15186	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
15187}
15188
15189// GoogleCloudDialogflowV2beta1OriginalDetectIntentRequest: Represents
15190// the contents of the original request that was passed to the
15191// `[Streaming]DetectIntent` call.
15192type GoogleCloudDialogflowV2beta1OriginalDetectIntentRequest struct {
15193	// Payload: Optional. This field is set to the value of the
15194	// `QueryParameters.payload` field passed in the request. Some
15195	// integrations that query a Dialogflow agent may provide additional
15196	// information in the payload. In particular, for the Dialogflow Phone
15197	// Gateway integration, this field has the form: { "telephony": {
15198	// "caller_id": "+18558363987" } } Note: The caller ID field
15199	// (`caller_id`) will be redacted for Trial Edition agents and populated
15200	// with the caller ID in E.164 format
15201	// (https://en.wikipedia.org/wiki/E.164) for Essentials Edition agents.
15202	Payload googleapi.RawMessage `json:"payload,omitempty"`
15203
15204	// Source: The source of this request, e.g., `google`, `facebook`,
15205	// `slack`. It is set by Dialogflow-owned servers.
15206	Source string `json:"source,omitempty"`
15207
15208	// Version: Optional. The version of the protocol used for this request.
15209	// This field is AoG-specific.
15210	Version string `json:"version,omitempty"`
15211
15212	// ForceSendFields is a list of field names (e.g. "Payload") to
15213	// unconditionally include in API requests. By default, fields with
15214	// empty values are omitted from API requests. However, any non-pointer,
15215	// non-interface field appearing in ForceSendFields will be sent to the
15216	// server regardless of whether the field is empty or not. This may be
15217	// used to include empty fields in Patch requests.
15218	ForceSendFields []string `json:"-"`
15219
15220	// NullFields is a list of field names (e.g. "Payload") to include in
15221	// API requests with the JSON null value. By default, fields with empty
15222	// values are omitted from API requests. However, any field with an
15223	// empty value appearing in NullFields will be sent to the server as
15224	// null. It is an error if a field in this list has a non-empty value.
15225	// This may be used to include null fields in Patch requests.
15226	NullFields []string `json:"-"`
15227}
15228
15229func (s *GoogleCloudDialogflowV2beta1OriginalDetectIntentRequest) MarshalJSON() ([]byte, error) {
15230	type NoMethod GoogleCloudDialogflowV2beta1OriginalDetectIntentRequest
15231	raw := NoMethod(*s)
15232	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
15233}
15234
15235// GoogleCloudDialogflowV2beta1QueryResult: Represents the result of
15236// conversational query or event processing.
15237type GoogleCloudDialogflowV2beta1QueryResult struct {
15238	// Action: The action name from the matched intent.
15239	Action string `json:"action,omitempty"`
15240
15241	// AllRequiredParamsPresent: This field is set to: - `false` if the
15242	// matched intent has required parameters and not all of the required
15243	// parameter values have been collected. - `true` if all required
15244	// parameter values have been collected, or if the matched intent
15245	// doesn't contain any required parameters.
15246	AllRequiredParamsPresent bool `json:"allRequiredParamsPresent,omitempty"`
15247
15248	// DiagnosticInfo: Free-form diagnostic information for the associated
15249	// detect intent request. The fields of this data can change without
15250	// notice, so you should not write code that depends on its structure.
15251	// The data may contain: - webhook call latency - webhook errors
15252	DiagnosticInfo googleapi.RawMessage `json:"diagnosticInfo,omitempty"`
15253
15254	// FulfillmentMessages: The collection of rich messages to present to
15255	// the user.
15256	FulfillmentMessages []*GoogleCloudDialogflowV2beta1IntentMessage `json:"fulfillmentMessages,omitempty"`
15257
15258	// FulfillmentText: The text to be pronounced to the user or shown on
15259	// the screen. Note: This is a legacy field, `fulfillment_messages`
15260	// should be preferred.
15261	FulfillmentText string `json:"fulfillmentText,omitempty"`
15262
15263	// Intent: The intent that matched the conversational query. Some, not
15264	// all fields are filled in this message, including but not limited to:
15265	// `name`, `display_name`, `end_interaction` and `is_fallback`.
15266	Intent *GoogleCloudDialogflowV2beta1Intent `json:"intent,omitempty"`
15267
15268	// IntentDetectionConfidence: The intent detection confidence. Values
15269	// range from 0.0 (completely uncertain) to 1.0 (completely certain).
15270	// This value is for informational purpose only and is only used to help
15271	// match the best intent within the classification threshold. This value
15272	// may change for the same end-user expression at any time due to a
15273	// model retraining or change in implementation. If there are `multiple
15274	// knowledge_answers` messages, this value is set to the greatest
15275	// `knowledgeAnswers.match_confidence` value in the list.
15276	IntentDetectionConfidence float64 `json:"intentDetectionConfidence,omitempty"`
15277
15278	// KnowledgeAnswers: The result from Knowledge Connector (if any),
15279	// ordered by decreasing `KnowledgeAnswers.match_confidence`.
15280	KnowledgeAnswers *GoogleCloudDialogflowV2beta1KnowledgeAnswers `json:"knowledgeAnswers,omitempty"`
15281
15282	// LanguageCode: The language that was triggered during intent
15283	// detection. See Language Support
15284	// (https://cloud.google.com/dialogflow/docs/reference/language) for a
15285	// list of the currently supported language codes.
15286	LanguageCode string `json:"languageCode,omitempty"`
15287
15288	// OutputContexts: The collection of output contexts. If applicable,
15289	// `output_contexts.parameters` contains entries with name `.original`
15290	// containing the original parameter values before the query.
15291	OutputContexts []*GoogleCloudDialogflowV2beta1Context `json:"outputContexts,omitempty"`
15292
15293	// Parameters: The collection of extracted parameters. Depending on your
15294	// protocol or client library language, this is a map, associative
15295	// array, symbol table, dictionary, or JSON object composed of a
15296	// collection of (MapKey, MapValue) pairs: - MapKey type: string -
15297	// MapKey value: parameter name - MapValue type: - If parameter's entity
15298	// type is a composite entity: map - Else: depending on parameter value
15299	// type, could be one of string, number, boolean, null, list or map -
15300	// MapValue value: - If parameter's entity type is a composite entity:
15301	// map from composite entity property names to property values - Else:
15302	// parameter value
15303	Parameters googleapi.RawMessage `json:"parameters,omitempty"`
15304
15305	// QueryText: The original conversational query text: - If natural
15306	// language text was provided as input, `query_text` contains a copy of
15307	// the input. - If natural language speech audio was provided as input,
15308	// `query_text` contains the speech recognition result. If speech
15309	// recognizer produced multiple alternatives, a particular one is
15310	// picked. - If automatic spell correction is enabled, `query_text` will
15311	// contain the corrected user input.
15312	QueryText string `json:"queryText,omitempty"`
15313
15314	// SentimentAnalysisResult: The sentiment analysis result, which depends
15315	// on the `sentiment_analysis_request_config` specified in the request.
15316	SentimentAnalysisResult *GoogleCloudDialogflowV2beta1SentimentAnalysisResult `json:"sentimentAnalysisResult,omitempty"`
15317
15318	// SpeechRecognitionConfidence: The Speech recognition confidence
15319	// between 0.0 and 1.0. A higher number indicates an estimated greater
15320	// likelihood that the recognized words are correct. The default of 0.0
15321	// is a sentinel value indicating that confidence was not set. This
15322	// field is not guaranteed to be accurate or set. In particular this
15323	// field isn't set for StreamingDetectIntent since the streaming
15324	// endpoint has separate confidence estimates per portion of the audio
15325	// in StreamingRecognitionResult.
15326	SpeechRecognitionConfidence float64 `json:"speechRecognitionConfidence,omitempty"`
15327
15328	// WebhookPayload: If the query was fulfilled by a webhook call, this
15329	// field is set to the value of the `payload` field returned in the
15330	// webhook response.
15331	WebhookPayload googleapi.RawMessage `json:"webhookPayload,omitempty"`
15332
15333	// WebhookSource: If the query was fulfilled by a webhook call, this
15334	// field is set to the value of the `source` field returned in the
15335	// webhook response.
15336	WebhookSource string `json:"webhookSource,omitempty"`
15337
15338	// ForceSendFields is a list of field names (e.g. "Action") to
15339	// unconditionally include in API requests. By default, fields with
15340	// empty values are omitted from API requests. However, any non-pointer,
15341	// non-interface field appearing in ForceSendFields will be sent to the
15342	// server regardless of whether the field is empty or not. This may be
15343	// used to include empty fields in Patch requests.
15344	ForceSendFields []string `json:"-"`
15345
15346	// NullFields is a list of field names (e.g. "Action") to include in API
15347	// requests with the JSON null value. By default, fields with empty
15348	// values are omitted from API requests. However, any field with an
15349	// empty value appearing in NullFields will be sent to the server as
15350	// null. It is an error if a field in this list has a non-empty value.
15351	// This may be used to include null fields in Patch requests.
15352	NullFields []string `json:"-"`
15353}
15354
15355func (s *GoogleCloudDialogflowV2beta1QueryResult) MarshalJSON() ([]byte, error) {
15356	type NoMethod GoogleCloudDialogflowV2beta1QueryResult
15357	raw := NoMethod(*s)
15358	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
15359}
15360
15361func (s *GoogleCloudDialogflowV2beta1QueryResult) UnmarshalJSON(data []byte) error {
15362	type NoMethod GoogleCloudDialogflowV2beta1QueryResult
15363	var s1 struct {
15364		IntentDetectionConfidence   gensupport.JSONFloat64 `json:"intentDetectionConfidence"`
15365		SpeechRecognitionConfidence gensupport.JSONFloat64 `json:"speechRecognitionConfidence"`
15366		*NoMethod
15367	}
15368	s1.NoMethod = (*NoMethod)(s)
15369	if err := json.Unmarshal(data, &s1); err != nil {
15370		return err
15371	}
15372	s.IntentDetectionConfidence = float64(s1.IntentDetectionConfidence)
15373	s.SpeechRecognitionConfidence = float64(s1.SpeechRecognitionConfidence)
15374	return nil
15375}
15376
15377// GoogleCloudDialogflowV2beta1Sentiment: The sentiment, such as
15378// positive/negative feeling or association, for a unit of analysis,
15379// such as the query text.
15380type GoogleCloudDialogflowV2beta1Sentiment struct {
15381	// Magnitude: A non-negative number in the [0, +inf) range, which
15382	// represents the absolute magnitude of sentiment, regardless of score
15383	// (positive or negative).
15384	Magnitude float64 `json:"magnitude,omitempty"`
15385
15386	// Score: Sentiment score between -1.0 (negative sentiment) and 1.0
15387	// (positive sentiment).
15388	Score float64 `json:"score,omitempty"`
15389
15390	// ForceSendFields is a list of field names (e.g. "Magnitude") to
15391	// unconditionally include in API requests. By default, fields with
15392	// empty values are omitted from API requests. However, any non-pointer,
15393	// non-interface field appearing in ForceSendFields will be sent to the
15394	// server regardless of whether the field is empty or not. This may be
15395	// used to include empty fields in Patch requests.
15396	ForceSendFields []string `json:"-"`
15397
15398	// NullFields is a list of field names (e.g. "Magnitude") to include in
15399	// API requests with the JSON null value. By default, fields with empty
15400	// values are omitted from API requests. However, any field with an
15401	// empty value appearing in NullFields will be sent to the server as
15402	// null. It is an error if a field in this list has a non-empty value.
15403	// This may be used to include null fields in Patch requests.
15404	NullFields []string `json:"-"`
15405}
15406
15407func (s *GoogleCloudDialogflowV2beta1Sentiment) MarshalJSON() ([]byte, error) {
15408	type NoMethod GoogleCloudDialogflowV2beta1Sentiment
15409	raw := NoMethod(*s)
15410	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
15411}
15412
15413func (s *GoogleCloudDialogflowV2beta1Sentiment) UnmarshalJSON(data []byte) error {
15414	type NoMethod GoogleCloudDialogflowV2beta1Sentiment
15415	var s1 struct {
15416		Magnitude gensupport.JSONFloat64 `json:"magnitude"`
15417		Score     gensupport.JSONFloat64 `json:"score"`
15418		*NoMethod
15419	}
15420	s1.NoMethod = (*NoMethod)(s)
15421	if err := json.Unmarshal(data, &s1); err != nil {
15422		return err
15423	}
15424	s.Magnitude = float64(s1.Magnitude)
15425	s.Score = float64(s1.Score)
15426	return nil
15427}
15428
15429// GoogleCloudDialogflowV2beta1SentimentAnalysisResult: The result of
15430// sentiment analysis. Sentiment analysis inspects user input and
15431// identifies the prevailing subjective opinion, especially to determine
15432// a user's attitude as positive, negative, or neutral. For
15433// Participants.DetectIntent, it needs to be configured in
15434// DetectIntentRequest.query_params. For
15435// Participants.StreamingDetectIntent, it needs to be configured in
15436// StreamingDetectIntentRequest.query_params. And for
15437// Participants.AnalyzeContent and Participants.StreamingAnalyzeContent,
15438// it needs to be configured in
15439// ConversationProfile.human_agent_assistant_config
15440type GoogleCloudDialogflowV2beta1SentimentAnalysisResult struct {
15441	// QueryTextSentiment: The sentiment analysis result for `query_text`.
15442	QueryTextSentiment *GoogleCloudDialogflowV2beta1Sentiment `json:"queryTextSentiment,omitempty"`
15443
15444	// ForceSendFields is a list of field names (e.g. "QueryTextSentiment")
15445	// to unconditionally include in API requests. By default, fields with
15446	// empty values are omitted from API requests. However, any non-pointer,
15447	// non-interface field appearing in ForceSendFields will be sent to the
15448	// server regardless of whether the field is empty or not. This may be
15449	// used to include empty fields in Patch requests.
15450	ForceSendFields []string `json:"-"`
15451
15452	// NullFields is a list of field names (e.g. "QueryTextSentiment") to
15453	// include in API requests with the JSON null value. By default, fields
15454	// with empty values are omitted from API requests. However, any field
15455	// with an empty value appearing in NullFields will be sent to the
15456	// server as null. It is an error if a field in this list has a
15457	// non-empty value. This may be used to include null fields in Patch
15458	// requests.
15459	NullFields []string `json:"-"`
15460}
15461
15462func (s *GoogleCloudDialogflowV2beta1SentimentAnalysisResult) MarshalJSON() ([]byte, error) {
15463	type NoMethod GoogleCloudDialogflowV2beta1SentimentAnalysisResult
15464	raw := NoMethod(*s)
15465	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
15466}
15467
15468// GoogleCloudDialogflowV2beta1SessionEntityType: A session represents a
15469// conversation between a Dialogflow agent and an end-user. You can
15470// create special entities, called session entities, during a session.
15471// Session entities can extend or replace custom entity types and only
15472// exist during the session that they were created for. All session
15473// data, including session entities, is stored by Dialogflow for 20
15474// minutes. For more information, see the session entity guide
15475// (https://cloud.google.com/dialogflow/docs/entities-session).
15476type GoogleCloudDialogflowV2beta1SessionEntityType struct {
15477	// Entities: Required. The collection of entities associated with this
15478	// session entity type.
15479	Entities []*GoogleCloudDialogflowV2beta1EntityTypeEntity `json:"entities,omitempty"`
15480
15481	// EntityOverrideMode: Required. Indicates whether the additional data
15482	// should override or supplement the custom entity type definition.
15483	//
15484	// Possible values:
15485	//   "ENTITY_OVERRIDE_MODE_UNSPECIFIED" - Not specified. This value
15486	// should be never used.
15487	//   "ENTITY_OVERRIDE_MODE_OVERRIDE" - The collection of session
15488	// entities overrides the collection of entities in the corresponding
15489	// custom entity type.
15490	//   "ENTITY_OVERRIDE_MODE_SUPPLEMENT" - The collection of session
15491	// entities extends the collection of entities in the corresponding
15492	// custom entity type. Note: Even in this override mode calls to
15493	// `ListSessionEntityTypes`, `GetSessionEntityType`,
15494	// `CreateSessionEntityType` and `UpdateSessionEntityType` only return
15495	// the additional entities added in this session entity type. If you
15496	// want to get the supplemented list, please call
15497	// EntityTypes.GetEntityType on the custom entity type and merge.
15498	EntityOverrideMode string `json:"entityOverrideMode,omitempty"`
15499
15500	// Name: Required. The unique identifier of this session entity type.
15501	// Supported formats: - `projects//agent/sessions//entityTypes/` -
15502	// `projects//locations//agent/sessions//entityTypes/` -
15503	// `projects//agent/environments//users//sessions//entityTypes/` -
15504	// `projects//locations//agent/environments/
15505	// /users//sessions//entityTypes/` If `Location ID` is not specified we
15506	// assume default 'us' location. If `Environment ID` is not specified,
15507	// we assume default 'draft' environment. If `User ID` is not specified,
15508	// we assume default '-' user. `` must be the display name of an
15509	// existing entity type in the same agent that will be overridden or
15510	// supplemented.
15511	Name string `json:"name,omitempty"`
15512
15513	// ForceSendFields is a list of field names (e.g. "Entities") to
15514	// unconditionally include in API requests. By default, fields with
15515	// empty values are omitted from API requests. However, any non-pointer,
15516	// non-interface field appearing in ForceSendFields will be sent to the
15517	// server regardless of whether the field is empty or not. This may be
15518	// used to include empty fields in Patch requests.
15519	ForceSendFields []string `json:"-"`
15520
15521	// NullFields is a list of field names (e.g. "Entities") to include in
15522	// API requests with the JSON null value. By default, fields with empty
15523	// values are omitted from API requests. However, any field with an
15524	// empty value appearing in NullFields will be sent to the server as
15525	// null. It is an error if a field in this list has a non-empty value.
15526	// This may be used to include null fields in Patch requests.
15527	NullFields []string `json:"-"`
15528}
15529
15530func (s *GoogleCloudDialogflowV2beta1SessionEntityType) MarshalJSON() ([]byte, error) {
15531	type NoMethod GoogleCloudDialogflowV2beta1SessionEntityType
15532	raw := NoMethod(*s)
15533	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
15534}
15535
15536// GoogleCloudDialogflowV2beta1SmartReplyAnswer: Represents a smart
15537// reply answer.
15538type GoogleCloudDialogflowV2beta1SmartReplyAnswer struct {
15539	// AnswerRecord: The name of answer record, in the format of
15540	// "projects//locations//answerRecords/"
15541	AnswerRecord string `json:"answerRecord,omitempty"`
15542
15543	// Confidence: Smart reply confidence. The system's confidence score
15544	// that this reply is a good match for this conversation, as a value
15545	// from 0.0 (completely uncertain) to 1.0 (completely certain).
15546	Confidence float64 `json:"confidence,omitempty"`
15547
15548	// Reply: The content of the reply.
15549	Reply string `json:"reply,omitempty"`
15550
15551	// ForceSendFields is a list of field names (e.g. "AnswerRecord") to
15552	// unconditionally include in API requests. By default, fields with
15553	// empty values are omitted from API requests. However, any non-pointer,
15554	// non-interface field appearing in ForceSendFields will be sent to the
15555	// server regardless of whether the field is empty or not. This may be
15556	// used to include empty fields in Patch requests.
15557	ForceSendFields []string `json:"-"`
15558
15559	// NullFields is a list of field names (e.g. "AnswerRecord") to include
15560	// in API requests with the JSON null value. By default, fields with
15561	// empty values are omitted from API requests. However, any field with
15562	// an empty value appearing in NullFields will be sent to the server as
15563	// null. It is an error if a field in this list has a non-empty value.
15564	// This may be used to include null fields in Patch requests.
15565	NullFields []string `json:"-"`
15566}
15567
15568func (s *GoogleCloudDialogflowV2beta1SmartReplyAnswer) MarshalJSON() ([]byte, error) {
15569	type NoMethod GoogleCloudDialogflowV2beta1SmartReplyAnswer
15570	raw := NoMethod(*s)
15571	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
15572}
15573
15574func (s *GoogleCloudDialogflowV2beta1SmartReplyAnswer) UnmarshalJSON(data []byte) error {
15575	type NoMethod GoogleCloudDialogflowV2beta1SmartReplyAnswer
15576	var s1 struct {
15577		Confidence gensupport.JSONFloat64 `json:"confidence"`
15578		*NoMethod
15579	}
15580	s1.NoMethod = (*NoMethod)(s)
15581	if err := json.Unmarshal(data, &s1); err != nil {
15582		return err
15583	}
15584	s.Confidence = float64(s1.Confidence)
15585	return nil
15586}
15587
15588// GoogleCloudDialogflowV2beta1SuggestArticlesResponse: The response
15589// message for Participants.SuggestArticles.
15590type GoogleCloudDialogflowV2beta1SuggestArticlesResponse struct {
15591	// ArticleAnswers: Output only. Articles ordered by score in descending
15592	// order.
15593	ArticleAnswers []*GoogleCloudDialogflowV2beta1ArticleAnswer `json:"articleAnswers,omitempty"`
15594
15595	// ContextSize: Number of messages prior to and including latest_message
15596	// to compile the suggestion. It may be smaller than the
15597	// SuggestArticlesResponse.context_size field in the request if there
15598	// aren't that many messages in the conversation.
15599	ContextSize int64 `json:"contextSize,omitempty"`
15600
15601	// LatestMessage: The name of the latest conversation message used to
15602	// compile suggestion for. Format:
15603	// `projects//locations//conversations//messages/`.
15604	LatestMessage string `json:"latestMessage,omitempty"`
15605
15606	// ForceSendFields is a list of field names (e.g. "ArticleAnswers") to
15607	// unconditionally include in API requests. By default, fields with
15608	// empty values are omitted from API requests. However, any non-pointer,
15609	// non-interface field appearing in ForceSendFields will be sent to the
15610	// server regardless of whether the field is empty or not. This may be
15611	// used to include empty fields in Patch requests.
15612	ForceSendFields []string `json:"-"`
15613
15614	// NullFields is a list of field names (e.g. "ArticleAnswers") to
15615	// include in API requests with the JSON null value. By default, fields
15616	// with empty values are omitted from API requests. However, any field
15617	// with an empty value appearing in NullFields will be sent to the
15618	// server as null. It is an error if a field in this list has a
15619	// non-empty value. This may be used to include null fields in Patch
15620	// requests.
15621	NullFields []string `json:"-"`
15622}
15623
15624func (s *GoogleCloudDialogflowV2beta1SuggestArticlesResponse) MarshalJSON() ([]byte, error) {
15625	type NoMethod GoogleCloudDialogflowV2beta1SuggestArticlesResponse
15626	raw := NoMethod(*s)
15627	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
15628}
15629
15630// GoogleCloudDialogflowV2beta1SuggestFaqAnswersResponse: The request
15631// message for Participants.SuggestFaqAnswers.
15632type GoogleCloudDialogflowV2beta1SuggestFaqAnswersResponse struct {
15633	// ContextSize: Number of messages prior to and including latest_message
15634	// to compile the suggestion. It may be smaller than the
15635	// SuggestFaqAnswersRequest.context_size field in the request if there
15636	// aren't that many messages in the conversation.
15637	ContextSize int64 `json:"contextSize,omitempty"`
15638
15639	// FaqAnswers: Output only. Answers extracted from FAQ documents.
15640	FaqAnswers []*GoogleCloudDialogflowV2beta1FaqAnswer `json:"faqAnswers,omitempty"`
15641
15642	// LatestMessage: The name of the latest conversation message used to
15643	// compile suggestion for. Format:
15644	// `projects//locations//conversations//messages/`.
15645	LatestMessage string `json:"latestMessage,omitempty"`
15646
15647	// ForceSendFields is a list of field names (e.g. "ContextSize") to
15648	// unconditionally include in API requests. By default, fields with
15649	// empty values are omitted from API requests. However, any non-pointer,
15650	// non-interface field appearing in ForceSendFields will be sent to the
15651	// server regardless of whether the field is empty or not. This may be
15652	// used to include empty fields in Patch requests.
15653	ForceSendFields []string `json:"-"`
15654
15655	// NullFields is a list of field names (e.g. "ContextSize") to include
15656	// in API requests with the JSON null value. By default, fields with
15657	// empty values are omitted from API requests. However, any field with
15658	// an empty value appearing in NullFields will be sent to the server as
15659	// null. It is an error if a field in this list has a non-empty value.
15660	// This may be used to include null fields in Patch requests.
15661	NullFields []string `json:"-"`
15662}
15663
15664func (s *GoogleCloudDialogflowV2beta1SuggestFaqAnswersResponse) MarshalJSON() ([]byte, error) {
15665	type NoMethod GoogleCloudDialogflowV2beta1SuggestFaqAnswersResponse
15666	raw := NoMethod(*s)
15667	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
15668}
15669
15670// GoogleCloudDialogflowV2beta1SuggestSmartRepliesResponse: The response
15671// message for Participants.SuggestSmartReplies.
15672type GoogleCloudDialogflowV2beta1SuggestSmartRepliesResponse struct {
15673	// ContextSize: Number of messages prior to and including latest_message
15674	// to compile the suggestion. It may be smaller than the
15675	// SuggestSmartRepliesRequest.context_size field in the request if there
15676	// aren't that many messages in the conversation.
15677	ContextSize int64 `json:"contextSize,omitempty"`
15678
15679	// LatestMessage: The name of the latest conversation message used to
15680	// compile suggestion for. Format:
15681	// `projects//locations//conversations//messages/`.
15682	LatestMessage string `json:"latestMessage,omitempty"`
15683
15684	// SmartReplyAnswers: Output only. Multiple reply options provided by
15685	// smart reply service. The order is based on the rank of the model
15686	// prediction. The maximum number of the returned replies is set in
15687	// SmartReplyConfig.
15688	SmartReplyAnswers []*GoogleCloudDialogflowV2beta1SmartReplyAnswer `json:"smartReplyAnswers,omitempty"`
15689
15690	// ForceSendFields is a list of field names (e.g. "ContextSize") to
15691	// unconditionally include in API requests. By default, fields with
15692	// empty values are omitted from API requests. However, any non-pointer,
15693	// non-interface field appearing in ForceSendFields will be sent to the
15694	// server regardless of whether the field is empty or not. This may be
15695	// used to include empty fields in Patch requests.
15696	ForceSendFields []string `json:"-"`
15697
15698	// NullFields is a list of field names (e.g. "ContextSize") to include
15699	// in API requests with the JSON null value. By default, fields with
15700	// empty values are omitted from API requests. However, any field with
15701	// an empty value appearing in NullFields will be sent to the server as
15702	// null. It is an error if a field in this list has a non-empty value.
15703	// This may be used to include null fields in Patch requests.
15704	NullFields []string `json:"-"`
15705}
15706
15707func (s *GoogleCloudDialogflowV2beta1SuggestSmartRepliesResponse) MarshalJSON() ([]byte, error) {
15708	type NoMethod GoogleCloudDialogflowV2beta1SuggestSmartRepliesResponse
15709	raw := NoMethod(*s)
15710	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
15711}
15712
15713// GoogleCloudDialogflowV2beta1SuggestionResult: One response of
15714// different type of suggestion response which is used in the response
15715// of Participants.AnalyzeContent and Participants.AnalyzeContent, as
15716// well as HumanAgentAssistantEvent.
15717type GoogleCloudDialogflowV2beta1SuggestionResult struct {
15718	// Error: Error status if the request failed.
15719	Error *GoogleRpcStatus `json:"error,omitempty"`
15720
15721	// SuggestArticlesResponse: SuggestArticlesResponse if request is for
15722	// ARTICLE_SUGGESTION.
15723	SuggestArticlesResponse *GoogleCloudDialogflowV2beta1SuggestArticlesResponse `json:"suggestArticlesResponse,omitempty"`
15724
15725	// SuggestFaqAnswersResponse: SuggestFaqAnswersResponse if request is
15726	// for FAQ_ANSWER.
15727	SuggestFaqAnswersResponse *GoogleCloudDialogflowV2beta1SuggestFaqAnswersResponse `json:"suggestFaqAnswersResponse,omitempty"`
15728
15729	// SuggestSmartRepliesResponse: SuggestSmartRepliesResponse if request
15730	// is for SMART_REPLY.
15731	SuggestSmartRepliesResponse *GoogleCloudDialogflowV2beta1SuggestSmartRepliesResponse `json:"suggestSmartRepliesResponse,omitempty"`
15732
15733	// ForceSendFields is a list of field names (e.g. "Error") to
15734	// unconditionally include in API requests. By default, fields with
15735	// empty values are omitted from API requests. However, any non-pointer,
15736	// non-interface field appearing in ForceSendFields will be sent to the
15737	// server regardless of whether the field is empty or not. This may be
15738	// used to include empty fields in Patch requests.
15739	ForceSendFields []string `json:"-"`
15740
15741	// NullFields is a list of field names (e.g. "Error") to include in API
15742	// requests with the JSON null value. By default, fields with empty
15743	// values are omitted from API requests. However, any field with an
15744	// empty value appearing in NullFields will be sent to the server as
15745	// null. It is an error if a field in this list has a non-empty value.
15746	// This may be used to include null fields in Patch requests.
15747	NullFields []string `json:"-"`
15748}
15749
15750func (s *GoogleCloudDialogflowV2beta1SuggestionResult) MarshalJSON() ([]byte, error) {
15751	type NoMethod GoogleCloudDialogflowV2beta1SuggestionResult
15752	raw := NoMethod(*s)
15753	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
15754}
15755
15756// GoogleCloudDialogflowV2beta1WebhookRequest: The request message for a
15757// webhook call.
15758type GoogleCloudDialogflowV2beta1WebhookRequest struct {
15759	// AlternativeQueryResults: Alternative query results from
15760	// KnowledgeService.
15761	AlternativeQueryResults []*GoogleCloudDialogflowV2beta1QueryResult `json:"alternativeQueryResults,omitempty"`
15762
15763	// OriginalDetectIntentRequest: Optional. The contents of the original
15764	// request that was passed to `[Streaming]DetectIntent` call.
15765	OriginalDetectIntentRequest *GoogleCloudDialogflowV2beta1OriginalDetectIntentRequest `json:"originalDetectIntentRequest,omitempty"`
15766
15767	// QueryResult: The result of the conversational query or event
15768	// processing. Contains the same value as
15769	// `[Streaming]DetectIntentResponse.query_result`.
15770	QueryResult *GoogleCloudDialogflowV2beta1QueryResult `json:"queryResult,omitempty"`
15771
15772	// ResponseId: The unique identifier of the response. Contains the same
15773	// value as `[Streaming]DetectIntentResponse.response_id`.
15774	ResponseId string `json:"responseId,omitempty"`
15775
15776	// Session: The unique identifier of detectIntent request session. Can
15777	// be used to identify end-user inside webhook implementation. Supported
15778	// formats: - `projects//agent/sessions/, -
15779	// `projects//locations//agent/sessions/`, -
15780	// `projects//agent/environments//users//sessions/`, -
15781	// `projects//locations//agent/environments//users//sessions/`,
15782	Session string `json:"session,omitempty"`
15783
15784	// ForceSendFields is a list of field names (e.g.
15785	// "AlternativeQueryResults") to unconditionally include in API
15786	// requests. By default, fields with empty values are omitted from API
15787	// requests. However, any non-pointer, non-interface field appearing in
15788	// ForceSendFields will be sent to the server regardless of whether the
15789	// field is empty or not. This may be used to include empty fields in
15790	// Patch requests.
15791	ForceSendFields []string `json:"-"`
15792
15793	// NullFields is a list of field names (e.g. "AlternativeQueryResults")
15794	// to include in API requests with the JSON null value. By default,
15795	// fields with empty values are omitted from API requests. However, any
15796	// field with an empty value appearing in NullFields will be sent to the
15797	// server as null. It is an error if a field in this list has a
15798	// non-empty value. This may be used to include null fields in Patch
15799	// requests.
15800	NullFields []string `json:"-"`
15801}
15802
15803func (s *GoogleCloudDialogflowV2beta1WebhookRequest) MarshalJSON() ([]byte, error) {
15804	type NoMethod GoogleCloudDialogflowV2beta1WebhookRequest
15805	raw := NoMethod(*s)
15806	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
15807}
15808
15809// GoogleCloudDialogflowV2beta1WebhookResponse: The response message for
15810// a webhook call. This response is validated by the Dialogflow server.
15811// If validation fails, an error will be returned in the
15812// QueryResult.diagnostic_info field. Setting JSON fields to an empty
15813// value with the wrong type is a common error. To avoid this error: -
15814// Use "" for empty strings - Use `{}` or `null` for empty objects -
15815// Use `[]` or `null` for empty arrays For more information, see the
15816// Protocol Buffers Language Guide
15817// (https://developers.google.com/protocol-buffers/docs/proto3#json).
15818type GoogleCloudDialogflowV2beta1WebhookResponse struct {
15819	// EndInteraction: Optional. Indicates that this intent ends an
15820	// interaction. Some integrations (e.g., Actions on Google or Dialogflow
15821	// phone gateway) use this information to close interaction with an end
15822	// user. Default is false.
15823	EndInteraction bool `json:"endInteraction,omitempty"`
15824
15825	// FollowupEventInput: Optional. Invokes the supplied events. When this
15826	// field is set, Dialogflow ignores the `fulfillment_text`,
15827	// `fulfillment_messages`, and `payload` fields.
15828	FollowupEventInput *GoogleCloudDialogflowV2beta1EventInput `json:"followupEventInput,omitempty"`
15829
15830	// FulfillmentMessages: Optional. The rich response messages intended
15831	// for the end-user. When provided, Dialogflow uses this field to
15832	// populate QueryResult.fulfillment_messages sent to the integration or
15833	// API caller.
15834	FulfillmentMessages []*GoogleCloudDialogflowV2beta1IntentMessage `json:"fulfillmentMessages,omitempty"`
15835
15836	// FulfillmentText: Optional. The text response message intended for the
15837	// end-user. It is recommended to use
15838	// `fulfillment_messages.text.text[0]` instead. When provided,
15839	// Dialogflow uses this field to populate QueryResult.fulfillment_text
15840	// sent to the integration or API caller.
15841	FulfillmentText string `json:"fulfillmentText,omitempty"`
15842
15843	// LiveAgentHandoff: Indicates that a live agent should be brought in to
15844	// handle the interaction with the user. In most cases, when you set
15845	// this flag to true, you would also want to set end_interaction to true
15846	// as well. Default is false.
15847	LiveAgentHandoff bool `json:"liveAgentHandoff,omitempty"`
15848
15849	// OutputContexts: Optional. The collection of output contexts that will
15850	// overwrite currently active contexts for the session and reset their
15851	// lifespans. When provided, Dialogflow uses this field to populate
15852	// QueryResult.output_contexts sent to the integration or API caller.
15853	OutputContexts []*GoogleCloudDialogflowV2beta1Context `json:"outputContexts,omitempty"`
15854
15855	// Payload: Optional. This field can be used to pass custom data from
15856	// your webhook to the integration or API caller. Arbitrary JSON objects
15857	// are supported. When provided, Dialogflow uses this field to populate
15858	// QueryResult.webhook_payload sent to the integration or API caller.
15859	// This field is also used by the Google Assistant integration
15860	// (https://cloud.google.com/dialogflow/docs/integrations/aog) for rich
15861	// response messages. See the format definition at Google Assistant
15862	// Dialogflow webhook format
15863	// (https://developers.google.com/assistant/actions/build/json/dialogflow-webhook-json)
15864	Payload googleapi.RawMessage `json:"payload,omitempty"`
15865
15866	// SessionEntityTypes: Optional. Additional session entity types to
15867	// replace or extend developer entity types with. The entity synonyms
15868	// apply to all languages and persist for the session. Setting this data
15869	// from a webhook overwrites the session entity types that have been set
15870	// using `detectIntent`, `streamingDetectIntent` or SessionEntityType
15871	// management methods.
15872	SessionEntityTypes []*GoogleCloudDialogflowV2beta1SessionEntityType `json:"sessionEntityTypes,omitempty"`
15873
15874	// Source: Optional. A custom field used to identify the webhook source.
15875	// Arbitrary strings are supported. When provided, Dialogflow uses this
15876	// field to populate QueryResult.webhook_source sent to the integration
15877	// or API caller.
15878	Source string `json:"source,omitempty"`
15879
15880	// ForceSendFields is a list of field names (e.g. "EndInteraction") to
15881	// unconditionally include in API requests. By default, fields with
15882	// empty values are omitted from API requests. However, any non-pointer,
15883	// non-interface field appearing in ForceSendFields will be sent to the
15884	// server regardless of whether the field is empty or not. This may be
15885	// used to include empty fields in Patch requests.
15886	ForceSendFields []string `json:"-"`
15887
15888	// NullFields is a list of field names (e.g. "EndInteraction") to
15889	// include in API requests with the JSON null value. By default, fields
15890	// with empty values are omitted from API requests. However, any field
15891	// with an empty value appearing in NullFields will be sent to the
15892	// server as null. It is an error if a field in this list has a
15893	// non-empty value. This may be used to include null fields in Patch
15894	// requests.
15895	NullFields []string `json:"-"`
15896}
15897
15898func (s *GoogleCloudDialogflowV2beta1WebhookResponse) MarshalJSON() ([]byte, error) {
15899	type NoMethod GoogleCloudDialogflowV2beta1WebhookResponse
15900	raw := NoMethod(*s)
15901	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
15902}
15903
15904// GoogleCloudDialogflowV3alpha1CreateDocumentOperationMetadata:
15905// Metadata for CreateDocument operation.
15906type GoogleCloudDialogflowV3alpha1CreateDocumentOperationMetadata struct {
15907	// GenericMetadata: The generic information of the operation.
15908	GenericMetadata *GoogleCloudDialogflowV3alpha1GenericKnowledgeOperationMetadata `json:"genericMetadata,omitempty"`
15909
15910	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
15911	// unconditionally include in API requests. By default, fields with
15912	// empty values are omitted from API requests. However, any non-pointer,
15913	// non-interface field appearing in ForceSendFields will be sent to the
15914	// server regardless of whether the field is empty or not. This may be
15915	// used to include empty fields in Patch requests.
15916	ForceSendFields []string `json:"-"`
15917
15918	// NullFields is a list of field names (e.g. "GenericMetadata") to
15919	// include in API requests with the JSON null value. By default, fields
15920	// with empty values are omitted from API requests. However, any field
15921	// with an empty value appearing in NullFields will be sent to the
15922	// server as null. It is an error if a field in this list has a
15923	// non-empty value. This may be used to include null fields in Patch
15924	// requests.
15925	NullFields []string `json:"-"`
15926}
15927
15928func (s *GoogleCloudDialogflowV3alpha1CreateDocumentOperationMetadata) MarshalJSON() ([]byte, error) {
15929	type NoMethod GoogleCloudDialogflowV3alpha1CreateDocumentOperationMetadata
15930	raw := NoMethod(*s)
15931	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
15932}
15933
15934// GoogleCloudDialogflowV3alpha1DeleteDocumentOperationMetadata:
15935// Metadata for DeleteDocument operation.
15936type GoogleCloudDialogflowV3alpha1DeleteDocumentOperationMetadata struct {
15937	// GenericMetadata: The generic information of the operation.
15938	GenericMetadata *GoogleCloudDialogflowV3alpha1GenericKnowledgeOperationMetadata `json:"genericMetadata,omitempty"`
15939
15940	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
15941	// unconditionally include in API requests. By default, fields with
15942	// empty values are omitted from API requests. However, any non-pointer,
15943	// non-interface field appearing in ForceSendFields will be sent to the
15944	// server regardless of whether the field is empty or not. This may be
15945	// used to include empty fields in Patch requests.
15946	ForceSendFields []string `json:"-"`
15947
15948	// NullFields is a list of field names (e.g. "GenericMetadata") to
15949	// include in API requests with the JSON null value. By default, fields
15950	// with empty values are omitted from API requests. However, any field
15951	// with an empty value appearing in NullFields will be sent to the
15952	// server as null. It is an error if a field in this list has a
15953	// non-empty value. This may be used to include null fields in Patch
15954	// requests.
15955	NullFields []string `json:"-"`
15956}
15957
15958func (s *GoogleCloudDialogflowV3alpha1DeleteDocumentOperationMetadata) MarshalJSON() ([]byte, error) {
15959	type NoMethod GoogleCloudDialogflowV3alpha1DeleteDocumentOperationMetadata
15960	raw := NoMethod(*s)
15961	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
15962}
15963
15964// GoogleCloudDialogflowV3alpha1GenericKnowledgeOperationMetadata:
15965// Metadata in google::longrunning::Operation for Knowledge operations.
15966type GoogleCloudDialogflowV3alpha1GenericKnowledgeOperationMetadata struct {
15967	// State: Required. Output only. The current state of this operation.
15968	//
15969	// Possible values:
15970	//   "STATE_UNSPECIFIED" - State unspecified.
15971	//   "PENDING" - The operation has been created.
15972	//   "RUNNING" - The operation is currently running.
15973	//   "DONE" - The operation is done, either cancelled or completed.
15974	State string `json:"state,omitempty"`
15975
15976	// ForceSendFields is a list of field names (e.g. "State") to
15977	// unconditionally include in API requests. By default, fields with
15978	// empty values are omitted from API requests. However, any non-pointer,
15979	// non-interface field appearing in ForceSendFields will be sent to the
15980	// server regardless of whether the field is empty or not. This may be
15981	// used to include empty fields in Patch requests.
15982	ForceSendFields []string `json:"-"`
15983
15984	// NullFields is a list of field names (e.g. "State") to include in API
15985	// requests with the JSON null value. By default, fields with empty
15986	// values are omitted from API requests. However, any field with an
15987	// empty value appearing in NullFields will be sent to the server as
15988	// null. It is an error if a field in this list has a non-empty value.
15989	// This may be used to include null fields in Patch requests.
15990	NullFields []string `json:"-"`
15991}
15992
15993func (s *GoogleCloudDialogflowV3alpha1GenericKnowledgeOperationMetadata) MarshalJSON() ([]byte, error) {
15994	type NoMethod GoogleCloudDialogflowV3alpha1GenericKnowledgeOperationMetadata
15995	raw := NoMethod(*s)
15996	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
15997}
15998
15999// GoogleCloudDialogflowV3alpha1ImportDocumentsOperationMetadata:
16000// Metadata for ImportDocuments operation.
16001type GoogleCloudDialogflowV3alpha1ImportDocumentsOperationMetadata struct {
16002	// GenericMetadata: The generic information of the operation.
16003	GenericMetadata *GoogleCloudDialogflowV3alpha1GenericKnowledgeOperationMetadata `json:"genericMetadata,omitempty"`
16004
16005	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
16006	// unconditionally include in API requests. By default, fields with
16007	// empty values are omitted from API requests. However, any non-pointer,
16008	// non-interface field appearing in ForceSendFields will be sent to the
16009	// server regardless of whether the field is empty or not. This may be
16010	// used to include empty fields in Patch requests.
16011	ForceSendFields []string `json:"-"`
16012
16013	// NullFields is a list of field names (e.g. "GenericMetadata") to
16014	// include in API requests with the JSON null value. By default, fields
16015	// with empty values are omitted from API requests. However, any field
16016	// with an empty value appearing in NullFields will be sent to the
16017	// server as null. It is an error if a field in this list has a
16018	// non-empty value. This may be used to include null fields in Patch
16019	// requests.
16020	NullFields []string `json:"-"`
16021}
16022
16023func (s *GoogleCloudDialogflowV3alpha1ImportDocumentsOperationMetadata) MarshalJSON() ([]byte, error) {
16024	type NoMethod GoogleCloudDialogflowV3alpha1ImportDocumentsOperationMetadata
16025	raw := NoMethod(*s)
16026	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
16027}
16028
16029// GoogleCloudDialogflowV3alpha1ImportDocumentsResponse: Response
16030// message for Documents.ImportDocuments.
16031type GoogleCloudDialogflowV3alpha1ImportDocumentsResponse struct {
16032	// Warnings: Includes details about skipped documents or any other
16033	// warnings.
16034	Warnings []*GoogleRpcStatus `json:"warnings,omitempty"`
16035
16036	// ForceSendFields is a list of field names (e.g. "Warnings") to
16037	// unconditionally include in API requests. By default, fields with
16038	// empty values are omitted from API requests. However, any non-pointer,
16039	// non-interface field appearing in ForceSendFields will be sent to the
16040	// server regardless of whether the field is empty or not. This may be
16041	// used to include empty fields in Patch requests.
16042	ForceSendFields []string `json:"-"`
16043
16044	// NullFields is a list of field names (e.g. "Warnings") to include in
16045	// API requests with the JSON null value. By default, fields with empty
16046	// values are omitted from API requests. However, any field with an
16047	// empty value appearing in NullFields will be sent to the server as
16048	// null. It is an error if a field in this list has a non-empty value.
16049	// This may be used to include null fields in Patch requests.
16050	NullFields []string `json:"-"`
16051}
16052
16053func (s *GoogleCloudDialogflowV3alpha1ImportDocumentsResponse) MarshalJSON() ([]byte, error) {
16054	type NoMethod GoogleCloudDialogflowV3alpha1ImportDocumentsResponse
16055	raw := NoMethod(*s)
16056	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
16057}
16058
16059// GoogleCloudDialogflowV3alpha1ReloadDocumentOperationMetadata:
16060// Metadata for ReloadDocument operation.
16061type GoogleCloudDialogflowV3alpha1ReloadDocumentOperationMetadata struct {
16062	// GenericMetadata: The generic information of the operation.
16063	GenericMetadata *GoogleCloudDialogflowV3alpha1GenericKnowledgeOperationMetadata `json:"genericMetadata,omitempty"`
16064
16065	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
16066	// unconditionally include in API requests. By default, fields with
16067	// empty values are omitted from API requests. However, any non-pointer,
16068	// non-interface field appearing in ForceSendFields will be sent to the
16069	// server regardless of whether the field is empty or not. This may be
16070	// used to include empty fields in Patch requests.
16071	ForceSendFields []string `json:"-"`
16072
16073	// NullFields is a list of field names (e.g. "GenericMetadata") to
16074	// include in API requests with the JSON null value. By default, fields
16075	// with empty values are omitted from API requests. However, any field
16076	// with an empty value appearing in NullFields will be sent to the
16077	// server as null. It is an error if a field in this list has a
16078	// non-empty value. This may be used to include null fields in Patch
16079	// requests.
16080	NullFields []string `json:"-"`
16081}
16082
16083func (s *GoogleCloudDialogflowV3alpha1ReloadDocumentOperationMetadata) MarshalJSON() ([]byte, error) {
16084	type NoMethod GoogleCloudDialogflowV3alpha1ReloadDocumentOperationMetadata
16085	raw := NoMethod(*s)
16086	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
16087}
16088
16089// GoogleCloudDialogflowV3alpha1UpdateDocumentOperationMetadata:
16090// Metadata for UpdateDocument operation.
16091type GoogleCloudDialogflowV3alpha1UpdateDocumentOperationMetadata struct {
16092	// GenericMetadata: The generic information of the operation.
16093	GenericMetadata *GoogleCloudDialogflowV3alpha1GenericKnowledgeOperationMetadata `json:"genericMetadata,omitempty"`
16094
16095	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
16096	// unconditionally include in API requests. By default, fields with
16097	// empty values are omitted from API requests. However, any non-pointer,
16098	// non-interface field appearing in ForceSendFields will be sent to the
16099	// server regardless of whether the field is empty or not. This may be
16100	// used to include empty fields in Patch requests.
16101	ForceSendFields []string `json:"-"`
16102
16103	// NullFields is a list of field names (e.g. "GenericMetadata") to
16104	// include in API requests with the JSON null value. By default, fields
16105	// with empty values are omitted from API requests. However, any field
16106	// with an empty value appearing in NullFields will be sent to the
16107	// server as null. It is an error if a field in this list has a
16108	// non-empty value. This may be used to include null fields in Patch
16109	// requests.
16110	NullFields []string `json:"-"`
16111}
16112
16113func (s *GoogleCloudDialogflowV3alpha1UpdateDocumentOperationMetadata) MarshalJSON() ([]byte, error) {
16114	type NoMethod GoogleCloudDialogflowV3alpha1UpdateDocumentOperationMetadata
16115	raw := NoMethod(*s)
16116	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
16117}
16118
16119// GoogleLongrunningListOperationsResponse: The response message for
16120// Operations.ListOperations.
16121type GoogleLongrunningListOperationsResponse struct {
16122	// NextPageToken: The standard List next-page token.
16123	NextPageToken string `json:"nextPageToken,omitempty"`
16124
16125	// Operations: A list of operations that matches the specified filter in
16126	// the request.
16127	Operations []*GoogleLongrunningOperation `json:"operations,omitempty"`
16128
16129	// ServerResponse contains the HTTP response code and headers from the
16130	// server.
16131	googleapi.ServerResponse `json:"-"`
16132
16133	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
16134	// unconditionally include in API requests. By default, fields with
16135	// empty values are omitted from API requests. However, any non-pointer,
16136	// non-interface field appearing in ForceSendFields will be sent to the
16137	// server regardless of whether the field is empty or not. This may be
16138	// used to include empty fields in Patch requests.
16139	ForceSendFields []string `json:"-"`
16140
16141	// NullFields is a list of field names (e.g. "NextPageToken") to include
16142	// in API requests with the JSON null value. By default, fields with
16143	// empty values are omitted from API requests. However, any field with
16144	// an empty value appearing in NullFields will be sent to the server as
16145	// null. It is an error if a field in this list has a non-empty value.
16146	// This may be used to include null fields in Patch requests.
16147	NullFields []string `json:"-"`
16148}
16149
16150func (s *GoogleLongrunningListOperationsResponse) MarshalJSON() ([]byte, error) {
16151	type NoMethod GoogleLongrunningListOperationsResponse
16152	raw := NoMethod(*s)
16153	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
16154}
16155
16156// GoogleLongrunningOperation: This resource represents a long-running
16157// operation that is the result of a network API call.
16158type GoogleLongrunningOperation struct {
16159	// Done: If the value is `false`, it means the operation is still in
16160	// progress. If `true`, the operation is completed, and either `error`
16161	// or `response` is available.
16162	Done bool `json:"done,omitempty"`
16163
16164	// Error: The error result of the operation in case of failure or
16165	// cancellation.
16166	Error *GoogleRpcStatus `json:"error,omitempty"`
16167
16168	// Metadata: Service-specific metadata associated with the operation. It
16169	// typically contains progress information and common metadata such as
16170	// create time. Some services might not provide such metadata. Any
16171	// method that returns a long-running operation should document the
16172	// metadata type, if any.
16173	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
16174
16175	// Name: The server-assigned name, which is only unique within the same
16176	// service that originally returns it. If you use the default HTTP
16177	// mapping, the `name` should be a resource name ending with
16178	// `operations/{unique_id}`.
16179	Name string `json:"name,omitempty"`
16180
16181	// Response: The normal response of the operation in case of success. If
16182	// the original method returns no data on success, such as `Delete`, the
16183	// response is `google.protobuf.Empty`. If the original method is
16184	// standard `Get`/`Create`/`Update`, the response should be the
16185	// resource. For other methods, the response should have the type
16186	// `XxxResponse`, where `Xxx` is the original method name. For example,
16187	// if the original method name is `TakeSnapshot()`, the inferred
16188	// response type is `TakeSnapshotResponse`.
16189	Response googleapi.RawMessage `json:"response,omitempty"`
16190
16191	// ServerResponse contains the HTTP response code and headers from the
16192	// server.
16193	googleapi.ServerResponse `json:"-"`
16194
16195	// ForceSendFields is a list of field names (e.g. "Done") to
16196	// unconditionally include in API requests. By default, fields with
16197	// empty values are omitted from API requests. However, any non-pointer,
16198	// non-interface field appearing in ForceSendFields will be sent to the
16199	// server regardless of whether the field is empty or not. This may be
16200	// used to include empty fields in Patch requests.
16201	ForceSendFields []string `json:"-"`
16202
16203	// NullFields is a list of field names (e.g. "Done") to include in API
16204	// requests with the JSON null value. By default, fields with empty
16205	// values are omitted from API requests. However, any field with an
16206	// empty value appearing in NullFields will be sent to the server as
16207	// null. It is an error if a field in this list has a non-empty value.
16208	// This may be used to include null fields in Patch requests.
16209	NullFields []string `json:"-"`
16210}
16211
16212func (s *GoogleLongrunningOperation) MarshalJSON() ([]byte, error) {
16213	type NoMethod GoogleLongrunningOperation
16214	raw := NoMethod(*s)
16215	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
16216}
16217
16218// GoogleProtobufEmpty: A generic empty message that you can re-use to
16219// avoid defining duplicated empty messages in your APIs. A typical
16220// example is to use it as the request or the response type of an API
16221// method. For instance: service Foo { rpc Bar(google.protobuf.Empty)
16222// returns (google.protobuf.Empty); } The JSON representation for
16223// `Empty` is empty JSON object `{}`.
16224type GoogleProtobufEmpty struct {
16225	// ServerResponse contains the HTTP response code and headers from the
16226	// server.
16227	googleapi.ServerResponse `json:"-"`
16228}
16229
16230// GoogleRpcStatus: The `Status` type defines a logical error model that
16231// is suitable for different programming environments, including REST
16232// APIs and RPC APIs. It is used by gRPC (https://github.com/grpc). Each
16233// `Status` message contains three pieces of data: error code, error
16234// message, and error details. You can find out more about this error
16235// model and how to work with it in the API Design Guide
16236// (https://cloud.google.com/apis/design/errors).
16237type GoogleRpcStatus struct {
16238	// Code: The status code, which should be an enum value of
16239	// google.rpc.Code.
16240	Code int64 `json:"code,omitempty"`
16241
16242	// Details: A list of messages that carry the error details. There is a
16243	// common set of message types for APIs to use.
16244	Details []googleapi.RawMessage `json:"details,omitempty"`
16245
16246	// Message: A developer-facing error message, which should be in
16247	// English. Any user-facing error message should be localized and sent
16248	// in the google.rpc.Status.details field, or localized by the client.
16249	Message string `json:"message,omitempty"`
16250
16251	// ForceSendFields is a list of field names (e.g. "Code") to
16252	// unconditionally include in API requests. By default, fields with
16253	// empty values are omitted from API requests. However, any non-pointer,
16254	// non-interface field appearing in ForceSendFields will be sent to the
16255	// server regardless of whether the field is empty or not. This may be
16256	// used to include empty fields in Patch requests.
16257	ForceSendFields []string `json:"-"`
16258
16259	// NullFields is a list of field names (e.g. "Code") to include in API
16260	// requests with the JSON null value. By default, fields with empty
16261	// values are omitted from API requests. However, any field with an
16262	// empty value appearing in NullFields will be sent to the server as
16263	// null. It is an error if a field in this list has a non-empty value.
16264	// This may be used to include null fields in Patch requests.
16265	NullFields []string `json:"-"`
16266}
16267
16268func (s *GoogleRpcStatus) MarshalJSON() ([]byte, error) {
16269	type NoMethod GoogleRpcStatus
16270	raw := NoMethod(*s)
16271	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
16272}
16273
16274// GoogleTypeLatLng: An object that represents a latitude/longitude
16275// pair. This is expressed as a pair of doubles to represent degrees
16276// latitude and degrees longitude. Unless specified otherwise, this must
16277// conform to the WGS84 standard. Values must be within normalized
16278// ranges.
16279type GoogleTypeLatLng struct {
16280	// Latitude: The latitude in degrees. It must be in the range [-90.0,
16281	// +90.0].
16282	Latitude float64 `json:"latitude,omitempty"`
16283
16284	// Longitude: The longitude in degrees. It must be in the range [-180.0,
16285	// +180.0].
16286	Longitude float64 `json:"longitude,omitempty"`
16287
16288	// ForceSendFields is a list of field names (e.g. "Latitude") to
16289	// unconditionally include in API requests. By default, fields with
16290	// empty values are omitted from API requests. However, any non-pointer,
16291	// non-interface field appearing in ForceSendFields will be sent to the
16292	// server regardless of whether the field is empty or not. This may be
16293	// used to include empty fields in Patch requests.
16294	ForceSendFields []string `json:"-"`
16295
16296	// NullFields is a list of field names (e.g. "Latitude") to include in
16297	// API requests with the JSON null value. By default, fields with empty
16298	// values are omitted from API requests. However, any field with an
16299	// empty value appearing in NullFields will be sent to the server as
16300	// null. It is an error if a field in this list has a non-empty value.
16301	// This may be used to include null fields in Patch requests.
16302	NullFields []string `json:"-"`
16303}
16304
16305func (s *GoogleTypeLatLng) MarshalJSON() ([]byte, error) {
16306	type NoMethod GoogleTypeLatLng
16307	raw := NoMethod(*s)
16308	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
16309}
16310
16311func (s *GoogleTypeLatLng) UnmarshalJSON(data []byte) error {
16312	type NoMethod GoogleTypeLatLng
16313	var s1 struct {
16314		Latitude  gensupport.JSONFloat64 `json:"latitude"`
16315		Longitude gensupport.JSONFloat64 `json:"longitude"`
16316		*NoMethod
16317	}
16318	s1.NoMethod = (*NoMethod)(s)
16319	if err := json.Unmarshal(data, &s1); err != nil {
16320		return err
16321	}
16322	s.Latitude = float64(s1.Latitude)
16323	s.Longitude = float64(s1.Longitude)
16324	return nil
16325}
16326
16327// method id "dialogflow.projects.locations.agents.create":
16328
16329type ProjectsLocationsAgentsCreateCall struct {
16330	s                              *Service
16331	parent                         string
16332	googleclouddialogflowcxv3agent *GoogleCloudDialogflowCxV3Agent
16333	urlParams_                     gensupport.URLParams
16334	ctx_                           context.Context
16335	header_                        http.Header
16336}
16337
16338// Create: Creates an agent in the specified location.
16339//
16340// - parent: The location to create a agent for. Format:
16341//   `projects//locations/`.
16342func (r *ProjectsLocationsAgentsService) Create(parent string, googleclouddialogflowcxv3agent *GoogleCloudDialogflowCxV3Agent) *ProjectsLocationsAgentsCreateCall {
16343	c := &ProjectsLocationsAgentsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16344	c.parent = parent
16345	c.googleclouddialogflowcxv3agent = googleclouddialogflowcxv3agent
16346	return c
16347}
16348
16349// Fields allows partial responses to be retrieved. See
16350// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16351// for more information.
16352func (c *ProjectsLocationsAgentsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsCreateCall {
16353	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16354	return c
16355}
16356
16357// Context sets the context to be used in this call's Do method. Any
16358// pending HTTP request will be aborted if the provided context is
16359// canceled.
16360func (c *ProjectsLocationsAgentsCreateCall) Context(ctx context.Context) *ProjectsLocationsAgentsCreateCall {
16361	c.ctx_ = ctx
16362	return c
16363}
16364
16365// Header returns an http.Header that can be modified by the caller to
16366// add HTTP headers to the request.
16367func (c *ProjectsLocationsAgentsCreateCall) Header() http.Header {
16368	if c.header_ == nil {
16369		c.header_ = make(http.Header)
16370	}
16371	return c.header_
16372}
16373
16374func (c *ProjectsLocationsAgentsCreateCall) doRequest(alt string) (*http.Response, error) {
16375	reqHeaders := make(http.Header)
16376	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
16377	for k, v := range c.header_ {
16378		reqHeaders[k] = v
16379	}
16380	reqHeaders.Set("User-Agent", c.s.userAgent())
16381	var body io.Reader = nil
16382	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3agent)
16383	if err != nil {
16384		return nil, err
16385	}
16386	reqHeaders.Set("Content-Type", "application/json")
16387	c.urlParams_.Set("alt", alt)
16388	c.urlParams_.Set("prettyPrint", "false")
16389	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/agents")
16390	urls += "?" + c.urlParams_.Encode()
16391	req, err := http.NewRequest("POST", urls, body)
16392	if err != nil {
16393		return nil, err
16394	}
16395	req.Header = reqHeaders
16396	googleapi.Expand(req.URL, map[string]string{
16397		"parent": c.parent,
16398	})
16399	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16400}
16401
16402// Do executes the "dialogflow.projects.locations.agents.create" call.
16403// Exactly one of *GoogleCloudDialogflowCxV3Agent or error will be
16404// non-nil. Any non-2xx status code is an error. Response headers are in
16405// either *GoogleCloudDialogflowCxV3Agent.ServerResponse.Header or (if a
16406// response was returned at all) in error.(*googleapi.Error).Header. Use
16407// googleapi.IsNotModified to check whether the returned error was
16408// because http.StatusNotModified was returned.
16409func (c *ProjectsLocationsAgentsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3Agent, error) {
16410	gensupport.SetOptions(c.urlParams_, opts...)
16411	res, err := c.doRequest("json")
16412	if res != nil && res.StatusCode == http.StatusNotModified {
16413		if res.Body != nil {
16414			res.Body.Close()
16415		}
16416		return nil, &googleapi.Error{
16417			Code:   res.StatusCode,
16418			Header: res.Header,
16419		}
16420	}
16421	if err != nil {
16422		return nil, err
16423	}
16424	defer googleapi.CloseBody(res)
16425	if err := googleapi.CheckResponse(res); err != nil {
16426		return nil, err
16427	}
16428	ret := &GoogleCloudDialogflowCxV3Agent{
16429		ServerResponse: googleapi.ServerResponse{
16430			Header:         res.Header,
16431			HTTPStatusCode: res.StatusCode,
16432		},
16433	}
16434	target := &ret
16435	if err := gensupport.DecodeResponse(target, res); err != nil {
16436		return nil, err
16437	}
16438	return ret, nil
16439	// {
16440	//   "description": "Creates an agent in the specified location.",
16441	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents",
16442	//   "httpMethod": "POST",
16443	//   "id": "dialogflow.projects.locations.agents.create",
16444	//   "parameterOrder": [
16445	//     "parent"
16446	//   ],
16447	//   "parameters": {
16448	//     "parent": {
16449	//       "description": "Required. The location to create a agent for. Format: `projects//locations/`.",
16450	//       "location": "path",
16451	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
16452	//       "required": true,
16453	//       "type": "string"
16454	//     }
16455	//   },
16456	//   "path": "v3/{+parent}/agents",
16457	//   "request": {
16458	//     "$ref": "GoogleCloudDialogflowCxV3Agent"
16459	//   },
16460	//   "response": {
16461	//     "$ref": "GoogleCloudDialogflowCxV3Agent"
16462	//   },
16463	//   "scopes": [
16464	//     "https://www.googleapis.com/auth/cloud-platform",
16465	//     "https://www.googleapis.com/auth/dialogflow"
16466	//   ]
16467	// }
16468
16469}
16470
16471// method id "dialogflow.projects.locations.agents.delete":
16472
16473type ProjectsLocationsAgentsDeleteCall struct {
16474	s          *Service
16475	name       string
16476	urlParams_ gensupport.URLParams
16477	ctx_       context.Context
16478	header_    http.Header
16479}
16480
16481// Delete: Deletes the specified agent.
16482//
16483// - name: The name of the agent to delete. Format:
16484//   `projects//locations//agents/`.
16485func (r *ProjectsLocationsAgentsService) Delete(name string) *ProjectsLocationsAgentsDeleteCall {
16486	c := &ProjectsLocationsAgentsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16487	c.name = name
16488	return c
16489}
16490
16491// Fields allows partial responses to be retrieved. See
16492// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16493// for more information.
16494func (c *ProjectsLocationsAgentsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsDeleteCall {
16495	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16496	return c
16497}
16498
16499// Context sets the context to be used in this call's Do method. Any
16500// pending HTTP request will be aborted if the provided context is
16501// canceled.
16502func (c *ProjectsLocationsAgentsDeleteCall) Context(ctx context.Context) *ProjectsLocationsAgentsDeleteCall {
16503	c.ctx_ = ctx
16504	return c
16505}
16506
16507// Header returns an http.Header that can be modified by the caller to
16508// add HTTP headers to the request.
16509func (c *ProjectsLocationsAgentsDeleteCall) Header() http.Header {
16510	if c.header_ == nil {
16511		c.header_ = make(http.Header)
16512	}
16513	return c.header_
16514}
16515
16516func (c *ProjectsLocationsAgentsDeleteCall) doRequest(alt string) (*http.Response, error) {
16517	reqHeaders := make(http.Header)
16518	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
16519	for k, v := range c.header_ {
16520		reqHeaders[k] = v
16521	}
16522	reqHeaders.Set("User-Agent", c.s.userAgent())
16523	var body io.Reader = nil
16524	c.urlParams_.Set("alt", alt)
16525	c.urlParams_.Set("prettyPrint", "false")
16526	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
16527	urls += "?" + c.urlParams_.Encode()
16528	req, err := http.NewRequest("DELETE", urls, body)
16529	if err != nil {
16530		return nil, err
16531	}
16532	req.Header = reqHeaders
16533	googleapi.Expand(req.URL, map[string]string{
16534		"name": c.name,
16535	})
16536	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16537}
16538
16539// Do executes the "dialogflow.projects.locations.agents.delete" call.
16540// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
16541// non-2xx status code is an error. Response headers are in either
16542// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
16543// returned at all) in error.(*googleapi.Error).Header. Use
16544// googleapi.IsNotModified to check whether the returned error was
16545// because http.StatusNotModified was returned.
16546func (c *ProjectsLocationsAgentsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
16547	gensupport.SetOptions(c.urlParams_, opts...)
16548	res, err := c.doRequest("json")
16549	if res != nil && res.StatusCode == http.StatusNotModified {
16550		if res.Body != nil {
16551			res.Body.Close()
16552		}
16553		return nil, &googleapi.Error{
16554			Code:   res.StatusCode,
16555			Header: res.Header,
16556		}
16557	}
16558	if err != nil {
16559		return nil, err
16560	}
16561	defer googleapi.CloseBody(res)
16562	if err := googleapi.CheckResponse(res); err != nil {
16563		return nil, err
16564	}
16565	ret := &GoogleProtobufEmpty{
16566		ServerResponse: googleapi.ServerResponse{
16567			Header:         res.Header,
16568			HTTPStatusCode: res.StatusCode,
16569		},
16570	}
16571	target := &ret
16572	if err := gensupport.DecodeResponse(target, res); err != nil {
16573		return nil, err
16574	}
16575	return ret, nil
16576	// {
16577	//   "description": "Deletes the specified agent.",
16578	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}",
16579	//   "httpMethod": "DELETE",
16580	//   "id": "dialogflow.projects.locations.agents.delete",
16581	//   "parameterOrder": [
16582	//     "name"
16583	//   ],
16584	//   "parameters": {
16585	//     "name": {
16586	//       "description": "Required. The name of the agent to delete. Format: `projects//locations//agents/`.",
16587	//       "location": "path",
16588	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$",
16589	//       "required": true,
16590	//       "type": "string"
16591	//     }
16592	//   },
16593	//   "path": "v3/{+name}",
16594	//   "response": {
16595	//     "$ref": "GoogleProtobufEmpty"
16596	//   },
16597	//   "scopes": [
16598	//     "https://www.googleapis.com/auth/cloud-platform",
16599	//     "https://www.googleapis.com/auth/dialogflow"
16600	//   ]
16601	// }
16602
16603}
16604
16605// method id "dialogflow.projects.locations.agents.export":
16606
16607type ProjectsLocationsAgentsExportCall struct {
16608	s                                           *Service
16609	name                                        string
16610	googleclouddialogflowcxv3exportagentrequest *GoogleCloudDialogflowCxV3ExportAgentRequest
16611	urlParams_                                  gensupport.URLParams
16612	ctx_                                        context.Context
16613	header_                                     http.Header
16614}
16615
16616// Export: Exports the specified agent to a binary file.
16617//
16618// - name: The name of the agent to export. Format:
16619//   `projects//locations//agents/`.
16620func (r *ProjectsLocationsAgentsService) Export(name string, googleclouddialogflowcxv3exportagentrequest *GoogleCloudDialogflowCxV3ExportAgentRequest) *ProjectsLocationsAgentsExportCall {
16621	c := &ProjectsLocationsAgentsExportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16622	c.name = name
16623	c.googleclouddialogflowcxv3exportagentrequest = googleclouddialogflowcxv3exportagentrequest
16624	return c
16625}
16626
16627// Fields allows partial responses to be retrieved. See
16628// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16629// for more information.
16630func (c *ProjectsLocationsAgentsExportCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsExportCall {
16631	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16632	return c
16633}
16634
16635// Context sets the context to be used in this call's Do method. Any
16636// pending HTTP request will be aborted if the provided context is
16637// canceled.
16638func (c *ProjectsLocationsAgentsExportCall) Context(ctx context.Context) *ProjectsLocationsAgentsExportCall {
16639	c.ctx_ = ctx
16640	return c
16641}
16642
16643// Header returns an http.Header that can be modified by the caller to
16644// add HTTP headers to the request.
16645func (c *ProjectsLocationsAgentsExportCall) Header() http.Header {
16646	if c.header_ == nil {
16647		c.header_ = make(http.Header)
16648	}
16649	return c.header_
16650}
16651
16652func (c *ProjectsLocationsAgentsExportCall) doRequest(alt string) (*http.Response, error) {
16653	reqHeaders := make(http.Header)
16654	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
16655	for k, v := range c.header_ {
16656		reqHeaders[k] = v
16657	}
16658	reqHeaders.Set("User-Agent", c.s.userAgent())
16659	var body io.Reader = nil
16660	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3exportagentrequest)
16661	if err != nil {
16662		return nil, err
16663	}
16664	reqHeaders.Set("Content-Type", "application/json")
16665	c.urlParams_.Set("alt", alt)
16666	c.urlParams_.Set("prettyPrint", "false")
16667	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}:export")
16668	urls += "?" + c.urlParams_.Encode()
16669	req, err := http.NewRequest("POST", urls, body)
16670	if err != nil {
16671		return nil, err
16672	}
16673	req.Header = reqHeaders
16674	googleapi.Expand(req.URL, map[string]string{
16675		"name": c.name,
16676	})
16677	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16678}
16679
16680// Do executes the "dialogflow.projects.locations.agents.export" call.
16681// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
16682// Any non-2xx status code is an error. Response headers are in either
16683// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
16684// was returned at all) in error.(*googleapi.Error).Header. Use
16685// googleapi.IsNotModified to check whether the returned error was
16686// because http.StatusNotModified was returned.
16687func (c *ProjectsLocationsAgentsExportCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
16688	gensupport.SetOptions(c.urlParams_, opts...)
16689	res, err := c.doRequest("json")
16690	if res != nil && res.StatusCode == http.StatusNotModified {
16691		if res.Body != nil {
16692			res.Body.Close()
16693		}
16694		return nil, &googleapi.Error{
16695			Code:   res.StatusCode,
16696			Header: res.Header,
16697		}
16698	}
16699	if err != nil {
16700		return nil, err
16701	}
16702	defer googleapi.CloseBody(res)
16703	if err := googleapi.CheckResponse(res); err != nil {
16704		return nil, err
16705	}
16706	ret := &GoogleLongrunningOperation{
16707		ServerResponse: googleapi.ServerResponse{
16708			Header:         res.Header,
16709			HTTPStatusCode: res.StatusCode,
16710		},
16711	}
16712	target := &ret
16713	if err := gensupport.DecodeResponse(target, res); err != nil {
16714		return nil, err
16715	}
16716	return ret, nil
16717	// {
16718	//   "description": "Exports the specified agent to a binary file.",
16719	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}:export",
16720	//   "httpMethod": "POST",
16721	//   "id": "dialogflow.projects.locations.agents.export",
16722	//   "parameterOrder": [
16723	//     "name"
16724	//   ],
16725	//   "parameters": {
16726	//     "name": {
16727	//       "description": "Required. The name of the agent to export. Format: `projects//locations//agents/`.",
16728	//       "location": "path",
16729	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$",
16730	//       "required": true,
16731	//       "type": "string"
16732	//     }
16733	//   },
16734	//   "path": "v3/{+name}:export",
16735	//   "request": {
16736	//     "$ref": "GoogleCloudDialogflowCxV3ExportAgentRequest"
16737	//   },
16738	//   "response": {
16739	//     "$ref": "GoogleLongrunningOperation"
16740	//   },
16741	//   "scopes": [
16742	//     "https://www.googleapis.com/auth/cloud-platform",
16743	//     "https://www.googleapis.com/auth/dialogflow"
16744	//   ]
16745	// }
16746
16747}
16748
16749// method id "dialogflow.projects.locations.agents.get":
16750
16751type ProjectsLocationsAgentsGetCall struct {
16752	s            *Service
16753	name         string
16754	urlParams_   gensupport.URLParams
16755	ifNoneMatch_ string
16756	ctx_         context.Context
16757	header_      http.Header
16758}
16759
16760// Get: Retrieves the specified agent.
16761//
16762// - name: The name of the agent. Format:
16763//   `projects//locations//agents/`.
16764func (r *ProjectsLocationsAgentsService) Get(name string) *ProjectsLocationsAgentsGetCall {
16765	c := &ProjectsLocationsAgentsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16766	c.name = name
16767	return c
16768}
16769
16770// Fields allows partial responses to be retrieved. See
16771// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16772// for more information.
16773func (c *ProjectsLocationsAgentsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsGetCall {
16774	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16775	return c
16776}
16777
16778// IfNoneMatch sets the optional parameter which makes the operation
16779// fail if the object's ETag matches the given value. This is useful for
16780// getting updates only after the object has changed since the last
16781// request. Use googleapi.IsNotModified to check whether the response
16782// error from Do is the result of In-None-Match.
16783func (c *ProjectsLocationsAgentsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsGetCall {
16784	c.ifNoneMatch_ = entityTag
16785	return c
16786}
16787
16788// Context sets the context to be used in this call's Do method. Any
16789// pending HTTP request will be aborted if the provided context is
16790// canceled.
16791func (c *ProjectsLocationsAgentsGetCall) Context(ctx context.Context) *ProjectsLocationsAgentsGetCall {
16792	c.ctx_ = ctx
16793	return c
16794}
16795
16796// Header returns an http.Header that can be modified by the caller to
16797// add HTTP headers to the request.
16798func (c *ProjectsLocationsAgentsGetCall) Header() http.Header {
16799	if c.header_ == nil {
16800		c.header_ = make(http.Header)
16801	}
16802	return c.header_
16803}
16804
16805func (c *ProjectsLocationsAgentsGetCall) doRequest(alt string) (*http.Response, error) {
16806	reqHeaders := make(http.Header)
16807	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
16808	for k, v := range c.header_ {
16809		reqHeaders[k] = v
16810	}
16811	reqHeaders.Set("User-Agent", c.s.userAgent())
16812	if c.ifNoneMatch_ != "" {
16813		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
16814	}
16815	var body io.Reader = nil
16816	c.urlParams_.Set("alt", alt)
16817	c.urlParams_.Set("prettyPrint", "false")
16818	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
16819	urls += "?" + c.urlParams_.Encode()
16820	req, err := http.NewRequest("GET", urls, body)
16821	if err != nil {
16822		return nil, err
16823	}
16824	req.Header = reqHeaders
16825	googleapi.Expand(req.URL, map[string]string{
16826		"name": c.name,
16827	})
16828	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16829}
16830
16831// Do executes the "dialogflow.projects.locations.agents.get" call.
16832// Exactly one of *GoogleCloudDialogflowCxV3Agent or error will be
16833// non-nil. Any non-2xx status code is an error. Response headers are in
16834// either *GoogleCloudDialogflowCxV3Agent.ServerResponse.Header or (if a
16835// response was returned at all) in error.(*googleapi.Error).Header. Use
16836// googleapi.IsNotModified to check whether the returned error was
16837// because http.StatusNotModified was returned.
16838func (c *ProjectsLocationsAgentsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3Agent, error) {
16839	gensupport.SetOptions(c.urlParams_, opts...)
16840	res, err := c.doRequest("json")
16841	if res != nil && res.StatusCode == http.StatusNotModified {
16842		if res.Body != nil {
16843			res.Body.Close()
16844		}
16845		return nil, &googleapi.Error{
16846			Code:   res.StatusCode,
16847			Header: res.Header,
16848		}
16849	}
16850	if err != nil {
16851		return nil, err
16852	}
16853	defer googleapi.CloseBody(res)
16854	if err := googleapi.CheckResponse(res); err != nil {
16855		return nil, err
16856	}
16857	ret := &GoogleCloudDialogflowCxV3Agent{
16858		ServerResponse: googleapi.ServerResponse{
16859			Header:         res.Header,
16860			HTTPStatusCode: res.StatusCode,
16861		},
16862	}
16863	target := &ret
16864	if err := gensupport.DecodeResponse(target, res); err != nil {
16865		return nil, err
16866	}
16867	return ret, nil
16868	// {
16869	//   "description": "Retrieves the specified agent.",
16870	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}",
16871	//   "httpMethod": "GET",
16872	//   "id": "dialogflow.projects.locations.agents.get",
16873	//   "parameterOrder": [
16874	//     "name"
16875	//   ],
16876	//   "parameters": {
16877	//     "name": {
16878	//       "description": "Required. The name of the agent. Format: `projects//locations//agents/`.",
16879	//       "location": "path",
16880	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$",
16881	//       "required": true,
16882	//       "type": "string"
16883	//     }
16884	//   },
16885	//   "path": "v3/{+name}",
16886	//   "response": {
16887	//     "$ref": "GoogleCloudDialogflowCxV3Agent"
16888	//   },
16889	//   "scopes": [
16890	//     "https://www.googleapis.com/auth/cloud-platform",
16891	//     "https://www.googleapis.com/auth/dialogflow"
16892	//   ]
16893	// }
16894
16895}
16896
16897// method id "dialogflow.projects.locations.agents.getValidationResult":
16898
16899type ProjectsLocationsAgentsGetValidationResultCall struct {
16900	s            *Service
16901	name         string
16902	urlParams_   gensupport.URLParams
16903	ifNoneMatch_ string
16904	ctx_         context.Context
16905	header_      http.Header
16906}
16907
16908// GetValidationResult: Gets the latest agent validation result. Agent
16909// validation is performed when ValidateAgent is called.
16910//
16911// - name: The agent name. Format:
16912//   `projects//locations//agents//validationResult`.
16913func (r *ProjectsLocationsAgentsService) GetValidationResult(name string) *ProjectsLocationsAgentsGetValidationResultCall {
16914	c := &ProjectsLocationsAgentsGetValidationResultCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16915	c.name = name
16916	return c
16917}
16918
16919// LanguageCode sets the optional parameter "languageCode": If not
16920// specified, the agent's default language is used.
16921func (c *ProjectsLocationsAgentsGetValidationResultCall) LanguageCode(languageCode string) *ProjectsLocationsAgentsGetValidationResultCall {
16922	c.urlParams_.Set("languageCode", languageCode)
16923	return c
16924}
16925
16926// Fields allows partial responses to be retrieved. See
16927// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16928// for more information.
16929func (c *ProjectsLocationsAgentsGetValidationResultCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsGetValidationResultCall {
16930	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16931	return c
16932}
16933
16934// IfNoneMatch sets the optional parameter which makes the operation
16935// fail if the object's ETag matches the given value. This is useful for
16936// getting updates only after the object has changed since the last
16937// request. Use googleapi.IsNotModified to check whether the response
16938// error from Do is the result of In-None-Match.
16939func (c *ProjectsLocationsAgentsGetValidationResultCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsGetValidationResultCall {
16940	c.ifNoneMatch_ = entityTag
16941	return c
16942}
16943
16944// Context sets the context to be used in this call's Do method. Any
16945// pending HTTP request will be aborted if the provided context is
16946// canceled.
16947func (c *ProjectsLocationsAgentsGetValidationResultCall) Context(ctx context.Context) *ProjectsLocationsAgentsGetValidationResultCall {
16948	c.ctx_ = ctx
16949	return c
16950}
16951
16952// Header returns an http.Header that can be modified by the caller to
16953// add HTTP headers to the request.
16954func (c *ProjectsLocationsAgentsGetValidationResultCall) Header() http.Header {
16955	if c.header_ == nil {
16956		c.header_ = make(http.Header)
16957	}
16958	return c.header_
16959}
16960
16961func (c *ProjectsLocationsAgentsGetValidationResultCall) doRequest(alt string) (*http.Response, error) {
16962	reqHeaders := make(http.Header)
16963	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
16964	for k, v := range c.header_ {
16965		reqHeaders[k] = v
16966	}
16967	reqHeaders.Set("User-Agent", c.s.userAgent())
16968	if c.ifNoneMatch_ != "" {
16969		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
16970	}
16971	var body io.Reader = nil
16972	c.urlParams_.Set("alt", alt)
16973	c.urlParams_.Set("prettyPrint", "false")
16974	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
16975	urls += "?" + c.urlParams_.Encode()
16976	req, err := http.NewRequest("GET", urls, body)
16977	if err != nil {
16978		return nil, err
16979	}
16980	req.Header = reqHeaders
16981	googleapi.Expand(req.URL, map[string]string{
16982		"name": c.name,
16983	})
16984	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16985}
16986
16987// Do executes the "dialogflow.projects.locations.agents.getValidationResult" call.
16988// Exactly one of *GoogleCloudDialogflowCxV3AgentValidationResult or
16989// error will be non-nil. Any non-2xx status code is an error. Response
16990// headers are in either
16991// *GoogleCloudDialogflowCxV3AgentValidationResult.ServerResponse.Header
16992// or (if a response was returned at all) in
16993// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
16994// whether the returned error was because http.StatusNotModified was
16995// returned.
16996func (c *ProjectsLocationsAgentsGetValidationResultCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3AgentValidationResult, error) {
16997	gensupport.SetOptions(c.urlParams_, opts...)
16998	res, err := c.doRequest("json")
16999	if res != nil && res.StatusCode == http.StatusNotModified {
17000		if res.Body != nil {
17001			res.Body.Close()
17002		}
17003		return nil, &googleapi.Error{
17004			Code:   res.StatusCode,
17005			Header: res.Header,
17006		}
17007	}
17008	if err != nil {
17009		return nil, err
17010	}
17011	defer googleapi.CloseBody(res)
17012	if err := googleapi.CheckResponse(res); err != nil {
17013		return nil, err
17014	}
17015	ret := &GoogleCloudDialogflowCxV3AgentValidationResult{
17016		ServerResponse: googleapi.ServerResponse{
17017			Header:         res.Header,
17018			HTTPStatusCode: res.StatusCode,
17019		},
17020	}
17021	target := &ret
17022	if err := gensupport.DecodeResponse(target, res); err != nil {
17023		return nil, err
17024	}
17025	return ret, nil
17026	// {
17027	//   "description": "Gets the latest agent validation result. Agent validation is performed when ValidateAgent is called.",
17028	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/validationResult",
17029	//   "httpMethod": "GET",
17030	//   "id": "dialogflow.projects.locations.agents.getValidationResult",
17031	//   "parameterOrder": [
17032	//     "name"
17033	//   ],
17034	//   "parameters": {
17035	//     "languageCode": {
17036	//       "description": "If not specified, the agent's default language is used.",
17037	//       "location": "query",
17038	//       "type": "string"
17039	//     },
17040	//     "name": {
17041	//       "description": "Required. The agent name. Format: `projects//locations//agents//validationResult`.",
17042	//       "location": "path",
17043	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/validationResult$",
17044	//       "required": true,
17045	//       "type": "string"
17046	//     }
17047	//   },
17048	//   "path": "v3/{+name}",
17049	//   "response": {
17050	//     "$ref": "GoogleCloudDialogflowCxV3AgentValidationResult"
17051	//   },
17052	//   "scopes": [
17053	//     "https://www.googleapis.com/auth/cloud-platform",
17054	//     "https://www.googleapis.com/auth/dialogflow"
17055	//   ]
17056	// }
17057
17058}
17059
17060// method id "dialogflow.projects.locations.agents.list":
17061
17062type ProjectsLocationsAgentsListCall struct {
17063	s            *Service
17064	parent       string
17065	urlParams_   gensupport.URLParams
17066	ifNoneMatch_ string
17067	ctx_         context.Context
17068	header_      http.Header
17069}
17070
17071// List: Returns the list of all agents in the specified location.
17072//
17073// - parent: The location to list all agents for. Format:
17074//   `projects//locations/`.
17075func (r *ProjectsLocationsAgentsService) List(parent string) *ProjectsLocationsAgentsListCall {
17076	c := &ProjectsLocationsAgentsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17077	c.parent = parent
17078	return c
17079}
17080
17081// PageSize sets the optional parameter "pageSize": The maximum number
17082// of items to return in a single page. By default 100 and at most 1000.
17083func (c *ProjectsLocationsAgentsListCall) PageSize(pageSize int64) *ProjectsLocationsAgentsListCall {
17084	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
17085	return c
17086}
17087
17088// PageToken sets the optional parameter "pageToken": The
17089// next_page_token value returned from a previous list request.
17090func (c *ProjectsLocationsAgentsListCall) PageToken(pageToken string) *ProjectsLocationsAgentsListCall {
17091	c.urlParams_.Set("pageToken", pageToken)
17092	return c
17093}
17094
17095// Fields allows partial responses to be retrieved. See
17096// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17097// for more information.
17098func (c *ProjectsLocationsAgentsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsListCall {
17099	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17100	return c
17101}
17102
17103// IfNoneMatch sets the optional parameter which makes the operation
17104// fail if the object's ETag matches the given value. This is useful for
17105// getting updates only after the object has changed since the last
17106// request. Use googleapi.IsNotModified to check whether the response
17107// error from Do is the result of In-None-Match.
17108func (c *ProjectsLocationsAgentsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsListCall {
17109	c.ifNoneMatch_ = entityTag
17110	return c
17111}
17112
17113// Context sets the context to be used in this call's Do method. Any
17114// pending HTTP request will be aborted if the provided context is
17115// canceled.
17116func (c *ProjectsLocationsAgentsListCall) Context(ctx context.Context) *ProjectsLocationsAgentsListCall {
17117	c.ctx_ = ctx
17118	return c
17119}
17120
17121// Header returns an http.Header that can be modified by the caller to
17122// add HTTP headers to the request.
17123func (c *ProjectsLocationsAgentsListCall) Header() http.Header {
17124	if c.header_ == nil {
17125		c.header_ = make(http.Header)
17126	}
17127	return c.header_
17128}
17129
17130func (c *ProjectsLocationsAgentsListCall) doRequest(alt string) (*http.Response, error) {
17131	reqHeaders := make(http.Header)
17132	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
17133	for k, v := range c.header_ {
17134		reqHeaders[k] = v
17135	}
17136	reqHeaders.Set("User-Agent", c.s.userAgent())
17137	if c.ifNoneMatch_ != "" {
17138		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
17139	}
17140	var body io.Reader = nil
17141	c.urlParams_.Set("alt", alt)
17142	c.urlParams_.Set("prettyPrint", "false")
17143	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/agents")
17144	urls += "?" + c.urlParams_.Encode()
17145	req, err := http.NewRequest("GET", urls, body)
17146	if err != nil {
17147		return nil, err
17148	}
17149	req.Header = reqHeaders
17150	googleapi.Expand(req.URL, map[string]string{
17151		"parent": c.parent,
17152	})
17153	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17154}
17155
17156// Do executes the "dialogflow.projects.locations.agents.list" call.
17157// Exactly one of *GoogleCloudDialogflowCxV3ListAgentsResponse or error
17158// will be non-nil. Any non-2xx status code is an error. Response
17159// headers are in either
17160// *GoogleCloudDialogflowCxV3ListAgentsResponse.ServerResponse.Header or
17161// (if a response was returned at all) in
17162// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
17163// whether the returned error was because http.StatusNotModified was
17164// returned.
17165func (c *ProjectsLocationsAgentsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3ListAgentsResponse, error) {
17166	gensupport.SetOptions(c.urlParams_, opts...)
17167	res, err := c.doRequest("json")
17168	if res != nil && res.StatusCode == http.StatusNotModified {
17169		if res.Body != nil {
17170			res.Body.Close()
17171		}
17172		return nil, &googleapi.Error{
17173			Code:   res.StatusCode,
17174			Header: res.Header,
17175		}
17176	}
17177	if err != nil {
17178		return nil, err
17179	}
17180	defer googleapi.CloseBody(res)
17181	if err := googleapi.CheckResponse(res); err != nil {
17182		return nil, err
17183	}
17184	ret := &GoogleCloudDialogflowCxV3ListAgentsResponse{
17185		ServerResponse: googleapi.ServerResponse{
17186			Header:         res.Header,
17187			HTTPStatusCode: res.StatusCode,
17188		},
17189	}
17190	target := &ret
17191	if err := gensupport.DecodeResponse(target, res); err != nil {
17192		return nil, err
17193	}
17194	return ret, nil
17195	// {
17196	//   "description": "Returns the list of all agents in the specified location.",
17197	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents",
17198	//   "httpMethod": "GET",
17199	//   "id": "dialogflow.projects.locations.agents.list",
17200	//   "parameterOrder": [
17201	//     "parent"
17202	//   ],
17203	//   "parameters": {
17204	//     "pageSize": {
17205	//       "description": "The maximum number of items to return in a single page. By default 100 and at most 1000.",
17206	//       "format": "int32",
17207	//       "location": "query",
17208	//       "type": "integer"
17209	//     },
17210	//     "pageToken": {
17211	//       "description": "The next_page_token value returned from a previous list request.",
17212	//       "location": "query",
17213	//       "type": "string"
17214	//     },
17215	//     "parent": {
17216	//       "description": "Required. The location to list all agents for. Format: `projects//locations/`.",
17217	//       "location": "path",
17218	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
17219	//       "required": true,
17220	//       "type": "string"
17221	//     }
17222	//   },
17223	//   "path": "v3/{+parent}/agents",
17224	//   "response": {
17225	//     "$ref": "GoogleCloudDialogflowCxV3ListAgentsResponse"
17226	//   },
17227	//   "scopes": [
17228	//     "https://www.googleapis.com/auth/cloud-platform",
17229	//     "https://www.googleapis.com/auth/dialogflow"
17230	//   ]
17231	// }
17232
17233}
17234
17235// Pages invokes f for each page of results.
17236// A non-nil error returned from f will halt the iteration.
17237// The provided context supersedes any context provided to the Context method.
17238func (c *ProjectsLocationsAgentsListCall) Pages(ctx context.Context, f func(*GoogleCloudDialogflowCxV3ListAgentsResponse) error) error {
17239	c.ctx_ = ctx
17240	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
17241	for {
17242		x, err := c.Do()
17243		if err != nil {
17244			return err
17245		}
17246		if err := f(x); err != nil {
17247			return err
17248		}
17249		if x.NextPageToken == "" {
17250			return nil
17251		}
17252		c.PageToken(x.NextPageToken)
17253	}
17254}
17255
17256// method id "dialogflow.projects.locations.agents.patch":
17257
17258type ProjectsLocationsAgentsPatchCall struct {
17259	s                              *Service
17260	nameid                         string
17261	googleclouddialogflowcxv3agent *GoogleCloudDialogflowCxV3Agent
17262	urlParams_                     gensupport.URLParams
17263	ctx_                           context.Context
17264	header_                        http.Header
17265}
17266
17267// Patch: Updates the specified agent.
17268//
17269// - name: The unique identifier of the agent. Required for the
17270//   Agents.UpdateAgent method. Agents.CreateAgent populates the name
17271//   automatically. Format: `projects//locations//agents/`.
17272func (r *ProjectsLocationsAgentsService) Patch(nameid string, googleclouddialogflowcxv3agent *GoogleCloudDialogflowCxV3Agent) *ProjectsLocationsAgentsPatchCall {
17273	c := &ProjectsLocationsAgentsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17274	c.nameid = nameid
17275	c.googleclouddialogflowcxv3agent = googleclouddialogflowcxv3agent
17276	return c
17277}
17278
17279// UpdateMask sets the optional parameter "updateMask": The mask to
17280// control which fields get updated. If the mask is not present, all
17281// fields will be updated.
17282func (c *ProjectsLocationsAgentsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsAgentsPatchCall {
17283	c.urlParams_.Set("updateMask", updateMask)
17284	return c
17285}
17286
17287// Fields allows partial responses to be retrieved. See
17288// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17289// for more information.
17290func (c *ProjectsLocationsAgentsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsPatchCall {
17291	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17292	return c
17293}
17294
17295// Context sets the context to be used in this call's Do method. Any
17296// pending HTTP request will be aborted if the provided context is
17297// canceled.
17298func (c *ProjectsLocationsAgentsPatchCall) Context(ctx context.Context) *ProjectsLocationsAgentsPatchCall {
17299	c.ctx_ = ctx
17300	return c
17301}
17302
17303// Header returns an http.Header that can be modified by the caller to
17304// add HTTP headers to the request.
17305func (c *ProjectsLocationsAgentsPatchCall) Header() http.Header {
17306	if c.header_ == nil {
17307		c.header_ = make(http.Header)
17308	}
17309	return c.header_
17310}
17311
17312func (c *ProjectsLocationsAgentsPatchCall) doRequest(alt string) (*http.Response, error) {
17313	reqHeaders := make(http.Header)
17314	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
17315	for k, v := range c.header_ {
17316		reqHeaders[k] = v
17317	}
17318	reqHeaders.Set("User-Agent", c.s.userAgent())
17319	var body io.Reader = nil
17320	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3agent)
17321	if err != nil {
17322		return nil, err
17323	}
17324	reqHeaders.Set("Content-Type", "application/json")
17325	c.urlParams_.Set("alt", alt)
17326	c.urlParams_.Set("prettyPrint", "false")
17327	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
17328	urls += "?" + c.urlParams_.Encode()
17329	req, err := http.NewRequest("PATCH", urls, body)
17330	if err != nil {
17331		return nil, err
17332	}
17333	req.Header = reqHeaders
17334	googleapi.Expand(req.URL, map[string]string{
17335		"name": c.nameid,
17336	})
17337	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17338}
17339
17340// Do executes the "dialogflow.projects.locations.agents.patch" call.
17341// Exactly one of *GoogleCloudDialogflowCxV3Agent or error will be
17342// non-nil. Any non-2xx status code is an error. Response headers are in
17343// either *GoogleCloudDialogflowCxV3Agent.ServerResponse.Header or (if a
17344// response was returned at all) in error.(*googleapi.Error).Header. Use
17345// googleapi.IsNotModified to check whether the returned error was
17346// because http.StatusNotModified was returned.
17347func (c *ProjectsLocationsAgentsPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3Agent, error) {
17348	gensupport.SetOptions(c.urlParams_, opts...)
17349	res, err := c.doRequest("json")
17350	if res != nil && res.StatusCode == http.StatusNotModified {
17351		if res.Body != nil {
17352			res.Body.Close()
17353		}
17354		return nil, &googleapi.Error{
17355			Code:   res.StatusCode,
17356			Header: res.Header,
17357		}
17358	}
17359	if err != nil {
17360		return nil, err
17361	}
17362	defer googleapi.CloseBody(res)
17363	if err := googleapi.CheckResponse(res); err != nil {
17364		return nil, err
17365	}
17366	ret := &GoogleCloudDialogflowCxV3Agent{
17367		ServerResponse: googleapi.ServerResponse{
17368			Header:         res.Header,
17369			HTTPStatusCode: res.StatusCode,
17370		},
17371	}
17372	target := &ret
17373	if err := gensupport.DecodeResponse(target, res); err != nil {
17374		return nil, err
17375	}
17376	return ret, nil
17377	// {
17378	//   "description": "Updates the specified agent.",
17379	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}",
17380	//   "httpMethod": "PATCH",
17381	//   "id": "dialogflow.projects.locations.agents.patch",
17382	//   "parameterOrder": [
17383	//     "name"
17384	//   ],
17385	//   "parameters": {
17386	//     "name": {
17387	//       "description": "The unique identifier of the agent. Required for the Agents.UpdateAgent method. Agents.CreateAgent populates the name automatically. Format: `projects//locations//agents/`.",
17388	//       "location": "path",
17389	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$",
17390	//       "required": true,
17391	//       "type": "string"
17392	//     },
17393	//     "updateMask": {
17394	//       "description": "The mask to control which fields get updated. If the mask is not present, all fields will be updated.",
17395	//       "format": "google-fieldmask",
17396	//       "location": "query",
17397	//       "type": "string"
17398	//     }
17399	//   },
17400	//   "path": "v3/{+name}",
17401	//   "request": {
17402	//     "$ref": "GoogleCloudDialogflowCxV3Agent"
17403	//   },
17404	//   "response": {
17405	//     "$ref": "GoogleCloudDialogflowCxV3Agent"
17406	//   },
17407	//   "scopes": [
17408	//     "https://www.googleapis.com/auth/cloud-platform",
17409	//     "https://www.googleapis.com/auth/dialogflow"
17410	//   ]
17411	// }
17412
17413}
17414
17415// method id "dialogflow.projects.locations.agents.restore":
17416
17417type ProjectsLocationsAgentsRestoreCall struct {
17418	s                                            *Service
17419	name                                         string
17420	googleclouddialogflowcxv3restoreagentrequest *GoogleCloudDialogflowCxV3RestoreAgentRequest
17421	urlParams_                                   gensupport.URLParams
17422	ctx_                                         context.Context
17423	header_                                      http.Header
17424}
17425
17426// Restore: Restores the specified agent from a binary file. Replaces
17427// the current agent with a new one. Note that all existing resources in
17428// agent (e.g. intents, entity types, flows) will be removed.
17429//
17430// - name: The name of the agent to restore into. Format:
17431//   `projects//locations//agents/`.
17432func (r *ProjectsLocationsAgentsService) Restore(name string, googleclouddialogflowcxv3restoreagentrequest *GoogleCloudDialogflowCxV3RestoreAgentRequest) *ProjectsLocationsAgentsRestoreCall {
17433	c := &ProjectsLocationsAgentsRestoreCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17434	c.name = name
17435	c.googleclouddialogflowcxv3restoreagentrequest = googleclouddialogflowcxv3restoreagentrequest
17436	return c
17437}
17438
17439// Fields allows partial responses to be retrieved. See
17440// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17441// for more information.
17442func (c *ProjectsLocationsAgentsRestoreCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsRestoreCall {
17443	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17444	return c
17445}
17446
17447// Context sets the context to be used in this call's Do method. Any
17448// pending HTTP request will be aborted if the provided context is
17449// canceled.
17450func (c *ProjectsLocationsAgentsRestoreCall) Context(ctx context.Context) *ProjectsLocationsAgentsRestoreCall {
17451	c.ctx_ = ctx
17452	return c
17453}
17454
17455// Header returns an http.Header that can be modified by the caller to
17456// add HTTP headers to the request.
17457func (c *ProjectsLocationsAgentsRestoreCall) Header() http.Header {
17458	if c.header_ == nil {
17459		c.header_ = make(http.Header)
17460	}
17461	return c.header_
17462}
17463
17464func (c *ProjectsLocationsAgentsRestoreCall) doRequest(alt string) (*http.Response, error) {
17465	reqHeaders := make(http.Header)
17466	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
17467	for k, v := range c.header_ {
17468		reqHeaders[k] = v
17469	}
17470	reqHeaders.Set("User-Agent", c.s.userAgent())
17471	var body io.Reader = nil
17472	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3restoreagentrequest)
17473	if err != nil {
17474		return nil, err
17475	}
17476	reqHeaders.Set("Content-Type", "application/json")
17477	c.urlParams_.Set("alt", alt)
17478	c.urlParams_.Set("prettyPrint", "false")
17479	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}:restore")
17480	urls += "?" + c.urlParams_.Encode()
17481	req, err := http.NewRequest("POST", urls, body)
17482	if err != nil {
17483		return nil, err
17484	}
17485	req.Header = reqHeaders
17486	googleapi.Expand(req.URL, map[string]string{
17487		"name": c.name,
17488	})
17489	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17490}
17491
17492// Do executes the "dialogflow.projects.locations.agents.restore" call.
17493// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
17494// Any non-2xx status code is an error. Response headers are in either
17495// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
17496// was returned at all) in error.(*googleapi.Error).Header. Use
17497// googleapi.IsNotModified to check whether the returned error was
17498// because http.StatusNotModified was returned.
17499func (c *ProjectsLocationsAgentsRestoreCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
17500	gensupport.SetOptions(c.urlParams_, opts...)
17501	res, err := c.doRequest("json")
17502	if res != nil && res.StatusCode == http.StatusNotModified {
17503		if res.Body != nil {
17504			res.Body.Close()
17505		}
17506		return nil, &googleapi.Error{
17507			Code:   res.StatusCode,
17508			Header: res.Header,
17509		}
17510	}
17511	if err != nil {
17512		return nil, err
17513	}
17514	defer googleapi.CloseBody(res)
17515	if err := googleapi.CheckResponse(res); err != nil {
17516		return nil, err
17517	}
17518	ret := &GoogleLongrunningOperation{
17519		ServerResponse: googleapi.ServerResponse{
17520			Header:         res.Header,
17521			HTTPStatusCode: res.StatusCode,
17522		},
17523	}
17524	target := &ret
17525	if err := gensupport.DecodeResponse(target, res); err != nil {
17526		return nil, err
17527	}
17528	return ret, nil
17529	// {
17530	//   "description": "Restores the specified agent from a binary file. Replaces the current agent with a new one. Note that all existing resources in agent (e.g. intents, entity types, flows) will be removed.",
17531	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}:restore",
17532	//   "httpMethod": "POST",
17533	//   "id": "dialogflow.projects.locations.agents.restore",
17534	//   "parameterOrder": [
17535	//     "name"
17536	//   ],
17537	//   "parameters": {
17538	//     "name": {
17539	//       "description": "Required. The name of the agent to restore into. Format: `projects//locations//agents/`.",
17540	//       "location": "path",
17541	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$",
17542	//       "required": true,
17543	//       "type": "string"
17544	//     }
17545	//   },
17546	//   "path": "v3/{+name}:restore",
17547	//   "request": {
17548	//     "$ref": "GoogleCloudDialogflowCxV3RestoreAgentRequest"
17549	//   },
17550	//   "response": {
17551	//     "$ref": "GoogleLongrunningOperation"
17552	//   },
17553	//   "scopes": [
17554	//     "https://www.googleapis.com/auth/cloud-platform",
17555	//     "https://www.googleapis.com/auth/dialogflow"
17556	//   ]
17557	// }
17558
17559}
17560
17561// method id "dialogflow.projects.locations.agents.validate":
17562
17563type ProjectsLocationsAgentsValidateCall struct {
17564	s                                             *Service
17565	name                                          string
17566	googleclouddialogflowcxv3validateagentrequest *GoogleCloudDialogflowCxV3ValidateAgentRequest
17567	urlParams_                                    gensupport.URLParams
17568	ctx_                                          context.Context
17569	header_                                       http.Header
17570}
17571
17572// Validate: Validates the specified agent and creates or updates
17573// validation results. The agent in draft version is validated. Please
17574// call this API after the training is completed to get the complete
17575// validation results.
17576//
17577// - name: The agent to validate. Format:
17578//   `projects//locations//agents/`.
17579func (r *ProjectsLocationsAgentsService) Validate(name string, googleclouddialogflowcxv3validateagentrequest *GoogleCloudDialogflowCxV3ValidateAgentRequest) *ProjectsLocationsAgentsValidateCall {
17580	c := &ProjectsLocationsAgentsValidateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17581	c.name = name
17582	c.googleclouddialogflowcxv3validateagentrequest = googleclouddialogflowcxv3validateagentrequest
17583	return c
17584}
17585
17586// Fields allows partial responses to be retrieved. See
17587// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17588// for more information.
17589func (c *ProjectsLocationsAgentsValidateCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsValidateCall {
17590	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17591	return c
17592}
17593
17594// Context sets the context to be used in this call's Do method. Any
17595// pending HTTP request will be aborted if the provided context is
17596// canceled.
17597func (c *ProjectsLocationsAgentsValidateCall) Context(ctx context.Context) *ProjectsLocationsAgentsValidateCall {
17598	c.ctx_ = ctx
17599	return c
17600}
17601
17602// Header returns an http.Header that can be modified by the caller to
17603// add HTTP headers to the request.
17604func (c *ProjectsLocationsAgentsValidateCall) Header() http.Header {
17605	if c.header_ == nil {
17606		c.header_ = make(http.Header)
17607	}
17608	return c.header_
17609}
17610
17611func (c *ProjectsLocationsAgentsValidateCall) doRequest(alt string) (*http.Response, error) {
17612	reqHeaders := make(http.Header)
17613	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
17614	for k, v := range c.header_ {
17615		reqHeaders[k] = v
17616	}
17617	reqHeaders.Set("User-Agent", c.s.userAgent())
17618	var body io.Reader = nil
17619	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3validateagentrequest)
17620	if err != nil {
17621		return nil, err
17622	}
17623	reqHeaders.Set("Content-Type", "application/json")
17624	c.urlParams_.Set("alt", alt)
17625	c.urlParams_.Set("prettyPrint", "false")
17626	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}:validate")
17627	urls += "?" + c.urlParams_.Encode()
17628	req, err := http.NewRequest("POST", urls, body)
17629	if err != nil {
17630		return nil, err
17631	}
17632	req.Header = reqHeaders
17633	googleapi.Expand(req.URL, map[string]string{
17634		"name": c.name,
17635	})
17636	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17637}
17638
17639// Do executes the "dialogflow.projects.locations.agents.validate" call.
17640// Exactly one of *GoogleCloudDialogflowCxV3AgentValidationResult or
17641// error will be non-nil. Any non-2xx status code is an error. Response
17642// headers are in either
17643// *GoogleCloudDialogflowCxV3AgentValidationResult.ServerResponse.Header
17644// or (if a response was returned at all) in
17645// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
17646// whether the returned error was because http.StatusNotModified was
17647// returned.
17648func (c *ProjectsLocationsAgentsValidateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3AgentValidationResult, error) {
17649	gensupport.SetOptions(c.urlParams_, opts...)
17650	res, err := c.doRequest("json")
17651	if res != nil && res.StatusCode == http.StatusNotModified {
17652		if res.Body != nil {
17653			res.Body.Close()
17654		}
17655		return nil, &googleapi.Error{
17656			Code:   res.StatusCode,
17657			Header: res.Header,
17658		}
17659	}
17660	if err != nil {
17661		return nil, err
17662	}
17663	defer googleapi.CloseBody(res)
17664	if err := googleapi.CheckResponse(res); err != nil {
17665		return nil, err
17666	}
17667	ret := &GoogleCloudDialogflowCxV3AgentValidationResult{
17668		ServerResponse: googleapi.ServerResponse{
17669			Header:         res.Header,
17670			HTTPStatusCode: res.StatusCode,
17671		},
17672	}
17673	target := &ret
17674	if err := gensupport.DecodeResponse(target, res); err != nil {
17675		return nil, err
17676	}
17677	return ret, nil
17678	// {
17679	//   "description": "Validates the specified agent and creates or updates validation results. The agent in draft version is validated. Please call this API after the training is completed to get the complete validation results.",
17680	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}:validate",
17681	//   "httpMethod": "POST",
17682	//   "id": "dialogflow.projects.locations.agents.validate",
17683	//   "parameterOrder": [
17684	//     "name"
17685	//   ],
17686	//   "parameters": {
17687	//     "name": {
17688	//       "description": "Required. The agent to validate. Format: `projects//locations//agents/`.",
17689	//       "location": "path",
17690	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$",
17691	//       "required": true,
17692	//       "type": "string"
17693	//     }
17694	//   },
17695	//   "path": "v3/{+name}:validate",
17696	//   "request": {
17697	//     "$ref": "GoogleCloudDialogflowCxV3ValidateAgentRequest"
17698	//   },
17699	//   "response": {
17700	//     "$ref": "GoogleCloudDialogflowCxV3AgentValidationResult"
17701	//   },
17702	//   "scopes": [
17703	//     "https://www.googleapis.com/auth/cloud-platform",
17704	//     "https://www.googleapis.com/auth/dialogflow"
17705	//   ]
17706	// }
17707
17708}
17709
17710// method id "dialogflow.projects.locations.agents.entityTypes.create":
17711
17712type ProjectsLocationsAgentsEntityTypesCreateCall struct {
17713	s                                   *Service
17714	parent                              string
17715	googleclouddialogflowcxv3entitytype *GoogleCloudDialogflowCxV3EntityType
17716	urlParams_                          gensupport.URLParams
17717	ctx_                                context.Context
17718	header_                             http.Header
17719}
17720
17721// Create: Creates an entity type in the specified agent.
17722//
17723// - parent: The agent to create a entity type for. Format:
17724//   `projects//locations//agents/`.
17725func (r *ProjectsLocationsAgentsEntityTypesService) Create(parent string, googleclouddialogflowcxv3entitytype *GoogleCloudDialogflowCxV3EntityType) *ProjectsLocationsAgentsEntityTypesCreateCall {
17726	c := &ProjectsLocationsAgentsEntityTypesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17727	c.parent = parent
17728	c.googleclouddialogflowcxv3entitytype = googleclouddialogflowcxv3entitytype
17729	return c
17730}
17731
17732// LanguageCode sets the optional parameter "languageCode": The language
17733// of the following fields in `entity_type`: *
17734// `EntityType.entities.value` * `EntityType.entities.synonyms` *
17735// `EntityType.excluded_phrases.value` If not specified, the agent's
17736// default language is used. Many languages
17737// (https://cloud.google.com/dialogflow/cx/docs/reference/language) are
17738// supported. Note: languages must be enabled in the agent before they
17739// can be used.
17740func (c *ProjectsLocationsAgentsEntityTypesCreateCall) LanguageCode(languageCode string) *ProjectsLocationsAgentsEntityTypesCreateCall {
17741	c.urlParams_.Set("languageCode", languageCode)
17742	return c
17743}
17744
17745// Fields allows partial responses to be retrieved. See
17746// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17747// for more information.
17748func (c *ProjectsLocationsAgentsEntityTypesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsEntityTypesCreateCall {
17749	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17750	return c
17751}
17752
17753// Context sets the context to be used in this call's Do method. Any
17754// pending HTTP request will be aborted if the provided context is
17755// canceled.
17756func (c *ProjectsLocationsAgentsEntityTypesCreateCall) Context(ctx context.Context) *ProjectsLocationsAgentsEntityTypesCreateCall {
17757	c.ctx_ = ctx
17758	return c
17759}
17760
17761// Header returns an http.Header that can be modified by the caller to
17762// add HTTP headers to the request.
17763func (c *ProjectsLocationsAgentsEntityTypesCreateCall) Header() http.Header {
17764	if c.header_ == nil {
17765		c.header_ = make(http.Header)
17766	}
17767	return c.header_
17768}
17769
17770func (c *ProjectsLocationsAgentsEntityTypesCreateCall) doRequest(alt string) (*http.Response, error) {
17771	reqHeaders := make(http.Header)
17772	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
17773	for k, v := range c.header_ {
17774		reqHeaders[k] = v
17775	}
17776	reqHeaders.Set("User-Agent", c.s.userAgent())
17777	var body io.Reader = nil
17778	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3entitytype)
17779	if err != nil {
17780		return nil, err
17781	}
17782	reqHeaders.Set("Content-Type", "application/json")
17783	c.urlParams_.Set("alt", alt)
17784	c.urlParams_.Set("prettyPrint", "false")
17785	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/entityTypes")
17786	urls += "?" + c.urlParams_.Encode()
17787	req, err := http.NewRequest("POST", urls, body)
17788	if err != nil {
17789		return nil, err
17790	}
17791	req.Header = reqHeaders
17792	googleapi.Expand(req.URL, map[string]string{
17793		"parent": c.parent,
17794	})
17795	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17796}
17797
17798// Do executes the "dialogflow.projects.locations.agents.entityTypes.create" call.
17799// Exactly one of *GoogleCloudDialogflowCxV3EntityType or error will be
17800// non-nil. Any non-2xx status code is an error. Response headers are in
17801// either *GoogleCloudDialogflowCxV3EntityType.ServerResponse.Header or
17802// (if a response was returned at all) in
17803// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
17804// whether the returned error was because http.StatusNotModified was
17805// returned.
17806func (c *ProjectsLocationsAgentsEntityTypesCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3EntityType, error) {
17807	gensupport.SetOptions(c.urlParams_, opts...)
17808	res, err := c.doRequest("json")
17809	if res != nil && res.StatusCode == http.StatusNotModified {
17810		if res.Body != nil {
17811			res.Body.Close()
17812		}
17813		return nil, &googleapi.Error{
17814			Code:   res.StatusCode,
17815			Header: res.Header,
17816		}
17817	}
17818	if err != nil {
17819		return nil, err
17820	}
17821	defer googleapi.CloseBody(res)
17822	if err := googleapi.CheckResponse(res); err != nil {
17823		return nil, err
17824	}
17825	ret := &GoogleCloudDialogflowCxV3EntityType{
17826		ServerResponse: googleapi.ServerResponse{
17827			Header:         res.Header,
17828			HTTPStatusCode: res.StatusCode,
17829		},
17830	}
17831	target := &ret
17832	if err := gensupport.DecodeResponse(target, res); err != nil {
17833		return nil, err
17834	}
17835	return ret, nil
17836	// {
17837	//   "description": "Creates an entity type in the specified agent.",
17838	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/entityTypes",
17839	//   "httpMethod": "POST",
17840	//   "id": "dialogflow.projects.locations.agents.entityTypes.create",
17841	//   "parameterOrder": [
17842	//     "parent"
17843	//   ],
17844	//   "parameters": {
17845	//     "languageCode": {
17846	//       "description": "The language of the following fields in `entity_type`: * `EntityType.entities.value` * `EntityType.entities.synonyms` * `EntityType.excluded_phrases.value` If not specified, the agent's default language is used. [Many languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) are supported. Note: languages must be enabled in the agent before they can be used.",
17847	//       "location": "query",
17848	//       "type": "string"
17849	//     },
17850	//     "parent": {
17851	//       "description": "Required. The agent to create a entity type for. Format: `projects//locations//agents/`.",
17852	//       "location": "path",
17853	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$",
17854	//       "required": true,
17855	//       "type": "string"
17856	//     }
17857	//   },
17858	//   "path": "v3/{+parent}/entityTypes",
17859	//   "request": {
17860	//     "$ref": "GoogleCloudDialogflowCxV3EntityType"
17861	//   },
17862	//   "response": {
17863	//     "$ref": "GoogleCloudDialogflowCxV3EntityType"
17864	//   },
17865	//   "scopes": [
17866	//     "https://www.googleapis.com/auth/cloud-platform",
17867	//     "https://www.googleapis.com/auth/dialogflow"
17868	//   ]
17869	// }
17870
17871}
17872
17873// method id "dialogflow.projects.locations.agents.entityTypes.delete":
17874
17875type ProjectsLocationsAgentsEntityTypesDeleteCall struct {
17876	s          *Service
17877	name       string
17878	urlParams_ gensupport.URLParams
17879	ctx_       context.Context
17880	header_    http.Header
17881}
17882
17883// Delete: Deletes the specified entity type.
17884//
17885// - name: The name of the entity type to delete. Format:
17886//   `projects//locations//agents//entityTypes/`.
17887func (r *ProjectsLocationsAgentsEntityTypesService) Delete(name string) *ProjectsLocationsAgentsEntityTypesDeleteCall {
17888	c := &ProjectsLocationsAgentsEntityTypesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17889	c.name = name
17890	return c
17891}
17892
17893// Force sets the optional parameter "force": This field has no effect
17894// for entity type not being used. For entity types that are used by
17895// intents or pages: * If `force` is set to false, an error will be
17896// returned with message indicating the referencing resources. * If
17897// `force` is set to true, Dialogflow will remove the entity type, as
17898// well as any references to the entity type (i.e. Page parameter of the
17899// entity type will be changed to '@sys.any' and intent parameter of the
17900// entity type will be removed).
17901func (c *ProjectsLocationsAgentsEntityTypesDeleteCall) Force(force bool) *ProjectsLocationsAgentsEntityTypesDeleteCall {
17902	c.urlParams_.Set("force", fmt.Sprint(force))
17903	return c
17904}
17905
17906// Fields allows partial responses to be retrieved. See
17907// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17908// for more information.
17909func (c *ProjectsLocationsAgentsEntityTypesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsEntityTypesDeleteCall {
17910	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17911	return c
17912}
17913
17914// Context sets the context to be used in this call's Do method. Any
17915// pending HTTP request will be aborted if the provided context is
17916// canceled.
17917func (c *ProjectsLocationsAgentsEntityTypesDeleteCall) Context(ctx context.Context) *ProjectsLocationsAgentsEntityTypesDeleteCall {
17918	c.ctx_ = ctx
17919	return c
17920}
17921
17922// Header returns an http.Header that can be modified by the caller to
17923// add HTTP headers to the request.
17924func (c *ProjectsLocationsAgentsEntityTypesDeleteCall) Header() http.Header {
17925	if c.header_ == nil {
17926		c.header_ = make(http.Header)
17927	}
17928	return c.header_
17929}
17930
17931func (c *ProjectsLocationsAgentsEntityTypesDeleteCall) doRequest(alt string) (*http.Response, error) {
17932	reqHeaders := make(http.Header)
17933	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
17934	for k, v := range c.header_ {
17935		reqHeaders[k] = v
17936	}
17937	reqHeaders.Set("User-Agent", c.s.userAgent())
17938	var body io.Reader = nil
17939	c.urlParams_.Set("alt", alt)
17940	c.urlParams_.Set("prettyPrint", "false")
17941	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
17942	urls += "?" + c.urlParams_.Encode()
17943	req, err := http.NewRequest("DELETE", urls, body)
17944	if err != nil {
17945		return nil, err
17946	}
17947	req.Header = reqHeaders
17948	googleapi.Expand(req.URL, map[string]string{
17949		"name": c.name,
17950	})
17951	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17952}
17953
17954// Do executes the "dialogflow.projects.locations.agents.entityTypes.delete" call.
17955// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
17956// non-2xx status code is an error. Response headers are in either
17957// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
17958// returned at all) in error.(*googleapi.Error).Header. Use
17959// googleapi.IsNotModified to check whether the returned error was
17960// because http.StatusNotModified was returned.
17961func (c *ProjectsLocationsAgentsEntityTypesDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
17962	gensupport.SetOptions(c.urlParams_, opts...)
17963	res, err := c.doRequest("json")
17964	if res != nil && res.StatusCode == http.StatusNotModified {
17965		if res.Body != nil {
17966			res.Body.Close()
17967		}
17968		return nil, &googleapi.Error{
17969			Code:   res.StatusCode,
17970			Header: res.Header,
17971		}
17972	}
17973	if err != nil {
17974		return nil, err
17975	}
17976	defer googleapi.CloseBody(res)
17977	if err := googleapi.CheckResponse(res); err != nil {
17978		return nil, err
17979	}
17980	ret := &GoogleProtobufEmpty{
17981		ServerResponse: googleapi.ServerResponse{
17982			Header:         res.Header,
17983			HTTPStatusCode: res.StatusCode,
17984		},
17985	}
17986	target := &ret
17987	if err := gensupport.DecodeResponse(target, res); err != nil {
17988		return nil, err
17989	}
17990	return ret, nil
17991	// {
17992	//   "description": "Deletes the specified entity type.",
17993	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/entityTypes/{entityTypesId}",
17994	//   "httpMethod": "DELETE",
17995	//   "id": "dialogflow.projects.locations.agents.entityTypes.delete",
17996	//   "parameterOrder": [
17997	//     "name"
17998	//   ],
17999	//   "parameters": {
18000	//     "force": {
18001	//       "description": "This field has no effect for entity type not being used. For entity types that are used by intents or pages: * If `force` is set to false, an error will be returned with message indicating the referencing resources. * If `force` is set to true, Dialogflow will remove the entity type, as well as any references to the entity type (i.e. Page parameter of the entity type will be changed to '@sys.any' and intent parameter of the entity type will be removed).",
18002	//       "location": "query",
18003	//       "type": "boolean"
18004	//     },
18005	//     "name": {
18006	//       "description": "Required. The name of the entity type to delete. Format: `projects//locations//agents//entityTypes/`.",
18007	//       "location": "path",
18008	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/entityTypes/[^/]+$",
18009	//       "required": true,
18010	//       "type": "string"
18011	//     }
18012	//   },
18013	//   "path": "v3/{+name}",
18014	//   "response": {
18015	//     "$ref": "GoogleProtobufEmpty"
18016	//   },
18017	//   "scopes": [
18018	//     "https://www.googleapis.com/auth/cloud-platform",
18019	//     "https://www.googleapis.com/auth/dialogflow"
18020	//   ]
18021	// }
18022
18023}
18024
18025// method id "dialogflow.projects.locations.agents.entityTypes.get":
18026
18027type ProjectsLocationsAgentsEntityTypesGetCall struct {
18028	s            *Service
18029	name         string
18030	urlParams_   gensupport.URLParams
18031	ifNoneMatch_ string
18032	ctx_         context.Context
18033	header_      http.Header
18034}
18035
18036// Get: Retrieves the specified entity type.
18037//
18038// - name: The name of the entity type. Format:
18039//   `projects//locations//agents//entityTypes/`.
18040func (r *ProjectsLocationsAgentsEntityTypesService) Get(name string) *ProjectsLocationsAgentsEntityTypesGetCall {
18041	c := &ProjectsLocationsAgentsEntityTypesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18042	c.name = name
18043	return c
18044}
18045
18046// LanguageCode sets the optional parameter "languageCode": The language
18047// to retrieve the entity type for. The following fields are language
18048// dependent: * `EntityType.entities.value` *
18049// `EntityType.entities.synonyms` * `EntityType.excluded_phrases.value`
18050// If not specified, the agent's default language is used. Many
18051// languages
18052// (https://cloud.google.com/dialogflow/cx/docs/reference/language) are
18053// supported. Note: languages must be enabled in the agent before they
18054// can be used.
18055func (c *ProjectsLocationsAgentsEntityTypesGetCall) LanguageCode(languageCode string) *ProjectsLocationsAgentsEntityTypesGetCall {
18056	c.urlParams_.Set("languageCode", languageCode)
18057	return c
18058}
18059
18060// Fields allows partial responses to be retrieved. See
18061// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18062// for more information.
18063func (c *ProjectsLocationsAgentsEntityTypesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsEntityTypesGetCall {
18064	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18065	return c
18066}
18067
18068// IfNoneMatch sets the optional parameter which makes the operation
18069// fail if the object's ETag matches the given value. This is useful for
18070// getting updates only after the object has changed since the last
18071// request. Use googleapi.IsNotModified to check whether the response
18072// error from Do is the result of In-None-Match.
18073func (c *ProjectsLocationsAgentsEntityTypesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsEntityTypesGetCall {
18074	c.ifNoneMatch_ = entityTag
18075	return c
18076}
18077
18078// Context sets the context to be used in this call's Do method. Any
18079// pending HTTP request will be aborted if the provided context is
18080// canceled.
18081func (c *ProjectsLocationsAgentsEntityTypesGetCall) Context(ctx context.Context) *ProjectsLocationsAgentsEntityTypesGetCall {
18082	c.ctx_ = ctx
18083	return c
18084}
18085
18086// Header returns an http.Header that can be modified by the caller to
18087// add HTTP headers to the request.
18088func (c *ProjectsLocationsAgentsEntityTypesGetCall) Header() http.Header {
18089	if c.header_ == nil {
18090		c.header_ = make(http.Header)
18091	}
18092	return c.header_
18093}
18094
18095func (c *ProjectsLocationsAgentsEntityTypesGetCall) doRequest(alt string) (*http.Response, error) {
18096	reqHeaders := make(http.Header)
18097	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
18098	for k, v := range c.header_ {
18099		reqHeaders[k] = v
18100	}
18101	reqHeaders.Set("User-Agent", c.s.userAgent())
18102	if c.ifNoneMatch_ != "" {
18103		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
18104	}
18105	var body io.Reader = nil
18106	c.urlParams_.Set("alt", alt)
18107	c.urlParams_.Set("prettyPrint", "false")
18108	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
18109	urls += "?" + c.urlParams_.Encode()
18110	req, err := http.NewRequest("GET", urls, body)
18111	if err != nil {
18112		return nil, err
18113	}
18114	req.Header = reqHeaders
18115	googleapi.Expand(req.URL, map[string]string{
18116		"name": c.name,
18117	})
18118	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18119}
18120
18121// Do executes the "dialogflow.projects.locations.agents.entityTypes.get" call.
18122// Exactly one of *GoogleCloudDialogflowCxV3EntityType or error will be
18123// non-nil. Any non-2xx status code is an error. Response headers are in
18124// either *GoogleCloudDialogflowCxV3EntityType.ServerResponse.Header or
18125// (if a response was returned at all) in
18126// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
18127// whether the returned error was because http.StatusNotModified was
18128// returned.
18129func (c *ProjectsLocationsAgentsEntityTypesGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3EntityType, error) {
18130	gensupport.SetOptions(c.urlParams_, opts...)
18131	res, err := c.doRequest("json")
18132	if res != nil && res.StatusCode == http.StatusNotModified {
18133		if res.Body != nil {
18134			res.Body.Close()
18135		}
18136		return nil, &googleapi.Error{
18137			Code:   res.StatusCode,
18138			Header: res.Header,
18139		}
18140	}
18141	if err != nil {
18142		return nil, err
18143	}
18144	defer googleapi.CloseBody(res)
18145	if err := googleapi.CheckResponse(res); err != nil {
18146		return nil, err
18147	}
18148	ret := &GoogleCloudDialogflowCxV3EntityType{
18149		ServerResponse: googleapi.ServerResponse{
18150			Header:         res.Header,
18151			HTTPStatusCode: res.StatusCode,
18152		},
18153	}
18154	target := &ret
18155	if err := gensupport.DecodeResponse(target, res); err != nil {
18156		return nil, err
18157	}
18158	return ret, nil
18159	// {
18160	//   "description": "Retrieves the specified entity type.",
18161	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/entityTypes/{entityTypesId}",
18162	//   "httpMethod": "GET",
18163	//   "id": "dialogflow.projects.locations.agents.entityTypes.get",
18164	//   "parameterOrder": [
18165	//     "name"
18166	//   ],
18167	//   "parameters": {
18168	//     "languageCode": {
18169	//       "description": "The language to retrieve the entity type for. The following fields are language dependent: * `EntityType.entities.value` * `EntityType.entities.synonyms` * `EntityType.excluded_phrases.value` If not specified, the agent's default language is used. [Many languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) are supported. Note: languages must be enabled in the agent before they can be used.",
18170	//       "location": "query",
18171	//       "type": "string"
18172	//     },
18173	//     "name": {
18174	//       "description": "Required. The name of the entity type. Format: `projects//locations//agents//entityTypes/`.",
18175	//       "location": "path",
18176	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/entityTypes/[^/]+$",
18177	//       "required": true,
18178	//       "type": "string"
18179	//     }
18180	//   },
18181	//   "path": "v3/{+name}",
18182	//   "response": {
18183	//     "$ref": "GoogleCloudDialogflowCxV3EntityType"
18184	//   },
18185	//   "scopes": [
18186	//     "https://www.googleapis.com/auth/cloud-platform",
18187	//     "https://www.googleapis.com/auth/dialogflow"
18188	//   ]
18189	// }
18190
18191}
18192
18193// method id "dialogflow.projects.locations.agents.entityTypes.list":
18194
18195type ProjectsLocationsAgentsEntityTypesListCall struct {
18196	s            *Service
18197	parent       string
18198	urlParams_   gensupport.URLParams
18199	ifNoneMatch_ string
18200	ctx_         context.Context
18201	header_      http.Header
18202}
18203
18204// List: Returns the list of all entity types in the specified agent.
18205//
18206// - parent: The agent to list all entity types for. Format:
18207//   `projects//locations//agents/`.
18208func (r *ProjectsLocationsAgentsEntityTypesService) List(parent string) *ProjectsLocationsAgentsEntityTypesListCall {
18209	c := &ProjectsLocationsAgentsEntityTypesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18210	c.parent = parent
18211	return c
18212}
18213
18214// LanguageCode sets the optional parameter "languageCode": The language
18215// to list entity types for. The following fields are language
18216// dependent: * `EntityType.entities.value` *
18217// `EntityType.entities.synonyms` * `EntityType.excluded_phrases.value`
18218// If not specified, the agent's default language is used. Many
18219// languages
18220// (https://cloud.google.com/dialogflow/cx/docs/reference/language) are
18221// supported. Note: languages must be enabled in the agent before they
18222// can be used.
18223func (c *ProjectsLocationsAgentsEntityTypesListCall) LanguageCode(languageCode string) *ProjectsLocationsAgentsEntityTypesListCall {
18224	c.urlParams_.Set("languageCode", languageCode)
18225	return c
18226}
18227
18228// PageSize sets the optional parameter "pageSize": The maximum number
18229// of items to return in a single page. By default 100 and at most 1000.
18230func (c *ProjectsLocationsAgentsEntityTypesListCall) PageSize(pageSize int64) *ProjectsLocationsAgentsEntityTypesListCall {
18231	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
18232	return c
18233}
18234
18235// PageToken sets the optional parameter "pageToken": The
18236// next_page_token value returned from a previous list request.
18237func (c *ProjectsLocationsAgentsEntityTypesListCall) PageToken(pageToken string) *ProjectsLocationsAgentsEntityTypesListCall {
18238	c.urlParams_.Set("pageToken", pageToken)
18239	return c
18240}
18241
18242// Fields allows partial responses to be retrieved. See
18243// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18244// for more information.
18245func (c *ProjectsLocationsAgentsEntityTypesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsEntityTypesListCall {
18246	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18247	return c
18248}
18249
18250// IfNoneMatch sets the optional parameter which makes the operation
18251// fail if the object's ETag matches the given value. This is useful for
18252// getting updates only after the object has changed since the last
18253// request. Use googleapi.IsNotModified to check whether the response
18254// error from Do is the result of In-None-Match.
18255func (c *ProjectsLocationsAgentsEntityTypesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsEntityTypesListCall {
18256	c.ifNoneMatch_ = entityTag
18257	return c
18258}
18259
18260// Context sets the context to be used in this call's Do method. Any
18261// pending HTTP request will be aborted if the provided context is
18262// canceled.
18263func (c *ProjectsLocationsAgentsEntityTypesListCall) Context(ctx context.Context) *ProjectsLocationsAgentsEntityTypesListCall {
18264	c.ctx_ = ctx
18265	return c
18266}
18267
18268// Header returns an http.Header that can be modified by the caller to
18269// add HTTP headers to the request.
18270func (c *ProjectsLocationsAgentsEntityTypesListCall) Header() http.Header {
18271	if c.header_ == nil {
18272		c.header_ = make(http.Header)
18273	}
18274	return c.header_
18275}
18276
18277func (c *ProjectsLocationsAgentsEntityTypesListCall) doRequest(alt string) (*http.Response, error) {
18278	reqHeaders := make(http.Header)
18279	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
18280	for k, v := range c.header_ {
18281		reqHeaders[k] = v
18282	}
18283	reqHeaders.Set("User-Agent", c.s.userAgent())
18284	if c.ifNoneMatch_ != "" {
18285		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
18286	}
18287	var body io.Reader = nil
18288	c.urlParams_.Set("alt", alt)
18289	c.urlParams_.Set("prettyPrint", "false")
18290	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/entityTypes")
18291	urls += "?" + c.urlParams_.Encode()
18292	req, err := http.NewRequest("GET", urls, body)
18293	if err != nil {
18294		return nil, err
18295	}
18296	req.Header = reqHeaders
18297	googleapi.Expand(req.URL, map[string]string{
18298		"parent": c.parent,
18299	})
18300	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18301}
18302
18303// Do executes the "dialogflow.projects.locations.agents.entityTypes.list" call.
18304// Exactly one of *GoogleCloudDialogflowCxV3ListEntityTypesResponse or
18305// error will be non-nil. Any non-2xx status code is an error. Response
18306// headers are in either
18307// *GoogleCloudDialogflowCxV3ListEntityTypesResponse.ServerResponse.Heade
18308// r or (if a response was returned at all) in
18309// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
18310// whether the returned error was because http.StatusNotModified was
18311// returned.
18312func (c *ProjectsLocationsAgentsEntityTypesListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3ListEntityTypesResponse, error) {
18313	gensupport.SetOptions(c.urlParams_, opts...)
18314	res, err := c.doRequest("json")
18315	if res != nil && res.StatusCode == http.StatusNotModified {
18316		if res.Body != nil {
18317			res.Body.Close()
18318		}
18319		return nil, &googleapi.Error{
18320			Code:   res.StatusCode,
18321			Header: res.Header,
18322		}
18323	}
18324	if err != nil {
18325		return nil, err
18326	}
18327	defer googleapi.CloseBody(res)
18328	if err := googleapi.CheckResponse(res); err != nil {
18329		return nil, err
18330	}
18331	ret := &GoogleCloudDialogflowCxV3ListEntityTypesResponse{
18332		ServerResponse: googleapi.ServerResponse{
18333			Header:         res.Header,
18334			HTTPStatusCode: res.StatusCode,
18335		},
18336	}
18337	target := &ret
18338	if err := gensupport.DecodeResponse(target, res); err != nil {
18339		return nil, err
18340	}
18341	return ret, nil
18342	// {
18343	//   "description": "Returns the list of all entity types in the specified agent.",
18344	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/entityTypes",
18345	//   "httpMethod": "GET",
18346	//   "id": "dialogflow.projects.locations.agents.entityTypes.list",
18347	//   "parameterOrder": [
18348	//     "parent"
18349	//   ],
18350	//   "parameters": {
18351	//     "languageCode": {
18352	//       "description": "The language to list entity types for. The following fields are language dependent: * `EntityType.entities.value` * `EntityType.entities.synonyms` * `EntityType.excluded_phrases.value` If not specified, the agent's default language is used. [Many languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) are supported. Note: languages must be enabled in the agent before they can be used.",
18353	//       "location": "query",
18354	//       "type": "string"
18355	//     },
18356	//     "pageSize": {
18357	//       "description": "The maximum number of items to return in a single page. By default 100 and at most 1000.",
18358	//       "format": "int32",
18359	//       "location": "query",
18360	//       "type": "integer"
18361	//     },
18362	//     "pageToken": {
18363	//       "description": "The next_page_token value returned from a previous list request.",
18364	//       "location": "query",
18365	//       "type": "string"
18366	//     },
18367	//     "parent": {
18368	//       "description": "Required. The agent to list all entity types for. Format: `projects//locations//agents/`.",
18369	//       "location": "path",
18370	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$",
18371	//       "required": true,
18372	//       "type": "string"
18373	//     }
18374	//   },
18375	//   "path": "v3/{+parent}/entityTypes",
18376	//   "response": {
18377	//     "$ref": "GoogleCloudDialogflowCxV3ListEntityTypesResponse"
18378	//   },
18379	//   "scopes": [
18380	//     "https://www.googleapis.com/auth/cloud-platform",
18381	//     "https://www.googleapis.com/auth/dialogflow"
18382	//   ]
18383	// }
18384
18385}
18386
18387// Pages invokes f for each page of results.
18388// A non-nil error returned from f will halt the iteration.
18389// The provided context supersedes any context provided to the Context method.
18390func (c *ProjectsLocationsAgentsEntityTypesListCall) Pages(ctx context.Context, f func(*GoogleCloudDialogflowCxV3ListEntityTypesResponse) error) error {
18391	c.ctx_ = ctx
18392	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
18393	for {
18394		x, err := c.Do()
18395		if err != nil {
18396			return err
18397		}
18398		if err := f(x); err != nil {
18399			return err
18400		}
18401		if x.NextPageToken == "" {
18402			return nil
18403		}
18404		c.PageToken(x.NextPageToken)
18405	}
18406}
18407
18408// method id "dialogflow.projects.locations.agents.entityTypes.patch":
18409
18410type ProjectsLocationsAgentsEntityTypesPatchCall struct {
18411	s                                   *Service
18412	nameid                              string
18413	googleclouddialogflowcxv3entitytype *GoogleCloudDialogflowCxV3EntityType
18414	urlParams_                          gensupport.URLParams
18415	ctx_                                context.Context
18416	header_                             http.Header
18417}
18418
18419// Patch: Updates the specified entity type.
18420//
18421// - name: The unique identifier of the entity type. Required for
18422//   EntityTypes.UpdateEntityType. Format:
18423//   `projects//locations//agents//entityTypes/`.
18424func (r *ProjectsLocationsAgentsEntityTypesService) Patch(nameid string, googleclouddialogflowcxv3entitytype *GoogleCloudDialogflowCxV3EntityType) *ProjectsLocationsAgentsEntityTypesPatchCall {
18425	c := &ProjectsLocationsAgentsEntityTypesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18426	c.nameid = nameid
18427	c.googleclouddialogflowcxv3entitytype = googleclouddialogflowcxv3entitytype
18428	return c
18429}
18430
18431// LanguageCode sets the optional parameter "languageCode": The language
18432// of the following fields in `entity_type`: *
18433// `EntityType.entities.value` * `EntityType.entities.synonyms` *
18434// `EntityType.excluded_phrases.value` If not specified, the agent's
18435// default language is used. Many languages
18436// (https://cloud.google.com/dialogflow/cx/docs/reference/language) are
18437// supported. Note: languages must be enabled in the agent before they
18438// can be used.
18439func (c *ProjectsLocationsAgentsEntityTypesPatchCall) LanguageCode(languageCode string) *ProjectsLocationsAgentsEntityTypesPatchCall {
18440	c.urlParams_.Set("languageCode", languageCode)
18441	return c
18442}
18443
18444// UpdateMask sets the optional parameter "updateMask": The mask to
18445// control which fields get updated.
18446func (c *ProjectsLocationsAgentsEntityTypesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsAgentsEntityTypesPatchCall {
18447	c.urlParams_.Set("updateMask", updateMask)
18448	return c
18449}
18450
18451// Fields allows partial responses to be retrieved. See
18452// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18453// for more information.
18454func (c *ProjectsLocationsAgentsEntityTypesPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsEntityTypesPatchCall {
18455	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18456	return c
18457}
18458
18459// Context sets the context to be used in this call's Do method. Any
18460// pending HTTP request will be aborted if the provided context is
18461// canceled.
18462func (c *ProjectsLocationsAgentsEntityTypesPatchCall) Context(ctx context.Context) *ProjectsLocationsAgentsEntityTypesPatchCall {
18463	c.ctx_ = ctx
18464	return c
18465}
18466
18467// Header returns an http.Header that can be modified by the caller to
18468// add HTTP headers to the request.
18469func (c *ProjectsLocationsAgentsEntityTypesPatchCall) Header() http.Header {
18470	if c.header_ == nil {
18471		c.header_ = make(http.Header)
18472	}
18473	return c.header_
18474}
18475
18476func (c *ProjectsLocationsAgentsEntityTypesPatchCall) doRequest(alt string) (*http.Response, error) {
18477	reqHeaders := make(http.Header)
18478	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
18479	for k, v := range c.header_ {
18480		reqHeaders[k] = v
18481	}
18482	reqHeaders.Set("User-Agent", c.s.userAgent())
18483	var body io.Reader = nil
18484	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3entitytype)
18485	if err != nil {
18486		return nil, err
18487	}
18488	reqHeaders.Set("Content-Type", "application/json")
18489	c.urlParams_.Set("alt", alt)
18490	c.urlParams_.Set("prettyPrint", "false")
18491	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
18492	urls += "?" + c.urlParams_.Encode()
18493	req, err := http.NewRequest("PATCH", urls, body)
18494	if err != nil {
18495		return nil, err
18496	}
18497	req.Header = reqHeaders
18498	googleapi.Expand(req.URL, map[string]string{
18499		"name": c.nameid,
18500	})
18501	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18502}
18503
18504// Do executes the "dialogflow.projects.locations.agents.entityTypes.patch" call.
18505// Exactly one of *GoogleCloudDialogflowCxV3EntityType or error will be
18506// non-nil. Any non-2xx status code is an error. Response headers are in
18507// either *GoogleCloudDialogflowCxV3EntityType.ServerResponse.Header or
18508// (if a response was returned at all) in
18509// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
18510// whether the returned error was because http.StatusNotModified was
18511// returned.
18512func (c *ProjectsLocationsAgentsEntityTypesPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3EntityType, error) {
18513	gensupport.SetOptions(c.urlParams_, opts...)
18514	res, err := c.doRequest("json")
18515	if res != nil && res.StatusCode == http.StatusNotModified {
18516		if res.Body != nil {
18517			res.Body.Close()
18518		}
18519		return nil, &googleapi.Error{
18520			Code:   res.StatusCode,
18521			Header: res.Header,
18522		}
18523	}
18524	if err != nil {
18525		return nil, err
18526	}
18527	defer googleapi.CloseBody(res)
18528	if err := googleapi.CheckResponse(res); err != nil {
18529		return nil, err
18530	}
18531	ret := &GoogleCloudDialogflowCxV3EntityType{
18532		ServerResponse: googleapi.ServerResponse{
18533			Header:         res.Header,
18534			HTTPStatusCode: res.StatusCode,
18535		},
18536	}
18537	target := &ret
18538	if err := gensupport.DecodeResponse(target, res); err != nil {
18539		return nil, err
18540	}
18541	return ret, nil
18542	// {
18543	//   "description": "Updates the specified entity type.",
18544	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/entityTypes/{entityTypesId}",
18545	//   "httpMethod": "PATCH",
18546	//   "id": "dialogflow.projects.locations.agents.entityTypes.patch",
18547	//   "parameterOrder": [
18548	//     "name"
18549	//   ],
18550	//   "parameters": {
18551	//     "languageCode": {
18552	//       "description": "The language of the following fields in `entity_type`: * `EntityType.entities.value` * `EntityType.entities.synonyms` * `EntityType.excluded_phrases.value` If not specified, the agent's default language is used. [Many languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) are supported. Note: languages must be enabled in the agent before they can be used.",
18553	//       "location": "query",
18554	//       "type": "string"
18555	//     },
18556	//     "name": {
18557	//       "description": "The unique identifier of the entity type. Required for EntityTypes.UpdateEntityType. Format: `projects//locations//agents//entityTypes/`.",
18558	//       "location": "path",
18559	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/entityTypes/[^/]+$",
18560	//       "required": true,
18561	//       "type": "string"
18562	//     },
18563	//     "updateMask": {
18564	//       "description": "The mask to control which fields get updated.",
18565	//       "format": "google-fieldmask",
18566	//       "location": "query",
18567	//       "type": "string"
18568	//     }
18569	//   },
18570	//   "path": "v3/{+name}",
18571	//   "request": {
18572	//     "$ref": "GoogleCloudDialogflowCxV3EntityType"
18573	//   },
18574	//   "response": {
18575	//     "$ref": "GoogleCloudDialogflowCxV3EntityType"
18576	//   },
18577	//   "scopes": [
18578	//     "https://www.googleapis.com/auth/cloud-platform",
18579	//     "https://www.googleapis.com/auth/dialogflow"
18580	//   ]
18581	// }
18582
18583}
18584
18585// method id "dialogflow.projects.locations.agents.environments.create":
18586
18587type ProjectsLocationsAgentsEnvironmentsCreateCall struct {
18588	s                                    *Service
18589	parent                               string
18590	googleclouddialogflowcxv3environment *GoogleCloudDialogflowCxV3Environment
18591	urlParams_                           gensupport.URLParams
18592	ctx_                                 context.Context
18593	header_                              http.Header
18594}
18595
18596// Create: Creates an Environment in the specified Agent.
18597//
18598// - parent: The Agent to create an Environment for. Format:
18599//   `projects//locations//agents/`.
18600func (r *ProjectsLocationsAgentsEnvironmentsService) Create(parent string, googleclouddialogflowcxv3environment *GoogleCloudDialogflowCxV3Environment) *ProjectsLocationsAgentsEnvironmentsCreateCall {
18601	c := &ProjectsLocationsAgentsEnvironmentsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18602	c.parent = parent
18603	c.googleclouddialogflowcxv3environment = googleclouddialogflowcxv3environment
18604	return c
18605}
18606
18607// Fields allows partial responses to be retrieved. See
18608// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18609// for more information.
18610func (c *ProjectsLocationsAgentsEnvironmentsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsEnvironmentsCreateCall {
18611	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18612	return c
18613}
18614
18615// Context sets the context to be used in this call's Do method. Any
18616// pending HTTP request will be aborted if the provided context is
18617// canceled.
18618func (c *ProjectsLocationsAgentsEnvironmentsCreateCall) Context(ctx context.Context) *ProjectsLocationsAgentsEnvironmentsCreateCall {
18619	c.ctx_ = ctx
18620	return c
18621}
18622
18623// Header returns an http.Header that can be modified by the caller to
18624// add HTTP headers to the request.
18625func (c *ProjectsLocationsAgentsEnvironmentsCreateCall) Header() http.Header {
18626	if c.header_ == nil {
18627		c.header_ = make(http.Header)
18628	}
18629	return c.header_
18630}
18631
18632func (c *ProjectsLocationsAgentsEnvironmentsCreateCall) doRequest(alt string) (*http.Response, error) {
18633	reqHeaders := make(http.Header)
18634	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
18635	for k, v := range c.header_ {
18636		reqHeaders[k] = v
18637	}
18638	reqHeaders.Set("User-Agent", c.s.userAgent())
18639	var body io.Reader = nil
18640	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3environment)
18641	if err != nil {
18642		return nil, err
18643	}
18644	reqHeaders.Set("Content-Type", "application/json")
18645	c.urlParams_.Set("alt", alt)
18646	c.urlParams_.Set("prettyPrint", "false")
18647	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/environments")
18648	urls += "?" + c.urlParams_.Encode()
18649	req, err := http.NewRequest("POST", urls, body)
18650	if err != nil {
18651		return nil, err
18652	}
18653	req.Header = reqHeaders
18654	googleapi.Expand(req.URL, map[string]string{
18655		"parent": c.parent,
18656	})
18657	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18658}
18659
18660// Do executes the "dialogflow.projects.locations.agents.environments.create" call.
18661// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
18662// Any non-2xx status code is an error. Response headers are in either
18663// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
18664// was returned at all) in error.(*googleapi.Error).Header. Use
18665// googleapi.IsNotModified to check whether the returned error was
18666// because http.StatusNotModified was returned.
18667func (c *ProjectsLocationsAgentsEnvironmentsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
18668	gensupport.SetOptions(c.urlParams_, opts...)
18669	res, err := c.doRequest("json")
18670	if res != nil && res.StatusCode == http.StatusNotModified {
18671		if res.Body != nil {
18672			res.Body.Close()
18673		}
18674		return nil, &googleapi.Error{
18675			Code:   res.StatusCode,
18676			Header: res.Header,
18677		}
18678	}
18679	if err != nil {
18680		return nil, err
18681	}
18682	defer googleapi.CloseBody(res)
18683	if err := googleapi.CheckResponse(res); err != nil {
18684		return nil, err
18685	}
18686	ret := &GoogleLongrunningOperation{
18687		ServerResponse: googleapi.ServerResponse{
18688			Header:         res.Header,
18689			HTTPStatusCode: res.StatusCode,
18690		},
18691	}
18692	target := &ret
18693	if err := gensupport.DecodeResponse(target, res); err != nil {
18694		return nil, err
18695	}
18696	return ret, nil
18697	// {
18698	//   "description": "Creates an Environment in the specified Agent.",
18699	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments",
18700	//   "httpMethod": "POST",
18701	//   "id": "dialogflow.projects.locations.agents.environments.create",
18702	//   "parameterOrder": [
18703	//     "parent"
18704	//   ],
18705	//   "parameters": {
18706	//     "parent": {
18707	//       "description": "Required. The Agent to create an Environment for. Format: `projects//locations//agents/`.",
18708	//       "location": "path",
18709	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$",
18710	//       "required": true,
18711	//       "type": "string"
18712	//     }
18713	//   },
18714	//   "path": "v3/{+parent}/environments",
18715	//   "request": {
18716	//     "$ref": "GoogleCloudDialogflowCxV3Environment"
18717	//   },
18718	//   "response": {
18719	//     "$ref": "GoogleLongrunningOperation"
18720	//   },
18721	//   "scopes": [
18722	//     "https://www.googleapis.com/auth/cloud-platform",
18723	//     "https://www.googleapis.com/auth/dialogflow"
18724	//   ]
18725	// }
18726
18727}
18728
18729// method id "dialogflow.projects.locations.agents.environments.delete":
18730
18731type ProjectsLocationsAgentsEnvironmentsDeleteCall struct {
18732	s          *Service
18733	name       string
18734	urlParams_ gensupport.URLParams
18735	ctx_       context.Context
18736	header_    http.Header
18737}
18738
18739// Delete: Deletes the specified Environment.
18740//
18741// - name: The name of the Environment to delete. Format:
18742//   `projects//locations//agents//environments/`.
18743func (r *ProjectsLocationsAgentsEnvironmentsService) Delete(name string) *ProjectsLocationsAgentsEnvironmentsDeleteCall {
18744	c := &ProjectsLocationsAgentsEnvironmentsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18745	c.name = name
18746	return c
18747}
18748
18749// Fields allows partial responses to be retrieved. See
18750// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18751// for more information.
18752func (c *ProjectsLocationsAgentsEnvironmentsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsEnvironmentsDeleteCall {
18753	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18754	return c
18755}
18756
18757// Context sets the context to be used in this call's Do method. Any
18758// pending HTTP request will be aborted if the provided context is
18759// canceled.
18760func (c *ProjectsLocationsAgentsEnvironmentsDeleteCall) Context(ctx context.Context) *ProjectsLocationsAgentsEnvironmentsDeleteCall {
18761	c.ctx_ = ctx
18762	return c
18763}
18764
18765// Header returns an http.Header that can be modified by the caller to
18766// add HTTP headers to the request.
18767func (c *ProjectsLocationsAgentsEnvironmentsDeleteCall) Header() http.Header {
18768	if c.header_ == nil {
18769		c.header_ = make(http.Header)
18770	}
18771	return c.header_
18772}
18773
18774func (c *ProjectsLocationsAgentsEnvironmentsDeleteCall) doRequest(alt string) (*http.Response, error) {
18775	reqHeaders := make(http.Header)
18776	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
18777	for k, v := range c.header_ {
18778		reqHeaders[k] = v
18779	}
18780	reqHeaders.Set("User-Agent", c.s.userAgent())
18781	var body io.Reader = nil
18782	c.urlParams_.Set("alt", alt)
18783	c.urlParams_.Set("prettyPrint", "false")
18784	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
18785	urls += "?" + c.urlParams_.Encode()
18786	req, err := http.NewRequest("DELETE", urls, body)
18787	if err != nil {
18788		return nil, err
18789	}
18790	req.Header = reqHeaders
18791	googleapi.Expand(req.URL, map[string]string{
18792		"name": c.name,
18793	})
18794	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18795}
18796
18797// Do executes the "dialogflow.projects.locations.agents.environments.delete" call.
18798// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
18799// non-2xx status code is an error. Response headers are in either
18800// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
18801// returned at all) in error.(*googleapi.Error).Header. Use
18802// googleapi.IsNotModified to check whether the returned error was
18803// because http.StatusNotModified was returned.
18804func (c *ProjectsLocationsAgentsEnvironmentsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
18805	gensupport.SetOptions(c.urlParams_, opts...)
18806	res, err := c.doRequest("json")
18807	if res != nil && res.StatusCode == http.StatusNotModified {
18808		if res.Body != nil {
18809			res.Body.Close()
18810		}
18811		return nil, &googleapi.Error{
18812			Code:   res.StatusCode,
18813			Header: res.Header,
18814		}
18815	}
18816	if err != nil {
18817		return nil, err
18818	}
18819	defer googleapi.CloseBody(res)
18820	if err := googleapi.CheckResponse(res); err != nil {
18821		return nil, err
18822	}
18823	ret := &GoogleProtobufEmpty{
18824		ServerResponse: googleapi.ServerResponse{
18825			Header:         res.Header,
18826			HTTPStatusCode: res.StatusCode,
18827		},
18828	}
18829	target := &ret
18830	if err := gensupport.DecodeResponse(target, res); err != nil {
18831		return nil, err
18832	}
18833	return ret, nil
18834	// {
18835	//   "description": "Deletes the specified Environment.",
18836	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}",
18837	//   "httpMethod": "DELETE",
18838	//   "id": "dialogflow.projects.locations.agents.environments.delete",
18839	//   "parameterOrder": [
18840	//     "name"
18841	//   ],
18842	//   "parameters": {
18843	//     "name": {
18844	//       "description": "Required. The name of the Environment to delete. Format: `projects//locations//agents//environments/`.",
18845	//       "location": "path",
18846	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+$",
18847	//       "required": true,
18848	//       "type": "string"
18849	//     }
18850	//   },
18851	//   "path": "v3/{+name}",
18852	//   "response": {
18853	//     "$ref": "GoogleProtobufEmpty"
18854	//   },
18855	//   "scopes": [
18856	//     "https://www.googleapis.com/auth/cloud-platform",
18857	//     "https://www.googleapis.com/auth/dialogflow"
18858	//   ]
18859	// }
18860
18861}
18862
18863// method id "dialogflow.projects.locations.agents.environments.get":
18864
18865type ProjectsLocationsAgentsEnvironmentsGetCall struct {
18866	s            *Service
18867	name         string
18868	urlParams_   gensupport.URLParams
18869	ifNoneMatch_ string
18870	ctx_         context.Context
18871	header_      http.Header
18872}
18873
18874// Get: Retrieves the specified Environment.
18875//
18876// - name: The name of the Environment. Format:
18877//   `projects//locations//agents//environments/`.
18878func (r *ProjectsLocationsAgentsEnvironmentsService) Get(name string) *ProjectsLocationsAgentsEnvironmentsGetCall {
18879	c := &ProjectsLocationsAgentsEnvironmentsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18880	c.name = name
18881	return c
18882}
18883
18884// Fields allows partial responses to be retrieved. See
18885// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18886// for more information.
18887func (c *ProjectsLocationsAgentsEnvironmentsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsEnvironmentsGetCall {
18888	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18889	return c
18890}
18891
18892// IfNoneMatch sets the optional parameter which makes the operation
18893// fail if the object's ETag matches the given value. This is useful for
18894// getting updates only after the object has changed since the last
18895// request. Use googleapi.IsNotModified to check whether the response
18896// error from Do is the result of In-None-Match.
18897func (c *ProjectsLocationsAgentsEnvironmentsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsEnvironmentsGetCall {
18898	c.ifNoneMatch_ = entityTag
18899	return c
18900}
18901
18902// Context sets the context to be used in this call's Do method. Any
18903// pending HTTP request will be aborted if the provided context is
18904// canceled.
18905func (c *ProjectsLocationsAgentsEnvironmentsGetCall) Context(ctx context.Context) *ProjectsLocationsAgentsEnvironmentsGetCall {
18906	c.ctx_ = ctx
18907	return c
18908}
18909
18910// Header returns an http.Header that can be modified by the caller to
18911// add HTTP headers to the request.
18912func (c *ProjectsLocationsAgentsEnvironmentsGetCall) Header() http.Header {
18913	if c.header_ == nil {
18914		c.header_ = make(http.Header)
18915	}
18916	return c.header_
18917}
18918
18919func (c *ProjectsLocationsAgentsEnvironmentsGetCall) doRequest(alt string) (*http.Response, error) {
18920	reqHeaders := make(http.Header)
18921	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
18922	for k, v := range c.header_ {
18923		reqHeaders[k] = v
18924	}
18925	reqHeaders.Set("User-Agent", c.s.userAgent())
18926	if c.ifNoneMatch_ != "" {
18927		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
18928	}
18929	var body io.Reader = nil
18930	c.urlParams_.Set("alt", alt)
18931	c.urlParams_.Set("prettyPrint", "false")
18932	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
18933	urls += "?" + c.urlParams_.Encode()
18934	req, err := http.NewRequest("GET", urls, body)
18935	if err != nil {
18936		return nil, err
18937	}
18938	req.Header = reqHeaders
18939	googleapi.Expand(req.URL, map[string]string{
18940		"name": c.name,
18941	})
18942	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18943}
18944
18945// Do executes the "dialogflow.projects.locations.agents.environments.get" call.
18946// Exactly one of *GoogleCloudDialogflowCxV3Environment or error will be
18947// non-nil. Any non-2xx status code is an error. Response headers are in
18948// either *GoogleCloudDialogflowCxV3Environment.ServerResponse.Header or
18949// (if a response was returned at all) in
18950// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
18951// whether the returned error was because http.StatusNotModified was
18952// returned.
18953func (c *ProjectsLocationsAgentsEnvironmentsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3Environment, error) {
18954	gensupport.SetOptions(c.urlParams_, opts...)
18955	res, err := c.doRequest("json")
18956	if res != nil && res.StatusCode == http.StatusNotModified {
18957		if res.Body != nil {
18958			res.Body.Close()
18959		}
18960		return nil, &googleapi.Error{
18961			Code:   res.StatusCode,
18962			Header: res.Header,
18963		}
18964	}
18965	if err != nil {
18966		return nil, err
18967	}
18968	defer googleapi.CloseBody(res)
18969	if err := googleapi.CheckResponse(res); err != nil {
18970		return nil, err
18971	}
18972	ret := &GoogleCloudDialogflowCxV3Environment{
18973		ServerResponse: googleapi.ServerResponse{
18974			Header:         res.Header,
18975			HTTPStatusCode: res.StatusCode,
18976		},
18977	}
18978	target := &ret
18979	if err := gensupport.DecodeResponse(target, res); err != nil {
18980		return nil, err
18981	}
18982	return ret, nil
18983	// {
18984	//   "description": "Retrieves the specified Environment.",
18985	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}",
18986	//   "httpMethod": "GET",
18987	//   "id": "dialogflow.projects.locations.agents.environments.get",
18988	//   "parameterOrder": [
18989	//     "name"
18990	//   ],
18991	//   "parameters": {
18992	//     "name": {
18993	//       "description": "Required. The name of the Environment. Format: `projects//locations//agents//environments/`.",
18994	//       "location": "path",
18995	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+$",
18996	//       "required": true,
18997	//       "type": "string"
18998	//     }
18999	//   },
19000	//   "path": "v3/{+name}",
19001	//   "response": {
19002	//     "$ref": "GoogleCloudDialogflowCxV3Environment"
19003	//   },
19004	//   "scopes": [
19005	//     "https://www.googleapis.com/auth/cloud-platform",
19006	//     "https://www.googleapis.com/auth/dialogflow"
19007	//   ]
19008	// }
19009
19010}
19011
19012// method id "dialogflow.projects.locations.agents.environments.list":
19013
19014type ProjectsLocationsAgentsEnvironmentsListCall struct {
19015	s            *Service
19016	parent       string
19017	urlParams_   gensupport.URLParams
19018	ifNoneMatch_ string
19019	ctx_         context.Context
19020	header_      http.Header
19021}
19022
19023// List: Returns the list of all environments in the specified Agent.
19024//
19025// - parent: The Agent to list all environments for. Format:
19026//   `projects//locations//agents/`.
19027func (r *ProjectsLocationsAgentsEnvironmentsService) List(parent string) *ProjectsLocationsAgentsEnvironmentsListCall {
19028	c := &ProjectsLocationsAgentsEnvironmentsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19029	c.parent = parent
19030	return c
19031}
19032
19033// PageSize sets the optional parameter "pageSize": The maximum number
19034// of items to return in a single page. By default 20 and at most 100.
19035func (c *ProjectsLocationsAgentsEnvironmentsListCall) PageSize(pageSize int64) *ProjectsLocationsAgentsEnvironmentsListCall {
19036	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
19037	return c
19038}
19039
19040// PageToken sets the optional parameter "pageToken": The
19041// next_page_token value returned from a previous list request.
19042func (c *ProjectsLocationsAgentsEnvironmentsListCall) PageToken(pageToken string) *ProjectsLocationsAgentsEnvironmentsListCall {
19043	c.urlParams_.Set("pageToken", pageToken)
19044	return c
19045}
19046
19047// Fields allows partial responses to be retrieved. See
19048// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19049// for more information.
19050func (c *ProjectsLocationsAgentsEnvironmentsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsEnvironmentsListCall {
19051	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19052	return c
19053}
19054
19055// IfNoneMatch sets the optional parameter which makes the operation
19056// fail if the object's ETag matches the given value. This is useful for
19057// getting updates only after the object has changed since the last
19058// request. Use googleapi.IsNotModified to check whether the response
19059// error from Do is the result of In-None-Match.
19060func (c *ProjectsLocationsAgentsEnvironmentsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsEnvironmentsListCall {
19061	c.ifNoneMatch_ = entityTag
19062	return c
19063}
19064
19065// Context sets the context to be used in this call's Do method. Any
19066// pending HTTP request will be aborted if the provided context is
19067// canceled.
19068func (c *ProjectsLocationsAgentsEnvironmentsListCall) Context(ctx context.Context) *ProjectsLocationsAgentsEnvironmentsListCall {
19069	c.ctx_ = ctx
19070	return c
19071}
19072
19073// Header returns an http.Header that can be modified by the caller to
19074// add HTTP headers to the request.
19075func (c *ProjectsLocationsAgentsEnvironmentsListCall) Header() http.Header {
19076	if c.header_ == nil {
19077		c.header_ = make(http.Header)
19078	}
19079	return c.header_
19080}
19081
19082func (c *ProjectsLocationsAgentsEnvironmentsListCall) doRequest(alt string) (*http.Response, error) {
19083	reqHeaders := make(http.Header)
19084	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
19085	for k, v := range c.header_ {
19086		reqHeaders[k] = v
19087	}
19088	reqHeaders.Set("User-Agent", c.s.userAgent())
19089	if c.ifNoneMatch_ != "" {
19090		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
19091	}
19092	var body io.Reader = nil
19093	c.urlParams_.Set("alt", alt)
19094	c.urlParams_.Set("prettyPrint", "false")
19095	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/environments")
19096	urls += "?" + c.urlParams_.Encode()
19097	req, err := http.NewRequest("GET", urls, body)
19098	if err != nil {
19099		return nil, err
19100	}
19101	req.Header = reqHeaders
19102	googleapi.Expand(req.URL, map[string]string{
19103		"parent": c.parent,
19104	})
19105	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19106}
19107
19108// Do executes the "dialogflow.projects.locations.agents.environments.list" call.
19109// Exactly one of *GoogleCloudDialogflowCxV3ListEnvironmentsResponse or
19110// error will be non-nil. Any non-2xx status code is an error. Response
19111// headers are in either
19112// *GoogleCloudDialogflowCxV3ListEnvironmentsResponse.ServerResponse.Head
19113// er or (if a response was returned at all) in
19114// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
19115// whether the returned error was because http.StatusNotModified was
19116// returned.
19117func (c *ProjectsLocationsAgentsEnvironmentsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3ListEnvironmentsResponse, error) {
19118	gensupport.SetOptions(c.urlParams_, opts...)
19119	res, err := c.doRequest("json")
19120	if res != nil && res.StatusCode == http.StatusNotModified {
19121		if res.Body != nil {
19122			res.Body.Close()
19123		}
19124		return nil, &googleapi.Error{
19125			Code:   res.StatusCode,
19126			Header: res.Header,
19127		}
19128	}
19129	if err != nil {
19130		return nil, err
19131	}
19132	defer googleapi.CloseBody(res)
19133	if err := googleapi.CheckResponse(res); err != nil {
19134		return nil, err
19135	}
19136	ret := &GoogleCloudDialogflowCxV3ListEnvironmentsResponse{
19137		ServerResponse: googleapi.ServerResponse{
19138			Header:         res.Header,
19139			HTTPStatusCode: res.StatusCode,
19140		},
19141	}
19142	target := &ret
19143	if err := gensupport.DecodeResponse(target, res); err != nil {
19144		return nil, err
19145	}
19146	return ret, nil
19147	// {
19148	//   "description": "Returns the list of all environments in the specified Agent.",
19149	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments",
19150	//   "httpMethod": "GET",
19151	//   "id": "dialogflow.projects.locations.agents.environments.list",
19152	//   "parameterOrder": [
19153	//     "parent"
19154	//   ],
19155	//   "parameters": {
19156	//     "pageSize": {
19157	//       "description": "The maximum number of items to return in a single page. By default 20 and at most 100.",
19158	//       "format": "int32",
19159	//       "location": "query",
19160	//       "type": "integer"
19161	//     },
19162	//     "pageToken": {
19163	//       "description": "The next_page_token value returned from a previous list request.",
19164	//       "location": "query",
19165	//       "type": "string"
19166	//     },
19167	//     "parent": {
19168	//       "description": "Required. The Agent to list all environments for. Format: `projects//locations//agents/`.",
19169	//       "location": "path",
19170	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$",
19171	//       "required": true,
19172	//       "type": "string"
19173	//     }
19174	//   },
19175	//   "path": "v3/{+parent}/environments",
19176	//   "response": {
19177	//     "$ref": "GoogleCloudDialogflowCxV3ListEnvironmentsResponse"
19178	//   },
19179	//   "scopes": [
19180	//     "https://www.googleapis.com/auth/cloud-platform",
19181	//     "https://www.googleapis.com/auth/dialogflow"
19182	//   ]
19183	// }
19184
19185}
19186
19187// Pages invokes f for each page of results.
19188// A non-nil error returned from f will halt the iteration.
19189// The provided context supersedes any context provided to the Context method.
19190func (c *ProjectsLocationsAgentsEnvironmentsListCall) Pages(ctx context.Context, f func(*GoogleCloudDialogflowCxV3ListEnvironmentsResponse) error) error {
19191	c.ctx_ = ctx
19192	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
19193	for {
19194		x, err := c.Do()
19195		if err != nil {
19196			return err
19197		}
19198		if err := f(x); err != nil {
19199			return err
19200		}
19201		if x.NextPageToken == "" {
19202			return nil
19203		}
19204		c.PageToken(x.NextPageToken)
19205	}
19206}
19207
19208// method id "dialogflow.projects.locations.agents.environments.lookupEnvironmentHistory":
19209
19210type ProjectsLocationsAgentsEnvironmentsLookupEnvironmentHistoryCall struct {
19211	s            *Service
19212	name         string
19213	urlParams_   gensupport.URLParams
19214	ifNoneMatch_ string
19215	ctx_         context.Context
19216	header_      http.Header
19217}
19218
19219// LookupEnvironmentHistory: Looks up the history of the specified
19220// Environment.
19221//
19222// - name: Resource name of the environment to look up the history for.
19223//   Format: `projects//locations//agents//environments/`.
19224func (r *ProjectsLocationsAgentsEnvironmentsService) LookupEnvironmentHistory(name string) *ProjectsLocationsAgentsEnvironmentsLookupEnvironmentHistoryCall {
19225	c := &ProjectsLocationsAgentsEnvironmentsLookupEnvironmentHistoryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19226	c.name = name
19227	return c
19228}
19229
19230// PageSize sets the optional parameter "pageSize": The maximum number
19231// of items to return in a single page. By default 100 and at most 1000.
19232func (c *ProjectsLocationsAgentsEnvironmentsLookupEnvironmentHistoryCall) PageSize(pageSize int64) *ProjectsLocationsAgentsEnvironmentsLookupEnvironmentHistoryCall {
19233	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
19234	return c
19235}
19236
19237// PageToken sets the optional parameter "pageToken": The
19238// next_page_token value returned from a previous list request.
19239func (c *ProjectsLocationsAgentsEnvironmentsLookupEnvironmentHistoryCall) PageToken(pageToken string) *ProjectsLocationsAgentsEnvironmentsLookupEnvironmentHistoryCall {
19240	c.urlParams_.Set("pageToken", pageToken)
19241	return c
19242}
19243
19244// Fields allows partial responses to be retrieved. See
19245// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19246// for more information.
19247func (c *ProjectsLocationsAgentsEnvironmentsLookupEnvironmentHistoryCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsEnvironmentsLookupEnvironmentHistoryCall {
19248	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19249	return c
19250}
19251
19252// IfNoneMatch sets the optional parameter which makes the operation
19253// fail if the object's ETag matches the given value. This is useful for
19254// getting updates only after the object has changed since the last
19255// request. Use googleapi.IsNotModified to check whether the response
19256// error from Do is the result of In-None-Match.
19257func (c *ProjectsLocationsAgentsEnvironmentsLookupEnvironmentHistoryCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsEnvironmentsLookupEnvironmentHistoryCall {
19258	c.ifNoneMatch_ = entityTag
19259	return c
19260}
19261
19262// Context sets the context to be used in this call's Do method. Any
19263// pending HTTP request will be aborted if the provided context is
19264// canceled.
19265func (c *ProjectsLocationsAgentsEnvironmentsLookupEnvironmentHistoryCall) Context(ctx context.Context) *ProjectsLocationsAgentsEnvironmentsLookupEnvironmentHistoryCall {
19266	c.ctx_ = ctx
19267	return c
19268}
19269
19270// Header returns an http.Header that can be modified by the caller to
19271// add HTTP headers to the request.
19272func (c *ProjectsLocationsAgentsEnvironmentsLookupEnvironmentHistoryCall) Header() http.Header {
19273	if c.header_ == nil {
19274		c.header_ = make(http.Header)
19275	}
19276	return c.header_
19277}
19278
19279func (c *ProjectsLocationsAgentsEnvironmentsLookupEnvironmentHistoryCall) doRequest(alt string) (*http.Response, error) {
19280	reqHeaders := make(http.Header)
19281	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
19282	for k, v := range c.header_ {
19283		reqHeaders[k] = v
19284	}
19285	reqHeaders.Set("User-Agent", c.s.userAgent())
19286	if c.ifNoneMatch_ != "" {
19287		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
19288	}
19289	var body io.Reader = nil
19290	c.urlParams_.Set("alt", alt)
19291	c.urlParams_.Set("prettyPrint", "false")
19292	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}:lookupEnvironmentHistory")
19293	urls += "?" + c.urlParams_.Encode()
19294	req, err := http.NewRequest("GET", urls, body)
19295	if err != nil {
19296		return nil, err
19297	}
19298	req.Header = reqHeaders
19299	googleapi.Expand(req.URL, map[string]string{
19300		"name": c.name,
19301	})
19302	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19303}
19304
19305// Do executes the "dialogflow.projects.locations.agents.environments.lookupEnvironmentHistory" call.
19306// Exactly one of
19307// *GoogleCloudDialogflowCxV3LookupEnvironmentHistoryResponse or error
19308// will be non-nil. Any non-2xx status code is an error. Response
19309// headers are in either
19310// *GoogleCloudDialogflowCxV3LookupEnvironmentHistoryResponse.ServerRespo
19311// nse.Header or (if a response was returned at all) in
19312// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
19313// whether the returned error was because http.StatusNotModified was
19314// returned.
19315func (c *ProjectsLocationsAgentsEnvironmentsLookupEnvironmentHistoryCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3LookupEnvironmentHistoryResponse, error) {
19316	gensupport.SetOptions(c.urlParams_, opts...)
19317	res, err := c.doRequest("json")
19318	if res != nil && res.StatusCode == http.StatusNotModified {
19319		if res.Body != nil {
19320			res.Body.Close()
19321		}
19322		return nil, &googleapi.Error{
19323			Code:   res.StatusCode,
19324			Header: res.Header,
19325		}
19326	}
19327	if err != nil {
19328		return nil, err
19329	}
19330	defer googleapi.CloseBody(res)
19331	if err := googleapi.CheckResponse(res); err != nil {
19332		return nil, err
19333	}
19334	ret := &GoogleCloudDialogflowCxV3LookupEnvironmentHistoryResponse{
19335		ServerResponse: googleapi.ServerResponse{
19336			Header:         res.Header,
19337			HTTPStatusCode: res.StatusCode,
19338		},
19339	}
19340	target := &ret
19341	if err := gensupport.DecodeResponse(target, res); err != nil {
19342		return nil, err
19343	}
19344	return ret, nil
19345	// {
19346	//   "description": "Looks up the history of the specified Environment.",
19347	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}:lookupEnvironmentHistory",
19348	//   "httpMethod": "GET",
19349	//   "id": "dialogflow.projects.locations.agents.environments.lookupEnvironmentHistory",
19350	//   "parameterOrder": [
19351	//     "name"
19352	//   ],
19353	//   "parameters": {
19354	//     "name": {
19355	//       "description": "Required. Resource name of the environment to look up the history for. Format: `projects//locations//agents//environments/`.",
19356	//       "location": "path",
19357	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+$",
19358	//       "required": true,
19359	//       "type": "string"
19360	//     },
19361	//     "pageSize": {
19362	//       "description": "The maximum number of items to return in a single page. By default 100 and at most 1000.",
19363	//       "format": "int32",
19364	//       "location": "query",
19365	//       "type": "integer"
19366	//     },
19367	//     "pageToken": {
19368	//       "description": "The next_page_token value returned from a previous list request.",
19369	//       "location": "query",
19370	//       "type": "string"
19371	//     }
19372	//   },
19373	//   "path": "v3/{+name}:lookupEnvironmentHistory",
19374	//   "response": {
19375	//     "$ref": "GoogleCloudDialogflowCxV3LookupEnvironmentHistoryResponse"
19376	//   },
19377	//   "scopes": [
19378	//     "https://www.googleapis.com/auth/cloud-platform",
19379	//     "https://www.googleapis.com/auth/dialogflow"
19380	//   ]
19381	// }
19382
19383}
19384
19385// Pages invokes f for each page of results.
19386// A non-nil error returned from f will halt the iteration.
19387// The provided context supersedes any context provided to the Context method.
19388func (c *ProjectsLocationsAgentsEnvironmentsLookupEnvironmentHistoryCall) Pages(ctx context.Context, f func(*GoogleCloudDialogflowCxV3LookupEnvironmentHistoryResponse) error) error {
19389	c.ctx_ = ctx
19390	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
19391	for {
19392		x, err := c.Do()
19393		if err != nil {
19394			return err
19395		}
19396		if err := f(x); err != nil {
19397			return err
19398		}
19399		if x.NextPageToken == "" {
19400			return nil
19401		}
19402		c.PageToken(x.NextPageToken)
19403	}
19404}
19405
19406// method id "dialogflow.projects.locations.agents.environments.patch":
19407
19408type ProjectsLocationsAgentsEnvironmentsPatchCall struct {
19409	s                                    *Service
19410	name                                 string
19411	googleclouddialogflowcxv3environment *GoogleCloudDialogflowCxV3Environment
19412	urlParams_                           gensupport.URLParams
19413	ctx_                                 context.Context
19414	header_                              http.Header
19415}
19416
19417// Patch: Updates the specified Environment.
19418//
19419// - name: The name of the environment. Format:
19420//   `projects//locations//agents//environments/`.
19421func (r *ProjectsLocationsAgentsEnvironmentsService) Patch(name string, googleclouddialogflowcxv3environment *GoogleCloudDialogflowCxV3Environment) *ProjectsLocationsAgentsEnvironmentsPatchCall {
19422	c := &ProjectsLocationsAgentsEnvironmentsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19423	c.name = name
19424	c.googleclouddialogflowcxv3environment = googleclouddialogflowcxv3environment
19425	return c
19426}
19427
19428// UpdateMask sets the optional parameter "updateMask": Required. The
19429// mask to control which fields get updated.
19430func (c *ProjectsLocationsAgentsEnvironmentsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsAgentsEnvironmentsPatchCall {
19431	c.urlParams_.Set("updateMask", updateMask)
19432	return c
19433}
19434
19435// Fields allows partial responses to be retrieved. See
19436// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19437// for more information.
19438func (c *ProjectsLocationsAgentsEnvironmentsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsEnvironmentsPatchCall {
19439	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19440	return c
19441}
19442
19443// Context sets the context to be used in this call's Do method. Any
19444// pending HTTP request will be aborted if the provided context is
19445// canceled.
19446func (c *ProjectsLocationsAgentsEnvironmentsPatchCall) Context(ctx context.Context) *ProjectsLocationsAgentsEnvironmentsPatchCall {
19447	c.ctx_ = ctx
19448	return c
19449}
19450
19451// Header returns an http.Header that can be modified by the caller to
19452// add HTTP headers to the request.
19453func (c *ProjectsLocationsAgentsEnvironmentsPatchCall) Header() http.Header {
19454	if c.header_ == nil {
19455		c.header_ = make(http.Header)
19456	}
19457	return c.header_
19458}
19459
19460func (c *ProjectsLocationsAgentsEnvironmentsPatchCall) doRequest(alt string) (*http.Response, error) {
19461	reqHeaders := make(http.Header)
19462	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
19463	for k, v := range c.header_ {
19464		reqHeaders[k] = v
19465	}
19466	reqHeaders.Set("User-Agent", c.s.userAgent())
19467	var body io.Reader = nil
19468	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3environment)
19469	if err != nil {
19470		return nil, err
19471	}
19472	reqHeaders.Set("Content-Type", "application/json")
19473	c.urlParams_.Set("alt", alt)
19474	c.urlParams_.Set("prettyPrint", "false")
19475	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
19476	urls += "?" + c.urlParams_.Encode()
19477	req, err := http.NewRequest("PATCH", urls, body)
19478	if err != nil {
19479		return nil, err
19480	}
19481	req.Header = reqHeaders
19482	googleapi.Expand(req.URL, map[string]string{
19483		"name": c.name,
19484	})
19485	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19486}
19487
19488// Do executes the "dialogflow.projects.locations.agents.environments.patch" call.
19489// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
19490// Any non-2xx status code is an error. Response headers are in either
19491// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
19492// was returned at all) in error.(*googleapi.Error).Header. Use
19493// googleapi.IsNotModified to check whether the returned error was
19494// because http.StatusNotModified was returned.
19495func (c *ProjectsLocationsAgentsEnvironmentsPatchCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
19496	gensupport.SetOptions(c.urlParams_, opts...)
19497	res, err := c.doRequest("json")
19498	if res != nil && res.StatusCode == http.StatusNotModified {
19499		if res.Body != nil {
19500			res.Body.Close()
19501		}
19502		return nil, &googleapi.Error{
19503			Code:   res.StatusCode,
19504			Header: res.Header,
19505		}
19506	}
19507	if err != nil {
19508		return nil, err
19509	}
19510	defer googleapi.CloseBody(res)
19511	if err := googleapi.CheckResponse(res); err != nil {
19512		return nil, err
19513	}
19514	ret := &GoogleLongrunningOperation{
19515		ServerResponse: googleapi.ServerResponse{
19516			Header:         res.Header,
19517			HTTPStatusCode: res.StatusCode,
19518		},
19519	}
19520	target := &ret
19521	if err := gensupport.DecodeResponse(target, res); err != nil {
19522		return nil, err
19523	}
19524	return ret, nil
19525	// {
19526	//   "description": "Updates the specified Environment.",
19527	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}",
19528	//   "httpMethod": "PATCH",
19529	//   "id": "dialogflow.projects.locations.agents.environments.patch",
19530	//   "parameterOrder": [
19531	//     "name"
19532	//   ],
19533	//   "parameters": {
19534	//     "name": {
19535	//       "description": "The name of the environment. Format: `projects//locations//agents//environments/`.",
19536	//       "location": "path",
19537	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+$",
19538	//       "required": true,
19539	//       "type": "string"
19540	//     },
19541	//     "updateMask": {
19542	//       "description": "Required. The mask to control which fields get updated.",
19543	//       "format": "google-fieldmask",
19544	//       "location": "query",
19545	//       "type": "string"
19546	//     }
19547	//   },
19548	//   "path": "v3/{+name}",
19549	//   "request": {
19550	//     "$ref": "GoogleCloudDialogflowCxV3Environment"
19551	//   },
19552	//   "response": {
19553	//     "$ref": "GoogleLongrunningOperation"
19554	//   },
19555	//   "scopes": [
19556	//     "https://www.googleapis.com/auth/cloud-platform",
19557	//     "https://www.googleapis.com/auth/dialogflow"
19558	//   ]
19559	// }
19560
19561}
19562
19563// method id "dialogflow.projects.locations.agents.environments.experiments.create":
19564
19565type ProjectsLocationsAgentsEnvironmentsExperimentsCreateCall struct {
19566	s                                   *Service
19567	parent                              string
19568	googleclouddialogflowcxv3experiment *GoogleCloudDialogflowCxV3Experiment
19569	urlParams_                          gensupport.URLParams
19570	ctx_                                context.Context
19571	header_                             http.Header
19572}
19573
19574// Create: Creates an Experiment in the specified Environment.
19575//
19576// - parent: The Agent to create an Environment for. Format:
19577//   `projects//locations//agents//environments/`.
19578func (r *ProjectsLocationsAgentsEnvironmentsExperimentsService) Create(parent string, googleclouddialogflowcxv3experiment *GoogleCloudDialogflowCxV3Experiment) *ProjectsLocationsAgentsEnvironmentsExperimentsCreateCall {
19579	c := &ProjectsLocationsAgentsEnvironmentsExperimentsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19580	c.parent = parent
19581	c.googleclouddialogflowcxv3experiment = googleclouddialogflowcxv3experiment
19582	return c
19583}
19584
19585// Fields allows partial responses to be retrieved. See
19586// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19587// for more information.
19588func (c *ProjectsLocationsAgentsEnvironmentsExperimentsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsEnvironmentsExperimentsCreateCall {
19589	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19590	return c
19591}
19592
19593// Context sets the context to be used in this call's Do method. Any
19594// pending HTTP request will be aborted if the provided context is
19595// canceled.
19596func (c *ProjectsLocationsAgentsEnvironmentsExperimentsCreateCall) Context(ctx context.Context) *ProjectsLocationsAgentsEnvironmentsExperimentsCreateCall {
19597	c.ctx_ = ctx
19598	return c
19599}
19600
19601// Header returns an http.Header that can be modified by the caller to
19602// add HTTP headers to the request.
19603func (c *ProjectsLocationsAgentsEnvironmentsExperimentsCreateCall) Header() http.Header {
19604	if c.header_ == nil {
19605		c.header_ = make(http.Header)
19606	}
19607	return c.header_
19608}
19609
19610func (c *ProjectsLocationsAgentsEnvironmentsExperimentsCreateCall) doRequest(alt string) (*http.Response, error) {
19611	reqHeaders := make(http.Header)
19612	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
19613	for k, v := range c.header_ {
19614		reqHeaders[k] = v
19615	}
19616	reqHeaders.Set("User-Agent", c.s.userAgent())
19617	var body io.Reader = nil
19618	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3experiment)
19619	if err != nil {
19620		return nil, err
19621	}
19622	reqHeaders.Set("Content-Type", "application/json")
19623	c.urlParams_.Set("alt", alt)
19624	c.urlParams_.Set("prettyPrint", "false")
19625	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/experiments")
19626	urls += "?" + c.urlParams_.Encode()
19627	req, err := http.NewRequest("POST", urls, body)
19628	if err != nil {
19629		return nil, err
19630	}
19631	req.Header = reqHeaders
19632	googleapi.Expand(req.URL, map[string]string{
19633		"parent": c.parent,
19634	})
19635	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19636}
19637
19638// Do executes the "dialogflow.projects.locations.agents.environments.experiments.create" call.
19639// Exactly one of *GoogleCloudDialogflowCxV3Experiment or error will be
19640// non-nil. Any non-2xx status code is an error. Response headers are in
19641// either *GoogleCloudDialogflowCxV3Experiment.ServerResponse.Header or
19642// (if a response was returned at all) in
19643// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
19644// whether the returned error was because http.StatusNotModified was
19645// returned.
19646func (c *ProjectsLocationsAgentsEnvironmentsExperimentsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3Experiment, error) {
19647	gensupport.SetOptions(c.urlParams_, opts...)
19648	res, err := c.doRequest("json")
19649	if res != nil && res.StatusCode == http.StatusNotModified {
19650		if res.Body != nil {
19651			res.Body.Close()
19652		}
19653		return nil, &googleapi.Error{
19654			Code:   res.StatusCode,
19655			Header: res.Header,
19656		}
19657	}
19658	if err != nil {
19659		return nil, err
19660	}
19661	defer googleapi.CloseBody(res)
19662	if err := googleapi.CheckResponse(res); err != nil {
19663		return nil, err
19664	}
19665	ret := &GoogleCloudDialogflowCxV3Experiment{
19666		ServerResponse: googleapi.ServerResponse{
19667			Header:         res.Header,
19668			HTTPStatusCode: res.StatusCode,
19669		},
19670	}
19671	target := &ret
19672	if err := gensupport.DecodeResponse(target, res); err != nil {
19673		return nil, err
19674	}
19675	return ret, nil
19676	// {
19677	//   "description": "Creates an Experiment in the specified Environment.",
19678	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}/experiments",
19679	//   "httpMethod": "POST",
19680	//   "id": "dialogflow.projects.locations.agents.environments.experiments.create",
19681	//   "parameterOrder": [
19682	//     "parent"
19683	//   ],
19684	//   "parameters": {
19685	//     "parent": {
19686	//       "description": "Required. The Agent to create an Environment for. Format: `projects//locations//agents//environments/`.",
19687	//       "location": "path",
19688	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+$",
19689	//       "required": true,
19690	//       "type": "string"
19691	//     }
19692	//   },
19693	//   "path": "v3/{+parent}/experiments",
19694	//   "request": {
19695	//     "$ref": "GoogleCloudDialogflowCxV3Experiment"
19696	//   },
19697	//   "response": {
19698	//     "$ref": "GoogleCloudDialogflowCxV3Experiment"
19699	//   },
19700	//   "scopes": [
19701	//     "https://www.googleapis.com/auth/cloud-platform",
19702	//     "https://www.googleapis.com/auth/dialogflow"
19703	//   ]
19704	// }
19705
19706}
19707
19708// method id "dialogflow.projects.locations.agents.environments.experiments.delete":
19709
19710type ProjectsLocationsAgentsEnvironmentsExperimentsDeleteCall struct {
19711	s          *Service
19712	name       string
19713	urlParams_ gensupport.URLParams
19714	ctx_       context.Context
19715	header_    http.Header
19716}
19717
19718// Delete: Deletes the specified Experiment.
19719//
19720// - name: The name of the Environment to delete. Format:
19721//   `projects//locations//agents//environments//experiments/`.
19722func (r *ProjectsLocationsAgentsEnvironmentsExperimentsService) Delete(name string) *ProjectsLocationsAgentsEnvironmentsExperimentsDeleteCall {
19723	c := &ProjectsLocationsAgentsEnvironmentsExperimentsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19724	c.name = name
19725	return c
19726}
19727
19728// Fields allows partial responses to be retrieved. See
19729// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19730// for more information.
19731func (c *ProjectsLocationsAgentsEnvironmentsExperimentsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsEnvironmentsExperimentsDeleteCall {
19732	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19733	return c
19734}
19735
19736// Context sets the context to be used in this call's Do method. Any
19737// pending HTTP request will be aborted if the provided context is
19738// canceled.
19739func (c *ProjectsLocationsAgentsEnvironmentsExperimentsDeleteCall) Context(ctx context.Context) *ProjectsLocationsAgentsEnvironmentsExperimentsDeleteCall {
19740	c.ctx_ = ctx
19741	return c
19742}
19743
19744// Header returns an http.Header that can be modified by the caller to
19745// add HTTP headers to the request.
19746func (c *ProjectsLocationsAgentsEnvironmentsExperimentsDeleteCall) Header() http.Header {
19747	if c.header_ == nil {
19748		c.header_ = make(http.Header)
19749	}
19750	return c.header_
19751}
19752
19753func (c *ProjectsLocationsAgentsEnvironmentsExperimentsDeleteCall) doRequest(alt string) (*http.Response, error) {
19754	reqHeaders := make(http.Header)
19755	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
19756	for k, v := range c.header_ {
19757		reqHeaders[k] = v
19758	}
19759	reqHeaders.Set("User-Agent", c.s.userAgent())
19760	var body io.Reader = nil
19761	c.urlParams_.Set("alt", alt)
19762	c.urlParams_.Set("prettyPrint", "false")
19763	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
19764	urls += "?" + c.urlParams_.Encode()
19765	req, err := http.NewRequest("DELETE", urls, body)
19766	if err != nil {
19767		return nil, err
19768	}
19769	req.Header = reqHeaders
19770	googleapi.Expand(req.URL, map[string]string{
19771		"name": c.name,
19772	})
19773	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19774}
19775
19776// Do executes the "dialogflow.projects.locations.agents.environments.experiments.delete" call.
19777// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
19778// non-2xx status code is an error. Response headers are in either
19779// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
19780// returned at all) in error.(*googleapi.Error).Header. Use
19781// googleapi.IsNotModified to check whether the returned error was
19782// because http.StatusNotModified was returned.
19783func (c *ProjectsLocationsAgentsEnvironmentsExperimentsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
19784	gensupport.SetOptions(c.urlParams_, opts...)
19785	res, err := c.doRequest("json")
19786	if res != nil && res.StatusCode == http.StatusNotModified {
19787		if res.Body != nil {
19788			res.Body.Close()
19789		}
19790		return nil, &googleapi.Error{
19791			Code:   res.StatusCode,
19792			Header: res.Header,
19793		}
19794	}
19795	if err != nil {
19796		return nil, err
19797	}
19798	defer googleapi.CloseBody(res)
19799	if err := googleapi.CheckResponse(res); err != nil {
19800		return nil, err
19801	}
19802	ret := &GoogleProtobufEmpty{
19803		ServerResponse: googleapi.ServerResponse{
19804			Header:         res.Header,
19805			HTTPStatusCode: res.StatusCode,
19806		},
19807	}
19808	target := &ret
19809	if err := gensupport.DecodeResponse(target, res); err != nil {
19810		return nil, err
19811	}
19812	return ret, nil
19813	// {
19814	//   "description": "Deletes the specified Experiment.",
19815	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}/experiments/{experimentsId}",
19816	//   "httpMethod": "DELETE",
19817	//   "id": "dialogflow.projects.locations.agents.environments.experiments.delete",
19818	//   "parameterOrder": [
19819	//     "name"
19820	//   ],
19821	//   "parameters": {
19822	//     "name": {
19823	//       "description": "Required. The name of the Environment to delete. Format: `projects//locations//agents//environments//experiments/`.",
19824	//       "location": "path",
19825	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+/experiments/[^/]+$",
19826	//       "required": true,
19827	//       "type": "string"
19828	//     }
19829	//   },
19830	//   "path": "v3/{+name}",
19831	//   "response": {
19832	//     "$ref": "GoogleProtobufEmpty"
19833	//   },
19834	//   "scopes": [
19835	//     "https://www.googleapis.com/auth/cloud-platform",
19836	//     "https://www.googleapis.com/auth/dialogflow"
19837	//   ]
19838	// }
19839
19840}
19841
19842// method id "dialogflow.projects.locations.agents.environments.experiments.get":
19843
19844type ProjectsLocationsAgentsEnvironmentsExperimentsGetCall struct {
19845	s            *Service
19846	name         string
19847	urlParams_   gensupport.URLParams
19848	ifNoneMatch_ string
19849	ctx_         context.Context
19850	header_      http.Header
19851}
19852
19853// Get: Retrieves the specified Experiment.
19854//
19855// - name: The name of the Environment. Format:
19856//   `projects//locations//agents//environments//experiments/`.
19857func (r *ProjectsLocationsAgentsEnvironmentsExperimentsService) Get(name string) *ProjectsLocationsAgentsEnvironmentsExperimentsGetCall {
19858	c := &ProjectsLocationsAgentsEnvironmentsExperimentsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19859	c.name = name
19860	return c
19861}
19862
19863// Fields allows partial responses to be retrieved. See
19864// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19865// for more information.
19866func (c *ProjectsLocationsAgentsEnvironmentsExperimentsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsEnvironmentsExperimentsGetCall {
19867	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19868	return c
19869}
19870
19871// IfNoneMatch sets the optional parameter which makes the operation
19872// fail if the object's ETag matches the given value. This is useful for
19873// getting updates only after the object has changed since the last
19874// request. Use googleapi.IsNotModified to check whether the response
19875// error from Do is the result of In-None-Match.
19876func (c *ProjectsLocationsAgentsEnvironmentsExperimentsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsEnvironmentsExperimentsGetCall {
19877	c.ifNoneMatch_ = entityTag
19878	return c
19879}
19880
19881// Context sets the context to be used in this call's Do method. Any
19882// pending HTTP request will be aborted if the provided context is
19883// canceled.
19884func (c *ProjectsLocationsAgentsEnvironmentsExperimentsGetCall) Context(ctx context.Context) *ProjectsLocationsAgentsEnvironmentsExperimentsGetCall {
19885	c.ctx_ = ctx
19886	return c
19887}
19888
19889// Header returns an http.Header that can be modified by the caller to
19890// add HTTP headers to the request.
19891func (c *ProjectsLocationsAgentsEnvironmentsExperimentsGetCall) Header() http.Header {
19892	if c.header_ == nil {
19893		c.header_ = make(http.Header)
19894	}
19895	return c.header_
19896}
19897
19898func (c *ProjectsLocationsAgentsEnvironmentsExperimentsGetCall) doRequest(alt string) (*http.Response, error) {
19899	reqHeaders := make(http.Header)
19900	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
19901	for k, v := range c.header_ {
19902		reqHeaders[k] = v
19903	}
19904	reqHeaders.Set("User-Agent", c.s.userAgent())
19905	if c.ifNoneMatch_ != "" {
19906		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
19907	}
19908	var body io.Reader = nil
19909	c.urlParams_.Set("alt", alt)
19910	c.urlParams_.Set("prettyPrint", "false")
19911	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
19912	urls += "?" + c.urlParams_.Encode()
19913	req, err := http.NewRequest("GET", urls, body)
19914	if err != nil {
19915		return nil, err
19916	}
19917	req.Header = reqHeaders
19918	googleapi.Expand(req.URL, map[string]string{
19919		"name": c.name,
19920	})
19921	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19922}
19923
19924// Do executes the "dialogflow.projects.locations.agents.environments.experiments.get" call.
19925// Exactly one of *GoogleCloudDialogflowCxV3Experiment or error will be
19926// non-nil. Any non-2xx status code is an error. Response headers are in
19927// either *GoogleCloudDialogflowCxV3Experiment.ServerResponse.Header or
19928// (if a response was returned at all) in
19929// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
19930// whether the returned error was because http.StatusNotModified was
19931// returned.
19932func (c *ProjectsLocationsAgentsEnvironmentsExperimentsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3Experiment, error) {
19933	gensupport.SetOptions(c.urlParams_, opts...)
19934	res, err := c.doRequest("json")
19935	if res != nil && res.StatusCode == http.StatusNotModified {
19936		if res.Body != nil {
19937			res.Body.Close()
19938		}
19939		return nil, &googleapi.Error{
19940			Code:   res.StatusCode,
19941			Header: res.Header,
19942		}
19943	}
19944	if err != nil {
19945		return nil, err
19946	}
19947	defer googleapi.CloseBody(res)
19948	if err := googleapi.CheckResponse(res); err != nil {
19949		return nil, err
19950	}
19951	ret := &GoogleCloudDialogflowCxV3Experiment{
19952		ServerResponse: googleapi.ServerResponse{
19953			Header:         res.Header,
19954			HTTPStatusCode: res.StatusCode,
19955		},
19956	}
19957	target := &ret
19958	if err := gensupport.DecodeResponse(target, res); err != nil {
19959		return nil, err
19960	}
19961	return ret, nil
19962	// {
19963	//   "description": "Retrieves the specified Experiment.",
19964	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}/experiments/{experimentsId}",
19965	//   "httpMethod": "GET",
19966	//   "id": "dialogflow.projects.locations.agents.environments.experiments.get",
19967	//   "parameterOrder": [
19968	//     "name"
19969	//   ],
19970	//   "parameters": {
19971	//     "name": {
19972	//       "description": "Required. The name of the Environment. Format: `projects//locations//agents//environments//experiments/`.",
19973	//       "location": "path",
19974	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+/experiments/[^/]+$",
19975	//       "required": true,
19976	//       "type": "string"
19977	//     }
19978	//   },
19979	//   "path": "v3/{+name}",
19980	//   "response": {
19981	//     "$ref": "GoogleCloudDialogflowCxV3Experiment"
19982	//   },
19983	//   "scopes": [
19984	//     "https://www.googleapis.com/auth/cloud-platform",
19985	//     "https://www.googleapis.com/auth/dialogflow"
19986	//   ]
19987	// }
19988
19989}
19990
19991// method id "dialogflow.projects.locations.agents.environments.experiments.list":
19992
19993type ProjectsLocationsAgentsEnvironmentsExperimentsListCall struct {
19994	s            *Service
19995	parent       string
19996	urlParams_   gensupport.URLParams
19997	ifNoneMatch_ string
19998	ctx_         context.Context
19999	header_      http.Header
20000}
20001
20002// List: Returns the list of all experiments in the specified
20003// Environment.
20004//
20005// - parent: The Environment to list all environments for. Format:
20006//   `projects//locations//agents//environments/`.
20007func (r *ProjectsLocationsAgentsEnvironmentsExperimentsService) List(parent string) *ProjectsLocationsAgentsEnvironmentsExperimentsListCall {
20008	c := &ProjectsLocationsAgentsEnvironmentsExperimentsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20009	c.parent = parent
20010	return c
20011}
20012
20013// PageSize sets the optional parameter "pageSize": The maximum number
20014// of items to return in a single page. By default 20 and at most 100.
20015func (c *ProjectsLocationsAgentsEnvironmentsExperimentsListCall) PageSize(pageSize int64) *ProjectsLocationsAgentsEnvironmentsExperimentsListCall {
20016	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
20017	return c
20018}
20019
20020// PageToken sets the optional parameter "pageToken": The
20021// next_page_token value returned from a previous list request.
20022func (c *ProjectsLocationsAgentsEnvironmentsExperimentsListCall) PageToken(pageToken string) *ProjectsLocationsAgentsEnvironmentsExperimentsListCall {
20023	c.urlParams_.Set("pageToken", pageToken)
20024	return c
20025}
20026
20027// Fields allows partial responses to be retrieved. See
20028// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20029// for more information.
20030func (c *ProjectsLocationsAgentsEnvironmentsExperimentsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsEnvironmentsExperimentsListCall {
20031	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20032	return c
20033}
20034
20035// IfNoneMatch sets the optional parameter which makes the operation
20036// fail if the object's ETag matches the given value. This is useful for
20037// getting updates only after the object has changed since the last
20038// request. Use googleapi.IsNotModified to check whether the response
20039// error from Do is the result of In-None-Match.
20040func (c *ProjectsLocationsAgentsEnvironmentsExperimentsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsEnvironmentsExperimentsListCall {
20041	c.ifNoneMatch_ = entityTag
20042	return c
20043}
20044
20045// Context sets the context to be used in this call's Do method. Any
20046// pending HTTP request will be aborted if the provided context is
20047// canceled.
20048func (c *ProjectsLocationsAgentsEnvironmentsExperimentsListCall) Context(ctx context.Context) *ProjectsLocationsAgentsEnvironmentsExperimentsListCall {
20049	c.ctx_ = ctx
20050	return c
20051}
20052
20053// Header returns an http.Header that can be modified by the caller to
20054// add HTTP headers to the request.
20055func (c *ProjectsLocationsAgentsEnvironmentsExperimentsListCall) Header() http.Header {
20056	if c.header_ == nil {
20057		c.header_ = make(http.Header)
20058	}
20059	return c.header_
20060}
20061
20062func (c *ProjectsLocationsAgentsEnvironmentsExperimentsListCall) doRequest(alt string) (*http.Response, error) {
20063	reqHeaders := make(http.Header)
20064	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
20065	for k, v := range c.header_ {
20066		reqHeaders[k] = v
20067	}
20068	reqHeaders.Set("User-Agent", c.s.userAgent())
20069	if c.ifNoneMatch_ != "" {
20070		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
20071	}
20072	var body io.Reader = nil
20073	c.urlParams_.Set("alt", alt)
20074	c.urlParams_.Set("prettyPrint", "false")
20075	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/experiments")
20076	urls += "?" + c.urlParams_.Encode()
20077	req, err := http.NewRequest("GET", urls, body)
20078	if err != nil {
20079		return nil, err
20080	}
20081	req.Header = reqHeaders
20082	googleapi.Expand(req.URL, map[string]string{
20083		"parent": c.parent,
20084	})
20085	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20086}
20087
20088// Do executes the "dialogflow.projects.locations.agents.environments.experiments.list" call.
20089// Exactly one of *GoogleCloudDialogflowCxV3ListExperimentsResponse or
20090// error will be non-nil. Any non-2xx status code is an error. Response
20091// headers are in either
20092// *GoogleCloudDialogflowCxV3ListExperimentsResponse.ServerResponse.Heade
20093// r or (if a response was returned at all) in
20094// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
20095// whether the returned error was because http.StatusNotModified was
20096// returned.
20097func (c *ProjectsLocationsAgentsEnvironmentsExperimentsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3ListExperimentsResponse, error) {
20098	gensupport.SetOptions(c.urlParams_, opts...)
20099	res, err := c.doRequest("json")
20100	if res != nil && res.StatusCode == http.StatusNotModified {
20101		if res.Body != nil {
20102			res.Body.Close()
20103		}
20104		return nil, &googleapi.Error{
20105			Code:   res.StatusCode,
20106			Header: res.Header,
20107		}
20108	}
20109	if err != nil {
20110		return nil, err
20111	}
20112	defer googleapi.CloseBody(res)
20113	if err := googleapi.CheckResponse(res); err != nil {
20114		return nil, err
20115	}
20116	ret := &GoogleCloudDialogflowCxV3ListExperimentsResponse{
20117		ServerResponse: googleapi.ServerResponse{
20118			Header:         res.Header,
20119			HTTPStatusCode: res.StatusCode,
20120		},
20121	}
20122	target := &ret
20123	if err := gensupport.DecodeResponse(target, res); err != nil {
20124		return nil, err
20125	}
20126	return ret, nil
20127	// {
20128	//   "description": "Returns the list of all experiments in the specified Environment.",
20129	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}/experiments",
20130	//   "httpMethod": "GET",
20131	//   "id": "dialogflow.projects.locations.agents.environments.experiments.list",
20132	//   "parameterOrder": [
20133	//     "parent"
20134	//   ],
20135	//   "parameters": {
20136	//     "pageSize": {
20137	//       "description": "The maximum number of items to return in a single page. By default 20 and at most 100.",
20138	//       "format": "int32",
20139	//       "location": "query",
20140	//       "type": "integer"
20141	//     },
20142	//     "pageToken": {
20143	//       "description": "The next_page_token value returned from a previous list request.",
20144	//       "location": "query",
20145	//       "type": "string"
20146	//     },
20147	//     "parent": {
20148	//       "description": "Required. The Environment to list all environments for. Format: `projects//locations//agents//environments/`.",
20149	//       "location": "path",
20150	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+$",
20151	//       "required": true,
20152	//       "type": "string"
20153	//     }
20154	//   },
20155	//   "path": "v3/{+parent}/experiments",
20156	//   "response": {
20157	//     "$ref": "GoogleCloudDialogflowCxV3ListExperimentsResponse"
20158	//   },
20159	//   "scopes": [
20160	//     "https://www.googleapis.com/auth/cloud-platform",
20161	//     "https://www.googleapis.com/auth/dialogflow"
20162	//   ]
20163	// }
20164
20165}
20166
20167// Pages invokes f for each page of results.
20168// A non-nil error returned from f will halt the iteration.
20169// The provided context supersedes any context provided to the Context method.
20170func (c *ProjectsLocationsAgentsEnvironmentsExperimentsListCall) Pages(ctx context.Context, f func(*GoogleCloudDialogflowCxV3ListExperimentsResponse) error) error {
20171	c.ctx_ = ctx
20172	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
20173	for {
20174		x, err := c.Do()
20175		if err != nil {
20176			return err
20177		}
20178		if err := f(x); err != nil {
20179			return err
20180		}
20181		if x.NextPageToken == "" {
20182			return nil
20183		}
20184		c.PageToken(x.NextPageToken)
20185	}
20186}
20187
20188// method id "dialogflow.projects.locations.agents.environments.experiments.patch":
20189
20190type ProjectsLocationsAgentsEnvironmentsExperimentsPatchCall struct {
20191	s                                   *Service
20192	name                                string
20193	googleclouddialogflowcxv3experiment *GoogleCloudDialogflowCxV3Experiment
20194	urlParams_                          gensupport.URLParams
20195	ctx_                                context.Context
20196	header_                             http.Header
20197}
20198
20199// Patch: Updates the specified Experiment.
20200//
20201// - name: The name of the experiment. Format:
20202//   projects//locations//agents//environments//experiments/..
20203func (r *ProjectsLocationsAgentsEnvironmentsExperimentsService) Patch(name string, googleclouddialogflowcxv3experiment *GoogleCloudDialogflowCxV3Experiment) *ProjectsLocationsAgentsEnvironmentsExperimentsPatchCall {
20204	c := &ProjectsLocationsAgentsEnvironmentsExperimentsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20205	c.name = name
20206	c.googleclouddialogflowcxv3experiment = googleclouddialogflowcxv3experiment
20207	return c
20208}
20209
20210// UpdateMask sets the optional parameter "updateMask": Required. The
20211// mask to control which fields get updated.
20212func (c *ProjectsLocationsAgentsEnvironmentsExperimentsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsAgentsEnvironmentsExperimentsPatchCall {
20213	c.urlParams_.Set("updateMask", updateMask)
20214	return c
20215}
20216
20217// Fields allows partial responses to be retrieved. See
20218// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20219// for more information.
20220func (c *ProjectsLocationsAgentsEnvironmentsExperimentsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsEnvironmentsExperimentsPatchCall {
20221	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20222	return c
20223}
20224
20225// Context sets the context to be used in this call's Do method. Any
20226// pending HTTP request will be aborted if the provided context is
20227// canceled.
20228func (c *ProjectsLocationsAgentsEnvironmentsExperimentsPatchCall) Context(ctx context.Context) *ProjectsLocationsAgentsEnvironmentsExperimentsPatchCall {
20229	c.ctx_ = ctx
20230	return c
20231}
20232
20233// Header returns an http.Header that can be modified by the caller to
20234// add HTTP headers to the request.
20235func (c *ProjectsLocationsAgentsEnvironmentsExperimentsPatchCall) Header() http.Header {
20236	if c.header_ == nil {
20237		c.header_ = make(http.Header)
20238	}
20239	return c.header_
20240}
20241
20242func (c *ProjectsLocationsAgentsEnvironmentsExperimentsPatchCall) doRequest(alt string) (*http.Response, error) {
20243	reqHeaders := make(http.Header)
20244	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
20245	for k, v := range c.header_ {
20246		reqHeaders[k] = v
20247	}
20248	reqHeaders.Set("User-Agent", c.s.userAgent())
20249	var body io.Reader = nil
20250	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3experiment)
20251	if err != nil {
20252		return nil, err
20253	}
20254	reqHeaders.Set("Content-Type", "application/json")
20255	c.urlParams_.Set("alt", alt)
20256	c.urlParams_.Set("prettyPrint", "false")
20257	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
20258	urls += "?" + c.urlParams_.Encode()
20259	req, err := http.NewRequest("PATCH", urls, body)
20260	if err != nil {
20261		return nil, err
20262	}
20263	req.Header = reqHeaders
20264	googleapi.Expand(req.URL, map[string]string{
20265		"name": c.name,
20266	})
20267	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20268}
20269
20270// Do executes the "dialogflow.projects.locations.agents.environments.experiments.patch" call.
20271// Exactly one of *GoogleCloudDialogflowCxV3Experiment or error will be
20272// non-nil. Any non-2xx status code is an error. Response headers are in
20273// either *GoogleCloudDialogflowCxV3Experiment.ServerResponse.Header or
20274// (if a response was returned at all) in
20275// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
20276// whether the returned error was because http.StatusNotModified was
20277// returned.
20278func (c *ProjectsLocationsAgentsEnvironmentsExperimentsPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3Experiment, error) {
20279	gensupport.SetOptions(c.urlParams_, opts...)
20280	res, err := c.doRequest("json")
20281	if res != nil && res.StatusCode == http.StatusNotModified {
20282		if res.Body != nil {
20283			res.Body.Close()
20284		}
20285		return nil, &googleapi.Error{
20286			Code:   res.StatusCode,
20287			Header: res.Header,
20288		}
20289	}
20290	if err != nil {
20291		return nil, err
20292	}
20293	defer googleapi.CloseBody(res)
20294	if err := googleapi.CheckResponse(res); err != nil {
20295		return nil, err
20296	}
20297	ret := &GoogleCloudDialogflowCxV3Experiment{
20298		ServerResponse: googleapi.ServerResponse{
20299			Header:         res.Header,
20300			HTTPStatusCode: res.StatusCode,
20301		},
20302	}
20303	target := &ret
20304	if err := gensupport.DecodeResponse(target, res); err != nil {
20305		return nil, err
20306	}
20307	return ret, nil
20308	// {
20309	//   "description": "Updates the specified Experiment.",
20310	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}/experiments/{experimentsId}",
20311	//   "httpMethod": "PATCH",
20312	//   "id": "dialogflow.projects.locations.agents.environments.experiments.patch",
20313	//   "parameterOrder": [
20314	//     "name"
20315	//   ],
20316	//   "parameters": {
20317	//     "name": {
20318	//       "description": "The name of the experiment. Format: projects//locations//agents//environments//experiments/..",
20319	//       "location": "path",
20320	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+/experiments/[^/]+$",
20321	//       "required": true,
20322	//       "type": "string"
20323	//     },
20324	//     "updateMask": {
20325	//       "description": "Required. The mask to control which fields get updated.",
20326	//       "format": "google-fieldmask",
20327	//       "location": "query",
20328	//       "type": "string"
20329	//     }
20330	//   },
20331	//   "path": "v3/{+name}",
20332	//   "request": {
20333	//     "$ref": "GoogleCloudDialogflowCxV3Experiment"
20334	//   },
20335	//   "response": {
20336	//     "$ref": "GoogleCloudDialogflowCxV3Experiment"
20337	//   },
20338	//   "scopes": [
20339	//     "https://www.googleapis.com/auth/cloud-platform",
20340	//     "https://www.googleapis.com/auth/dialogflow"
20341	//   ]
20342	// }
20343
20344}
20345
20346// method id "dialogflow.projects.locations.agents.environments.experiments.start":
20347
20348type ProjectsLocationsAgentsEnvironmentsExperimentsStartCall struct {
20349	s                                               *Service
20350	name                                            string
20351	googleclouddialogflowcxv3startexperimentrequest *GoogleCloudDialogflowCxV3StartExperimentRequest
20352	urlParams_                                      gensupport.URLParams
20353	ctx_                                            context.Context
20354	header_                                         http.Header
20355}
20356
20357// Start: Starts the specified Experiment. This rpc only changes the
20358// state of experiment from PENDING to RUNNING.
20359//
20360// - name: Resource name of the experiment to start. Format:
20361//   `projects//locations//agents//environments//experiments/`.
20362func (r *ProjectsLocationsAgentsEnvironmentsExperimentsService) Start(name string, googleclouddialogflowcxv3startexperimentrequest *GoogleCloudDialogflowCxV3StartExperimentRequest) *ProjectsLocationsAgentsEnvironmentsExperimentsStartCall {
20363	c := &ProjectsLocationsAgentsEnvironmentsExperimentsStartCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20364	c.name = name
20365	c.googleclouddialogflowcxv3startexperimentrequest = googleclouddialogflowcxv3startexperimentrequest
20366	return c
20367}
20368
20369// Fields allows partial responses to be retrieved. See
20370// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20371// for more information.
20372func (c *ProjectsLocationsAgentsEnvironmentsExperimentsStartCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsEnvironmentsExperimentsStartCall {
20373	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20374	return c
20375}
20376
20377// Context sets the context to be used in this call's Do method. Any
20378// pending HTTP request will be aborted if the provided context is
20379// canceled.
20380func (c *ProjectsLocationsAgentsEnvironmentsExperimentsStartCall) Context(ctx context.Context) *ProjectsLocationsAgentsEnvironmentsExperimentsStartCall {
20381	c.ctx_ = ctx
20382	return c
20383}
20384
20385// Header returns an http.Header that can be modified by the caller to
20386// add HTTP headers to the request.
20387func (c *ProjectsLocationsAgentsEnvironmentsExperimentsStartCall) Header() http.Header {
20388	if c.header_ == nil {
20389		c.header_ = make(http.Header)
20390	}
20391	return c.header_
20392}
20393
20394func (c *ProjectsLocationsAgentsEnvironmentsExperimentsStartCall) doRequest(alt string) (*http.Response, error) {
20395	reqHeaders := make(http.Header)
20396	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
20397	for k, v := range c.header_ {
20398		reqHeaders[k] = v
20399	}
20400	reqHeaders.Set("User-Agent", c.s.userAgent())
20401	var body io.Reader = nil
20402	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3startexperimentrequest)
20403	if err != nil {
20404		return nil, err
20405	}
20406	reqHeaders.Set("Content-Type", "application/json")
20407	c.urlParams_.Set("alt", alt)
20408	c.urlParams_.Set("prettyPrint", "false")
20409	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}:start")
20410	urls += "?" + c.urlParams_.Encode()
20411	req, err := http.NewRequest("POST", urls, body)
20412	if err != nil {
20413		return nil, err
20414	}
20415	req.Header = reqHeaders
20416	googleapi.Expand(req.URL, map[string]string{
20417		"name": c.name,
20418	})
20419	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20420}
20421
20422// Do executes the "dialogflow.projects.locations.agents.environments.experiments.start" call.
20423// Exactly one of *GoogleCloudDialogflowCxV3Experiment or error will be
20424// non-nil. Any non-2xx status code is an error. Response headers are in
20425// either *GoogleCloudDialogflowCxV3Experiment.ServerResponse.Header or
20426// (if a response was returned at all) in
20427// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
20428// whether the returned error was because http.StatusNotModified was
20429// returned.
20430func (c *ProjectsLocationsAgentsEnvironmentsExperimentsStartCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3Experiment, error) {
20431	gensupport.SetOptions(c.urlParams_, opts...)
20432	res, err := c.doRequest("json")
20433	if res != nil && res.StatusCode == http.StatusNotModified {
20434		if res.Body != nil {
20435			res.Body.Close()
20436		}
20437		return nil, &googleapi.Error{
20438			Code:   res.StatusCode,
20439			Header: res.Header,
20440		}
20441	}
20442	if err != nil {
20443		return nil, err
20444	}
20445	defer googleapi.CloseBody(res)
20446	if err := googleapi.CheckResponse(res); err != nil {
20447		return nil, err
20448	}
20449	ret := &GoogleCloudDialogflowCxV3Experiment{
20450		ServerResponse: googleapi.ServerResponse{
20451			Header:         res.Header,
20452			HTTPStatusCode: res.StatusCode,
20453		},
20454	}
20455	target := &ret
20456	if err := gensupport.DecodeResponse(target, res); err != nil {
20457		return nil, err
20458	}
20459	return ret, nil
20460	// {
20461	//   "description": "Starts the specified Experiment. This rpc only changes the state of experiment from PENDING to RUNNING.",
20462	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}/experiments/{experimentsId}:start",
20463	//   "httpMethod": "POST",
20464	//   "id": "dialogflow.projects.locations.agents.environments.experiments.start",
20465	//   "parameterOrder": [
20466	//     "name"
20467	//   ],
20468	//   "parameters": {
20469	//     "name": {
20470	//       "description": "Required. Resource name of the experiment to start. Format: `projects//locations//agents//environments//experiments/`.",
20471	//       "location": "path",
20472	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+/experiments/[^/]+$",
20473	//       "required": true,
20474	//       "type": "string"
20475	//     }
20476	//   },
20477	//   "path": "v3/{+name}:start",
20478	//   "request": {
20479	//     "$ref": "GoogleCloudDialogflowCxV3StartExperimentRequest"
20480	//   },
20481	//   "response": {
20482	//     "$ref": "GoogleCloudDialogflowCxV3Experiment"
20483	//   },
20484	//   "scopes": [
20485	//     "https://www.googleapis.com/auth/cloud-platform",
20486	//     "https://www.googleapis.com/auth/dialogflow"
20487	//   ]
20488	// }
20489
20490}
20491
20492// method id "dialogflow.projects.locations.agents.environments.experiments.stop":
20493
20494type ProjectsLocationsAgentsEnvironmentsExperimentsStopCall struct {
20495	s                                              *Service
20496	name                                           string
20497	googleclouddialogflowcxv3stopexperimentrequest *GoogleCloudDialogflowCxV3StopExperimentRequest
20498	urlParams_                                     gensupport.URLParams
20499	ctx_                                           context.Context
20500	header_                                        http.Header
20501}
20502
20503// Stop: Stops the specified Experiment. This rpc only changes the state
20504// of experiment from RUNNING to DONE.
20505//
20506// - name: Resource name of the experiment to stop. Format:
20507//   `projects//locations//agents//environments//experiments/`.
20508func (r *ProjectsLocationsAgentsEnvironmentsExperimentsService) Stop(name string, googleclouddialogflowcxv3stopexperimentrequest *GoogleCloudDialogflowCxV3StopExperimentRequest) *ProjectsLocationsAgentsEnvironmentsExperimentsStopCall {
20509	c := &ProjectsLocationsAgentsEnvironmentsExperimentsStopCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20510	c.name = name
20511	c.googleclouddialogflowcxv3stopexperimentrequest = googleclouddialogflowcxv3stopexperimentrequest
20512	return c
20513}
20514
20515// Fields allows partial responses to be retrieved. See
20516// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20517// for more information.
20518func (c *ProjectsLocationsAgentsEnvironmentsExperimentsStopCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsEnvironmentsExperimentsStopCall {
20519	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20520	return c
20521}
20522
20523// Context sets the context to be used in this call's Do method. Any
20524// pending HTTP request will be aborted if the provided context is
20525// canceled.
20526func (c *ProjectsLocationsAgentsEnvironmentsExperimentsStopCall) Context(ctx context.Context) *ProjectsLocationsAgentsEnvironmentsExperimentsStopCall {
20527	c.ctx_ = ctx
20528	return c
20529}
20530
20531// Header returns an http.Header that can be modified by the caller to
20532// add HTTP headers to the request.
20533func (c *ProjectsLocationsAgentsEnvironmentsExperimentsStopCall) Header() http.Header {
20534	if c.header_ == nil {
20535		c.header_ = make(http.Header)
20536	}
20537	return c.header_
20538}
20539
20540func (c *ProjectsLocationsAgentsEnvironmentsExperimentsStopCall) doRequest(alt string) (*http.Response, error) {
20541	reqHeaders := make(http.Header)
20542	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
20543	for k, v := range c.header_ {
20544		reqHeaders[k] = v
20545	}
20546	reqHeaders.Set("User-Agent", c.s.userAgent())
20547	var body io.Reader = nil
20548	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3stopexperimentrequest)
20549	if err != nil {
20550		return nil, err
20551	}
20552	reqHeaders.Set("Content-Type", "application/json")
20553	c.urlParams_.Set("alt", alt)
20554	c.urlParams_.Set("prettyPrint", "false")
20555	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}:stop")
20556	urls += "?" + c.urlParams_.Encode()
20557	req, err := http.NewRequest("POST", urls, body)
20558	if err != nil {
20559		return nil, err
20560	}
20561	req.Header = reqHeaders
20562	googleapi.Expand(req.URL, map[string]string{
20563		"name": c.name,
20564	})
20565	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20566}
20567
20568// Do executes the "dialogflow.projects.locations.agents.environments.experiments.stop" call.
20569// Exactly one of *GoogleCloudDialogflowCxV3Experiment or error will be
20570// non-nil. Any non-2xx status code is an error. Response headers are in
20571// either *GoogleCloudDialogflowCxV3Experiment.ServerResponse.Header or
20572// (if a response was returned at all) in
20573// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
20574// whether the returned error was because http.StatusNotModified was
20575// returned.
20576func (c *ProjectsLocationsAgentsEnvironmentsExperimentsStopCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3Experiment, error) {
20577	gensupport.SetOptions(c.urlParams_, opts...)
20578	res, err := c.doRequest("json")
20579	if res != nil && res.StatusCode == http.StatusNotModified {
20580		if res.Body != nil {
20581			res.Body.Close()
20582		}
20583		return nil, &googleapi.Error{
20584			Code:   res.StatusCode,
20585			Header: res.Header,
20586		}
20587	}
20588	if err != nil {
20589		return nil, err
20590	}
20591	defer googleapi.CloseBody(res)
20592	if err := googleapi.CheckResponse(res); err != nil {
20593		return nil, err
20594	}
20595	ret := &GoogleCloudDialogflowCxV3Experiment{
20596		ServerResponse: googleapi.ServerResponse{
20597			Header:         res.Header,
20598			HTTPStatusCode: res.StatusCode,
20599		},
20600	}
20601	target := &ret
20602	if err := gensupport.DecodeResponse(target, res); err != nil {
20603		return nil, err
20604	}
20605	return ret, nil
20606	// {
20607	//   "description": "Stops the specified Experiment. This rpc only changes the state of experiment from RUNNING to DONE.",
20608	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}/experiments/{experimentsId}:stop",
20609	//   "httpMethod": "POST",
20610	//   "id": "dialogflow.projects.locations.agents.environments.experiments.stop",
20611	//   "parameterOrder": [
20612	//     "name"
20613	//   ],
20614	//   "parameters": {
20615	//     "name": {
20616	//       "description": "Required. Resource name of the experiment to stop. Format: `projects//locations//agents//environments//experiments/`.",
20617	//       "location": "path",
20618	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+/experiments/[^/]+$",
20619	//       "required": true,
20620	//       "type": "string"
20621	//     }
20622	//   },
20623	//   "path": "v3/{+name}:stop",
20624	//   "request": {
20625	//     "$ref": "GoogleCloudDialogflowCxV3StopExperimentRequest"
20626	//   },
20627	//   "response": {
20628	//     "$ref": "GoogleCloudDialogflowCxV3Experiment"
20629	//   },
20630	//   "scopes": [
20631	//     "https://www.googleapis.com/auth/cloud-platform",
20632	//     "https://www.googleapis.com/auth/dialogflow"
20633	//   ]
20634	// }
20635
20636}
20637
20638// method id "dialogflow.projects.locations.agents.environments.sessions.detectIntent":
20639
20640type ProjectsLocationsAgentsEnvironmentsSessionsDetectIntentCall struct {
20641	s                                            *Service
20642	sessionid                                    string
20643	googleclouddialogflowcxv3detectintentrequest *GoogleCloudDialogflowCxV3DetectIntentRequest
20644	urlParams_                                   gensupport.URLParams
20645	ctx_                                         context.Context
20646	header_                                      http.Header
20647}
20648
20649// DetectIntent: Processes a natural language query and returns
20650// structured, actionable data as a result. This method is not
20651// idempotent, because it may cause session entity types to be updated,
20652// which in turn might affect results of future queries. Note: Always
20653// use agent versions for production traffic. See Versions and
20654// environments
20655// (https://cloud.google.com/dialogflow/cx/docs/concept/version).
20656//
20657// - session: The name of the session this query is sent to. Format:
20658//   `projects//locations//agents//sessions/` or
20659//   `projects//locations//agents//environments//sessions/`. If
20660//   `Environment ID` is not specified, we assume default 'draft'
20661//   environment. It's up to the API caller to choose an appropriate
20662//   `Session ID`. It can be a random number or some type of session
20663//   identifiers (preferably hashed). The length of the `Session ID`
20664//   must not exceed 36 characters. For more information, see the
20665//   sessions guide
20666//   (https://cloud.google.com/dialogflow/cx/docs/concept/session).
20667//   Note: Always use agent versions for production traffic. See
20668//   Versions and environments
20669//   (https://cloud.google.com/dialogflow/cx/docs/concept/version).
20670func (r *ProjectsLocationsAgentsEnvironmentsSessionsService) DetectIntent(sessionid string, googleclouddialogflowcxv3detectintentrequest *GoogleCloudDialogflowCxV3DetectIntentRequest) *ProjectsLocationsAgentsEnvironmentsSessionsDetectIntentCall {
20671	c := &ProjectsLocationsAgentsEnvironmentsSessionsDetectIntentCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20672	c.sessionid = sessionid
20673	c.googleclouddialogflowcxv3detectintentrequest = googleclouddialogflowcxv3detectintentrequest
20674	return c
20675}
20676
20677// Fields allows partial responses to be retrieved. See
20678// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20679// for more information.
20680func (c *ProjectsLocationsAgentsEnvironmentsSessionsDetectIntentCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsEnvironmentsSessionsDetectIntentCall {
20681	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20682	return c
20683}
20684
20685// Context sets the context to be used in this call's Do method. Any
20686// pending HTTP request will be aborted if the provided context is
20687// canceled.
20688func (c *ProjectsLocationsAgentsEnvironmentsSessionsDetectIntentCall) Context(ctx context.Context) *ProjectsLocationsAgentsEnvironmentsSessionsDetectIntentCall {
20689	c.ctx_ = ctx
20690	return c
20691}
20692
20693// Header returns an http.Header that can be modified by the caller to
20694// add HTTP headers to the request.
20695func (c *ProjectsLocationsAgentsEnvironmentsSessionsDetectIntentCall) Header() http.Header {
20696	if c.header_ == nil {
20697		c.header_ = make(http.Header)
20698	}
20699	return c.header_
20700}
20701
20702func (c *ProjectsLocationsAgentsEnvironmentsSessionsDetectIntentCall) doRequest(alt string) (*http.Response, error) {
20703	reqHeaders := make(http.Header)
20704	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
20705	for k, v := range c.header_ {
20706		reqHeaders[k] = v
20707	}
20708	reqHeaders.Set("User-Agent", c.s.userAgent())
20709	var body io.Reader = nil
20710	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3detectintentrequest)
20711	if err != nil {
20712		return nil, err
20713	}
20714	reqHeaders.Set("Content-Type", "application/json")
20715	c.urlParams_.Set("alt", alt)
20716	c.urlParams_.Set("prettyPrint", "false")
20717	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+session}:detectIntent")
20718	urls += "?" + c.urlParams_.Encode()
20719	req, err := http.NewRequest("POST", urls, body)
20720	if err != nil {
20721		return nil, err
20722	}
20723	req.Header = reqHeaders
20724	googleapi.Expand(req.URL, map[string]string{
20725		"session": c.sessionid,
20726	})
20727	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20728}
20729
20730// Do executes the "dialogflow.projects.locations.agents.environments.sessions.detectIntent" call.
20731// Exactly one of *GoogleCloudDialogflowCxV3DetectIntentResponse or
20732// error will be non-nil. Any non-2xx status code is an error. Response
20733// headers are in either
20734// *GoogleCloudDialogflowCxV3DetectIntentResponse.ServerResponse.Header
20735// or (if a response was returned at all) in
20736// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
20737// whether the returned error was because http.StatusNotModified was
20738// returned.
20739func (c *ProjectsLocationsAgentsEnvironmentsSessionsDetectIntentCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3DetectIntentResponse, error) {
20740	gensupport.SetOptions(c.urlParams_, opts...)
20741	res, err := c.doRequest("json")
20742	if res != nil && res.StatusCode == http.StatusNotModified {
20743		if res.Body != nil {
20744			res.Body.Close()
20745		}
20746		return nil, &googleapi.Error{
20747			Code:   res.StatusCode,
20748			Header: res.Header,
20749		}
20750	}
20751	if err != nil {
20752		return nil, err
20753	}
20754	defer googleapi.CloseBody(res)
20755	if err := googleapi.CheckResponse(res); err != nil {
20756		return nil, err
20757	}
20758	ret := &GoogleCloudDialogflowCxV3DetectIntentResponse{
20759		ServerResponse: googleapi.ServerResponse{
20760			Header:         res.Header,
20761			HTTPStatusCode: res.StatusCode,
20762		},
20763	}
20764	target := &ret
20765	if err := gensupport.DecodeResponse(target, res); err != nil {
20766		return nil, err
20767	}
20768	return ret, nil
20769	// {
20770	//   "description": "Processes a natural language query and returns structured, actionable data as a result. This method is not idempotent, because it may cause session entity types to be updated, which in turn might affect results of future queries. Note: Always use agent versions for production traffic. See [Versions and environments](https://cloud.google.com/dialogflow/cx/docs/concept/version).",
20771	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}/sessions/{sessionsId}:detectIntent",
20772	//   "httpMethod": "POST",
20773	//   "id": "dialogflow.projects.locations.agents.environments.sessions.detectIntent",
20774	//   "parameterOrder": [
20775	//     "session"
20776	//   ],
20777	//   "parameters": {
20778	//     "session": {
20779	//       "description": "Required. The name of the session this query is sent to. Format: `projects//locations//agents//sessions/` or `projects//locations//agents//environments//sessions/`. If `Environment ID` is not specified, we assume default 'draft' environment. It's up to the API caller to choose an appropriate `Session ID`. It can be a random number or some type of session identifiers (preferably hashed). The length of the `Session ID` must not exceed 36 characters. For more information, see the [sessions guide](https://cloud.google.com/dialogflow/cx/docs/concept/session). Note: Always use agent versions for production traffic. See [Versions and environments](https://cloud.google.com/dialogflow/cx/docs/concept/version).",
20780	//       "location": "path",
20781	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+/sessions/[^/]+$",
20782	//       "required": true,
20783	//       "type": "string"
20784	//     }
20785	//   },
20786	//   "path": "v3/{+session}:detectIntent",
20787	//   "request": {
20788	//     "$ref": "GoogleCloudDialogflowCxV3DetectIntentRequest"
20789	//   },
20790	//   "response": {
20791	//     "$ref": "GoogleCloudDialogflowCxV3DetectIntentResponse"
20792	//   },
20793	//   "scopes": [
20794	//     "https://www.googleapis.com/auth/cloud-platform",
20795	//     "https://www.googleapis.com/auth/dialogflow"
20796	//   ]
20797	// }
20798
20799}
20800
20801// method id "dialogflow.projects.locations.agents.environments.sessions.fulfillIntent":
20802
20803type ProjectsLocationsAgentsEnvironmentsSessionsFulfillIntentCall struct {
20804	s                                             *Service
20805	sessionid                                     string
20806	googleclouddialogflowcxv3fulfillintentrequest *GoogleCloudDialogflowCxV3FulfillIntentRequest
20807	urlParams_                                    gensupport.URLParams
20808	ctx_                                          context.Context
20809	header_                                       http.Header
20810}
20811
20812// FulfillIntent: Fulfills a matched intent returned by MatchIntent.
20813// Must be called after MatchIntent, with input from
20814// MatchIntentResponse. Otherwise, the behavior is undefined.
20815//
20816// - session: The name of the session this query is sent to. Format:
20817//   `projects//locations//agents//sessions/` or
20818//   `projects//locations//agents//environments//sessions/`. If
20819//   `Environment ID` is not specified, we assume default 'draft'
20820//   environment. It's up to the API caller to choose an appropriate
20821//   `Session ID`. It can be a random number or some type of session
20822//   identifiers (preferably hashed). The length of the `Session ID`
20823//   must not exceed 36 characters. For more information, see the
20824//   sessions guide
20825//   (https://cloud.google.com/dialogflow/cx/docs/concept/session).
20826func (r *ProjectsLocationsAgentsEnvironmentsSessionsService) FulfillIntent(sessionid string, googleclouddialogflowcxv3fulfillintentrequest *GoogleCloudDialogflowCxV3FulfillIntentRequest) *ProjectsLocationsAgentsEnvironmentsSessionsFulfillIntentCall {
20827	c := &ProjectsLocationsAgentsEnvironmentsSessionsFulfillIntentCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20828	c.sessionid = sessionid
20829	c.googleclouddialogflowcxv3fulfillintentrequest = googleclouddialogflowcxv3fulfillintentrequest
20830	return c
20831}
20832
20833// Fields allows partial responses to be retrieved. See
20834// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20835// for more information.
20836func (c *ProjectsLocationsAgentsEnvironmentsSessionsFulfillIntentCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsEnvironmentsSessionsFulfillIntentCall {
20837	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20838	return c
20839}
20840
20841// Context sets the context to be used in this call's Do method. Any
20842// pending HTTP request will be aborted if the provided context is
20843// canceled.
20844func (c *ProjectsLocationsAgentsEnvironmentsSessionsFulfillIntentCall) Context(ctx context.Context) *ProjectsLocationsAgentsEnvironmentsSessionsFulfillIntentCall {
20845	c.ctx_ = ctx
20846	return c
20847}
20848
20849// Header returns an http.Header that can be modified by the caller to
20850// add HTTP headers to the request.
20851func (c *ProjectsLocationsAgentsEnvironmentsSessionsFulfillIntentCall) Header() http.Header {
20852	if c.header_ == nil {
20853		c.header_ = make(http.Header)
20854	}
20855	return c.header_
20856}
20857
20858func (c *ProjectsLocationsAgentsEnvironmentsSessionsFulfillIntentCall) doRequest(alt string) (*http.Response, error) {
20859	reqHeaders := make(http.Header)
20860	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
20861	for k, v := range c.header_ {
20862		reqHeaders[k] = v
20863	}
20864	reqHeaders.Set("User-Agent", c.s.userAgent())
20865	var body io.Reader = nil
20866	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3fulfillintentrequest)
20867	if err != nil {
20868		return nil, err
20869	}
20870	reqHeaders.Set("Content-Type", "application/json")
20871	c.urlParams_.Set("alt", alt)
20872	c.urlParams_.Set("prettyPrint", "false")
20873	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+session}:fulfillIntent")
20874	urls += "?" + c.urlParams_.Encode()
20875	req, err := http.NewRequest("POST", urls, body)
20876	if err != nil {
20877		return nil, err
20878	}
20879	req.Header = reqHeaders
20880	googleapi.Expand(req.URL, map[string]string{
20881		"session": c.sessionid,
20882	})
20883	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20884}
20885
20886// Do executes the "dialogflow.projects.locations.agents.environments.sessions.fulfillIntent" call.
20887// Exactly one of *GoogleCloudDialogflowCxV3FulfillIntentResponse or
20888// error will be non-nil. Any non-2xx status code is an error. Response
20889// headers are in either
20890// *GoogleCloudDialogflowCxV3FulfillIntentResponse.ServerResponse.Header
20891// or (if a response was returned at all) in
20892// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
20893// whether the returned error was because http.StatusNotModified was
20894// returned.
20895func (c *ProjectsLocationsAgentsEnvironmentsSessionsFulfillIntentCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3FulfillIntentResponse, error) {
20896	gensupport.SetOptions(c.urlParams_, opts...)
20897	res, err := c.doRequest("json")
20898	if res != nil && res.StatusCode == http.StatusNotModified {
20899		if res.Body != nil {
20900			res.Body.Close()
20901		}
20902		return nil, &googleapi.Error{
20903			Code:   res.StatusCode,
20904			Header: res.Header,
20905		}
20906	}
20907	if err != nil {
20908		return nil, err
20909	}
20910	defer googleapi.CloseBody(res)
20911	if err := googleapi.CheckResponse(res); err != nil {
20912		return nil, err
20913	}
20914	ret := &GoogleCloudDialogflowCxV3FulfillIntentResponse{
20915		ServerResponse: googleapi.ServerResponse{
20916			Header:         res.Header,
20917			HTTPStatusCode: res.StatusCode,
20918		},
20919	}
20920	target := &ret
20921	if err := gensupport.DecodeResponse(target, res); err != nil {
20922		return nil, err
20923	}
20924	return ret, nil
20925	// {
20926	//   "description": "Fulfills a matched intent returned by MatchIntent. Must be called after MatchIntent, with input from MatchIntentResponse. Otherwise, the behavior is undefined.",
20927	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}/sessions/{sessionsId}:fulfillIntent",
20928	//   "httpMethod": "POST",
20929	//   "id": "dialogflow.projects.locations.agents.environments.sessions.fulfillIntent",
20930	//   "parameterOrder": [
20931	//     "session"
20932	//   ],
20933	//   "parameters": {
20934	//     "session": {
20935	//       "description": "Required. The name of the session this query is sent to. Format: `projects//locations//agents//sessions/` or `projects//locations//agents//environments//sessions/`. If `Environment ID` is not specified, we assume default 'draft' environment. It's up to the API caller to choose an appropriate `Session ID`. It can be a random number or some type of session identifiers (preferably hashed). The length of the `Session ID` must not exceed 36 characters. For more information, see the [sessions guide](https://cloud.google.com/dialogflow/cx/docs/concept/session).",
20936	//       "location": "path",
20937	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+/sessions/[^/]+$",
20938	//       "required": true,
20939	//       "type": "string"
20940	//     }
20941	//   },
20942	//   "path": "v3/{+session}:fulfillIntent",
20943	//   "request": {
20944	//     "$ref": "GoogleCloudDialogflowCxV3FulfillIntentRequest"
20945	//   },
20946	//   "response": {
20947	//     "$ref": "GoogleCloudDialogflowCxV3FulfillIntentResponse"
20948	//   },
20949	//   "scopes": [
20950	//     "https://www.googleapis.com/auth/cloud-platform",
20951	//     "https://www.googleapis.com/auth/dialogflow"
20952	//   ]
20953	// }
20954
20955}
20956
20957// method id "dialogflow.projects.locations.agents.environments.sessions.matchIntent":
20958
20959type ProjectsLocationsAgentsEnvironmentsSessionsMatchIntentCall struct {
20960	s                                           *Service
20961	sessionid                                   string
20962	googleclouddialogflowcxv3matchintentrequest *GoogleCloudDialogflowCxV3MatchIntentRequest
20963	urlParams_                                  gensupport.URLParams
20964	ctx_                                        context.Context
20965	header_                                     http.Header
20966}
20967
20968// MatchIntent: Returns preliminary intent match results, doesn't change
20969// the session status.
20970//
20971// - session: The name of the session this query is sent to. Format:
20972//   `projects//locations//agents//sessions/` or
20973//   `projects//locations//agents//environments//sessions/`. If
20974//   `Environment ID` is not specified, we assume default 'draft'
20975//   environment. It's up to the API caller to choose an appropriate
20976//   `Session ID`. It can be a random number or some type of session
20977//   identifiers (preferably hashed). The length of the `Session ID`
20978//   must not exceed 36 characters. For more information, see the
20979//   sessions guide
20980//   (https://cloud.google.com/dialogflow/cx/docs/concept/session).
20981func (r *ProjectsLocationsAgentsEnvironmentsSessionsService) MatchIntent(sessionid string, googleclouddialogflowcxv3matchintentrequest *GoogleCloudDialogflowCxV3MatchIntentRequest) *ProjectsLocationsAgentsEnvironmentsSessionsMatchIntentCall {
20982	c := &ProjectsLocationsAgentsEnvironmentsSessionsMatchIntentCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20983	c.sessionid = sessionid
20984	c.googleclouddialogflowcxv3matchintentrequest = googleclouddialogflowcxv3matchintentrequest
20985	return c
20986}
20987
20988// Fields allows partial responses to be retrieved. See
20989// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20990// for more information.
20991func (c *ProjectsLocationsAgentsEnvironmentsSessionsMatchIntentCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsEnvironmentsSessionsMatchIntentCall {
20992	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20993	return c
20994}
20995
20996// Context sets the context to be used in this call's Do method. Any
20997// pending HTTP request will be aborted if the provided context is
20998// canceled.
20999func (c *ProjectsLocationsAgentsEnvironmentsSessionsMatchIntentCall) Context(ctx context.Context) *ProjectsLocationsAgentsEnvironmentsSessionsMatchIntentCall {
21000	c.ctx_ = ctx
21001	return c
21002}
21003
21004// Header returns an http.Header that can be modified by the caller to
21005// add HTTP headers to the request.
21006func (c *ProjectsLocationsAgentsEnvironmentsSessionsMatchIntentCall) Header() http.Header {
21007	if c.header_ == nil {
21008		c.header_ = make(http.Header)
21009	}
21010	return c.header_
21011}
21012
21013func (c *ProjectsLocationsAgentsEnvironmentsSessionsMatchIntentCall) doRequest(alt string) (*http.Response, error) {
21014	reqHeaders := make(http.Header)
21015	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
21016	for k, v := range c.header_ {
21017		reqHeaders[k] = v
21018	}
21019	reqHeaders.Set("User-Agent", c.s.userAgent())
21020	var body io.Reader = nil
21021	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3matchintentrequest)
21022	if err != nil {
21023		return nil, err
21024	}
21025	reqHeaders.Set("Content-Type", "application/json")
21026	c.urlParams_.Set("alt", alt)
21027	c.urlParams_.Set("prettyPrint", "false")
21028	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+session}:matchIntent")
21029	urls += "?" + c.urlParams_.Encode()
21030	req, err := http.NewRequest("POST", urls, body)
21031	if err != nil {
21032		return nil, err
21033	}
21034	req.Header = reqHeaders
21035	googleapi.Expand(req.URL, map[string]string{
21036		"session": c.sessionid,
21037	})
21038	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21039}
21040
21041// Do executes the "dialogflow.projects.locations.agents.environments.sessions.matchIntent" call.
21042// Exactly one of *GoogleCloudDialogflowCxV3MatchIntentResponse or error
21043// will be non-nil. Any non-2xx status code is an error. Response
21044// headers are in either
21045// *GoogleCloudDialogflowCxV3MatchIntentResponse.ServerResponse.Header
21046// or (if a response was returned at all) in
21047// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
21048// whether the returned error was because http.StatusNotModified was
21049// returned.
21050func (c *ProjectsLocationsAgentsEnvironmentsSessionsMatchIntentCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3MatchIntentResponse, error) {
21051	gensupport.SetOptions(c.urlParams_, opts...)
21052	res, err := c.doRequest("json")
21053	if res != nil && res.StatusCode == http.StatusNotModified {
21054		if res.Body != nil {
21055			res.Body.Close()
21056		}
21057		return nil, &googleapi.Error{
21058			Code:   res.StatusCode,
21059			Header: res.Header,
21060		}
21061	}
21062	if err != nil {
21063		return nil, err
21064	}
21065	defer googleapi.CloseBody(res)
21066	if err := googleapi.CheckResponse(res); err != nil {
21067		return nil, err
21068	}
21069	ret := &GoogleCloudDialogflowCxV3MatchIntentResponse{
21070		ServerResponse: googleapi.ServerResponse{
21071			Header:         res.Header,
21072			HTTPStatusCode: res.StatusCode,
21073		},
21074	}
21075	target := &ret
21076	if err := gensupport.DecodeResponse(target, res); err != nil {
21077		return nil, err
21078	}
21079	return ret, nil
21080	// {
21081	//   "description": "Returns preliminary intent match results, doesn't change the session status.",
21082	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}/sessions/{sessionsId}:matchIntent",
21083	//   "httpMethod": "POST",
21084	//   "id": "dialogflow.projects.locations.agents.environments.sessions.matchIntent",
21085	//   "parameterOrder": [
21086	//     "session"
21087	//   ],
21088	//   "parameters": {
21089	//     "session": {
21090	//       "description": "Required. The name of the session this query is sent to. Format: `projects//locations//agents//sessions/` or `projects//locations//agents//environments//sessions/`. If `Environment ID` is not specified, we assume default 'draft' environment. It's up to the API caller to choose an appropriate `Session ID`. It can be a random number or some type of session identifiers (preferably hashed). The length of the `Session ID` must not exceed 36 characters. For more information, see the [sessions guide](https://cloud.google.com/dialogflow/cx/docs/concept/session).",
21091	//       "location": "path",
21092	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+/sessions/[^/]+$",
21093	//       "required": true,
21094	//       "type": "string"
21095	//     }
21096	//   },
21097	//   "path": "v3/{+session}:matchIntent",
21098	//   "request": {
21099	//     "$ref": "GoogleCloudDialogflowCxV3MatchIntentRequest"
21100	//   },
21101	//   "response": {
21102	//     "$ref": "GoogleCloudDialogflowCxV3MatchIntentResponse"
21103	//   },
21104	//   "scopes": [
21105	//     "https://www.googleapis.com/auth/cloud-platform",
21106	//     "https://www.googleapis.com/auth/dialogflow"
21107	//   ]
21108	// }
21109
21110}
21111
21112// method id "dialogflow.projects.locations.agents.environments.sessions.entityTypes.create":
21113
21114type ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesCreateCall struct {
21115	s                                          *Service
21116	parent                                     string
21117	googleclouddialogflowcxv3sessionentitytype *GoogleCloudDialogflowCxV3SessionEntityType
21118	urlParams_                                 gensupport.URLParams
21119	ctx_                                       context.Context
21120	header_                                    http.Header
21121}
21122
21123// Create: Creates a session entity type.
21124//
21125// - parent: The session to create a session entity type for. Format:
21126//   `projects//locations//agents//sessions/` or
21127//   `projects//locations//agents//environments//sessions/`. If
21128//   `Environment ID` is not specified, we assume default 'draft'
21129//   environment.
21130func (r *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesService) Create(parent string, googleclouddialogflowcxv3sessionentitytype *GoogleCloudDialogflowCxV3SessionEntityType) *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesCreateCall {
21131	c := &ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21132	c.parent = parent
21133	c.googleclouddialogflowcxv3sessionentitytype = googleclouddialogflowcxv3sessionentitytype
21134	return c
21135}
21136
21137// Fields allows partial responses to be retrieved. See
21138// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21139// for more information.
21140func (c *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesCreateCall {
21141	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21142	return c
21143}
21144
21145// Context sets the context to be used in this call's Do method. Any
21146// pending HTTP request will be aborted if the provided context is
21147// canceled.
21148func (c *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesCreateCall) Context(ctx context.Context) *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesCreateCall {
21149	c.ctx_ = ctx
21150	return c
21151}
21152
21153// Header returns an http.Header that can be modified by the caller to
21154// add HTTP headers to the request.
21155func (c *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesCreateCall) Header() http.Header {
21156	if c.header_ == nil {
21157		c.header_ = make(http.Header)
21158	}
21159	return c.header_
21160}
21161
21162func (c *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesCreateCall) doRequest(alt string) (*http.Response, error) {
21163	reqHeaders := make(http.Header)
21164	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
21165	for k, v := range c.header_ {
21166		reqHeaders[k] = v
21167	}
21168	reqHeaders.Set("User-Agent", c.s.userAgent())
21169	var body io.Reader = nil
21170	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3sessionentitytype)
21171	if err != nil {
21172		return nil, err
21173	}
21174	reqHeaders.Set("Content-Type", "application/json")
21175	c.urlParams_.Set("alt", alt)
21176	c.urlParams_.Set("prettyPrint", "false")
21177	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/entityTypes")
21178	urls += "?" + c.urlParams_.Encode()
21179	req, err := http.NewRequest("POST", urls, body)
21180	if err != nil {
21181		return nil, err
21182	}
21183	req.Header = reqHeaders
21184	googleapi.Expand(req.URL, map[string]string{
21185		"parent": c.parent,
21186	})
21187	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21188}
21189
21190// Do executes the "dialogflow.projects.locations.agents.environments.sessions.entityTypes.create" call.
21191// Exactly one of *GoogleCloudDialogflowCxV3SessionEntityType or error
21192// will be non-nil. Any non-2xx status code is an error. Response
21193// headers are in either
21194// *GoogleCloudDialogflowCxV3SessionEntityType.ServerResponse.Header or
21195// (if a response was returned at all) in
21196// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
21197// whether the returned error was because http.StatusNotModified was
21198// returned.
21199func (c *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3SessionEntityType, error) {
21200	gensupport.SetOptions(c.urlParams_, opts...)
21201	res, err := c.doRequest("json")
21202	if res != nil && res.StatusCode == http.StatusNotModified {
21203		if res.Body != nil {
21204			res.Body.Close()
21205		}
21206		return nil, &googleapi.Error{
21207			Code:   res.StatusCode,
21208			Header: res.Header,
21209		}
21210	}
21211	if err != nil {
21212		return nil, err
21213	}
21214	defer googleapi.CloseBody(res)
21215	if err := googleapi.CheckResponse(res); err != nil {
21216		return nil, err
21217	}
21218	ret := &GoogleCloudDialogflowCxV3SessionEntityType{
21219		ServerResponse: googleapi.ServerResponse{
21220			Header:         res.Header,
21221			HTTPStatusCode: res.StatusCode,
21222		},
21223	}
21224	target := &ret
21225	if err := gensupport.DecodeResponse(target, res); err != nil {
21226		return nil, err
21227	}
21228	return ret, nil
21229	// {
21230	//   "description": "Creates a session entity type.",
21231	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}/sessions/{sessionsId}/entityTypes",
21232	//   "httpMethod": "POST",
21233	//   "id": "dialogflow.projects.locations.agents.environments.sessions.entityTypes.create",
21234	//   "parameterOrder": [
21235	//     "parent"
21236	//   ],
21237	//   "parameters": {
21238	//     "parent": {
21239	//       "description": "Required. The session to create a session entity type for. Format: `projects//locations//agents//sessions/` or `projects//locations//agents//environments//sessions/`. If `Environment ID` is not specified, we assume default 'draft' environment.",
21240	//       "location": "path",
21241	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+/sessions/[^/]+$",
21242	//       "required": true,
21243	//       "type": "string"
21244	//     }
21245	//   },
21246	//   "path": "v3/{+parent}/entityTypes",
21247	//   "request": {
21248	//     "$ref": "GoogleCloudDialogflowCxV3SessionEntityType"
21249	//   },
21250	//   "response": {
21251	//     "$ref": "GoogleCloudDialogflowCxV3SessionEntityType"
21252	//   },
21253	//   "scopes": [
21254	//     "https://www.googleapis.com/auth/cloud-platform",
21255	//     "https://www.googleapis.com/auth/dialogflow"
21256	//   ]
21257	// }
21258
21259}
21260
21261// method id "dialogflow.projects.locations.agents.environments.sessions.entityTypes.delete":
21262
21263type ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesDeleteCall struct {
21264	s          *Service
21265	name       string
21266	urlParams_ gensupport.URLParams
21267	ctx_       context.Context
21268	header_    http.Header
21269}
21270
21271// Delete: Deletes the specified session entity type.
21272//
21273// - name: The name of the session entity type to delete. Format:
21274//   `projects//locations//agents//sessions//entityTypes/` or
21275//   `projects//locations//agents//environments//sessions//entityTypes/`.
21276//    If `Environment ID` is not specified, we assume default 'draft'
21277//   environment.
21278func (r *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesService) Delete(name string) *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesDeleteCall {
21279	c := &ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21280	c.name = name
21281	return c
21282}
21283
21284// Fields allows partial responses to be retrieved. See
21285// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21286// for more information.
21287func (c *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesDeleteCall {
21288	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21289	return c
21290}
21291
21292// Context sets the context to be used in this call's Do method. Any
21293// pending HTTP request will be aborted if the provided context is
21294// canceled.
21295func (c *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesDeleteCall) Context(ctx context.Context) *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesDeleteCall {
21296	c.ctx_ = ctx
21297	return c
21298}
21299
21300// Header returns an http.Header that can be modified by the caller to
21301// add HTTP headers to the request.
21302func (c *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesDeleteCall) Header() http.Header {
21303	if c.header_ == nil {
21304		c.header_ = make(http.Header)
21305	}
21306	return c.header_
21307}
21308
21309func (c *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesDeleteCall) doRequest(alt string) (*http.Response, error) {
21310	reqHeaders := make(http.Header)
21311	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
21312	for k, v := range c.header_ {
21313		reqHeaders[k] = v
21314	}
21315	reqHeaders.Set("User-Agent", c.s.userAgent())
21316	var body io.Reader = nil
21317	c.urlParams_.Set("alt", alt)
21318	c.urlParams_.Set("prettyPrint", "false")
21319	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
21320	urls += "?" + c.urlParams_.Encode()
21321	req, err := http.NewRequest("DELETE", urls, body)
21322	if err != nil {
21323		return nil, err
21324	}
21325	req.Header = reqHeaders
21326	googleapi.Expand(req.URL, map[string]string{
21327		"name": c.name,
21328	})
21329	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21330}
21331
21332// Do executes the "dialogflow.projects.locations.agents.environments.sessions.entityTypes.delete" call.
21333// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
21334// non-2xx status code is an error. Response headers are in either
21335// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
21336// returned at all) in error.(*googleapi.Error).Header. Use
21337// googleapi.IsNotModified to check whether the returned error was
21338// because http.StatusNotModified was returned.
21339func (c *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
21340	gensupport.SetOptions(c.urlParams_, opts...)
21341	res, err := c.doRequest("json")
21342	if res != nil && res.StatusCode == http.StatusNotModified {
21343		if res.Body != nil {
21344			res.Body.Close()
21345		}
21346		return nil, &googleapi.Error{
21347			Code:   res.StatusCode,
21348			Header: res.Header,
21349		}
21350	}
21351	if err != nil {
21352		return nil, err
21353	}
21354	defer googleapi.CloseBody(res)
21355	if err := googleapi.CheckResponse(res); err != nil {
21356		return nil, err
21357	}
21358	ret := &GoogleProtobufEmpty{
21359		ServerResponse: googleapi.ServerResponse{
21360			Header:         res.Header,
21361			HTTPStatusCode: res.StatusCode,
21362		},
21363	}
21364	target := &ret
21365	if err := gensupport.DecodeResponse(target, res); err != nil {
21366		return nil, err
21367	}
21368	return ret, nil
21369	// {
21370	//   "description": "Deletes the specified session entity type.",
21371	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}/sessions/{sessionsId}/entityTypes/{entityTypesId}",
21372	//   "httpMethod": "DELETE",
21373	//   "id": "dialogflow.projects.locations.agents.environments.sessions.entityTypes.delete",
21374	//   "parameterOrder": [
21375	//     "name"
21376	//   ],
21377	//   "parameters": {
21378	//     "name": {
21379	//       "description": "Required. The name of the session entity type to delete. Format: `projects//locations//agents//sessions//entityTypes/` or `projects//locations//agents//environments//sessions//entityTypes/`. If `Environment ID` is not specified, we assume default 'draft' environment.",
21380	//       "location": "path",
21381	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+/sessions/[^/]+/entityTypes/[^/]+$",
21382	//       "required": true,
21383	//       "type": "string"
21384	//     }
21385	//   },
21386	//   "path": "v3/{+name}",
21387	//   "response": {
21388	//     "$ref": "GoogleProtobufEmpty"
21389	//   },
21390	//   "scopes": [
21391	//     "https://www.googleapis.com/auth/cloud-platform",
21392	//     "https://www.googleapis.com/auth/dialogflow"
21393	//   ]
21394	// }
21395
21396}
21397
21398// method id "dialogflow.projects.locations.agents.environments.sessions.entityTypes.get":
21399
21400type ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesGetCall struct {
21401	s            *Service
21402	name         string
21403	urlParams_   gensupport.URLParams
21404	ifNoneMatch_ string
21405	ctx_         context.Context
21406	header_      http.Header
21407}
21408
21409// Get: Retrieves the specified session entity type.
21410//
21411// - name: The name of the session entity type. Format:
21412//   `projects//locations//agents//sessions//entityTypes/` or
21413//   `projects//locations//agents//environments//sessions//entityTypes/`.
21414//    If `Environment ID` is not specified, we assume default 'draft'
21415//   environment.
21416func (r *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesService) Get(name string) *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesGetCall {
21417	c := &ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21418	c.name = name
21419	return c
21420}
21421
21422// Fields allows partial responses to be retrieved. See
21423// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21424// for more information.
21425func (c *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesGetCall {
21426	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21427	return c
21428}
21429
21430// IfNoneMatch sets the optional parameter which makes the operation
21431// fail if the object's ETag matches the given value. This is useful for
21432// getting updates only after the object has changed since the last
21433// request. Use googleapi.IsNotModified to check whether the response
21434// error from Do is the result of In-None-Match.
21435func (c *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesGetCall {
21436	c.ifNoneMatch_ = entityTag
21437	return c
21438}
21439
21440// Context sets the context to be used in this call's Do method. Any
21441// pending HTTP request will be aborted if the provided context is
21442// canceled.
21443func (c *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesGetCall) Context(ctx context.Context) *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesGetCall {
21444	c.ctx_ = ctx
21445	return c
21446}
21447
21448// Header returns an http.Header that can be modified by the caller to
21449// add HTTP headers to the request.
21450func (c *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesGetCall) Header() http.Header {
21451	if c.header_ == nil {
21452		c.header_ = make(http.Header)
21453	}
21454	return c.header_
21455}
21456
21457func (c *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesGetCall) doRequest(alt string) (*http.Response, error) {
21458	reqHeaders := make(http.Header)
21459	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
21460	for k, v := range c.header_ {
21461		reqHeaders[k] = v
21462	}
21463	reqHeaders.Set("User-Agent", c.s.userAgent())
21464	if c.ifNoneMatch_ != "" {
21465		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
21466	}
21467	var body io.Reader = nil
21468	c.urlParams_.Set("alt", alt)
21469	c.urlParams_.Set("prettyPrint", "false")
21470	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
21471	urls += "?" + c.urlParams_.Encode()
21472	req, err := http.NewRequest("GET", urls, body)
21473	if err != nil {
21474		return nil, err
21475	}
21476	req.Header = reqHeaders
21477	googleapi.Expand(req.URL, map[string]string{
21478		"name": c.name,
21479	})
21480	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21481}
21482
21483// Do executes the "dialogflow.projects.locations.agents.environments.sessions.entityTypes.get" call.
21484// Exactly one of *GoogleCloudDialogflowCxV3SessionEntityType or error
21485// will be non-nil. Any non-2xx status code is an error. Response
21486// headers are in either
21487// *GoogleCloudDialogflowCxV3SessionEntityType.ServerResponse.Header or
21488// (if a response was returned at all) in
21489// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
21490// whether the returned error was because http.StatusNotModified was
21491// returned.
21492func (c *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3SessionEntityType, error) {
21493	gensupport.SetOptions(c.urlParams_, opts...)
21494	res, err := c.doRequest("json")
21495	if res != nil && res.StatusCode == http.StatusNotModified {
21496		if res.Body != nil {
21497			res.Body.Close()
21498		}
21499		return nil, &googleapi.Error{
21500			Code:   res.StatusCode,
21501			Header: res.Header,
21502		}
21503	}
21504	if err != nil {
21505		return nil, err
21506	}
21507	defer googleapi.CloseBody(res)
21508	if err := googleapi.CheckResponse(res); err != nil {
21509		return nil, err
21510	}
21511	ret := &GoogleCloudDialogflowCxV3SessionEntityType{
21512		ServerResponse: googleapi.ServerResponse{
21513			Header:         res.Header,
21514			HTTPStatusCode: res.StatusCode,
21515		},
21516	}
21517	target := &ret
21518	if err := gensupport.DecodeResponse(target, res); err != nil {
21519		return nil, err
21520	}
21521	return ret, nil
21522	// {
21523	//   "description": "Retrieves the specified session entity type.",
21524	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}/sessions/{sessionsId}/entityTypes/{entityTypesId}",
21525	//   "httpMethod": "GET",
21526	//   "id": "dialogflow.projects.locations.agents.environments.sessions.entityTypes.get",
21527	//   "parameterOrder": [
21528	//     "name"
21529	//   ],
21530	//   "parameters": {
21531	//     "name": {
21532	//       "description": "Required. The name of the session entity type. Format: `projects//locations//agents//sessions//entityTypes/` or `projects//locations//agents//environments//sessions//entityTypes/`. If `Environment ID` is not specified, we assume default 'draft' environment.",
21533	//       "location": "path",
21534	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+/sessions/[^/]+/entityTypes/[^/]+$",
21535	//       "required": true,
21536	//       "type": "string"
21537	//     }
21538	//   },
21539	//   "path": "v3/{+name}",
21540	//   "response": {
21541	//     "$ref": "GoogleCloudDialogflowCxV3SessionEntityType"
21542	//   },
21543	//   "scopes": [
21544	//     "https://www.googleapis.com/auth/cloud-platform",
21545	//     "https://www.googleapis.com/auth/dialogflow"
21546	//   ]
21547	// }
21548
21549}
21550
21551// method id "dialogflow.projects.locations.agents.environments.sessions.entityTypes.list":
21552
21553type ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesListCall struct {
21554	s            *Service
21555	parent       string
21556	urlParams_   gensupport.URLParams
21557	ifNoneMatch_ string
21558	ctx_         context.Context
21559	header_      http.Header
21560}
21561
21562// List: Returns the list of all session entity types in the specified
21563// session.
21564//
21565// - parent: The session to list all session entity types from. Format:
21566//   `projects//locations//agents//sessions/` or
21567//   `projects//locations//agents//environments//sessions/`. If
21568//   `Environment ID` is not specified, we assume default 'draft'
21569//   environment.
21570func (r *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesService) List(parent string) *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesListCall {
21571	c := &ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21572	c.parent = parent
21573	return c
21574}
21575
21576// PageSize sets the optional parameter "pageSize": The maximum number
21577// of items to return in a single page. By default 100 and at most 1000.
21578func (c *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesListCall) PageSize(pageSize int64) *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesListCall {
21579	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
21580	return c
21581}
21582
21583// PageToken sets the optional parameter "pageToken": The
21584// next_page_token value returned from a previous list request.
21585func (c *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesListCall) PageToken(pageToken string) *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesListCall {
21586	c.urlParams_.Set("pageToken", pageToken)
21587	return c
21588}
21589
21590// Fields allows partial responses to be retrieved. See
21591// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21592// for more information.
21593func (c *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesListCall {
21594	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21595	return c
21596}
21597
21598// IfNoneMatch sets the optional parameter which makes the operation
21599// fail if the object's ETag matches the given value. This is useful for
21600// getting updates only after the object has changed since the last
21601// request. Use googleapi.IsNotModified to check whether the response
21602// error from Do is the result of In-None-Match.
21603func (c *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesListCall {
21604	c.ifNoneMatch_ = entityTag
21605	return c
21606}
21607
21608// Context sets the context to be used in this call's Do method. Any
21609// pending HTTP request will be aborted if the provided context is
21610// canceled.
21611func (c *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesListCall) Context(ctx context.Context) *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesListCall {
21612	c.ctx_ = ctx
21613	return c
21614}
21615
21616// Header returns an http.Header that can be modified by the caller to
21617// add HTTP headers to the request.
21618func (c *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesListCall) Header() http.Header {
21619	if c.header_ == nil {
21620		c.header_ = make(http.Header)
21621	}
21622	return c.header_
21623}
21624
21625func (c *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesListCall) doRequest(alt string) (*http.Response, error) {
21626	reqHeaders := make(http.Header)
21627	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
21628	for k, v := range c.header_ {
21629		reqHeaders[k] = v
21630	}
21631	reqHeaders.Set("User-Agent", c.s.userAgent())
21632	if c.ifNoneMatch_ != "" {
21633		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
21634	}
21635	var body io.Reader = nil
21636	c.urlParams_.Set("alt", alt)
21637	c.urlParams_.Set("prettyPrint", "false")
21638	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/entityTypes")
21639	urls += "?" + c.urlParams_.Encode()
21640	req, err := http.NewRequest("GET", urls, body)
21641	if err != nil {
21642		return nil, err
21643	}
21644	req.Header = reqHeaders
21645	googleapi.Expand(req.URL, map[string]string{
21646		"parent": c.parent,
21647	})
21648	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21649}
21650
21651// Do executes the "dialogflow.projects.locations.agents.environments.sessions.entityTypes.list" call.
21652// Exactly one of
21653// *GoogleCloudDialogflowCxV3ListSessionEntityTypesResponse or error
21654// will be non-nil. Any non-2xx status code is an error. Response
21655// headers are in either
21656// *GoogleCloudDialogflowCxV3ListSessionEntityTypesResponse.ServerRespons
21657// e.Header or (if a response was returned at all) in
21658// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
21659// whether the returned error was because http.StatusNotModified was
21660// returned.
21661func (c *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3ListSessionEntityTypesResponse, error) {
21662	gensupport.SetOptions(c.urlParams_, opts...)
21663	res, err := c.doRequest("json")
21664	if res != nil && res.StatusCode == http.StatusNotModified {
21665		if res.Body != nil {
21666			res.Body.Close()
21667		}
21668		return nil, &googleapi.Error{
21669			Code:   res.StatusCode,
21670			Header: res.Header,
21671		}
21672	}
21673	if err != nil {
21674		return nil, err
21675	}
21676	defer googleapi.CloseBody(res)
21677	if err := googleapi.CheckResponse(res); err != nil {
21678		return nil, err
21679	}
21680	ret := &GoogleCloudDialogflowCxV3ListSessionEntityTypesResponse{
21681		ServerResponse: googleapi.ServerResponse{
21682			Header:         res.Header,
21683			HTTPStatusCode: res.StatusCode,
21684		},
21685	}
21686	target := &ret
21687	if err := gensupport.DecodeResponse(target, res); err != nil {
21688		return nil, err
21689	}
21690	return ret, nil
21691	// {
21692	//   "description": "Returns the list of all session entity types in the specified session.",
21693	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}/sessions/{sessionsId}/entityTypes",
21694	//   "httpMethod": "GET",
21695	//   "id": "dialogflow.projects.locations.agents.environments.sessions.entityTypes.list",
21696	//   "parameterOrder": [
21697	//     "parent"
21698	//   ],
21699	//   "parameters": {
21700	//     "pageSize": {
21701	//       "description": "The maximum number of items to return in a single page. By default 100 and at most 1000.",
21702	//       "format": "int32",
21703	//       "location": "query",
21704	//       "type": "integer"
21705	//     },
21706	//     "pageToken": {
21707	//       "description": "The next_page_token value returned from a previous list request.",
21708	//       "location": "query",
21709	//       "type": "string"
21710	//     },
21711	//     "parent": {
21712	//       "description": "Required. The session to list all session entity types from. Format: `projects//locations//agents//sessions/` or `projects//locations//agents//environments//sessions/`. If `Environment ID` is not specified, we assume default 'draft' environment.",
21713	//       "location": "path",
21714	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+/sessions/[^/]+$",
21715	//       "required": true,
21716	//       "type": "string"
21717	//     }
21718	//   },
21719	//   "path": "v3/{+parent}/entityTypes",
21720	//   "response": {
21721	//     "$ref": "GoogleCloudDialogflowCxV3ListSessionEntityTypesResponse"
21722	//   },
21723	//   "scopes": [
21724	//     "https://www.googleapis.com/auth/cloud-platform",
21725	//     "https://www.googleapis.com/auth/dialogflow"
21726	//   ]
21727	// }
21728
21729}
21730
21731// Pages invokes f for each page of results.
21732// A non-nil error returned from f will halt the iteration.
21733// The provided context supersedes any context provided to the Context method.
21734func (c *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesListCall) Pages(ctx context.Context, f func(*GoogleCloudDialogflowCxV3ListSessionEntityTypesResponse) error) error {
21735	c.ctx_ = ctx
21736	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
21737	for {
21738		x, err := c.Do()
21739		if err != nil {
21740			return err
21741		}
21742		if err := f(x); err != nil {
21743			return err
21744		}
21745		if x.NextPageToken == "" {
21746			return nil
21747		}
21748		c.PageToken(x.NextPageToken)
21749	}
21750}
21751
21752// method id "dialogflow.projects.locations.agents.environments.sessions.entityTypes.patch":
21753
21754type ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesPatchCall struct {
21755	s                                          *Service
21756	nameid                                     string
21757	googleclouddialogflowcxv3sessionentitytype *GoogleCloudDialogflowCxV3SessionEntityType
21758	urlParams_                                 gensupport.URLParams
21759	ctx_                                       context.Context
21760	header_                                    http.Header
21761}
21762
21763// Patch: Updates the specified session entity type.
21764//
21765// - name: The unique identifier of the session entity type. Format:
21766//   `projects//locations//agents//sessions//entityTypes/` or
21767//   `projects//locations//agents//environments//sessions//entityTypes/`.
21768//    If `Environment ID` is not specified, we assume default 'draft'
21769//   environment.
21770func (r *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesService) Patch(nameid string, googleclouddialogflowcxv3sessionentitytype *GoogleCloudDialogflowCxV3SessionEntityType) *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesPatchCall {
21771	c := &ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21772	c.nameid = nameid
21773	c.googleclouddialogflowcxv3sessionentitytype = googleclouddialogflowcxv3sessionentitytype
21774	return c
21775}
21776
21777// UpdateMask sets the optional parameter "updateMask": The mask to
21778// control which fields get updated.
21779func (c *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesPatchCall {
21780	c.urlParams_.Set("updateMask", updateMask)
21781	return c
21782}
21783
21784// Fields allows partial responses to be retrieved. See
21785// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21786// for more information.
21787func (c *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesPatchCall {
21788	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21789	return c
21790}
21791
21792// Context sets the context to be used in this call's Do method. Any
21793// pending HTTP request will be aborted if the provided context is
21794// canceled.
21795func (c *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesPatchCall) Context(ctx context.Context) *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesPatchCall {
21796	c.ctx_ = ctx
21797	return c
21798}
21799
21800// Header returns an http.Header that can be modified by the caller to
21801// add HTTP headers to the request.
21802func (c *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesPatchCall) Header() http.Header {
21803	if c.header_ == nil {
21804		c.header_ = make(http.Header)
21805	}
21806	return c.header_
21807}
21808
21809func (c *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesPatchCall) doRequest(alt string) (*http.Response, error) {
21810	reqHeaders := make(http.Header)
21811	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
21812	for k, v := range c.header_ {
21813		reqHeaders[k] = v
21814	}
21815	reqHeaders.Set("User-Agent", c.s.userAgent())
21816	var body io.Reader = nil
21817	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3sessionentitytype)
21818	if err != nil {
21819		return nil, err
21820	}
21821	reqHeaders.Set("Content-Type", "application/json")
21822	c.urlParams_.Set("alt", alt)
21823	c.urlParams_.Set("prettyPrint", "false")
21824	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
21825	urls += "?" + c.urlParams_.Encode()
21826	req, err := http.NewRequest("PATCH", urls, body)
21827	if err != nil {
21828		return nil, err
21829	}
21830	req.Header = reqHeaders
21831	googleapi.Expand(req.URL, map[string]string{
21832		"name": c.nameid,
21833	})
21834	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21835}
21836
21837// Do executes the "dialogflow.projects.locations.agents.environments.sessions.entityTypes.patch" call.
21838// Exactly one of *GoogleCloudDialogflowCxV3SessionEntityType or error
21839// will be non-nil. Any non-2xx status code is an error. Response
21840// headers are in either
21841// *GoogleCloudDialogflowCxV3SessionEntityType.ServerResponse.Header or
21842// (if a response was returned at all) in
21843// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
21844// whether the returned error was because http.StatusNotModified was
21845// returned.
21846func (c *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3SessionEntityType, error) {
21847	gensupport.SetOptions(c.urlParams_, opts...)
21848	res, err := c.doRequest("json")
21849	if res != nil && res.StatusCode == http.StatusNotModified {
21850		if res.Body != nil {
21851			res.Body.Close()
21852		}
21853		return nil, &googleapi.Error{
21854			Code:   res.StatusCode,
21855			Header: res.Header,
21856		}
21857	}
21858	if err != nil {
21859		return nil, err
21860	}
21861	defer googleapi.CloseBody(res)
21862	if err := googleapi.CheckResponse(res); err != nil {
21863		return nil, err
21864	}
21865	ret := &GoogleCloudDialogflowCxV3SessionEntityType{
21866		ServerResponse: googleapi.ServerResponse{
21867			Header:         res.Header,
21868			HTTPStatusCode: res.StatusCode,
21869		},
21870	}
21871	target := &ret
21872	if err := gensupport.DecodeResponse(target, res); err != nil {
21873		return nil, err
21874	}
21875	return ret, nil
21876	// {
21877	//   "description": "Updates the specified session entity type.",
21878	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}/sessions/{sessionsId}/entityTypes/{entityTypesId}",
21879	//   "httpMethod": "PATCH",
21880	//   "id": "dialogflow.projects.locations.agents.environments.sessions.entityTypes.patch",
21881	//   "parameterOrder": [
21882	//     "name"
21883	//   ],
21884	//   "parameters": {
21885	//     "name": {
21886	//       "description": "Required. The unique identifier of the session entity type. Format: `projects//locations//agents//sessions//entityTypes/` or `projects//locations//agents//environments//sessions//entityTypes/`. If `Environment ID` is not specified, we assume default 'draft' environment.",
21887	//       "location": "path",
21888	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+/sessions/[^/]+/entityTypes/[^/]+$",
21889	//       "required": true,
21890	//       "type": "string"
21891	//     },
21892	//     "updateMask": {
21893	//       "description": "The mask to control which fields get updated.",
21894	//       "format": "google-fieldmask",
21895	//       "location": "query",
21896	//       "type": "string"
21897	//     }
21898	//   },
21899	//   "path": "v3/{+name}",
21900	//   "request": {
21901	//     "$ref": "GoogleCloudDialogflowCxV3SessionEntityType"
21902	//   },
21903	//   "response": {
21904	//     "$ref": "GoogleCloudDialogflowCxV3SessionEntityType"
21905	//   },
21906	//   "scopes": [
21907	//     "https://www.googleapis.com/auth/cloud-platform",
21908	//     "https://www.googleapis.com/auth/dialogflow"
21909	//   ]
21910	// }
21911
21912}
21913
21914// method id "dialogflow.projects.locations.agents.flows.create":
21915
21916type ProjectsLocationsAgentsFlowsCreateCall struct {
21917	s                             *Service
21918	parent                        string
21919	googleclouddialogflowcxv3flow *GoogleCloudDialogflowCxV3Flow
21920	urlParams_                    gensupport.URLParams
21921	ctx_                          context.Context
21922	header_                       http.Header
21923}
21924
21925// Create: Creates a flow in the specified agent.
21926//
21927// - parent: The agent to create a flow for. Format:
21928//   `projects//locations//agents/`.
21929func (r *ProjectsLocationsAgentsFlowsService) Create(parent string, googleclouddialogflowcxv3flow *GoogleCloudDialogflowCxV3Flow) *ProjectsLocationsAgentsFlowsCreateCall {
21930	c := &ProjectsLocationsAgentsFlowsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21931	c.parent = parent
21932	c.googleclouddialogflowcxv3flow = googleclouddialogflowcxv3flow
21933	return c
21934}
21935
21936// LanguageCode sets the optional parameter "languageCode": The language
21937// of the following fields in `flow`: *
21938// `Flow.event_handlers.trigger_fulfillment.messages` *
21939// `Flow.transition_routes.trigger_fulfillment.messages` If not
21940// specified, the agent's default language is used. Many languages
21941// (https://cloud.google.com/dialogflow/cx/docs/reference/language) are
21942// supported. Note: languages must be enabled in the agent before they
21943// can be used.
21944func (c *ProjectsLocationsAgentsFlowsCreateCall) LanguageCode(languageCode string) *ProjectsLocationsAgentsFlowsCreateCall {
21945	c.urlParams_.Set("languageCode", languageCode)
21946	return c
21947}
21948
21949// Fields allows partial responses to be retrieved. See
21950// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21951// for more information.
21952func (c *ProjectsLocationsAgentsFlowsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsFlowsCreateCall {
21953	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21954	return c
21955}
21956
21957// Context sets the context to be used in this call's Do method. Any
21958// pending HTTP request will be aborted if the provided context is
21959// canceled.
21960func (c *ProjectsLocationsAgentsFlowsCreateCall) Context(ctx context.Context) *ProjectsLocationsAgentsFlowsCreateCall {
21961	c.ctx_ = ctx
21962	return c
21963}
21964
21965// Header returns an http.Header that can be modified by the caller to
21966// add HTTP headers to the request.
21967func (c *ProjectsLocationsAgentsFlowsCreateCall) Header() http.Header {
21968	if c.header_ == nil {
21969		c.header_ = make(http.Header)
21970	}
21971	return c.header_
21972}
21973
21974func (c *ProjectsLocationsAgentsFlowsCreateCall) doRequest(alt string) (*http.Response, error) {
21975	reqHeaders := make(http.Header)
21976	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
21977	for k, v := range c.header_ {
21978		reqHeaders[k] = v
21979	}
21980	reqHeaders.Set("User-Agent", c.s.userAgent())
21981	var body io.Reader = nil
21982	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3flow)
21983	if err != nil {
21984		return nil, err
21985	}
21986	reqHeaders.Set("Content-Type", "application/json")
21987	c.urlParams_.Set("alt", alt)
21988	c.urlParams_.Set("prettyPrint", "false")
21989	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/flows")
21990	urls += "?" + c.urlParams_.Encode()
21991	req, err := http.NewRequest("POST", urls, body)
21992	if err != nil {
21993		return nil, err
21994	}
21995	req.Header = reqHeaders
21996	googleapi.Expand(req.URL, map[string]string{
21997		"parent": c.parent,
21998	})
21999	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22000}
22001
22002// Do executes the "dialogflow.projects.locations.agents.flows.create" call.
22003// Exactly one of *GoogleCloudDialogflowCxV3Flow or error will be
22004// non-nil. Any non-2xx status code is an error. Response headers are in
22005// either *GoogleCloudDialogflowCxV3Flow.ServerResponse.Header or (if a
22006// response was returned at all) in error.(*googleapi.Error).Header. Use
22007// googleapi.IsNotModified to check whether the returned error was
22008// because http.StatusNotModified was returned.
22009func (c *ProjectsLocationsAgentsFlowsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3Flow, error) {
22010	gensupport.SetOptions(c.urlParams_, opts...)
22011	res, err := c.doRequest("json")
22012	if res != nil && res.StatusCode == http.StatusNotModified {
22013		if res.Body != nil {
22014			res.Body.Close()
22015		}
22016		return nil, &googleapi.Error{
22017			Code:   res.StatusCode,
22018			Header: res.Header,
22019		}
22020	}
22021	if err != nil {
22022		return nil, err
22023	}
22024	defer googleapi.CloseBody(res)
22025	if err := googleapi.CheckResponse(res); err != nil {
22026		return nil, err
22027	}
22028	ret := &GoogleCloudDialogflowCxV3Flow{
22029		ServerResponse: googleapi.ServerResponse{
22030			Header:         res.Header,
22031			HTTPStatusCode: res.StatusCode,
22032		},
22033	}
22034	target := &ret
22035	if err := gensupport.DecodeResponse(target, res); err != nil {
22036		return nil, err
22037	}
22038	return ret, nil
22039	// {
22040	//   "description": "Creates a flow in the specified agent.",
22041	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows",
22042	//   "httpMethod": "POST",
22043	//   "id": "dialogflow.projects.locations.agents.flows.create",
22044	//   "parameterOrder": [
22045	//     "parent"
22046	//   ],
22047	//   "parameters": {
22048	//     "languageCode": {
22049	//       "description": "The language of the following fields in `flow`: * `Flow.event_handlers.trigger_fulfillment.messages` * `Flow.transition_routes.trigger_fulfillment.messages` If not specified, the agent's default language is used. [Many languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) are supported. Note: languages must be enabled in the agent before they can be used.",
22050	//       "location": "query",
22051	//       "type": "string"
22052	//     },
22053	//     "parent": {
22054	//       "description": "Required. The agent to create a flow for. Format: `projects//locations//agents/`.",
22055	//       "location": "path",
22056	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$",
22057	//       "required": true,
22058	//       "type": "string"
22059	//     }
22060	//   },
22061	//   "path": "v3/{+parent}/flows",
22062	//   "request": {
22063	//     "$ref": "GoogleCloudDialogflowCxV3Flow"
22064	//   },
22065	//   "response": {
22066	//     "$ref": "GoogleCloudDialogflowCxV3Flow"
22067	//   },
22068	//   "scopes": [
22069	//     "https://www.googleapis.com/auth/cloud-platform",
22070	//     "https://www.googleapis.com/auth/dialogflow"
22071	//   ]
22072	// }
22073
22074}
22075
22076// method id "dialogflow.projects.locations.agents.flows.delete":
22077
22078type ProjectsLocationsAgentsFlowsDeleteCall struct {
22079	s          *Service
22080	name       string
22081	urlParams_ gensupport.URLParams
22082	ctx_       context.Context
22083	header_    http.Header
22084}
22085
22086// Delete: Deletes a specified flow.
22087//
22088// - name: The name of the flow to delete. Format:
22089//   `projects//locations//agents//flows/`.
22090func (r *ProjectsLocationsAgentsFlowsService) Delete(name string) *ProjectsLocationsAgentsFlowsDeleteCall {
22091	c := &ProjectsLocationsAgentsFlowsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22092	c.name = name
22093	return c
22094}
22095
22096// Force sets the optional parameter "force": This field has no effect
22097// for flows with no incoming transitions. For flows with incoming
22098// transitions: * If `force` is set to false, an error will be returned
22099// with message indicating the incoming transitions. * If `force` is set
22100// to true, Dialogflow will remove the flow, as well as any transitions
22101// to the flow (i.e. Target flow in event handlers or Target flow in
22102// transition routes that point to this flow will be cleared).
22103func (c *ProjectsLocationsAgentsFlowsDeleteCall) Force(force bool) *ProjectsLocationsAgentsFlowsDeleteCall {
22104	c.urlParams_.Set("force", fmt.Sprint(force))
22105	return c
22106}
22107
22108// Fields allows partial responses to be retrieved. See
22109// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22110// for more information.
22111func (c *ProjectsLocationsAgentsFlowsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsFlowsDeleteCall {
22112	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22113	return c
22114}
22115
22116// Context sets the context to be used in this call's Do method. Any
22117// pending HTTP request will be aborted if the provided context is
22118// canceled.
22119func (c *ProjectsLocationsAgentsFlowsDeleteCall) Context(ctx context.Context) *ProjectsLocationsAgentsFlowsDeleteCall {
22120	c.ctx_ = ctx
22121	return c
22122}
22123
22124// Header returns an http.Header that can be modified by the caller to
22125// add HTTP headers to the request.
22126func (c *ProjectsLocationsAgentsFlowsDeleteCall) Header() http.Header {
22127	if c.header_ == nil {
22128		c.header_ = make(http.Header)
22129	}
22130	return c.header_
22131}
22132
22133func (c *ProjectsLocationsAgentsFlowsDeleteCall) doRequest(alt string) (*http.Response, error) {
22134	reqHeaders := make(http.Header)
22135	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
22136	for k, v := range c.header_ {
22137		reqHeaders[k] = v
22138	}
22139	reqHeaders.Set("User-Agent", c.s.userAgent())
22140	var body io.Reader = nil
22141	c.urlParams_.Set("alt", alt)
22142	c.urlParams_.Set("prettyPrint", "false")
22143	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
22144	urls += "?" + c.urlParams_.Encode()
22145	req, err := http.NewRequest("DELETE", urls, body)
22146	if err != nil {
22147		return nil, err
22148	}
22149	req.Header = reqHeaders
22150	googleapi.Expand(req.URL, map[string]string{
22151		"name": c.name,
22152	})
22153	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22154}
22155
22156// Do executes the "dialogflow.projects.locations.agents.flows.delete" call.
22157// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
22158// non-2xx status code is an error. Response headers are in either
22159// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
22160// returned at all) in error.(*googleapi.Error).Header. Use
22161// googleapi.IsNotModified to check whether the returned error was
22162// because http.StatusNotModified was returned.
22163func (c *ProjectsLocationsAgentsFlowsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
22164	gensupport.SetOptions(c.urlParams_, opts...)
22165	res, err := c.doRequest("json")
22166	if res != nil && res.StatusCode == http.StatusNotModified {
22167		if res.Body != nil {
22168			res.Body.Close()
22169		}
22170		return nil, &googleapi.Error{
22171			Code:   res.StatusCode,
22172			Header: res.Header,
22173		}
22174	}
22175	if err != nil {
22176		return nil, err
22177	}
22178	defer googleapi.CloseBody(res)
22179	if err := googleapi.CheckResponse(res); err != nil {
22180		return nil, err
22181	}
22182	ret := &GoogleProtobufEmpty{
22183		ServerResponse: googleapi.ServerResponse{
22184			Header:         res.Header,
22185			HTTPStatusCode: res.StatusCode,
22186		},
22187	}
22188	target := &ret
22189	if err := gensupport.DecodeResponse(target, res); err != nil {
22190		return nil, err
22191	}
22192	return ret, nil
22193	// {
22194	//   "description": "Deletes a specified flow.",
22195	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}",
22196	//   "httpMethod": "DELETE",
22197	//   "id": "dialogflow.projects.locations.agents.flows.delete",
22198	//   "parameterOrder": [
22199	//     "name"
22200	//   ],
22201	//   "parameters": {
22202	//     "force": {
22203	//       "description": "This field has no effect for flows with no incoming transitions. For flows with incoming transitions: * If `force` is set to false, an error will be returned with message indicating the incoming transitions. * If `force` is set to true, Dialogflow will remove the flow, as well as any transitions to the flow (i.e. Target flow in event handlers or Target flow in transition routes that point to this flow will be cleared).",
22204	//       "location": "query",
22205	//       "type": "boolean"
22206	//     },
22207	//     "name": {
22208	//       "description": "Required. The name of the flow to delete. Format: `projects//locations//agents//flows/`.",
22209	//       "location": "path",
22210	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+$",
22211	//       "required": true,
22212	//       "type": "string"
22213	//     }
22214	//   },
22215	//   "path": "v3/{+name}",
22216	//   "response": {
22217	//     "$ref": "GoogleProtobufEmpty"
22218	//   },
22219	//   "scopes": [
22220	//     "https://www.googleapis.com/auth/cloud-platform",
22221	//     "https://www.googleapis.com/auth/dialogflow"
22222	//   ]
22223	// }
22224
22225}
22226
22227// method id "dialogflow.projects.locations.agents.flows.get":
22228
22229type ProjectsLocationsAgentsFlowsGetCall struct {
22230	s            *Service
22231	name         string
22232	urlParams_   gensupport.URLParams
22233	ifNoneMatch_ string
22234	ctx_         context.Context
22235	header_      http.Header
22236}
22237
22238// Get: Retrieves the specified flow.
22239//
22240// - name: The name of the flow to get. Format:
22241//   `projects//locations//agents//flows/`.
22242func (r *ProjectsLocationsAgentsFlowsService) Get(name string) *ProjectsLocationsAgentsFlowsGetCall {
22243	c := &ProjectsLocationsAgentsFlowsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22244	c.name = name
22245	return c
22246}
22247
22248// LanguageCode sets the optional parameter "languageCode": The language
22249// to retrieve the flow for. The following fields are language
22250// dependent: * `Flow.event_handlers.trigger_fulfillment.messages` *
22251// `Flow.transition_routes.trigger_fulfillment.messages` If not
22252// specified, the agent's default language is used. Many languages
22253// (https://cloud.google.com/dialogflow/cx/docs/reference/language) are
22254// supported. Note: languages must be enabled in the agent before they
22255// can be used.
22256func (c *ProjectsLocationsAgentsFlowsGetCall) LanguageCode(languageCode string) *ProjectsLocationsAgentsFlowsGetCall {
22257	c.urlParams_.Set("languageCode", languageCode)
22258	return c
22259}
22260
22261// Fields allows partial responses to be retrieved. See
22262// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22263// for more information.
22264func (c *ProjectsLocationsAgentsFlowsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsFlowsGetCall {
22265	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22266	return c
22267}
22268
22269// IfNoneMatch sets the optional parameter which makes the operation
22270// fail if the object's ETag matches the given value. This is useful for
22271// getting updates only after the object has changed since the last
22272// request. Use googleapi.IsNotModified to check whether the response
22273// error from Do is the result of In-None-Match.
22274func (c *ProjectsLocationsAgentsFlowsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsFlowsGetCall {
22275	c.ifNoneMatch_ = entityTag
22276	return c
22277}
22278
22279// Context sets the context to be used in this call's Do method. Any
22280// pending HTTP request will be aborted if the provided context is
22281// canceled.
22282func (c *ProjectsLocationsAgentsFlowsGetCall) Context(ctx context.Context) *ProjectsLocationsAgentsFlowsGetCall {
22283	c.ctx_ = ctx
22284	return c
22285}
22286
22287// Header returns an http.Header that can be modified by the caller to
22288// add HTTP headers to the request.
22289func (c *ProjectsLocationsAgentsFlowsGetCall) Header() http.Header {
22290	if c.header_ == nil {
22291		c.header_ = make(http.Header)
22292	}
22293	return c.header_
22294}
22295
22296func (c *ProjectsLocationsAgentsFlowsGetCall) doRequest(alt string) (*http.Response, error) {
22297	reqHeaders := make(http.Header)
22298	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
22299	for k, v := range c.header_ {
22300		reqHeaders[k] = v
22301	}
22302	reqHeaders.Set("User-Agent", c.s.userAgent())
22303	if c.ifNoneMatch_ != "" {
22304		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
22305	}
22306	var body io.Reader = nil
22307	c.urlParams_.Set("alt", alt)
22308	c.urlParams_.Set("prettyPrint", "false")
22309	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
22310	urls += "?" + c.urlParams_.Encode()
22311	req, err := http.NewRequest("GET", urls, body)
22312	if err != nil {
22313		return nil, err
22314	}
22315	req.Header = reqHeaders
22316	googleapi.Expand(req.URL, map[string]string{
22317		"name": c.name,
22318	})
22319	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22320}
22321
22322// Do executes the "dialogflow.projects.locations.agents.flows.get" call.
22323// Exactly one of *GoogleCloudDialogflowCxV3Flow or error will be
22324// non-nil. Any non-2xx status code is an error. Response headers are in
22325// either *GoogleCloudDialogflowCxV3Flow.ServerResponse.Header or (if a
22326// response was returned at all) in error.(*googleapi.Error).Header. Use
22327// googleapi.IsNotModified to check whether the returned error was
22328// because http.StatusNotModified was returned.
22329func (c *ProjectsLocationsAgentsFlowsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3Flow, error) {
22330	gensupport.SetOptions(c.urlParams_, opts...)
22331	res, err := c.doRequest("json")
22332	if res != nil && res.StatusCode == http.StatusNotModified {
22333		if res.Body != nil {
22334			res.Body.Close()
22335		}
22336		return nil, &googleapi.Error{
22337			Code:   res.StatusCode,
22338			Header: res.Header,
22339		}
22340	}
22341	if err != nil {
22342		return nil, err
22343	}
22344	defer googleapi.CloseBody(res)
22345	if err := googleapi.CheckResponse(res); err != nil {
22346		return nil, err
22347	}
22348	ret := &GoogleCloudDialogflowCxV3Flow{
22349		ServerResponse: googleapi.ServerResponse{
22350			Header:         res.Header,
22351			HTTPStatusCode: res.StatusCode,
22352		},
22353	}
22354	target := &ret
22355	if err := gensupport.DecodeResponse(target, res); err != nil {
22356		return nil, err
22357	}
22358	return ret, nil
22359	// {
22360	//   "description": "Retrieves the specified flow.",
22361	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}",
22362	//   "httpMethod": "GET",
22363	//   "id": "dialogflow.projects.locations.agents.flows.get",
22364	//   "parameterOrder": [
22365	//     "name"
22366	//   ],
22367	//   "parameters": {
22368	//     "languageCode": {
22369	//       "description": "The language to retrieve the flow for. The following fields are language dependent: * `Flow.event_handlers.trigger_fulfillment.messages` * `Flow.transition_routes.trigger_fulfillment.messages` If not specified, the agent's default language is used. [Many languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) are supported. Note: languages must be enabled in the agent before they can be used.",
22370	//       "location": "query",
22371	//       "type": "string"
22372	//     },
22373	//     "name": {
22374	//       "description": "Required. The name of the flow to get. Format: `projects//locations//agents//flows/`.",
22375	//       "location": "path",
22376	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+$",
22377	//       "required": true,
22378	//       "type": "string"
22379	//     }
22380	//   },
22381	//   "path": "v3/{+name}",
22382	//   "response": {
22383	//     "$ref": "GoogleCloudDialogflowCxV3Flow"
22384	//   },
22385	//   "scopes": [
22386	//     "https://www.googleapis.com/auth/cloud-platform",
22387	//     "https://www.googleapis.com/auth/dialogflow"
22388	//   ]
22389	// }
22390
22391}
22392
22393// method id "dialogflow.projects.locations.agents.flows.getValidationResult":
22394
22395type ProjectsLocationsAgentsFlowsGetValidationResultCall struct {
22396	s            *Service
22397	name         string
22398	urlParams_   gensupport.URLParams
22399	ifNoneMatch_ string
22400	ctx_         context.Context
22401	header_      http.Header
22402}
22403
22404// GetValidationResult: Gets the latest flow validation result. Flow
22405// validation is performed when ValidateFlow is called.
22406//
22407// - name: The flow name. Format:
22408//   `projects//locations//agents//flows//validationResult`.
22409func (r *ProjectsLocationsAgentsFlowsService) GetValidationResult(name string) *ProjectsLocationsAgentsFlowsGetValidationResultCall {
22410	c := &ProjectsLocationsAgentsFlowsGetValidationResultCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22411	c.name = name
22412	return c
22413}
22414
22415// LanguageCode sets the optional parameter "languageCode": If not
22416// specified, the agent's default language is used.
22417func (c *ProjectsLocationsAgentsFlowsGetValidationResultCall) LanguageCode(languageCode string) *ProjectsLocationsAgentsFlowsGetValidationResultCall {
22418	c.urlParams_.Set("languageCode", languageCode)
22419	return c
22420}
22421
22422// Fields allows partial responses to be retrieved. See
22423// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22424// for more information.
22425func (c *ProjectsLocationsAgentsFlowsGetValidationResultCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsFlowsGetValidationResultCall {
22426	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22427	return c
22428}
22429
22430// IfNoneMatch sets the optional parameter which makes the operation
22431// fail if the object's ETag matches the given value. This is useful for
22432// getting updates only after the object has changed since the last
22433// request. Use googleapi.IsNotModified to check whether the response
22434// error from Do is the result of In-None-Match.
22435func (c *ProjectsLocationsAgentsFlowsGetValidationResultCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsFlowsGetValidationResultCall {
22436	c.ifNoneMatch_ = entityTag
22437	return c
22438}
22439
22440// Context sets the context to be used in this call's Do method. Any
22441// pending HTTP request will be aborted if the provided context is
22442// canceled.
22443func (c *ProjectsLocationsAgentsFlowsGetValidationResultCall) Context(ctx context.Context) *ProjectsLocationsAgentsFlowsGetValidationResultCall {
22444	c.ctx_ = ctx
22445	return c
22446}
22447
22448// Header returns an http.Header that can be modified by the caller to
22449// add HTTP headers to the request.
22450func (c *ProjectsLocationsAgentsFlowsGetValidationResultCall) Header() http.Header {
22451	if c.header_ == nil {
22452		c.header_ = make(http.Header)
22453	}
22454	return c.header_
22455}
22456
22457func (c *ProjectsLocationsAgentsFlowsGetValidationResultCall) doRequest(alt string) (*http.Response, error) {
22458	reqHeaders := make(http.Header)
22459	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
22460	for k, v := range c.header_ {
22461		reqHeaders[k] = v
22462	}
22463	reqHeaders.Set("User-Agent", c.s.userAgent())
22464	if c.ifNoneMatch_ != "" {
22465		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
22466	}
22467	var body io.Reader = nil
22468	c.urlParams_.Set("alt", alt)
22469	c.urlParams_.Set("prettyPrint", "false")
22470	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
22471	urls += "?" + c.urlParams_.Encode()
22472	req, err := http.NewRequest("GET", urls, body)
22473	if err != nil {
22474		return nil, err
22475	}
22476	req.Header = reqHeaders
22477	googleapi.Expand(req.URL, map[string]string{
22478		"name": c.name,
22479	})
22480	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22481}
22482
22483// Do executes the "dialogflow.projects.locations.agents.flows.getValidationResult" call.
22484// Exactly one of *GoogleCloudDialogflowCxV3FlowValidationResult or
22485// error will be non-nil. Any non-2xx status code is an error. Response
22486// headers are in either
22487// *GoogleCloudDialogflowCxV3FlowValidationResult.ServerResponse.Header
22488// or (if a response was returned at all) in
22489// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
22490// whether the returned error was because http.StatusNotModified was
22491// returned.
22492func (c *ProjectsLocationsAgentsFlowsGetValidationResultCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3FlowValidationResult, error) {
22493	gensupport.SetOptions(c.urlParams_, opts...)
22494	res, err := c.doRequest("json")
22495	if res != nil && res.StatusCode == http.StatusNotModified {
22496		if res.Body != nil {
22497			res.Body.Close()
22498		}
22499		return nil, &googleapi.Error{
22500			Code:   res.StatusCode,
22501			Header: res.Header,
22502		}
22503	}
22504	if err != nil {
22505		return nil, err
22506	}
22507	defer googleapi.CloseBody(res)
22508	if err := googleapi.CheckResponse(res); err != nil {
22509		return nil, err
22510	}
22511	ret := &GoogleCloudDialogflowCxV3FlowValidationResult{
22512		ServerResponse: googleapi.ServerResponse{
22513			Header:         res.Header,
22514			HTTPStatusCode: res.StatusCode,
22515		},
22516	}
22517	target := &ret
22518	if err := gensupport.DecodeResponse(target, res); err != nil {
22519		return nil, err
22520	}
22521	return ret, nil
22522	// {
22523	//   "description": "Gets the latest flow validation result. Flow validation is performed when ValidateFlow is called.",
22524	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}/validationResult",
22525	//   "httpMethod": "GET",
22526	//   "id": "dialogflow.projects.locations.agents.flows.getValidationResult",
22527	//   "parameterOrder": [
22528	//     "name"
22529	//   ],
22530	//   "parameters": {
22531	//     "languageCode": {
22532	//       "description": "If not specified, the agent's default language is used.",
22533	//       "location": "query",
22534	//       "type": "string"
22535	//     },
22536	//     "name": {
22537	//       "description": "Required. The flow name. Format: `projects//locations//agents//flows//validationResult`.",
22538	//       "location": "path",
22539	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+/validationResult$",
22540	//       "required": true,
22541	//       "type": "string"
22542	//     }
22543	//   },
22544	//   "path": "v3/{+name}",
22545	//   "response": {
22546	//     "$ref": "GoogleCloudDialogflowCxV3FlowValidationResult"
22547	//   },
22548	//   "scopes": [
22549	//     "https://www.googleapis.com/auth/cloud-platform",
22550	//     "https://www.googleapis.com/auth/dialogflow"
22551	//   ]
22552	// }
22553
22554}
22555
22556// method id "dialogflow.projects.locations.agents.flows.list":
22557
22558type ProjectsLocationsAgentsFlowsListCall struct {
22559	s            *Service
22560	parent       string
22561	urlParams_   gensupport.URLParams
22562	ifNoneMatch_ string
22563	ctx_         context.Context
22564	header_      http.Header
22565}
22566
22567// List: Returns the list of all flows in the specified agent.
22568//
22569// - parent: The agent containing the flows. Format:
22570//   `projects//locations//agents/`.
22571func (r *ProjectsLocationsAgentsFlowsService) List(parent string) *ProjectsLocationsAgentsFlowsListCall {
22572	c := &ProjectsLocationsAgentsFlowsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22573	c.parent = parent
22574	return c
22575}
22576
22577// LanguageCode sets the optional parameter "languageCode": The language
22578// to list flows for. The following fields are language dependent: *
22579// `Flow.event_handlers.trigger_fulfillment.messages` *
22580// `Flow.transition_routes.trigger_fulfillment.messages` If not
22581// specified, the agent's default language is used. Many languages
22582// (https://cloud.google.com/dialogflow/cx/docs/reference/language) are
22583// supported. Note: languages must be enabled in the agent before they
22584// can be used.
22585func (c *ProjectsLocationsAgentsFlowsListCall) LanguageCode(languageCode string) *ProjectsLocationsAgentsFlowsListCall {
22586	c.urlParams_.Set("languageCode", languageCode)
22587	return c
22588}
22589
22590// PageSize sets the optional parameter "pageSize": The maximum number
22591// of items to return in a single page. By default 100 and at most 1000.
22592func (c *ProjectsLocationsAgentsFlowsListCall) PageSize(pageSize int64) *ProjectsLocationsAgentsFlowsListCall {
22593	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
22594	return c
22595}
22596
22597// PageToken sets the optional parameter "pageToken": The
22598// next_page_token value returned from a previous list request.
22599func (c *ProjectsLocationsAgentsFlowsListCall) PageToken(pageToken string) *ProjectsLocationsAgentsFlowsListCall {
22600	c.urlParams_.Set("pageToken", pageToken)
22601	return c
22602}
22603
22604// Fields allows partial responses to be retrieved. See
22605// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22606// for more information.
22607func (c *ProjectsLocationsAgentsFlowsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsFlowsListCall {
22608	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22609	return c
22610}
22611
22612// IfNoneMatch sets the optional parameter which makes the operation
22613// fail if the object's ETag matches the given value. This is useful for
22614// getting updates only after the object has changed since the last
22615// request. Use googleapi.IsNotModified to check whether the response
22616// error from Do is the result of In-None-Match.
22617func (c *ProjectsLocationsAgentsFlowsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsFlowsListCall {
22618	c.ifNoneMatch_ = entityTag
22619	return c
22620}
22621
22622// Context sets the context to be used in this call's Do method. Any
22623// pending HTTP request will be aborted if the provided context is
22624// canceled.
22625func (c *ProjectsLocationsAgentsFlowsListCall) Context(ctx context.Context) *ProjectsLocationsAgentsFlowsListCall {
22626	c.ctx_ = ctx
22627	return c
22628}
22629
22630// Header returns an http.Header that can be modified by the caller to
22631// add HTTP headers to the request.
22632func (c *ProjectsLocationsAgentsFlowsListCall) Header() http.Header {
22633	if c.header_ == nil {
22634		c.header_ = make(http.Header)
22635	}
22636	return c.header_
22637}
22638
22639func (c *ProjectsLocationsAgentsFlowsListCall) doRequest(alt string) (*http.Response, error) {
22640	reqHeaders := make(http.Header)
22641	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
22642	for k, v := range c.header_ {
22643		reqHeaders[k] = v
22644	}
22645	reqHeaders.Set("User-Agent", c.s.userAgent())
22646	if c.ifNoneMatch_ != "" {
22647		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
22648	}
22649	var body io.Reader = nil
22650	c.urlParams_.Set("alt", alt)
22651	c.urlParams_.Set("prettyPrint", "false")
22652	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/flows")
22653	urls += "?" + c.urlParams_.Encode()
22654	req, err := http.NewRequest("GET", urls, body)
22655	if err != nil {
22656		return nil, err
22657	}
22658	req.Header = reqHeaders
22659	googleapi.Expand(req.URL, map[string]string{
22660		"parent": c.parent,
22661	})
22662	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22663}
22664
22665// Do executes the "dialogflow.projects.locations.agents.flows.list" call.
22666// Exactly one of *GoogleCloudDialogflowCxV3ListFlowsResponse or error
22667// will be non-nil. Any non-2xx status code is an error. Response
22668// headers are in either
22669// *GoogleCloudDialogflowCxV3ListFlowsResponse.ServerResponse.Header or
22670// (if a response was returned at all) in
22671// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
22672// whether the returned error was because http.StatusNotModified was
22673// returned.
22674func (c *ProjectsLocationsAgentsFlowsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3ListFlowsResponse, error) {
22675	gensupport.SetOptions(c.urlParams_, opts...)
22676	res, err := c.doRequest("json")
22677	if res != nil && res.StatusCode == http.StatusNotModified {
22678		if res.Body != nil {
22679			res.Body.Close()
22680		}
22681		return nil, &googleapi.Error{
22682			Code:   res.StatusCode,
22683			Header: res.Header,
22684		}
22685	}
22686	if err != nil {
22687		return nil, err
22688	}
22689	defer googleapi.CloseBody(res)
22690	if err := googleapi.CheckResponse(res); err != nil {
22691		return nil, err
22692	}
22693	ret := &GoogleCloudDialogflowCxV3ListFlowsResponse{
22694		ServerResponse: googleapi.ServerResponse{
22695			Header:         res.Header,
22696			HTTPStatusCode: res.StatusCode,
22697		},
22698	}
22699	target := &ret
22700	if err := gensupport.DecodeResponse(target, res); err != nil {
22701		return nil, err
22702	}
22703	return ret, nil
22704	// {
22705	//   "description": "Returns the list of all flows in the specified agent.",
22706	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows",
22707	//   "httpMethod": "GET",
22708	//   "id": "dialogflow.projects.locations.agents.flows.list",
22709	//   "parameterOrder": [
22710	//     "parent"
22711	//   ],
22712	//   "parameters": {
22713	//     "languageCode": {
22714	//       "description": "The language to list flows for. The following fields are language dependent: * `Flow.event_handlers.trigger_fulfillment.messages` * `Flow.transition_routes.trigger_fulfillment.messages` If not specified, the agent's default language is used. [Many languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) are supported. Note: languages must be enabled in the agent before they can be used.",
22715	//       "location": "query",
22716	//       "type": "string"
22717	//     },
22718	//     "pageSize": {
22719	//       "description": "The maximum number of items to return in a single page. By default 100 and at most 1000.",
22720	//       "format": "int32",
22721	//       "location": "query",
22722	//       "type": "integer"
22723	//     },
22724	//     "pageToken": {
22725	//       "description": "The next_page_token value returned from a previous list request.",
22726	//       "location": "query",
22727	//       "type": "string"
22728	//     },
22729	//     "parent": {
22730	//       "description": "Required. The agent containing the flows. Format: `projects//locations//agents/`.",
22731	//       "location": "path",
22732	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$",
22733	//       "required": true,
22734	//       "type": "string"
22735	//     }
22736	//   },
22737	//   "path": "v3/{+parent}/flows",
22738	//   "response": {
22739	//     "$ref": "GoogleCloudDialogflowCxV3ListFlowsResponse"
22740	//   },
22741	//   "scopes": [
22742	//     "https://www.googleapis.com/auth/cloud-platform",
22743	//     "https://www.googleapis.com/auth/dialogflow"
22744	//   ]
22745	// }
22746
22747}
22748
22749// Pages invokes f for each page of results.
22750// A non-nil error returned from f will halt the iteration.
22751// The provided context supersedes any context provided to the Context method.
22752func (c *ProjectsLocationsAgentsFlowsListCall) Pages(ctx context.Context, f func(*GoogleCloudDialogflowCxV3ListFlowsResponse) error) error {
22753	c.ctx_ = ctx
22754	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
22755	for {
22756		x, err := c.Do()
22757		if err != nil {
22758			return err
22759		}
22760		if err := f(x); err != nil {
22761			return err
22762		}
22763		if x.NextPageToken == "" {
22764			return nil
22765		}
22766		c.PageToken(x.NextPageToken)
22767	}
22768}
22769
22770// method id "dialogflow.projects.locations.agents.flows.patch":
22771
22772type ProjectsLocationsAgentsFlowsPatchCall struct {
22773	s                             *Service
22774	nameid                        string
22775	googleclouddialogflowcxv3flow *GoogleCloudDialogflowCxV3Flow
22776	urlParams_                    gensupport.URLParams
22777	ctx_                          context.Context
22778	header_                       http.Header
22779}
22780
22781// Patch: Updates the specified flow.
22782//
22783// - name: The unique identifier of the flow. Format:
22784//   `projects//locations//agents//flows/`.
22785func (r *ProjectsLocationsAgentsFlowsService) Patch(nameid string, googleclouddialogflowcxv3flow *GoogleCloudDialogflowCxV3Flow) *ProjectsLocationsAgentsFlowsPatchCall {
22786	c := &ProjectsLocationsAgentsFlowsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22787	c.nameid = nameid
22788	c.googleclouddialogflowcxv3flow = googleclouddialogflowcxv3flow
22789	return c
22790}
22791
22792// LanguageCode sets the optional parameter "languageCode": The language
22793// of the following fields in `flow`: *
22794// `Flow.event_handlers.trigger_fulfillment.messages` *
22795// `Flow.transition_routes.trigger_fulfillment.messages` If not
22796// specified, the agent's default language is used. Many languages
22797// (https://cloud.google.com/dialogflow/cx/docs/reference/language) are
22798// supported. Note: languages must be enabled in the agent before they
22799// can be used.
22800func (c *ProjectsLocationsAgentsFlowsPatchCall) LanguageCode(languageCode string) *ProjectsLocationsAgentsFlowsPatchCall {
22801	c.urlParams_.Set("languageCode", languageCode)
22802	return c
22803}
22804
22805// UpdateMask sets the optional parameter "updateMask": Required. The
22806// mask to control which fields get updated. If `update_mask` is not
22807// specified, an error will be returned.
22808func (c *ProjectsLocationsAgentsFlowsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsAgentsFlowsPatchCall {
22809	c.urlParams_.Set("updateMask", updateMask)
22810	return c
22811}
22812
22813// Fields allows partial responses to be retrieved. See
22814// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22815// for more information.
22816func (c *ProjectsLocationsAgentsFlowsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsFlowsPatchCall {
22817	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22818	return c
22819}
22820
22821// Context sets the context to be used in this call's Do method. Any
22822// pending HTTP request will be aborted if the provided context is
22823// canceled.
22824func (c *ProjectsLocationsAgentsFlowsPatchCall) Context(ctx context.Context) *ProjectsLocationsAgentsFlowsPatchCall {
22825	c.ctx_ = ctx
22826	return c
22827}
22828
22829// Header returns an http.Header that can be modified by the caller to
22830// add HTTP headers to the request.
22831func (c *ProjectsLocationsAgentsFlowsPatchCall) Header() http.Header {
22832	if c.header_ == nil {
22833		c.header_ = make(http.Header)
22834	}
22835	return c.header_
22836}
22837
22838func (c *ProjectsLocationsAgentsFlowsPatchCall) doRequest(alt string) (*http.Response, error) {
22839	reqHeaders := make(http.Header)
22840	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
22841	for k, v := range c.header_ {
22842		reqHeaders[k] = v
22843	}
22844	reqHeaders.Set("User-Agent", c.s.userAgent())
22845	var body io.Reader = nil
22846	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3flow)
22847	if err != nil {
22848		return nil, err
22849	}
22850	reqHeaders.Set("Content-Type", "application/json")
22851	c.urlParams_.Set("alt", alt)
22852	c.urlParams_.Set("prettyPrint", "false")
22853	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
22854	urls += "?" + c.urlParams_.Encode()
22855	req, err := http.NewRequest("PATCH", urls, body)
22856	if err != nil {
22857		return nil, err
22858	}
22859	req.Header = reqHeaders
22860	googleapi.Expand(req.URL, map[string]string{
22861		"name": c.nameid,
22862	})
22863	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22864}
22865
22866// Do executes the "dialogflow.projects.locations.agents.flows.patch" call.
22867// Exactly one of *GoogleCloudDialogflowCxV3Flow or error will be
22868// non-nil. Any non-2xx status code is an error. Response headers are in
22869// either *GoogleCloudDialogflowCxV3Flow.ServerResponse.Header or (if a
22870// response was returned at all) in error.(*googleapi.Error).Header. Use
22871// googleapi.IsNotModified to check whether the returned error was
22872// because http.StatusNotModified was returned.
22873func (c *ProjectsLocationsAgentsFlowsPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3Flow, error) {
22874	gensupport.SetOptions(c.urlParams_, opts...)
22875	res, err := c.doRequest("json")
22876	if res != nil && res.StatusCode == http.StatusNotModified {
22877		if res.Body != nil {
22878			res.Body.Close()
22879		}
22880		return nil, &googleapi.Error{
22881			Code:   res.StatusCode,
22882			Header: res.Header,
22883		}
22884	}
22885	if err != nil {
22886		return nil, err
22887	}
22888	defer googleapi.CloseBody(res)
22889	if err := googleapi.CheckResponse(res); err != nil {
22890		return nil, err
22891	}
22892	ret := &GoogleCloudDialogflowCxV3Flow{
22893		ServerResponse: googleapi.ServerResponse{
22894			Header:         res.Header,
22895			HTTPStatusCode: res.StatusCode,
22896		},
22897	}
22898	target := &ret
22899	if err := gensupport.DecodeResponse(target, res); err != nil {
22900		return nil, err
22901	}
22902	return ret, nil
22903	// {
22904	//   "description": "Updates the specified flow.",
22905	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}",
22906	//   "httpMethod": "PATCH",
22907	//   "id": "dialogflow.projects.locations.agents.flows.patch",
22908	//   "parameterOrder": [
22909	//     "name"
22910	//   ],
22911	//   "parameters": {
22912	//     "languageCode": {
22913	//       "description": "The language of the following fields in `flow`: * `Flow.event_handlers.trigger_fulfillment.messages` * `Flow.transition_routes.trigger_fulfillment.messages` If not specified, the agent's default language is used. [Many languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) are supported. Note: languages must be enabled in the agent before they can be used.",
22914	//       "location": "query",
22915	//       "type": "string"
22916	//     },
22917	//     "name": {
22918	//       "description": "The unique identifier of the flow. Format: `projects//locations//agents//flows/`.",
22919	//       "location": "path",
22920	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+$",
22921	//       "required": true,
22922	//       "type": "string"
22923	//     },
22924	//     "updateMask": {
22925	//       "description": "Required. The mask to control which fields get updated. If `update_mask` is not specified, an error will be returned.",
22926	//       "format": "google-fieldmask",
22927	//       "location": "query",
22928	//       "type": "string"
22929	//     }
22930	//   },
22931	//   "path": "v3/{+name}",
22932	//   "request": {
22933	//     "$ref": "GoogleCloudDialogflowCxV3Flow"
22934	//   },
22935	//   "response": {
22936	//     "$ref": "GoogleCloudDialogflowCxV3Flow"
22937	//   },
22938	//   "scopes": [
22939	//     "https://www.googleapis.com/auth/cloud-platform",
22940	//     "https://www.googleapis.com/auth/dialogflow"
22941	//   ]
22942	// }
22943
22944}
22945
22946// method id "dialogflow.projects.locations.agents.flows.train":
22947
22948type ProjectsLocationsAgentsFlowsTrainCall struct {
22949	s                                         *Service
22950	name                                      string
22951	googleclouddialogflowcxv3trainflowrequest *GoogleCloudDialogflowCxV3TrainFlowRequest
22952	urlParams_                                gensupport.URLParams
22953	ctx_                                      context.Context
22954	header_                                   http.Header
22955}
22956
22957// Train: Trains the specified flow. Note that only the flow in 'draft'
22958// environment is trained.
22959//
22960// - name: The flow to train. Format:
22961//   `projects//locations//agents//flows/`.
22962func (r *ProjectsLocationsAgentsFlowsService) Train(name string, googleclouddialogflowcxv3trainflowrequest *GoogleCloudDialogflowCxV3TrainFlowRequest) *ProjectsLocationsAgentsFlowsTrainCall {
22963	c := &ProjectsLocationsAgentsFlowsTrainCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22964	c.name = name
22965	c.googleclouddialogflowcxv3trainflowrequest = googleclouddialogflowcxv3trainflowrequest
22966	return c
22967}
22968
22969// Fields allows partial responses to be retrieved. See
22970// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22971// for more information.
22972func (c *ProjectsLocationsAgentsFlowsTrainCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsFlowsTrainCall {
22973	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22974	return c
22975}
22976
22977// Context sets the context to be used in this call's Do method. Any
22978// pending HTTP request will be aborted if the provided context is
22979// canceled.
22980func (c *ProjectsLocationsAgentsFlowsTrainCall) Context(ctx context.Context) *ProjectsLocationsAgentsFlowsTrainCall {
22981	c.ctx_ = ctx
22982	return c
22983}
22984
22985// Header returns an http.Header that can be modified by the caller to
22986// add HTTP headers to the request.
22987func (c *ProjectsLocationsAgentsFlowsTrainCall) Header() http.Header {
22988	if c.header_ == nil {
22989		c.header_ = make(http.Header)
22990	}
22991	return c.header_
22992}
22993
22994func (c *ProjectsLocationsAgentsFlowsTrainCall) doRequest(alt string) (*http.Response, error) {
22995	reqHeaders := make(http.Header)
22996	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
22997	for k, v := range c.header_ {
22998		reqHeaders[k] = v
22999	}
23000	reqHeaders.Set("User-Agent", c.s.userAgent())
23001	var body io.Reader = nil
23002	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3trainflowrequest)
23003	if err != nil {
23004		return nil, err
23005	}
23006	reqHeaders.Set("Content-Type", "application/json")
23007	c.urlParams_.Set("alt", alt)
23008	c.urlParams_.Set("prettyPrint", "false")
23009	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}:train")
23010	urls += "?" + c.urlParams_.Encode()
23011	req, err := http.NewRequest("POST", urls, body)
23012	if err != nil {
23013		return nil, err
23014	}
23015	req.Header = reqHeaders
23016	googleapi.Expand(req.URL, map[string]string{
23017		"name": c.name,
23018	})
23019	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23020}
23021
23022// Do executes the "dialogflow.projects.locations.agents.flows.train" call.
23023// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
23024// Any non-2xx status code is an error. Response headers are in either
23025// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
23026// was returned at all) in error.(*googleapi.Error).Header. Use
23027// googleapi.IsNotModified to check whether the returned error was
23028// because http.StatusNotModified was returned.
23029func (c *ProjectsLocationsAgentsFlowsTrainCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
23030	gensupport.SetOptions(c.urlParams_, opts...)
23031	res, err := c.doRequest("json")
23032	if res != nil && res.StatusCode == http.StatusNotModified {
23033		if res.Body != nil {
23034			res.Body.Close()
23035		}
23036		return nil, &googleapi.Error{
23037			Code:   res.StatusCode,
23038			Header: res.Header,
23039		}
23040	}
23041	if err != nil {
23042		return nil, err
23043	}
23044	defer googleapi.CloseBody(res)
23045	if err := googleapi.CheckResponse(res); err != nil {
23046		return nil, err
23047	}
23048	ret := &GoogleLongrunningOperation{
23049		ServerResponse: googleapi.ServerResponse{
23050			Header:         res.Header,
23051			HTTPStatusCode: res.StatusCode,
23052		},
23053	}
23054	target := &ret
23055	if err := gensupport.DecodeResponse(target, res); err != nil {
23056		return nil, err
23057	}
23058	return ret, nil
23059	// {
23060	//   "description": "Trains the specified flow. Note that only the flow in 'draft' environment is trained.",
23061	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}:train",
23062	//   "httpMethod": "POST",
23063	//   "id": "dialogflow.projects.locations.agents.flows.train",
23064	//   "parameterOrder": [
23065	//     "name"
23066	//   ],
23067	//   "parameters": {
23068	//     "name": {
23069	//       "description": "Required. The flow to train. Format: `projects//locations//agents//flows/`.",
23070	//       "location": "path",
23071	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+$",
23072	//       "required": true,
23073	//       "type": "string"
23074	//     }
23075	//   },
23076	//   "path": "v3/{+name}:train",
23077	//   "request": {
23078	//     "$ref": "GoogleCloudDialogflowCxV3TrainFlowRequest"
23079	//   },
23080	//   "response": {
23081	//     "$ref": "GoogleLongrunningOperation"
23082	//   },
23083	//   "scopes": [
23084	//     "https://www.googleapis.com/auth/cloud-platform",
23085	//     "https://www.googleapis.com/auth/dialogflow"
23086	//   ]
23087	// }
23088
23089}
23090
23091// method id "dialogflow.projects.locations.agents.flows.validate":
23092
23093type ProjectsLocationsAgentsFlowsValidateCall struct {
23094	s                                            *Service
23095	name                                         string
23096	googleclouddialogflowcxv3validateflowrequest *GoogleCloudDialogflowCxV3ValidateFlowRequest
23097	urlParams_                                   gensupport.URLParams
23098	ctx_                                         context.Context
23099	header_                                      http.Header
23100}
23101
23102// Validate: Validates the specified flow and creates or updates
23103// validation results. Please call this API after the training is
23104// completed to get the complete validation results.
23105//
23106// - name: The flow to validate. Format:
23107//   `projects//locations//agents//flows/`.
23108func (r *ProjectsLocationsAgentsFlowsService) Validate(name string, googleclouddialogflowcxv3validateflowrequest *GoogleCloudDialogflowCxV3ValidateFlowRequest) *ProjectsLocationsAgentsFlowsValidateCall {
23109	c := &ProjectsLocationsAgentsFlowsValidateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23110	c.name = name
23111	c.googleclouddialogflowcxv3validateflowrequest = googleclouddialogflowcxv3validateflowrequest
23112	return c
23113}
23114
23115// Fields allows partial responses to be retrieved. See
23116// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23117// for more information.
23118func (c *ProjectsLocationsAgentsFlowsValidateCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsFlowsValidateCall {
23119	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23120	return c
23121}
23122
23123// Context sets the context to be used in this call's Do method. Any
23124// pending HTTP request will be aborted if the provided context is
23125// canceled.
23126func (c *ProjectsLocationsAgentsFlowsValidateCall) Context(ctx context.Context) *ProjectsLocationsAgentsFlowsValidateCall {
23127	c.ctx_ = ctx
23128	return c
23129}
23130
23131// Header returns an http.Header that can be modified by the caller to
23132// add HTTP headers to the request.
23133func (c *ProjectsLocationsAgentsFlowsValidateCall) Header() http.Header {
23134	if c.header_ == nil {
23135		c.header_ = make(http.Header)
23136	}
23137	return c.header_
23138}
23139
23140func (c *ProjectsLocationsAgentsFlowsValidateCall) doRequest(alt string) (*http.Response, error) {
23141	reqHeaders := make(http.Header)
23142	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
23143	for k, v := range c.header_ {
23144		reqHeaders[k] = v
23145	}
23146	reqHeaders.Set("User-Agent", c.s.userAgent())
23147	var body io.Reader = nil
23148	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3validateflowrequest)
23149	if err != nil {
23150		return nil, err
23151	}
23152	reqHeaders.Set("Content-Type", "application/json")
23153	c.urlParams_.Set("alt", alt)
23154	c.urlParams_.Set("prettyPrint", "false")
23155	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}:validate")
23156	urls += "?" + c.urlParams_.Encode()
23157	req, err := http.NewRequest("POST", urls, body)
23158	if err != nil {
23159		return nil, err
23160	}
23161	req.Header = reqHeaders
23162	googleapi.Expand(req.URL, map[string]string{
23163		"name": c.name,
23164	})
23165	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23166}
23167
23168// Do executes the "dialogflow.projects.locations.agents.flows.validate" call.
23169// Exactly one of *GoogleCloudDialogflowCxV3FlowValidationResult or
23170// error will be non-nil. Any non-2xx status code is an error. Response
23171// headers are in either
23172// *GoogleCloudDialogflowCxV3FlowValidationResult.ServerResponse.Header
23173// or (if a response was returned at all) in
23174// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
23175// whether the returned error was because http.StatusNotModified was
23176// returned.
23177func (c *ProjectsLocationsAgentsFlowsValidateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3FlowValidationResult, error) {
23178	gensupport.SetOptions(c.urlParams_, opts...)
23179	res, err := c.doRequest("json")
23180	if res != nil && res.StatusCode == http.StatusNotModified {
23181		if res.Body != nil {
23182			res.Body.Close()
23183		}
23184		return nil, &googleapi.Error{
23185			Code:   res.StatusCode,
23186			Header: res.Header,
23187		}
23188	}
23189	if err != nil {
23190		return nil, err
23191	}
23192	defer googleapi.CloseBody(res)
23193	if err := googleapi.CheckResponse(res); err != nil {
23194		return nil, err
23195	}
23196	ret := &GoogleCloudDialogflowCxV3FlowValidationResult{
23197		ServerResponse: googleapi.ServerResponse{
23198			Header:         res.Header,
23199			HTTPStatusCode: res.StatusCode,
23200		},
23201	}
23202	target := &ret
23203	if err := gensupport.DecodeResponse(target, res); err != nil {
23204		return nil, err
23205	}
23206	return ret, nil
23207	// {
23208	//   "description": "Validates the specified flow and creates or updates validation results. Please call this API after the training is completed to get the complete validation results.",
23209	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}:validate",
23210	//   "httpMethod": "POST",
23211	//   "id": "dialogflow.projects.locations.agents.flows.validate",
23212	//   "parameterOrder": [
23213	//     "name"
23214	//   ],
23215	//   "parameters": {
23216	//     "name": {
23217	//       "description": "Required. The flow to validate. Format: `projects//locations//agents//flows/`.",
23218	//       "location": "path",
23219	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+$",
23220	//       "required": true,
23221	//       "type": "string"
23222	//     }
23223	//   },
23224	//   "path": "v3/{+name}:validate",
23225	//   "request": {
23226	//     "$ref": "GoogleCloudDialogflowCxV3ValidateFlowRequest"
23227	//   },
23228	//   "response": {
23229	//     "$ref": "GoogleCloudDialogflowCxV3FlowValidationResult"
23230	//   },
23231	//   "scopes": [
23232	//     "https://www.googleapis.com/auth/cloud-platform",
23233	//     "https://www.googleapis.com/auth/dialogflow"
23234	//   ]
23235	// }
23236
23237}
23238
23239// method id "dialogflow.projects.locations.agents.flows.pages.create":
23240
23241type ProjectsLocationsAgentsFlowsPagesCreateCall struct {
23242	s                             *Service
23243	parent                        string
23244	googleclouddialogflowcxv3page *GoogleCloudDialogflowCxV3Page
23245	urlParams_                    gensupport.URLParams
23246	ctx_                          context.Context
23247	header_                       http.Header
23248}
23249
23250// Create: Creates a page in the specified flow.
23251//
23252// - parent: The flow to create a page for. Format:
23253//   `projects//locations//agents//flows/`.
23254func (r *ProjectsLocationsAgentsFlowsPagesService) Create(parent string, googleclouddialogflowcxv3page *GoogleCloudDialogflowCxV3Page) *ProjectsLocationsAgentsFlowsPagesCreateCall {
23255	c := &ProjectsLocationsAgentsFlowsPagesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23256	c.parent = parent
23257	c.googleclouddialogflowcxv3page = googleclouddialogflowcxv3page
23258	return c
23259}
23260
23261// LanguageCode sets the optional parameter "languageCode": The language
23262// of the following fields in `page`: *
23263// `Page.entry_fulfillment.messages` *
23264// `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.message
23265// s` *
23266// `Page.form.parameters.fill_behavior.reprompt_event_handlers.messages`
23267// * `Page.transition_routes.trigger_fulfillment.messages` *
23268// `Page.transition_route_groups.transition_routes.trigger_fulfillment.me
23269// ssages` If not specified, the agent's default language is used. Many
23270// languages
23271// (https://cloud.google.com/dialogflow/cx/docs/reference/language) are
23272// supported. Note: languages must be enabled in the agent before they
23273// can be used.
23274func (c *ProjectsLocationsAgentsFlowsPagesCreateCall) LanguageCode(languageCode string) *ProjectsLocationsAgentsFlowsPagesCreateCall {
23275	c.urlParams_.Set("languageCode", languageCode)
23276	return c
23277}
23278
23279// Fields allows partial responses to be retrieved. See
23280// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23281// for more information.
23282func (c *ProjectsLocationsAgentsFlowsPagesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsFlowsPagesCreateCall {
23283	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23284	return c
23285}
23286
23287// Context sets the context to be used in this call's Do method. Any
23288// pending HTTP request will be aborted if the provided context is
23289// canceled.
23290func (c *ProjectsLocationsAgentsFlowsPagesCreateCall) Context(ctx context.Context) *ProjectsLocationsAgentsFlowsPagesCreateCall {
23291	c.ctx_ = ctx
23292	return c
23293}
23294
23295// Header returns an http.Header that can be modified by the caller to
23296// add HTTP headers to the request.
23297func (c *ProjectsLocationsAgentsFlowsPagesCreateCall) Header() http.Header {
23298	if c.header_ == nil {
23299		c.header_ = make(http.Header)
23300	}
23301	return c.header_
23302}
23303
23304func (c *ProjectsLocationsAgentsFlowsPagesCreateCall) doRequest(alt string) (*http.Response, error) {
23305	reqHeaders := make(http.Header)
23306	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
23307	for k, v := range c.header_ {
23308		reqHeaders[k] = v
23309	}
23310	reqHeaders.Set("User-Agent", c.s.userAgent())
23311	var body io.Reader = nil
23312	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3page)
23313	if err != nil {
23314		return nil, err
23315	}
23316	reqHeaders.Set("Content-Type", "application/json")
23317	c.urlParams_.Set("alt", alt)
23318	c.urlParams_.Set("prettyPrint", "false")
23319	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/pages")
23320	urls += "?" + c.urlParams_.Encode()
23321	req, err := http.NewRequest("POST", urls, body)
23322	if err != nil {
23323		return nil, err
23324	}
23325	req.Header = reqHeaders
23326	googleapi.Expand(req.URL, map[string]string{
23327		"parent": c.parent,
23328	})
23329	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23330}
23331
23332// Do executes the "dialogflow.projects.locations.agents.flows.pages.create" call.
23333// Exactly one of *GoogleCloudDialogflowCxV3Page or error will be
23334// non-nil. Any non-2xx status code is an error. Response headers are in
23335// either *GoogleCloudDialogflowCxV3Page.ServerResponse.Header or (if a
23336// response was returned at all) in error.(*googleapi.Error).Header. Use
23337// googleapi.IsNotModified to check whether the returned error was
23338// because http.StatusNotModified was returned.
23339func (c *ProjectsLocationsAgentsFlowsPagesCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3Page, error) {
23340	gensupport.SetOptions(c.urlParams_, opts...)
23341	res, err := c.doRequest("json")
23342	if res != nil && res.StatusCode == http.StatusNotModified {
23343		if res.Body != nil {
23344			res.Body.Close()
23345		}
23346		return nil, &googleapi.Error{
23347			Code:   res.StatusCode,
23348			Header: res.Header,
23349		}
23350	}
23351	if err != nil {
23352		return nil, err
23353	}
23354	defer googleapi.CloseBody(res)
23355	if err := googleapi.CheckResponse(res); err != nil {
23356		return nil, err
23357	}
23358	ret := &GoogleCloudDialogflowCxV3Page{
23359		ServerResponse: googleapi.ServerResponse{
23360			Header:         res.Header,
23361			HTTPStatusCode: res.StatusCode,
23362		},
23363	}
23364	target := &ret
23365	if err := gensupport.DecodeResponse(target, res); err != nil {
23366		return nil, err
23367	}
23368	return ret, nil
23369	// {
23370	//   "description": "Creates a page in the specified flow.",
23371	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}/pages",
23372	//   "httpMethod": "POST",
23373	//   "id": "dialogflow.projects.locations.agents.flows.pages.create",
23374	//   "parameterOrder": [
23375	//     "parent"
23376	//   ],
23377	//   "parameters": {
23378	//     "languageCode": {
23379	//       "description": "The language of the following fields in `page`: * `Page.entry_fulfillment.messages` * `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.messages` * `Page.form.parameters.fill_behavior.reprompt_event_handlers.messages` * `Page.transition_routes.trigger_fulfillment.messages` * `Page.transition_route_groups.transition_routes.trigger_fulfillment.messages` If not specified, the agent's default language is used. [Many languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) are supported. Note: languages must be enabled in the agent before they can be used.",
23380	//       "location": "query",
23381	//       "type": "string"
23382	//     },
23383	//     "parent": {
23384	//       "description": "Required. The flow to create a page for. Format: `projects//locations//agents//flows/`.",
23385	//       "location": "path",
23386	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+$",
23387	//       "required": true,
23388	//       "type": "string"
23389	//     }
23390	//   },
23391	//   "path": "v3/{+parent}/pages",
23392	//   "request": {
23393	//     "$ref": "GoogleCloudDialogflowCxV3Page"
23394	//   },
23395	//   "response": {
23396	//     "$ref": "GoogleCloudDialogflowCxV3Page"
23397	//   },
23398	//   "scopes": [
23399	//     "https://www.googleapis.com/auth/cloud-platform",
23400	//     "https://www.googleapis.com/auth/dialogflow"
23401	//   ]
23402	// }
23403
23404}
23405
23406// method id "dialogflow.projects.locations.agents.flows.pages.delete":
23407
23408type ProjectsLocationsAgentsFlowsPagesDeleteCall struct {
23409	s          *Service
23410	name       string
23411	urlParams_ gensupport.URLParams
23412	ctx_       context.Context
23413	header_    http.Header
23414}
23415
23416// Delete: Deletes the specified page.
23417//
23418// - name: The name of the page to delete. Format:
23419//   `projects//locations//agents//Flows//pages/`.
23420func (r *ProjectsLocationsAgentsFlowsPagesService) Delete(name string) *ProjectsLocationsAgentsFlowsPagesDeleteCall {
23421	c := &ProjectsLocationsAgentsFlowsPagesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23422	c.name = name
23423	return c
23424}
23425
23426// Force sets the optional parameter "force": This field has no effect
23427// for pages with no incoming transitions. For pages with incoming
23428// transitions: * If `force` is set to false, an error will be returned
23429// with message indicating the incoming transitions. * If `force` is set
23430// to true, Dialogflow will remove the page, as well as any transitions
23431// to the page (i.e. Target page in event handlers or Target page in
23432// transition routes that point to this page will be cleared).
23433func (c *ProjectsLocationsAgentsFlowsPagesDeleteCall) Force(force bool) *ProjectsLocationsAgentsFlowsPagesDeleteCall {
23434	c.urlParams_.Set("force", fmt.Sprint(force))
23435	return c
23436}
23437
23438// Fields allows partial responses to be retrieved. See
23439// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23440// for more information.
23441func (c *ProjectsLocationsAgentsFlowsPagesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsFlowsPagesDeleteCall {
23442	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23443	return c
23444}
23445
23446// Context sets the context to be used in this call's Do method. Any
23447// pending HTTP request will be aborted if the provided context is
23448// canceled.
23449func (c *ProjectsLocationsAgentsFlowsPagesDeleteCall) Context(ctx context.Context) *ProjectsLocationsAgentsFlowsPagesDeleteCall {
23450	c.ctx_ = ctx
23451	return c
23452}
23453
23454// Header returns an http.Header that can be modified by the caller to
23455// add HTTP headers to the request.
23456func (c *ProjectsLocationsAgentsFlowsPagesDeleteCall) Header() http.Header {
23457	if c.header_ == nil {
23458		c.header_ = make(http.Header)
23459	}
23460	return c.header_
23461}
23462
23463func (c *ProjectsLocationsAgentsFlowsPagesDeleteCall) doRequest(alt string) (*http.Response, error) {
23464	reqHeaders := make(http.Header)
23465	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
23466	for k, v := range c.header_ {
23467		reqHeaders[k] = v
23468	}
23469	reqHeaders.Set("User-Agent", c.s.userAgent())
23470	var body io.Reader = nil
23471	c.urlParams_.Set("alt", alt)
23472	c.urlParams_.Set("prettyPrint", "false")
23473	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
23474	urls += "?" + c.urlParams_.Encode()
23475	req, err := http.NewRequest("DELETE", urls, body)
23476	if err != nil {
23477		return nil, err
23478	}
23479	req.Header = reqHeaders
23480	googleapi.Expand(req.URL, map[string]string{
23481		"name": c.name,
23482	})
23483	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23484}
23485
23486// Do executes the "dialogflow.projects.locations.agents.flows.pages.delete" call.
23487// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
23488// non-2xx status code is an error. Response headers are in either
23489// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
23490// returned at all) in error.(*googleapi.Error).Header. Use
23491// googleapi.IsNotModified to check whether the returned error was
23492// because http.StatusNotModified was returned.
23493func (c *ProjectsLocationsAgentsFlowsPagesDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
23494	gensupport.SetOptions(c.urlParams_, opts...)
23495	res, err := c.doRequest("json")
23496	if res != nil && res.StatusCode == http.StatusNotModified {
23497		if res.Body != nil {
23498			res.Body.Close()
23499		}
23500		return nil, &googleapi.Error{
23501			Code:   res.StatusCode,
23502			Header: res.Header,
23503		}
23504	}
23505	if err != nil {
23506		return nil, err
23507	}
23508	defer googleapi.CloseBody(res)
23509	if err := googleapi.CheckResponse(res); err != nil {
23510		return nil, err
23511	}
23512	ret := &GoogleProtobufEmpty{
23513		ServerResponse: googleapi.ServerResponse{
23514			Header:         res.Header,
23515			HTTPStatusCode: res.StatusCode,
23516		},
23517	}
23518	target := &ret
23519	if err := gensupport.DecodeResponse(target, res); err != nil {
23520		return nil, err
23521	}
23522	return ret, nil
23523	// {
23524	//   "description": "Deletes the specified page.",
23525	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}/pages/{pagesId}",
23526	//   "httpMethod": "DELETE",
23527	//   "id": "dialogflow.projects.locations.agents.flows.pages.delete",
23528	//   "parameterOrder": [
23529	//     "name"
23530	//   ],
23531	//   "parameters": {
23532	//     "force": {
23533	//       "description": "This field has no effect for pages with no incoming transitions. For pages with incoming transitions: * If `force` is set to false, an error will be returned with message indicating the incoming transitions. * If `force` is set to true, Dialogflow will remove the page, as well as any transitions to the page (i.e. Target page in event handlers or Target page in transition routes that point to this page will be cleared).",
23534	//       "location": "query",
23535	//       "type": "boolean"
23536	//     },
23537	//     "name": {
23538	//       "description": "Required. The name of the page to delete. Format: `projects//locations//agents//Flows//pages/`.",
23539	//       "location": "path",
23540	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+/pages/[^/]+$",
23541	//       "required": true,
23542	//       "type": "string"
23543	//     }
23544	//   },
23545	//   "path": "v3/{+name}",
23546	//   "response": {
23547	//     "$ref": "GoogleProtobufEmpty"
23548	//   },
23549	//   "scopes": [
23550	//     "https://www.googleapis.com/auth/cloud-platform",
23551	//     "https://www.googleapis.com/auth/dialogflow"
23552	//   ]
23553	// }
23554
23555}
23556
23557// method id "dialogflow.projects.locations.agents.flows.pages.get":
23558
23559type ProjectsLocationsAgentsFlowsPagesGetCall struct {
23560	s            *Service
23561	name         string
23562	urlParams_   gensupport.URLParams
23563	ifNoneMatch_ string
23564	ctx_         context.Context
23565	header_      http.Header
23566}
23567
23568// Get: Retrieves the specified page.
23569//
23570// - name: The name of the page. Format:
23571//   `projects//locations//agents//flows//pages/`.
23572func (r *ProjectsLocationsAgentsFlowsPagesService) Get(name string) *ProjectsLocationsAgentsFlowsPagesGetCall {
23573	c := &ProjectsLocationsAgentsFlowsPagesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23574	c.name = name
23575	return c
23576}
23577
23578// LanguageCode sets the optional parameter "languageCode": The language
23579// to retrieve the page for. The following fields are language
23580// dependent: * `Page.entry_fulfillment.messages` *
23581// `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.message
23582// s` *
23583// `Page.form.parameters.fill_behavior.reprompt_event_handlers.messages`
23584// * `Page.transition_routes.trigger_fulfillment.messages` *
23585// `Page.transition_route_groups.transition_routes.trigger_fulfillment.me
23586// ssages` If not specified, the agent's default language is used. Many
23587// languages
23588// (https://cloud.google.com/dialogflow/cx/docs/reference/language) are
23589// supported. Note: languages must be enabled in the agent before they
23590// can be used.
23591func (c *ProjectsLocationsAgentsFlowsPagesGetCall) LanguageCode(languageCode string) *ProjectsLocationsAgentsFlowsPagesGetCall {
23592	c.urlParams_.Set("languageCode", languageCode)
23593	return c
23594}
23595
23596// Fields allows partial responses to be retrieved. See
23597// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23598// for more information.
23599func (c *ProjectsLocationsAgentsFlowsPagesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsFlowsPagesGetCall {
23600	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23601	return c
23602}
23603
23604// IfNoneMatch sets the optional parameter which makes the operation
23605// fail if the object's ETag matches the given value. This is useful for
23606// getting updates only after the object has changed since the last
23607// request. Use googleapi.IsNotModified to check whether the response
23608// error from Do is the result of In-None-Match.
23609func (c *ProjectsLocationsAgentsFlowsPagesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsFlowsPagesGetCall {
23610	c.ifNoneMatch_ = entityTag
23611	return c
23612}
23613
23614// Context sets the context to be used in this call's Do method. Any
23615// pending HTTP request will be aborted if the provided context is
23616// canceled.
23617func (c *ProjectsLocationsAgentsFlowsPagesGetCall) Context(ctx context.Context) *ProjectsLocationsAgentsFlowsPagesGetCall {
23618	c.ctx_ = ctx
23619	return c
23620}
23621
23622// Header returns an http.Header that can be modified by the caller to
23623// add HTTP headers to the request.
23624func (c *ProjectsLocationsAgentsFlowsPagesGetCall) Header() http.Header {
23625	if c.header_ == nil {
23626		c.header_ = make(http.Header)
23627	}
23628	return c.header_
23629}
23630
23631func (c *ProjectsLocationsAgentsFlowsPagesGetCall) doRequest(alt string) (*http.Response, error) {
23632	reqHeaders := make(http.Header)
23633	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
23634	for k, v := range c.header_ {
23635		reqHeaders[k] = v
23636	}
23637	reqHeaders.Set("User-Agent", c.s.userAgent())
23638	if c.ifNoneMatch_ != "" {
23639		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
23640	}
23641	var body io.Reader = nil
23642	c.urlParams_.Set("alt", alt)
23643	c.urlParams_.Set("prettyPrint", "false")
23644	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
23645	urls += "?" + c.urlParams_.Encode()
23646	req, err := http.NewRequest("GET", urls, body)
23647	if err != nil {
23648		return nil, err
23649	}
23650	req.Header = reqHeaders
23651	googleapi.Expand(req.URL, map[string]string{
23652		"name": c.name,
23653	})
23654	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23655}
23656
23657// Do executes the "dialogflow.projects.locations.agents.flows.pages.get" call.
23658// Exactly one of *GoogleCloudDialogflowCxV3Page or error will be
23659// non-nil. Any non-2xx status code is an error. Response headers are in
23660// either *GoogleCloudDialogflowCxV3Page.ServerResponse.Header or (if a
23661// response was returned at all) in error.(*googleapi.Error).Header. Use
23662// googleapi.IsNotModified to check whether the returned error was
23663// because http.StatusNotModified was returned.
23664func (c *ProjectsLocationsAgentsFlowsPagesGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3Page, error) {
23665	gensupport.SetOptions(c.urlParams_, opts...)
23666	res, err := c.doRequest("json")
23667	if res != nil && res.StatusCode == http.StatusNotModified {
23668		if res.Body != nil {
23669			res.Body.Close()
23670		}
23671		return nil, &googleapi.Error{
23672			Code:   res.StatusCode,
23673			Header: res.Header,
23674		}
23675	}
23676	if err != nil {
23677		return nil, err
23678	}
23679	defer googleapi.CloseBody(res)
23680	if err := googleapi.CheckResponse(res); err != nil {
23681		return nil, err
23682	}
23683	ret := &GoogleCloudDialogflowCxV3Page{
23684		ServerResponse: googleapi.ServerResponse{
23685			Header:         res.Header,
23686			HTTPStatusCode: res.StatusCode,
23687		},
23688	}
23689	target := &ret
23690	if err := gensupport.DecodeResponse(target, res); err != nil {
23691		return nil, err
23692	}
23693	return ret, nil
23694	// {
23695	//   "description": "Retrieves the specified page.",
23696	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}/pages/{pagesId}",
23697	//   "httpMethod": "GET",
23698	//   "id": "dialogflow.projects.locations.agents.flows.pages.get",
23699	//   "parameterOrder": [
23700	//     "name"
23701	//   ],
23702	//   "parameters": {
23703	//     "languageCode": {
23704	//       "description": "The language to retrieve the page for. The following fields are language dependent: * `Page.entry_fulfillment.messages` * `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.messages` * `Page.form.parameters.fill_behavior.reprompt_event_handlers.messages` * `Page.transition_routes.trigger_fulfillment.messages` * `Page.transition_route_groups.transition_routes.trigger_fulfillment.messages` If not specified, the agent's default language is used. [Many languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) are supported. Note: languages must be enabled in the agent before they can be used.",
23705	//       "location": "query",
23706	//       "type": "string"
23707	//     },
23708	//     "name": {
23709	//       "description": "Required. The name of the page. Format: `projects//locations//agents//flows//pages/`.",
23710	//       "location": "path",
23711	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+/pages/[^/]+$",
23712	//       "required": true,
23713	//       "type": "string"
23714	//     }
23715	//   },
23716	//   "path": "v3/{+name}",
23717	//   "response": {
23718	//     "$ref": "GoogleCloudDialogflowCxV3Page"
23719	//   },
23720	//   "scopes": [
23721	//     "https://www.googleapis.com/auth/cloud-platform",
23722	//     "https://www.googleapis.com/auth/dialogflow"
23723	//   ]
23724	// }
23725
23726}
23727
23728// method id "dialogflow.projects.locations.agents.flows.pages.list":
23729
23730type ProjectsLocationsAgentsFlowsPagesListCall struct {
23731	s            *Service
23732	parent       string
23733	urlParams_   gensupport.URLParams
23734	ifNoneMatch_ string
23735	ctx_         context.Context
23736	header_      http.Header
23737}
23738
23739// List: Returns the list of all pages in the specified flow.
23740//
23741// - parent: The flow to list all pages for. Format:
23742//   `projects//locations//agents//flows/`.
23743func (r *ProjectsLocationsAgentsFlowsPagesService) List(parent string) *ProjectsLocationsAgentsFlowsPagesListCall {
23744	c := &ProjectsLocationsAgentsFlowsPagesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23745	c.parent = parent
23746	return c
23747}
23748
23749// LanguageCode sets the optional parameter "languageCode": The language
23750// to list pages for. The following fields are language dependent: *
23751// `Page.entry_fulfillment.messages` *
23752// `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.message
23753// s` *
23754// `Page.form.parameters.fill_behavior.reprompt_event_handlers.messages`
23755// * `Page.transition_routes.trigger_fulfillment.messages` *
23756// `Page.transition_route_groups.transition_routes.trigger_fulfillment.me
23757// ssages` If not specified, the agent's default language is used. Many
23758// languages
23759// (https://cloud.google.com/dialogflow/cx/docs/reference/language) are
23760// supported. Note: languages must be enabled in the agent before they
23761// can be used.
23762func (c *ProjectsLocationsAgentsFlowsPagesListCall) LanguageCode(languageCode string) *ProjectsLocationsAgentsFlowsPagesListCall {
23763	c.urlParams_.Set("languageCode", languageCode)
23764	return c
23765}
23766
23767// PageSize sets the optional parameter "pageSize": The maximum number
23768// of items to return in a single page. By default 100 and at most 1000.
23769func (c *ProjectsLocationsAgentsFlowsPagesListCall) PageSize(pageSize int64) *ProjectsLocationsAgentsFlowsPagesListCall {
23770	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
23771	return c
23772}
23773
23774// PageToken sets the optional parameter "pageToken": The
23775// next_page_token value returned from a previous list request.
23776func (c *ProjectsLocationsAgentsFlowsPagesListCall) PageToken(pageToken string) *ProjectsLocationsAgentsFlowsPagesListCall {
23777	c.urlParams_.Set("pageToken", pageToken)
23778	return c
23779}
23780
23781// Fields allows partial responses to be retrieved. See
23782// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23783// for more information.
23784func (c *ProjectsLocationsAgentsFlowsPagesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsFlowsPagesListCall {
23785	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23786	return c
23787}
23788
23789// IfNoneMatch sets the optional parameter which makes the operation
23790// fail if the object's ETag matches the given value. This is useful for
23791// getting updates only after the object has changed since the last
23792// request. Use googleapi.IsNotModified to check whether the response
23793// error from Do is the result of In-None-Match.
23794func (c *ProjectsLocationsAgentsFlowsPagesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsFlowsPagesListCall {
23795	c.ifNoneMatch_ = entityTag
23796	return c
23797}
23798
23799// Context sets the context to be used in this call's Do method. Any
23800// pending HTTP request will be aborted if the provided context is
23801// canceled.
23802func (c *ProjectsLocationsAgentsFlowsPagesListCall) Context(ctx context.Context) *ProjectsLocationsAgentsFlowsPagesListCall {
23803	c.ctx_ = ctx
23804	return c
23805}
23806
23807// Header returns an http.Header that can be modified by the caller to
23808// add HTTP headers to the request.
23809func (c *ProjectsLocationsAgentsFlowsPagesListCall) Header() http.Header {
23810	if c.header_ == nil {
23811		c.header_ = make(http.Header)
23812	}
23813	return c.header_
23814}
23815
23816func (c *ProjectsLocationsAgentsFlowsPagesListCall) doRequest(alt string) (*http.Response, error) {
23817	reqHeaders := make(http.Header)
23818	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
23819	for k, v := range c.header_ {
23820		reqHeaders[k] = v
23821	}
23822	reqHeaders.Set("User-Agent", c.s.userAgent())
23823	if c.ifNoneMatch_ != "" {
23824		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
23825	}
23826	var body io.Reader = nil
23827	c.urlParams_.Set("alt", alt)
23828	c.urlParams_.Set("prettyPrint", "false")
23829	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/pages")
23830	urls += "?" + c.urlParams_.Encode()
23831	req, err := http.NewRequest("GET", urls, body)
23832	if err != nil {
23833		return nil, err
23834	}
23835	req.Header = reqHeaders
23836	googleapi.Expand(req.URL, map[string]string{
23837		"parent": c.parent,
23838	})
23839	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23840}
23841
23842// Do executes the "dialogflow.projects.locations.agents.flows.pages.list" call.
23843// Exactly one of *GoogleCloudDialogflowCxV3ListPagesResponse or error
23844// will be non-nil. Any non-2xx status code is an error. Response
23845// headers are in either
23846// *GoogleCloudDialogflowCxV3ListPagesResponse.ServerResponse.Header or
23847// (if a response was returned at all) in
23848// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
23849// whether the returned error was because http.StatusNotModified was
23850// returned.
23851func (c *ProjectsLocationsAgentsFlowsPagesListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3ListPagesResponse, error) {
23852	gensupport.SetOptions(c.urlParams_, opts...)
23853	res, err := c.doRequest("json")
23854	if res != nil && res.StatusCode == http.StatusNotModified {
23855		if res.Body != nil {
23856			res.Body.Close()
23857		}
23858		return nil, &googleapi.Error{
23859			Code:   res.StatusCode,
23860			Header: res.Header,
23861		}
23862	}
23863	if err != nil {
23864		return nil, err
23865	}
23866	defer googleapi.CloseBody(res)
23867	if err := googleapi.CheckResponse(res); err != nil {
23868		return nil, err
23869	}
23870	ret := &GoogleCloudDialogflowCxV3ListPagesResponse{
23871		ServerResponse: googleapi.ServerResponse{
23872			Header:         res.Header,
23873			HTTPStatusCode: res.StatusCode,
23874		},
23875	}
23876	target := &ret
23877	if err := gensupport.DecodeResponse(target, res); err != nil {
23878		return nil, err
23879	}
23880	return ret, nil
23881	// {
23882	//   "description": "Returns the list of all pages in the specified flow.",
23883	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}/pages",
23884	//   "httpMethod": "GET",
23885	//   "id": "dialogflow.projects.locations.agents.flows.pages.list",
23886	//   "parameterOrder": [
23887	//     "parent"
23888	//   ],
23889	//   "parameters": {
23890	//     "languageCode": {
23891	//       "description": "The language to list pages for. The following fields are language dependent: * `Page.entry_fulfillment.messages` * `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.messages` * `Page.form.parameters.fill_behavior.reprompt_event_handlers.messages` * `Page.transition_routes.trigger_fulfillment.messages` * `Page.transition_route_groups.transition_routes.trigger_fulfillment.messages` If not specified, the agent's default language is used. [Many languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) are supported. Note: languages must be enabled in the agent before they can be used.",
23892	//       "location": "query",
23893	//       "type": "string"
23894	//     },
23895	//     "pageSize": {
23896	//       "description": "The maximum number of items to return in a single page. By default 100 and at most 1000.",
23897	//       "format": "int32",
23898	//       "location": "query",
23899	//       "type": "integer"
23900	//     },
23901	//     "pageToken": {
23902	//       "description": "The next_page_token value returned from a previous list request.",
23903	//       "location": "query",
23904	//       "type": "string"
23905	//     },
23906	//     "parent": {
23907	//       "description": "Required. The flow to list all pages for. Format: `projects//locations//agents//flows/`.",
23908	//       "location": "path",
23909	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+$",
23910	//       "required": true,
23911	//       "type": "string"
23912	//     }
23913	//   },
23914	//   "path": "v3/{+parent}/pages",
23915	//   "response": {
23916	//     "$ref": "GoogleCloudDialogflowCxV3ListPagesResponse"
23917	//   },
23918	//   "scopes": [
23919	//     "https://www.googleapis.com/auth/cloud-platform",
23920	//     "https://www.googleapis.com/auth/dialogflow"
23921	//   ]
23922	// }
23923
23924}
23925
23926// Pages invokes f for each page of results.
23927// A non-nil error returned from f will halt the iteration.
23928// The provided context supersedes any context provided to the Context method.
23929func (c *ProjectsLocationsAgentsFlowsPagesListCall) Pages(ctx context.Context, f func(*GoogleCloudDialogflowCxV3ListPagesResponse) error) error {
23930	c.ctx_ = ctx
23931	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
23932	for {
23933		x, err := c.Do()
23934		if err != nil {
23935			return err
23936		}
23937		if err := f(x); err != nil {
23938			return err
23939		}
23940		if x.NextPageToken == "" {
23941			return nil
23942		}
23943		c.PageToken(x.NextPageToken)
23944	}
23945}
23946
23947// method id "dialogflow.projects.locations.agents.flows.pages.patch":
23948
23949type ProjectsLocationsAgentsFlowsPagesPatchCall struct {
23950	s                             *Service
23951	nameid                        string
23952	googleclouddialogflowcxv3page *GoogleCloudDialogflowCxV3Page
23953	urlParams_                    gensupport.URLParams
23954	ctx_                          context.Context
23955	header_                       http.Header
23956}
23957
23958// Patch: Updates the specified page.
23959//
23960// - name: The unique identifier of the page. Required for the
23961//   Pages.UpdatePage method. Pages.CreatePage populates the name
23962//   automatically. Format:
23963//   `projects//locations//agents//flows//pages/`.
23964func (r *ProjectsLocationsAgentsFlowsPagesService) Patch(nameid string, googleclouddialogflowcxv3page *GoogleCloudDialogflowCxV3Page) *ProjectsLocationsAgentsFlowsPagesPatchCall {
23965	c := &ProjectsLocationsAgentsFlowsPagesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23966	c.nameid = nameid
23967	c.googleclouddialogflowcxv3page = googleclouddialogflowcxv3page
23968	return c
23969}
23970
23971// LanguageCode sets the optional parameter "languageCode": The language
23972// of the following fields in `page`: *
23973// `Page.entry_fulfillment.messages` *
23974// `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.message
23975// s` *
23976// `Page.form.parameters.fill_behavior.reprompt_event_handlers.messages`
23977// * `Page.transition_routes.trigger_fulfillment.messages` *
23978// `Page.transition_route_groups.transition_routes.trigger_fulfillment.me
23979// ssages` If not specified, the agent's default language is used. Many
23980// languages
23981// (https://cloud.google.com/dialogflow/cx/docs/reference/language) are
23982// supported. Note: languages must be enabled in the agent before they
23983// can be used.
23984func (c *ProjectsLocationsAgentsFlowsPagesPatchCall) LanguageCode(languageCode string) *ProjectsLocationsAgentsFlowsPagesPatchCall {
23985	c.urlParams_.Set("languageCode", languageCode)
23986	return c
23987}
23988
23989// UpdateMask sets the optional parameter "updateMask": The mask to
23990// control which fields get updated. If the mask is not present, all
23991// fields will be updated.
23992func (c *ProjectsLocationsAgentsFlowsPagesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsAgentsFlowsPagesPatchCall {
23993	c.urlParams_.Set("updateMask", updateMask)
23994	return c
23995}
23996
23997// Fields allows partial responses to be retrieved. See
23998// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23999// for more information.
24000func (c *ProjectsLocationsAgentsFlowsPagesPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsFlowsPagesPatchCall {
24001	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24002	return c
24003}
24004
24005// Context sets the context to be used in this call's Do method. Any
24006// pending HTTP request will be aborted if the provided context is
24007// canceled.
24008func (c *ProjectsLocationsAgentsFlowsPagesPatchCall) Context(ctx context.Context) *ProjectsLocationsAgentsFlowsPagesPatchCall {
24009	c.ctx_ = ctx
24010	return c
24011}
24012
24013// Header returns an http.Header that can be modified by the caller to
24014// add HTTP headers to the request.
24015func (c *ProjectsLocationsAgentsFlowsPagesPatchCall) Header() http.Header {
24016	if c.header_ == nil {
24017		c.header_ = make(http.Header)
24018	}
24019	return c.header_
24020}
24021
24022func (c *ProjectsLocationsAgentsFlowsPagesPatchCall) doRequest(alt string) (*http.Response, error) {
24023	reqHeaders := make(http.Header)
24024	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
24025	for k, v := range c.header_ {
24026		reqHeaders[k] = v
24027	}
24028	reqHeaders.Set("User-Agent", c.s.userAgent())
24029	var body io.Reader = nil
24030	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3page)
24031	if err != nil {
24032		return nil, err
24033	}
24034	reqHeaders.Set("Content-Type", "application/json")
24035	c.urlParams_.Set("alt", alt)
24036	c.urlParams_.Set("prettyPrint", "false")
24037	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
24038	urls += "?" + c.urlParams_.Encode()
24039	req, err := http.NewRequest("PATCH", urls, body)
24040	if err != nil {
24041		return nil, err
24042	}
24043	req.Header = reqHeaders
24044	googleapi.Expand(req.URL, map[string]string{
24045		"name": c.nameid,
24046	})
24047	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24048}
24049
24050// Do executes the "dialogflow.projects.locations.agents.flows.pages.patch" call.
24051// Exactly one of *GoogleCloudDialogflowCxV3Page or error will be
24052// non-nil. Any non-2xx status code is an error. Response headers are in
24053// either *GoogleCloudDialogflowCxV3Page.ServerResponse.Header or (if a
24054// response was returned at all) in error.(*googleapi.Error).Header. Use
24055// googleapi.IsNotModified to check whether the returned error was
24056// because http.StatusNotModified was returned.
24057func (c *ProjectsLocationsAgentsFlowsPagesPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3Page, error) {
24058	gensupport.SetOptions(c.urlParams_, opts...)
24059	res, err := c.doRequest("json")
24060	if res != nil && res.StatusCode == http.StatusNotModified {
24061		if res.Body != nil {
24062			res.Body.Close()
24063		}
24064		return nil, &googleapi.Error{
24065			Code:   res.StatusCode,
24066			Header: res.Header,
24067		}
24068	}
24069	if err != nil {
24070		return nil, err
24071	}
24072	defer googleapi.CloseBody(res)
24073	if err := googleapi.CheckResponse(res); err != nil {
24074		return nil, err
24075	}
24076	ret := &GoogleCloudDialogflowCxV3Page{
24077		ServerResponse: googleapi.ServerResponse{
24078			Header:         res.Header,
24079			HTTPStatusCode: res.StatusCode,
24080		},
24081	}
24082	target := &ret
24083	if err := gensupport.DecodeResponse(target, res); err != nil {
24084		return nil, err
24085	}
24086	return ret, nil
24087	// {
24088	//   "description": "Updates the specified page.",
24089	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}/pages/{pagesId}",
24090	//   "httpMethod": "PATCH",
24091	//   "id": "dialogflow.projects.locations.agents.flows.pages.patch",
24092	//   "parameterOrder": [
24093	//     "name"
24094	//   ],
24095	//   "parameters": {
24096	//     "languageCode": {
24097	//       "description": "The language of the following fields in `page`: * `Page.entry_fulfillment.messages` * `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.messages` * `Page.form.parameters.fill_behavior.reprompt_event_handlers.messages` * `Page.transition_routes.trigger_fulfillment.messages` * `Page.transition_route_groups.transition_routes.trigger_fulfillment.messages` If not specified, the agent's default language is used. [Many languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) are supported. Note: languages must be enabled in the agent before they can be used.",
24098	//       "location": "query",
24099	//       "type": "string"
24100	//     },
24101	//     "name": {
24102	//       "description": "The unique identifier of the page. Required for the Pages.UpdatePage method. Pages.CreatePage populates the name automatically. Format: `projects//locations//agents//flows//pages/`.",
24103	//       "location": "path",
24104	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+/pages/[^/]+$",
24105	//       "required": true,
24106	//       "type": "string"
24107	//     },
24108	//     "updateMask": {
24109	//       "description": "The mask to control which fields get updated. If the mask is not present, all fields will be updated.",
24110	//       "format": "google-fieldmask",
24111	//       "location": "query",
24112	//       "type": "string"
24113	//     }
24114	//   },
24115	//   "path": "v3/{+name}",
24116	//   "request": {
24117	//     "$ref": "GoogleCloudDialogflowCxV3Page"
24118	//   },
24119	//   "response": {
24120	//     "$ref": "GoogleCloudDialogflowCxV3Page"
24121	//   },
24122	//   "scopes": [
24123	//     "https://www.googleapis.com/auth/cloud-platform",
24124	//     "https://www.googleapis.com/auth/dialogflow"
24125	//   ]
24126	// }
24127
24128}
24129
24130// method id "dialogflow.projects.locations.agents.flows.transitionRouteGroups.create":
24131
24132type ProjectsLocationsAgentsFlowsTransitionRouteGroupsCreateCall struct {
24133	s                                             *Service
24134	parent                                        string
24135	googleclouddialogflowcxv3transitionroutegroup *GoogleCloudDialogflowCxV3TransitionRouteGroup
24136	urlParams_                                    gensupport.URLParams
24137	ctx_                                          context.Context
24138	header_                                       http.Header
24139}
24140
24141// Create: Creates an TransitionRouteGroup in the specified flow.
24142//
24143// - parent: The flow to create an TransitionRouteGroup for. Format:
24144//   `projects//locations//agents//flows/`.
24145func (r *ProjectsLocationsAgentsFlowsTransitionRouteGroupsService) Create(parent string, googleclouddialogflowcxv3transitionroutegroup *GoogleCloudDialogflowCxV3TransitionRouteGroup) *ProjectsLocationsAgentsFlowsTransitionRouteGroupsCreateCall {
24146	c := &ProjectsLocationsAgentsFlowsTransitionRouteGroupsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24147	c.parent = parent
24148	c.googleclouddialogflowcxv3transitionroutegroup = googleclouddialogflowcxv3transitionroutegroup
24149	return c
24150}
24151
24152// LanguageCode sets the optional parameter "languageCode": The language
24153// to list transition route groups for. The field `messages` in
24154// TransitionRoute is language dependent. If not specified, the agent's
24155// default language is used. Many languages
24156// (https://cloud.google.com/dialogflow/cx/docs/reference/language) are
24157// supported. Note: languages must be enabled in the agent before they
24158// can be used.
24159func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsCreateCall) LanguageCode(languageCode string) *ProjectsLocationsAgentsFlowsTransitionRouteGroupsCreateCall {
24160	c.urlParams_.Set("languageCode", languageCode)
24161	return c
24162}
24163
24164// Fields allows partial responses to be retrieved. See
24165// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24166// for more information.
24167func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsFlowsTransitionRouteGroupsCreateCall {
24168	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24169	return c
24170}
24171
24172// Context sets the context to be used in this call's Do method. Any
24173// pending HTTP request will be aborted if the provided context is
24174// canceled.
24175func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsCreateCall) Context(ctx context.Context) *ProjectsLocationsAgentsFlowsTransitionRouteGroupsCreateCall {
24176	c.ctx_ = ctx
24177	return c
24178}
24179
24180// Header returns an http.Header that can be modified by the caller to
24181// add HTTP headers to the request.
24182func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsCreateCall) Header() http.Header {
24183	if c.header_ == nil {
24184		c.header_ = make(http.Header)
24185	}
24186	return c.header_
24187}
24188
24189func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsCreateCall) doRequest(alt string) (*http.Response, error) {
24190	reqHeaders := make(http.Header)
24191	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
24192	for k, v := range c.header_ {
24193		reqHeaders[k] = v
24194	}
24195	reqHeaders.Set("User-Agent", c.s.userAgent())
24196	var body io.Reader = nil
24197	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3transitionroutegroup)
24198	if err != nil {
24199		return nil, err
24200	}
24201	reqHeaders.Set("Content-Type", "application/json")
24202	c.urlParams_.Set("alt", alt)
24203	c.urlParams_.Set("prettyPrint", "false")
24204	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/transitionRouteGroups")
24205	urls += "?" + c.urlParams_.Encode()
24206	req, err := http.NewRequest("POST", urls, body)
24207	if err != nil {
24208		return nil, err
24209	}
24210	req.Header = reqHeaders
24211	googleapi.Expand(req.URL, map[string]string{
24212		"parent": c.parent,
24213	})
24214	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24215}
24216
24217// Do executes the "dialogflow.projects.locations.agents.flows.transitionRouteGroups.create" call.
24218// Exactly one of *GoogleCloudDialogflowCxV3TransitionRouteGroup or
24219// error will be non-nil. Any non-2xx status code is an error. Response
24220// headers are in either
24221// *GoogleCloudDialogflowCxV3TransitionRouteGroup.ServerResponse.Header
24222// or (if a response was returned at all) in
24223// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
24224// whether the returned error was because http.StatusNotModified was
24225// returned.
24226func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3TransitionRouteGroup, error) {
24227	gensupport.SetOptions(c.urlParams_, opts...)
24228	res, err := c.doRequest("json")
24229	if res != nil && res.StatusCode == http.StatusNotModified {
24230		if res.Body != nil {
24231			res.Body.Close()
24232		}
24233		return nil, &googleapi.Error{
24234			Code:   res.StatusCode,
24235			Header: res.Header,
24236		}
24237	}
24238	if err != nil {
24239		return nil, err
24240	}
24241	defer googleapi.CloseBody(res)
24242	if err := googleapi.CheckResponse(res); err != nil {
24243		return nil, err
24244	}
24245	ret := &GoogleCloudDialogflowCxV3TransitionRouteGroup{
24246		ServerResponse: googleapi.ServerResponse{
24247			Header:         res.Header,
24248			HTTPStatusCode: res.StatusCode,
24249		},
24250	}
24251	target := &ret
24252	if err := gensupport.DecodeResponse(target, res); err != nil {
24253		return nil, err
24254	}
24255	return ret, nil
24256	// {
24257	//   "description": "Creates an TransitionRouteGroup in the specified flow.",
24258	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}/transitionRouteGroups",
24259	//   "httpMethod": "POST",
24260	//   "id": "dialogflow.projects.locations.agents.flows.transitionRouteGroups.create",
24261	//   "parameterOrder": [
24262	//     "parent"
24263	//   ],
24264	//   "parameters": {
24265	//     "languageCode": {
24266	//       "description": "The language to list transition route groups for. The field `messages` in TransitionRoute is language dependent. If not specified, the agent's default language is used. [Many languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) are supported. Note: languages must be enabled in the agent before they can be used.",
24267	//       "location": "query",
24268	//       "type": "string"
24269	//     },
24270	//     "parent": {
24271	//       "description": "Required. The flow to create an TransitionRouteGroup for. Format: `projects//locations//agents//flows/`.",
24272	//       "location": "path",
24273	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+$",
24274	//       "required": true,
24275	//       "type": "string"
24276	//     }
24277	//   },
24278	//   "path": "v3/{+parent}/transitionRouteGroups",
24279	//   "request": {
24280	//     "$ref": "GoogleCloudDialogflowCxV3TransitionRouteGroup"
24281	//   },
24282	//   "response": {
24283	//     "$ref": "GoogleCloudDialogflowCxV3TransitionRouteGroup"
24284	//   },
24285	//   "scopes": [
24286	//     "https://www.googleapis.com/auth/cloud-platform",
24287	//     "https://www.googleapis.com/auth/dialogflow"
24288	//   ]
24289	// }
24290
24291}
24292
24293// method id "dialogflow.projects.locations.agents.flows.transitionRouteGroups.delete":
24294
24295type ProjectsLocationsAgentsFlowsTransitionRouteGroupsDeleteCall struct {
24296	s          *Service
24297	name       string
24298	urlParams_ gensupport.URLParams
24299	ctx_       context.Context
24300	header_    http.Header
24301}
24302
24303// Delete: Deletes the specified TransitionRouteGroup.
24304//
24305// - name: The name of the TransitionRouteGroup to delete. Format:
24306//   `projects//locations//agents//flows//transitionRouteGroups/`.
24307func (r *ProjectsLocationsAgentsFlowsTransitionRouteGroupsService) Delete(name string) *ProjectsLocationsAgentsFlowsTransitionRouteGroupsDeleteCall {
24308	c := &ProjectsLocationsAgentsFlowsTransitionRouteGroupsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24309	c.name = name
24310	return c
24311}
24312
24313// Force sets the optional parameter "force": This field has no effect
24314// for transition route group that no page is using. If the transition
24315// route group is referenced by any page: * If `force` is set to false,
24316// an error will be returned with message indicating pages that
24317// reference the transition route group. * If `force` is set to true,
24318// Dialogflow will remove the transition route group, as well as any
24319// reference to it.
24320func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsDeleteCall) Force(force bool) *ProjectsLocationsAgentsFlowsTransitionRouteGroupsDeleteCall {
24321	c.urlParams_.Set("force", fmt.Sprint(force))
24322	return c
24323}
24324
24325// Fields allows partial responses to be retrieved. See
24326// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24327// for more information.
24328func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsFlowsTransitionRouteGroupsDeleteCall {
24329	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24330	return c
24331}
24332
24333// Context sets the context to be used in this call's Do method. Any
24334// pending HTTP request will be aborted if the provided context is
24335// canceled.
24336func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsDeleteCall) Context(ctx context.Context) *ProjectsLocationsAgentsFlowsTransitionRouteGroupsDeleteCall {
24337	c.ctx_ = ctx
24338	return c
24339}
24340
24341// Header returns an http.Header that can be modified by the caller to
24342// add HTTP headers to the request.
24343func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsDeleteCall) Header() http.Header {
24344	if c.header_ == nil {
24345		c.header_ = make(http.Header)
24346	}
24347	return c.header_
24348}
24349
24350func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
24351	reqHeaders := make(http.Header)
24352	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
24353	for k, v := range c.header_ {
24354		reqHeaders[k] = v
24355	}
24356	reqHeaders.Set("User-Agent", c.s.userAgent())
24357	var body io.Reader = nil
24358	c.urlParams_.Set("alt", alt)
24359	c.urlParams_.Set("prettyPrint", "false")
24360	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
24361	urls += "?" + c.urlParams_.Encode()
24362	req, err := http.NewRequest("DELETE", urls, body)
24363	if err != nil {
24364		return nil, err
24365	}
24366	req.Header = reqHeaders
24367	googleapi.Expand(req.URL, map[string]string{
24368		"name": c.name,
24369	})
24370	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24371}
24372
24373// Do executes the "dialogflow.projects.locations.agents.flows.transitionRouteGroups.delete" call.
24374// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
24375// non-2xx status code is an error. Response headers are in either
24376// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
24377// returned at all) in error.(*googleapi.Error).Header. Use
24378// googleapi.IsNotModified to check whether the returned error was
24379// because http.StatusNotModified was returned.
24380func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
24381	gensupport.SetOptions(c.urlParams_, opts...)
24382	res, err := c.doRequest("json")
24383	if res != nil && res.StatusCode == http.StatusNotModified {
24384		if res.Body != nil {
24385			res.Body.Close()
24386		}
24387		return nil, &googleapi.Error{
24388			Code:   res.StatusCode,
24389			Header: res.Header,
24390		}
24391	}
24392	if err != nil {
24393		return nil, err
24394	}
24395	defer googleapi.CloseBody(res)
24396	if err := googleapi.CheckResponse(res); err != nil {
24397		return nil, err
24398	}
24399	ret := &GoogleProtobufEmpty{
24400		ServerResponse: googleapi.ServerResponse{
24401			Header:         res.Header,
24402			HTTPStatusCode: res.StatusCode,
24403		},
24404	}
24405	target := &ret
24406	if err := gensupport.DecodeResponse(target, res); err != nil {
24407		return nil, err
24408	}
24409	return ret, nil
24410	// {
24411	//   "description": "Deletes the specified TransitionRouteGroup.",
24412	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}/transitionRouteGroups/{transitionRouteGroupsId}",
24413	//   "httpMethod": "DELETE",
24414	//   "id": "dialogflow.projects.locations.agents.flows.transitionRouteGroups.delete",
24415	//   "parameterOrder": [
24416	//     "name"
24417	//   ],
24418	//   "parameters": {
24419	//     "force": {
24420	//       "description": "This field has no effect for transition route group that no page is using. If the transition route group is referenced by any page: * If `force` is set to false, an error will be returned with message indicating pages that reference the transition route group. * If `force` is set to true, Dialogflow will remove the transition route group, as well as any reference to it.",
24421	//       "location": "query",
24422	//       "type": "boolean"
24423	//     },
24424	//     "name": {
24425	//       "description": "Required. The name of the TransitionRouteGroup to delete. Format: `projects//locations//agents//flows//transitionRouteGroups/`.",
24426	//       "location": "path",
24427	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+/transitionRouteGroups/[^/]+$",
24428	//       "required": true,
24429	//       "type": "string"
24430	//     }
24431	//   },
24432	//   "path": "v3/{+name}",
24433	//   "response": {
24434	//     "$ref": "GoogleProtobufEmpty"
24435	//   },
24436	//   "scopes": [
24437	//     "https://www.googleapis.com/auth/cloud-platform",
24438	//     "https://www.googleapis.com/auth/dialogflow"
24439	//   ]
24440	// }
24441
24442}
24443
24444// method id "dialogflow.projects.locations.agents.flows.transitionRouteGroups.get":
24445
24446type ProjectsLocationsAgentsFlowsTransitionRouteGroupsGetCall struct {
24447	s            *Service
24448	name         string
24449	urlParams_   gensupport.URLParams
24450	ifNoneMatch_ string
24451	ctx_         context.Context
24452	header_      http.Header
24453}
24454
24455// Get: Retrieves the specified TransitionRouteGroup.
24456//
24457// - name: The name of the TransitionRouteGroup. Format:
24458//   `projects//locations//agents//flows//transitionRouteGroups/`.
24459func (r *ProjectsLocationsAgentsFlowsTransitionRouteGroupsService) Get(name string) *ProjectsLocationsAgentsFlowsTransitionRouteGroupsGetCall {
24460	c := &ProjectsLocationsAgentsFlowsTransitionRouteGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24461	c.name = name
24462	return c
24463}
24464
24465// LanguageCode sets the optional parameter "languageCode": The language
24466// to list transition route groups for. The field `messages` in
24467// TransitionRoute is language dependent. If not specified, the agent's
24468// default language is used. Many languages
24469// (https://cloud.google.com/dialogflow/cx/docs/reference/language) are
24470// supported. Note: languages must be enabled in the agent before they
24471// can be used.
24472func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsGetCall) LanguageCode(languageCode string) *ProjectsLocationsAgentsFlowsTransitionRouteGroupsGetCall {
24473	c.urlParams_.Set("languageCode", languageCode)
24474	return c
24475}
24476
24477// Fields allows partial responses to be retrieved. See
24478// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24479// for more information.
24480func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsFlowsTransitionRouteGroupsGetCall {
24481	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24482	return c
24483}
24484
24485// IfNoneMatch sets the optional parameter which makes the operation
24486// fail if the object's ETag matches the given value. This is useful for
24487// getting updates only after the object has changed since the last
24488// request. Use googleapi.IsNotModified to check whether the response
24489// error from Do is the result of In-None-Match.
24490func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsFlowsTransitionRouteGroupsGetCall {
24491	c.ifNoneMatch_ = entityTag
24492	return c
24493}
24494
24495// Context sets the context to be used in this call's Do method. Any
24496// pending HTTP request will be aborted if the provided context is
24497// canceled.
24498func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsGetCall) Context(ctx context.Context) *ProjectsLocationsAgentsFlowsTransitionRouteGroupsGetCall {
24499	c.ctx_ = ctx
24500	return c
24501}
24502
24503// Header returns an http.Header that can be modified by the caller to
24504// add HTTP headers to the request.
24505func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsGetCall) Header() http.Header {
24506	if c.header_ == nil {
24507		c.header_ = make(http.Header)
24508	}
24509	return c.header_
24510}
24511
24512func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsGetCall) doRequest(alt string) (*http.Response, error) {
24513	reqHeaders := make(http.Header)
24514	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
24515	for k, v := range c.header_ {
24516		reqHeaders[k] = v
24517	}
24518	reqHeaders.Set("User-Agent", c.s.userAgent())
24519	if c.ifNoneMatch_ != "" {
24520		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
24521	}
24522	var body io.Reader = nil
24523	c.urlParams_.Set("alt", alt)
24524	c.urlParams_.Set("prettyPrint", "false")
24525	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
24526	urls += "?" + c.urlParams_.Encode()
24527	req, err := http.NewRequest("GET", urls, body)
24528	if err != nil {
24529		return nil, err
24530	}
24531	req.Header = reqHeaders
24532	googleapi.Expand(req.URL, map[string]string{
24533		"name": c.name,
24534	})
24535	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24536}
24537
24538// Do executes the "dialogflow.projects.locations.agents.flows.transitionRouteGroups.get" call.
24539// Exactly one of *GoogleCloudDialogflowCxV3TransitionRouteGroup or
24540// error will be non-nil. Any non-2xx status code is an error. Response
24541// headers are in either
24542// *GoogleCloudDialogflowCxV3TransitionRouteGroup.ServerResponse.Header
24543// or (if a response was returned at all) in
24544// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
24545// whether the returned error was because http.StatusNotModified was
24546// returned.
24547func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3TransitionRouteGroup, error) {
24548	gensupport.SetOptions(c.urlParams_, opts...)
24549	res, err := c.doRequest("json")
24550	if res != nil && res.StatusCode == http.StatusNotModified {
24551		if res.Body != nil {
24552			res.Body.Close()
24553		}
24554		return nil, &googleapi.Error{
24555			Code:   res.StatusCode,
24556			Header: res.Header,
24557		}
24558	}
24559	if err != nil {
24560		return nil, err
24561	}
24562	defer googleapi.CloseBody(res)
24563	if err := googleapi.CheckResponse(res); err != nil {
24564		return nil, err
24565	}
24566	ret := &GoogleCloudDialogflowCxV3TransitionRouteGroup{
24567		ServerResponse: googleapi.ServerResponse{
24568			Header:         res.Header,
24569			HTTPStatusCode: res.StatusCode,
24570		},
24571	}
24572	target := &ret
24573	if err := gensupport.DecodeResponse(target, res); err != nil {
24574		return nil, err
24575	}
24576	return ret, nil
24577	// {
24578	//   "description": "Retrieves the specified TransitionRouteGroup.",
24579	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}/transitionRouteGroups/{transitionRouteGroupsId}",
24580	//   "httpMethod": "GET",
24581	//   "id": "dialogflow.projects.locations.agents.flows.transitionRouteGroups.get",
24582	//   "parameterOrder": [
24583	//     "name"
24584	//   ],
24585	//   "parameters": {
24586	//     "languageCode": {
24587	//       "description": "The language to list transition route groups for. The field `messages` in TransitionRoute is language dependent. If not specified, the agent's default language is used. [Many languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) are supported. Note: languages must be enabled in the agent before they can be used.",
24588	//       "location": "query",
24589	//       "type": "string"
24590	//     },
24591	//     "name": {
24592	//       "description": "Required. The name of the TransitionRouteGroup. Format: `projects//locations//agents//flows//transitionRouteGroups/`.",
24593	//       "location": "path",
24594	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+/transitionRouteGroups/[^/]+$",
24595	//       "required": true,
24596	//       "type": "string"
24597	//     }
24598	//   },
24599	//   "path": "v3/{+name}",
24600	//   "response": {
24601	//     "$ref": "GoogleCloudDialogflowCxV3TransitionRouteGroup"
24602	//   },
24603	//   "scopes": [
24604	//     "https://www.googleapis.com/auth/cloud-platform",
24605	//     "https://www.googleapis.com/auth/dialogflow"
24606	//   ]
24607	// }
24608
24609}
24610
24611// method id "dialogflow.projects.locations.agents.flows.transitionRouteGroups.list":
24612
24613type ProjectsLocationsAgentsFlowsTransitionRouteGroupsListCall struct {
24614	s            *Service
24615	parent       string
24616	urlParams_   gensupport.URLParams
24617	ifNoneMatch_ string
24618	ctx_         context.Context
24619	header_      http.Header
24620}
24621
24622// List: Returns the list of all transition route groups in the
24623// specified flow.
24624//
24625// - parent: The flow to list all transition route groups for. Format:
24626//   `projects//locations//agents//flows/`.
24627func (r *ProjectsLocationsAgentsFlowsTransitionRouteGroupsService) List(parent string) *ProjectsLocationsAgentsFlowsTransitionRouteGroupsListCall {
24628	c := &ProjectsLocationsAgentsFlowsTransitionRouteGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24629	c.parent = parent
24630	return c
24631}
24632
24633// LanguageCode sets the optional parameter "languageCode": The language
24634// to list transition route groups for. The field `messages` in
24635// TransitionRoute is language dependent. If not specified, the agent's
24636// default language is used. Many languages
24637// (https://cloud.google.com/dialogflow/cx/docs/reference/language) are
24638// supported. Note: languages must be enabled in the agent before they
24639// can be used.
24640func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsListCall) LanguageCode(languageCode string) *ProjectsLocationsAgentsFlowsTransitionRouteGroupsListCall {
24641	c.urlParams_.Set("languageCode", languageCode)
24642	return c
24643}
24644
24645// PageSize sets the optional parameter "pageSize": The maximum number
24646// of items to return in a single page. By default 100 and at most 1000.
24647func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsListCall) PageSize(pageSize int64) *ProjectsLocationsAgentsFlowsTransitionRouteGroupsListCall {
24648	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
24649	return c
24650}
24651
24652// PageToken sets the optional parameter "pageToken": The
24653// next_page_token value returned from a previous list request.
24654func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsListCall) PageToken(pageToken string) *ProjectsLocationsAgentsFlowsTransitionRouteGroupsListCall {
24655	c.urlParams_.Set("pageToken", pageToken)
24656	return c
24657}
24658
24659// Fields allows partial responses to be retrieved. See
24660// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24661// for more information.
24662func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsFlowsTransitionRouteGroupsListCall {
24663	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24664	return c
24665}
24666
24667// IfNoneMatch sets the optional parameter which makes the operation
24668// fail if the object's ETag matches the given value. This is useful for
24669// getting updates only after the object has changed since the last
24670// request. Use googleapi.IsNotModified to check whether the response
24671// error from Do is the result of In-None-Match.
24672func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsFlowsTransitionRouteGroupsListCall {
24673	c.ifNoneMatch_ = entityTag
24674	return c
24675}
24676
24677// Context sets the context to be used in this call's Do method. Any
24678// pending HTTP request will be aborted if the provided context is
24679// canceled.
24680func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsListCall) Context(ctx context.Context) *ProjectsLocationsAgentsFlowsTransitionRouteGroupsListCall {
24681	c.ctx_ = ctx
24682	return c
24683}
24684
24685// Header returns an http.Header that can be modified by the caller to
24686// add HTTP headers to the request.
24687func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsListCall) Header() http.Header {
24688	if c.header_ == nil {
24689		c.header_ = make(http.Header)
24690	}
24691	return c.header_
24692}
24693
24694func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsListCall) doRequest(alt string) (*http.Response, error) {
24695	reqHeaders := make(http.Header)
24696	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
24697	for k, v := range c.header_ {
24698		reqHeaders[k] = v
24699	}
24700	reqHeaders.Set("User-Agent", c.s.userAgent())
24701	if c.ifNoneMatch_ != "" {
24702		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
24703	}
24704	var body io.Reader = nil
24705	c.urlParams_.Set("alt", alt)
24706	c.urlParams_.Set("prettyPrint", "false")
24707	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/transitionRouteGroups")
24708	urls += "?" + c.urlParams_.Encode()
24709	req, err := http.NewRequest("GET", urls, body)
24710	if err != nil {
24711		return nil, err
24712	}
24713	req.Header = reqHeaders
24714	googleapi.Expand(req.URL, map[string]string{
24715		"parent": c.parent,
24716	})
24717	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24718}
24719
24720// Do executes the "dialogflow.projects.locations.agents.flows.transitionRouteGroups.list" call.
24721// Exactly one of
24722// *GoogleCloudDialogflowCxV3ListTransitionRouteGroupsResponse or error
24723// will be non-nil. Any non-2xx status code is an error. Response
24724// headers are in either
24725// *GoogleCloudDialogflowCxV3ListTransitionRouteGroupsResponse.ServerResp
24726// onse.Header or (if a response was returned at all) in
24727// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
24728// whether the returned error was because http.StatusNotModified was
24729// returned.
24730func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3ListTransitionRouteGroupsResponse, error) {
24731	gensupport.SetOptions(c.urlParams_, opts...)
24732	res, err := c.doRequest("json")
24733	if res != nil && res.StatusCode == http.StatusNotModified {
24734		if res.Body != nil {
24735			res.Body.Close()
24736		}
24737		return nil, &googleapi.Error{
24738			Code:   res.StatusCode,
24739			Header: res.Header,
24740		}
24741	}
24742	if err != nil {
24743		return nil, err
24744	}
24745	defer googleapi.CloseBody(res)
24746	if err := googleapi.CheckResponse(res); err != nil {
24747		return nil, err
24748	}
24749	ret := &GoogleCloudDialogflowCxV3ListTransitionRouteGroupsResponse{
24750		ServerResponse: googleapi.ServerResponse{
24751			Header:         res.Header,
24752			HTTPStatusCode: res.StatusCode,
24753		},
24754	}
24755	target := &ret
24756	if err := gensupport.DecodeResponse(target, res); err != nil {
24757		return nil, err
24758	}
24759	return ret, nil
24760	// {
24761	//   "description": "Returns the list of all transition route groups in the specified flow.",
24762	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}/transitionRouteGroups",
24763	//   "httpMethod": "GET",
24764	//   "id": "dialogflow.projects.locations.agents.flows.transitionRouteGroups.list",
24765	//   "parameterOrder": [
24766	//     "parent"
24767	//   ],
24768	//   "parameters": {
24769	//     "languageCode": {
24770	//       "description": "The language to list transition route groups for. The field `messages` in TransitionRoute is language dependent. If not specified, the agent's default language is used. [Many languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) are supported. Note: languages must be enabled in the agent before they can be used.",
24771	//       "location": "query",
24772	//       "type": "string"
24773	//     },
24774	//     "pageSize": {
24775	//       "description": "The maximum number of items to return in a single page. By default 100 and at most 1000.",
24776	//       "format": "int32",
24777	//       "location": "query",
24778	//       "type": "integer"
24779	//     },
24780	//     "pageToken": {
24781	//       "description": "The next_page_token value returned from a previous list request.",
24782	//       "location": "query",
24783	//       "type": "string"
24784	//     },
24785	//     "parent": {
24786	//       "description": "Required. The flow to list all transition route groups for. Format: `projects//locations//agents//flows/`.",
24787	//       "location": "path",
24788	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+$",
24789	//       "required": true,
24790	//       "type": "string"
24791	//     }
24792	//   },
24793	//   "path": "v3/{+parent}/transitionRouteGroups",
24794	//   "response": {
24795	//     "$ref": "GoogleCloudDialogflowCxV3ListTransitionRouteGroupsResponse"
24796	//   },
24797	//   "scopes": [
24798	//     "https://www.googleapis.com/auth/cloud-platform",
24799	//     "https://www.googleapis.com/auth/dialogflow"
24800	//   ]
24801	// }
24802
24803}
24804
24805// Pages invokes f for each page of results.
24806// A non-nil error returned from f will halt the iteration.
24807// The provided context supersedes any context provided to the Context method.
24808func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsListCall) Pages(ctx context.Context, f func(*GoogleCloudDialogflowCxV3ListTransitionRouteGroupsResponse) error) error {
24809	c.ctx_ = ctx
24810	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
24811	for {
24812		x, err := c.Do()
24813		if err != nil {
24814			return err
24815		}
24816		if err := f(x); err != nil {
24817			return err
24818		}
24819		if x.NextPageToken == "" {
24820			return nil
24821		}
24822		c.PageToken(x.NextPageToken)
24823	}
24824}
24825
24826// method id "dialogflow.projects.locations.agents.flows.transitionRouteGroups.patch":
24827
24828type ProjectsLocationsAgentsFlowsTransitionRouteGroupsPatchCall struct {
24829	s                                             *Service
24830	nameid                                        string
24831	googleclouddialogflowcxv3transitionroutegroup *GoogleCloudDialogflowCxV3TransitionRouteGroup
24832	urlParams_                                    gensupport.URLParams
24833	ctx_                                          context.Context
24834	header_                                       http.Header
24835}
24836
24837// Patch: Updates the specified TransitionRouteGroup.
24838//
24839// - name: The unique identifier of the transition route group.
24840//   TransitionRouteGroups.CreateTransitionRouteGroup populates the name
24841//   automatically. Format:
24842//   `projects//locations//agents//flows//transitionRouteGroups/`.
24843func (r *ProjectsLocationsAgentsFlowsTransitionRouteGroupsService) Patch(nameid string, googleclouddialogflowcxv3transitionroutegroup *GoogleCloudDialogflowCxV3TransitionRouteGroup) *ProjectsLocationsAgentsFlowsTransitionRouteGroupsPatchCall {
24844	c := &ProjectsLocationsAgentsFlowsTransitionRouteGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24845	c.nameid = nameid
24846	c.googleclouddialogflowcxv3transitionroutegroup = googleclouddialogflowcxv3transitionroutegroup
24847	return c
24848}
24849
24850// LanguageCode sets the optional parameter "languageCode": The language
24851// to list transition route groups for. The field `messages` in
24852// TransitionRoute is language dependent. If not specified, the agent's
24853// default language is used. Many languages
24854// (https://cloud.google.com/dialogflow/cx/docs/reference/language) are
24855// supported. Note: languages must be enabled in the agent before they
24856// can be used.
24857func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsPatchCall) LanguageCode(languageCode string) *ProjectsLocationsAgentsFlowsTransitionRouteGroupsPatchCall {
24858	c.urlParams_.Set("languageCode", languageCode)
24859	return c
24860}
24861
24862// UpdateMask sets the optional parameter "updateMask": The mask to
24863// control which fields get updated.
24864func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsAgentsFlowsTransitionRouteGroupsPatchCall {
24865	c.urlParams_.Set("updateMask", updateMask)
24866	return c
24867}
24868
24869// Fields allows partial responses to be retrieved. See
24870// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24871// for more information.
24872func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsFlowsTransitionRouteGroupsPatchCall {
24873	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24874	return c
24875}
24876
24877// Context sets the context to be used in this call's Do method. Any
24878// pending HTTP request will be aborted if the provided context is
24879// canceled.
24880func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsPatchCall) Context(ctx context.Context) *ProjectsLocationsAgentsFlowsTransitionRouteGroupsPatchCall {
24881	c.ctx_ = ctx
24882	return c
24883}
24884
24885// Header returns an http.Header that can be modified by the caller to
24886// add HTTP headers to the request.
24887func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsPatchCall) Header() http.Header {
24888	if c.header_ == nil {
24889		c.header_ = make(http.Header)
24890	}
24891	return c.header_
24892}
24893
24894func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
24895	reqHeaders := make(http.Header)
24896	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
24897	for k, v := range c.header_ {
24898		reqHeaders[k] = v
24899	}
24900	reqHeaders.Set("User-Agent", c.s.userAgent())
24901	var body io.Reader = nil
24902	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3transitionroutegroup)
24903	if err != nil {
24904		return nil, err
24905	}
24906	reqHeaders.Set("Content-Type", "application/json")
24907	c.urlParams_.Set("alt", alt)
24908	c.urlParams_.Set("prettyPrint", "false")
24909	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
24910	urls += "?" + c.urlParams_.Encode()
24911	req, err := http.NewRequest("PATCH", urls, body)
24912	if err != nil {
24913		return nil, err
24914	}
24915	req.Header = reqHeaders
24916	googleapi.Expand(req.URL, map[string]string{
24917		"name": c.nameid,
24918	})
24919	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24920}
24921
24922// Do executes the "dialogflow.projects.locations.agents.flows.transitionRouteGroups.patch" call.
24923// Exactly one of *GoogleCloudDialogflowCxV3TransitionRouteGroup or
24924// error will be non-nil. Any non-2xx status code is an error. Response
24925// headers are in either
24926// *GoogleCloudDialogflowCxV3TransitionRouteGroup.ServerResponse.Header
24927// or (if a response was returned at all) in
24928// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
24929// whether the returned error was because http.StatusNotModified was
24930// returned.
24931func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3TransitionRouteGroup, error) {
24932	gensupport.SetOptions(c.urlParams_, opts...)
24933	res, err := c.doRequest("json")
24934	if res != nil && res.StatusCode == http.StatusNotModified {
24935		if res.Body != nil {
24936			res.Body.Close()
24937		}
24938		return nil, &googleapi.Error{
24939			Code:   res.StatusCode,
24940			Header: res.Header,
24941		}
24942	}
24943	if err != nil {
24944		return nil, err
24945	}
24946	defer googleapi.CloseBody(res)
24947	if err := googleapi.CheckResponse(res); err != nil {
24948		return nil, err
24949	}
24950	ret := &GoogleCloudDialogflowCxV3TransitionRouteGroup{
24951		ServerResponse: googleapi.ServerResponse{
24952			Header:         res.Header,
24953			HTTPStatusCode: res.StatusCode,
24954		},
24955	}
24956	target := &ret
24957	if err := gensupport.DecodeResponse(target, res); err != nil {
24958		return nil, err
24959	}
24960	return ret, nil
24961	// {
24962	//   "description": "Updates the specified TransitionRouteGroup.",
24963	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}/transitionRouteGroups/{transitionRouteGroupsId}",
24964	//   "httpMethod": "PATCH",
24965	//   "id": "dialogflow.projects.locations.agents.flows.transitionRouteGroups.patch",
24966	//   "parameterOrder": [
24967	//     "name"
24968	//   ],
24969	//   "parameters": {
24970	//     "languageCode": {
24971	//       "description": "The language to list transition route groups for. The field `messages` in TransitionRoute is language dependent. If not specified, the agent's default language is used. [Many languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) are supported. Note: languages must be enabled in the agent before they can be used.",
24972	//       "location": "query",
24973	//       "type": "string"
24974	//     },
24975	//     "name": {
24976	//       "description": "The unique identifier of the transition route group. TransitionRouteGroups.CreateTransitionRouteGroup populates the name automatically. Format: `projects//locations//agents//flows//transitionRouteGroups/`.",
24977	//       "location": "path",
24978	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+/transitionRouteGroups/[^/]+$",
24979	//       "required": true,
24980	//       "type": "string"
24981	//     },
24982	//     "updateMask": {
24983	//       "description": "The mask to control which fields get updated.",
24984	//       "format": "google-fieldmask",
24985	//       "location": "query",
24986	//       "type": "string"
24987	//     }
24988	//   },
24989	//   "path": "v3/{+name}",
24990	//   "request": {
24991	//     "$ref": "GoogleCloudDialogflowCxV3TransitionRouteGroup"
24992	//   },
24993	//   "response": {
24994	//     "$ref": "GoogleCloudDialogflowCxV3TransitionRouteGroup"
24995	//   },
24996	//   "scopes": [
24997	//     "https://www.googleapis.com/auth/cloud-platform",
24998	//     "https://www.googleapis.com/auth/dialogflow"
24999	//   ]
25000	// }
25001
25002}
25003
25004// method id "dialogflow.projects.locations.agents.flows.versions.create":
25005
25006type ProjectsLocationsAgentsFlowsVersionsCreateCall struct {
25007	s                                *Service
25008	parent                           string
25009	googleclouddialogflowcxv3version *GoogleCloudDialogflowCxV3Version
25010	urlParams_                       gensupport.URLParams
25011	ctx_                             context.Context
25012	header_                          http.Header
25013}
25014
25015// Create: Creates a Version in the specified Flow.
25016//
25017// - parent: The Flow to create an Version for. Format:
25018//   `projects//locations//agents//flows/`.
25019func (r *ProjectsLocationsAgentsFlowsVersionsService) Create(parent string, googleclouddialogflowcxv3version *GoogleCloudDialogflowCxV3Version) *ProjectsLocationsAgentsFlowsVersionsCreateCall {
25020	c := &ProjectsLocationsAgentsFlowsVersionsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25021	c.parent = parent
25022	c.googleclouddialogflowcxv3version = googleclouddialogflowcxv3version
25023	return c
25024}
25025
25026// Fields allows partial responses to be retrieved. See
25027// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25028// for more information.
25029func (c *ProjectsLocationsAgentsFlowsVersionsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsFlowsVersionsCreateCall {
25030	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25031	return c
25032}
25033
25034// Context sets the context to be used in this call's Do method. Any
25035// pending HTTP request will be aborted if the provided context is
25036// canceled.
25037func (c *ProjectsLocationsAgentsFlowsVersionsCreateCall) Context(ctx context.Context) *ProjectsLocationsAgentsFlowsVersionsCreateCall {
25038	c.ctx_ = ctx
25039	return c
25040}
25041
25042// Header returns an http.Header that can be modified by the caller to
25043// add HTTP headers to the request.
25044func (c *ProjectsLocationsAgentsFlowsVersionsCreateCall) Header() http.Header {
25045	if c.header_ == nil {
25046		c.header_ = make(http.Header)
25047	}
25048	return c.header_
25049}
25050
25051func (c *ProjectsLocationsAgentsFlowsVersionsCreateCall) doRequest(alt string) (*http.Response, error) {
25052	reqHeaders := make(http.Header)
25053	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
25054	for k, v := range c.header_ {
25055		reqHeaders[k] = v
25056	}
25057	reqHeaders.Set("User-Agent", c.s.userAgent())
25058	var body io.Reader = nil
25059	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3version)
25060	if err != nil {
25061		return nil, err
25062	}
25063	reqHeaders.Set("Content-Type", "application/json")
25064	c.urlParams_.Set("alt", alt)
25065	c.urlParams_.Set("prettyPrint", "false")
25066	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/versions")
25067	urls += "?" + c.urlParams_.Encode()
25068	req, err := http.NewRequest("POST", urls, body)
25069	if err != nil {
25070		return nil, err
25071	}
25072	req.Header = reqHeaders
25073	googleapi.Expand(req.URL, map[string]string{
25074		"parent": c.parent,
25075	})
25076	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25077}
25078
25079// Do executes the "dialogflow.projects.locations.agents.flows.versions.create" call.
25080// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
25081// Any non-2xx status code is an error. Response headers are in either
25082// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
25083// was returned at all) in error.(*googleapi.Error).Header. Use
25084// googleapi.IsNotModified to check whether the returned error was
25085// because http.StatusNotModified was returned.
25086func (c *ProjectsLocationsAgentsFlowsVersionsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
25087	gensupport.SetOptions(c.urlParams_, opts...)
25088	res, err := c.doRequest("json")
25089	if res != nil && res.StatusCode == http.StatusNotModified {
25090		if res.Body != nil {
25091			res.Body.Close()
25092		}
25093		return nil, &googleapi.Error{
25094			Code:   res.StatusCode,
25095			Header: res.Header,
25096		}
25097	}
25098	if err != nil {
25099		return nil, err
25100	}
25101	defer googleapi.CloseBody(res)
25102	if err := googleapi.CheckResponse(res); err != nil {
25103		return nil, err
25104	}
25105	ret := &GoogleLongrunningOperation{
25106		ServerResponse: googleapi.ServerResponse{
25107			Header:         res.Header,
25108			HTTPStatusCode: res.StatusCode,
25109		},
25110	}
25111	target := &ret
25112	if err := gensupport.DecodeResponse(target, res); err != nil {
25113		return nil, err
25114	}
25115	return ret, nil
25116	// {
25117	//   "description": "Creates a Version in the specified Flow.",
25118	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}/versions",
25119	//   "httpMethod": "POST",
25120	//   "id": "dialogflow.projects.locations.agents.flows.versions.create",
25121	//   "parameterOrder": [
25122	//     "parent"
25123	//   ],
25124	//   "parameters": {
25125	//     "parent": {
25126	//       "description": "Required. The Flow to create an Version for. Format: `projects//locations//agents//flows/`.",
25127	//       "location": "path",
25128	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+$",
25129	//       "required": true,
25130	//       "type": "string"
25131	//     }
25132	//   },
25133	//   "path": "v3/{+parent}/versions",
25134	//   "request": {
25135	//     "$ref": "GoogleCloudDialogflowCxV3Version"
25136	//   },
25137	//   "response": {
25138	//     "$ref": "GoogleLongrunningOperation"
25139	//   },
25140	//   "scopes": [
25141	//     "https://www.googleapis.com/auth/cloud-platform",
25142	//     "https://www.googleapis.com/auth/dialogflow"
25143	//   ]
25144	// }
25145
25146}
25147
25148// method id "dialogflow.projects.locations.agents.flows.versions.delete":
25149
25150type ProjectsLocationsAgentsFlowsVersionsDeleteCall struct {
25151	s          *Service
25152	name       string
25153	urlParams_ gensupport.URLParams
25154	ctx_       context.Context
25155	header_    http.Header
25156}
25157
25158// Delete: Deletes the specified Version.
25159//
25160// - name: The name of the Version to delete. Format:
25161//   `projects//locations//agents//flows//versions/`.
25162func (r *ProjectsLocationsAgentsFlowsVersionsService) Delete(name string) *ProjectsLocationsAgentsFlowsVersionsDeleteCall {
25163	c := &ProjectsLocationsAgentsFlowsVersionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25164	c.name = name
25165	return c
25166}
25167
25168// Fields allows partial responses to be retrieved. See
25169// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25170// for more information.
25171func (c *ProjectsLocationsAgentsFlowsVersionsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsFlowsVersionsDeleteCall {
25172	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25173	return c
25174}
25175
25176// Context sets the context to be used in this call's Do method. Any
25177// pending HTTP request will be aborted if the provided context is
25178// canceled.
25179func (c *ProjectsLocationsAgentsFlowsVersionsDeleteCall) Context(ctx context.Context) *ProjectsLocationsAgentsFlowsVersionsDeleteCall {
25180	c.ctx_ = ctx
25181	return c
25182}
25183
25184// Header returns an http.Header that can be modified by the caller to
25185// add HTTP headers to the request.
25186func (c *ProjectsLocationsAgentsFlowsVersionsDeleteCall) Header() http.Header {
25187	if c.header_ == nil {
25188		c.header_ = make(http.Header)
25189	}
25190	return c.header_
25191}
25192
25193func (c *ProjectsLocationsAgentsFlowsVersionsDeleteCall) doRequest(alt string) (*http.Response, error) {
25194	reqHeaders := make(http.Header)
25195	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
25196	for k, v := range c.header_ {
25197		reqHeaders[k] = v
25198	}
25199	reqHeaders.Set("User-Agent", c.s.userAgent())
25200	var body io.Reader = nil
25201	c.urlParams_.Set("alt", alt)
25202	c.urlParams_.Set("prettyPrint", "false")
25203	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
25204	urls += "?" + c.urlParams_.Encode()
25205	req, err := http.NewRequest("DELETE", urls, body)
25206	if err != nil {
25207		return nil, err
25208	}
25209	req.Header = reqHeaders
25210	googleapi.Expand(req.URL, map[string]string{
25211		"name": c.name,
25212	})
25213	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25214}
25215
25216// Do executes the "dialogflow.projects.locations.agents.flows.versions.delete" call.
25217// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
25218// non-2xx status code is an error. Response headers are in either
25219// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
25220// returned at all) in error.(*googleapi.Error).Header. Use
25221// googleapi.IsNotModified to check whether the returned error was
25222// because http.StatusNotModified was returned.
25223func (c *ProjectsLocationsAgentsFlowsVersionsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
25224	gensupport.SetOptions(c.urlParams_, opts...)
25225	res, err := c.doRequest("json")
25226	if res != nil && res.StatusCode == http.StatusNotModified {
25227		if res.Body != nil {
25228			res.Body.Close()
25229		}
25230		return nil, &googleapi.Error{
25231			Code:   res.StatusCode,
25232			Header: res.Header,
25233		}
25234	}
25235	if err != nil {
25236		return nil, err
25237	}
25238	defer googleapi.CloseBody(res)
25239	if err := googleapi.CheckResponse(res); err != nil {
25240		return nil, err
25241	}
25242	ret := &GoogleProtobufEmpty{
25243		ServerResponse: googleapi.ServerResponse{
25244			Header:         res.Header,
25245			HTTPStatusCode: res.StatusCode,
25246		},
25247	}
25248	target := &ret
25249	if err := gensupport.DecodeResponse(target, res); err != nil {
25250		return nil, err
25251	}
25252	return ret, nil
25253	// {
25254	//   "description": "Deletes the specified Version.",
25255	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}/versions/{versionsId}",
25256	//   "httpMethod": "DELETE",
25257	//   "id": "dialogflow.projects.locations.agents.flows.versions.delete",
25258	//   "parameterOrder": [
25259	//     "name"
25260	//   ],
25261	//   "parameters": {
25262	//     "name": {
25263	//       "description": "Required. The name of the Version to delete. Format: `projects//locations//agents//flows//versions/`.",
25264	//       "location": "path",
25265	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+/versions/[^/]+$",
25266	//       "required": true,
25267	//       "type": "string"
25268	//     }
25269	//   },
25270	//   "path": "v3/{+name}",
25271	//   "response": {
25272	//     "$ref": "GoogleProtobufEmpty"
25273	//   },
25274	//   "scopes": [
25275	//     "https://www.googleapis.com/auth/cloud-platform",
25276	//     "https://www.googleapis.com/auth/dialogflow"
25277	//   ]
25278	// }
25279
25280}
25281
25282// method id "dialogflow.projects.locations.agents.flows.versions.get":
25283
25284type ProjectsLocationsAgentsFlowsVersionsGetCall struct {
25285	s            *Service
25286	name         string
25287	urlParams_   gensupport.URLParams
25288	ifNoneMatch_ string
25289	ctx_         context.Context
25290	header_      http.Header
25291}
25292
25293// Get: Retrieves the specified Version.
25294//
25295// - name: The name of the Version. Format:
25296//   `projects//locations//agents//flows//versions/`.
25297func (r *ProjectsLocationsAgentsFlowsVersionsService) Get(name string) *ProjectsLocationsAgentsFlowsVersionsGetCall {
25298	c := &ProjectsLocationsAgentsFlowsVersionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25299	c.name = name
25300	return c
25301}
25302
25303// Fields allows partial responses to be retrieved. See
25304// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25305// for more information.
25306func (c *ProjectsLocationsAgentsFlowsVersionsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsFlowsVersionsGetCall {
25307	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25308	return c
25309}
25310
25311// IfNoneMatch sets the optional parameter which makes the operation
25312// fail if the object's ETag matches the given value. This is useful for
25313// getting updates only after the object has changed since the last
25314// request. Use googleapi.IsNotModified to check whether the response
25315// error from Do is the result of In-None-Match.
25316func (c *ProjectsLocationsAgentsFlowsVersionsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsFlowsVersionsGetCall {
25317	c.ifNoneMatch_ = entityTag
25318	return c
25319}
25320
25321// Context sets the context to be used in this call's Do method. Any
25322// pending HTTP request will be aborted if the provided context is
25323// canceled.
25324func (c *ProjectsLocationsAgentsFlowsVersionsGetCall) Context(ctx context.Context) *ProjectsLocationsAgentsFlowsVersionsGetCall {
25325	c.ctx_ = ctx
25326	return c
25327}
25328
25329// Header returns an http.Header that can be modified by the caller to
25330// add HTTP headers to the request.
25331func (c *ProjectsLocationsAgentsFlowsVersionsGetCall) Header() http.Header {
25332	if c.header_ == nil {
25333		c.header_ = make(http.Header)
25334	}
25335	return c.header_
25336}
25337
25338func (c *ProjectsLocationsAgentsFlowsVersionsGetCall) doRequest(alt string) (*http.Response, error) {
25339	reqHeaders := make(http.Header)
25340	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
25341	for k, v := range c.header_ {
25342		reqHeaders[k] = v
25343	}
25344	reqHeaders.Set("User-Agent", c.s.userAgent())
25345	if c.ifNoneMatch_ != "" {
25346		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
25347	}
25348	var body io.Reader = nil
25349	c.urlParams_.Set("alt", alt)
25350	c.urlParams_.Set("prettyPrint", "false")
25351	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
25352	urls += "?" + c.urlParams_.Encode()
25353	req, err := http.NewRequest("GET", urls, body)
25354	if err != nil {
25355		return nil, err
25356	}
25357	req.Header = reqHeaders
25358	googleapi.Expand(req.URL, map[string]string{
25359		"name": c.name,
25360	})
25361	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25362}
25363
25364// Do executes the "dialogflow.projects.locations.agents.flows.versions.get" call.
25365// Exactly one of *GoogleCloudDialogflowCxV3Version or error will be
25366// non-nil. Any non-2xx status code is an error. Response headers are in
25367// either *GoogleCloudDialogflowCxV3Version.ServerResponse.Header or (if
25368// a response was returned at all) in error.(*googleapi.Error).Header.
25369// Use googleapi.IsNotModified to check whether the returned error was
25370// because http.StatusNotModified was returned.
25371func (c *ProjectsLocationsAgentsFlowsVersionsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3Version, error) {
25372	gensupport.SetOptions(c.urlParams_, opts...)
25373	res, err := c.doRequest("json")
25374	if res != nil && res.StatusCode == http.StatusNotModified {
25375		if res.Body != nil {
25376			res.Body.Close()
25377		}
25378		return nil, &googleapi.Error{
25379			Code:   res.StatusCode,
25380			Header: res.Header,
25381		}
25382	}
25383	if err != nil {
25384		return nil, err
25385	}
25386	defer googleapi.CloseBody(res)
25387	if err := googleapi.CheckResponse(res); err != nil {
25388		return nil, err
25389	}
25390	ret := &GoogleCloudDialogflowCxV3Version{
25391		ServerResponse: googleapi.ServerResponse{
25392			Header:         res.Header,
25393			HTTPStatusCode: res.StatusCode,
25394		},
25395	}
25396	target := &ret
25397	if err := gensupport.DecodeResponse(target, res); err != nil {
25398		return nil, err
25399	}
25400	return ret, nil
25401	// {
25402	//   "description": "Retrieves the specified Version.",
25403	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}/versions/{versionsId}",
25404	//   "httpMethod": "GET",
25405	//   "id": "dialogflow.projects.locations.agents.flows.versions.get",
25406	//   "parameterOrder": [
25407	//     "name"
25408	//   ],
25409	//   "parameters": {
25410	//     "name": {
25411	//       "description": "Required. The name of the Version. Format: `projects//locations//agents//flows//versions/`.",
25412	//       "location": "path",
25413	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+/versions/[^/]+$",
25414	//       "required": true,
25415	//       "type": "string"
25416	//     }
25417	//   },
25418	//   "path": "v3/{+name}",
25419	//   "response": {
25420	//     "$ref": "GoogleCloudDialogflowCxV3Version"
25421	//   },
25422	//   "scopes": [
25423	//     "https://www.googleapis.com/auth/cloud-platform",
25424	//     "https://www.googleapis.com/auth/dialogflow"
25425	//   ]
25426	// }
25427
25428}
25429
25430// method id "dialogflow.projects.locations.agents.flows.versions.list":
25431
25432type ProjectsLocationsAgentsFlowsVersionsListCall struct {
25433	s            *Service
25434	parent       string
25435	urlParams_   gensupport.URLParams
25436	ifNoneMatch_ string
25437	ctx_         context.Context
25438	header_      http.Header
25439}
25440
25441// List: Returns the list of all versions in the specified Flow.
25442//
25443// - parent: The Flow to list all versions for. Format:
25444//   `projects//locations//agents//flows/`.
25445func (r *ProjectsLocationsAgentsFlowsVersionsService) List(parent string) *ProjectsLocationsAgentsFlowsVersionsListCall {
25446	c := &ProjectsLocationsAgentsFlowsVersionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25447	c.parent = parent
25448	return c
25449}
25450
25451// PageSize sets the optional parameter "pageSize": The maximum number
25452// of items to return in a single page. By default 20 and at most 100.
25453func (c *ProjectsLocationsAgentsFlowsVersionsListCall) PageSize(pageSize int64) *ProjectsLocationsAgentsFlowsVersionsListCall {
25454	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
25455	return c
25456}
25457
25458// PageToken sets the optional parameter "pageToken": The
25459// next_page_token value returned from a previous list request.
25460func (c *ProjectsLocationsAgentsFlowsVersionsListCall) PageToken(pageToken string) *ProjectsLocationsAgentsFlowsVersionsListCall {
25461	c.urlParams_.Set("pageToken", pageToken)
25462	return c
25463}
25464
25465// Fields allows partial responses to be retrieved. See
25466// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25467// for more information.
25468func (c *ProjectsLocationsAgentsFlowsVersionsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsFlowsVersionsListCall {
25469	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25470	return c
25471}
25472
25473// IfNoneMatch sets the optional parameter which makes the operation
25474// fail if the object's ETag matches the given value. This is useful for
25475// getting updates only after the object has changed since the last
25476// request. Use googleapi.IsNotModified to check whether the response
25477// error from Do is the result of In-None-Match.
25478func (c *ProjectsLocationsAgentsFlowsVersionsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsFlowsVersionsListCall {
25479	c.ifNoneMatch_ = entityTag
25480	return c
25481}
25482
25483// Context sets the context to be used in this call's Do method. Any
25484// pending HTTP request will be aborted if the provided context is
25485// canceled.
25486func (c *ProjectsLocationsAgentsFlowsVersionsListCall) Context(ctx context.Context) *ProjectsLocationsAgentsFlowsVersionsListCall {
25487	c.ctx_ = ctx
25488	return c
25489}
25490
25491// Header returns an http.Header that can be modified by the caller to
25492// add HTTP headers to the request.
25493func (c *ProjectsLocationsAgentsFlowsVersionsListCall) Header() http.Header {
25494	if c.header_ == nil {
25495		c.header_ = make(http.Header)
25496	}
25497	return c.header_
25498}
25499
25500func (c *ProjectsLocationsAgentsFlowsVersionsListCall) doRequest(alt string) (*http.Response, error) {
25501	reqHeaders := make(http.Header)
25502	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
25503	for k, v := range c.header_ {
25504		reqHeaders[k] = v
25505	}
25506	reqHeaders.Set("User-Agent", c.s.userAgent())
25507	if c.ifNoneMatch_ != "" {
25508		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
25509	}
25510	var body io.Reader = nil
25511	c.urlParams_.Set("alt", alt)
25512	c.urlParams_.Set("prettyPrint", "false")
25513	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/versions")
25514	urls += "?" + c.urlParams_.Encode()
25515	req, err := http.NewRequest("GET", urls, body)
25516	if err != nil {
25517		return nil, err
25518	}
25519	req.Header = reqHeaders
25520	googleapi.Expand(req.URL, map[string]string{
25521		"parent": c.parent,
25522	})
25523	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25524}
25525
25526// Do executes the "dialogflow.projects.locations.agents.flows.versions.list" call.
25527// Exactly one of *GoogleCloudDialogflowCxV3ListVersionsResponse or
25528// error will be non-nil. Any non-2xx status code is an error. Response
25529// headers are in either
25530// *GoogleCloudDialogflowCxV3ListVersionsResponse.ServerResponse.Header
25531// or (if a response was returned at all) in
25532// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
25533// whether the returned error was because http.StatusNotModified was
25534// returned.
25535func (c *ProjectsLocationsAgentsFlowsVersionsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3ListVersionsResponse, error) {
25536	gensupport.SetOptions(c.urlParams_, opts...)
25537	res, err := c.doRequest("json")
25538	if res != nil && res.StatusCode == http.StatusNotModified {
25539		if res.Body != nil {
25540			res.Body.Close()
25541		}
25542		return nil, &googleapi.Error{
25543			Code:   res.StatusCode,
25544			Header: res.Header,
25545		}
25546	}
25547	if err != nil {
25548		return nil, err
25549	}
25550	defer googleapi.CloseBody(res)
25551	if err := googleapi.CheckResponse(res); err != nil {
25552		return nil, err
25553	}
25554	ret := &GoogleCloudDialogflowCxV3ListVersionsResponse{
25555		ServerResponse: googleapi.ServerResponse{
25556			Header:         res.Header,
25557			HTTPStatusCode: res.StatusCode,
25558		},
25559	}
25560	target := &ret
25561	if err := gensupport.DecodeResponse(target, res); err != nil {
25562		return nil, err
25563	}
25564	return ret, nil
25565	// {
25566	//   "description": "Returns the list of all versions in the specified Flow.",
25567	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}/versions",
25568	//   "httpMethod": "GET",
25569	//   "id": "dialogflow.projects.locations.agents.flows.versions.list",
25570	//   "parameterOrder": [
25571	//     "parent"
25572	//   ],
25573	//   "parameters": {
25574	//     "pageSize": {
25575	//       "description": "The maximum number of items to return in a single page. By default 20 and at most 100.",
25576	//       "format": "int32",
25577	//       "location": "query",
25578	//       "type": "integer"
25579	//     },
25580	//     "pageToken": {
25581	//       "description": "The next_page_token value returned from a previous list request.",
25582	//       "location": "query",
25583	//       "type": "string"
25584	//     },
25585	//     "parent": {
25586	//       "description": "Required. The Flow to list all versions for. Format: `projects//locations//agents//flows/`.",
25587	//       "location": "path",
25588	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+$",
25589	//       "required": true,
25590	//       "type": "string"
25591	//     }
25592	//   },
25593	//   "path": "v3/{+parent}/versions",
25594	//   "response": {
25595	//     "$ref": "GoogleCloudDialogflowCxV3ListVersionsResponse"
25596	//   },
25597	//   "scopes": [
25598	//     "https://www.googleapis.com/auth/cloud-platform",
25599	//     "https://www.googleapis.com/auth/dialogflow"
25600	//   ]
25601	// }
25602
25603}
25604
25605// Pages invokes f for each page of results.
25606// A non-nil error returned from f will halt the iteration.
25607// The provided context supersedes any context provided to the Context method.
25608func (c *ProjectsLocationsAgentsFlowsVersionsListCall) Pages(ctx context.Context, f func(*GoogleCloudDialogflowCxV3ListVersionsResponse) error) error {
25609	c.ctx_ = ctx
25610	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
25611	for {
25612		x, err := c.Do()
25613		if err != nil {
25614			return err
25615		}
25616		if err := f(x); err != nil {
25617			return err
25618		}
25619		if x.NextPageToken == "" {
25620			return nil
25621		}
25622		c.PageToken(x.NextPageToken)
25623	}
25624}
25625
25626// method id "dialogflow.projects.locations.agents.flows.versions.load":
25627
25628type ProjectsLocationsAgentsFlowsVersionsLoadCall struct {
25629	s                                           *Service
25630	name                                        string
25631	googleclouddialogflowcxv3loadversionrequest *GoogleCloudDialogflowCxV3LoadVersionRequest
25632	urlParams_                                  gensupport.URLParams
25633	ctx_                                        context.Context
25634	header_                                     http.Header
25635}
25636
25637// Load: Loads a specified version to draft version.
25638//
25639// - name: The Version to be loaded to draft version. Format:
25640//   `projects//locations//agents//flows//versions/`.
25641func (r *ProjectsLocationsAgentsFlowsVersionsService) Load(name string, googleclouddialogflowcxv3loadversionrequest *GoogleCloudDialogflowCxV3LoadVersionRequest) *ProjectsLocationsAgentsFlowsVersionsLoadCall {
25642	c := &ProjectsLocationsAgentsFlowsVersionsLoadCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25643	c.name = name
25644	c.googleclouddialogflowcxv3loadversionrequest = googleclouddialogflowcxv3loadversionrequest
25645	return c
25646}
25647
25648// Fields allows partial responses to be retrieved. See
25649// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25650// for more information.
25651func (c *ProjectsLocationsAgentsFlowsVersionsLoadCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsFlowsVersionsLoadCall {
25652	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25653	return c
25654}
25655
25656// Context sets the context to be used in this call's Do method. Any
25657// pending HTTP request will be aborted if the provided context is
25658// canceled.
25659func (c *ProjectsLocationsAgentsFlowsVersionsLoadCall) Context(ctx context.Context) *ProjectsLocationsAgentsFlowsVersionsLoadCall {
25660	c.ctx_ = ctx
25661	return c
25662}
25663
25664// Header returns an http.Header that can be modified by the caller to
25665// add HTTP headers to the request.
25666func (c *ProjectsLocationsAgentsFlowsVersionsLoadCall) Header() http.Header {
25667	if c.header_ == nil {
25668		c.header_ = make(http.Header)
25669	}
25670	return c.header_
25671}
25672
25673func (c *ProjectsLocationsAgentsFlowsVersionsLoadCall) doRequest(alt string) (*http.Response, error) {
25674	reqHeaders := make(http.Header)
25675	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
25676	for k, v := range c.header_ {
25677		reqHeaders[k] = v
25678	}
25679	reqHeaders.Set("User-Agent", c.s.userAgent())
25680	var body io.Reader = nil
25681	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3loadversionrequest)
25682	if err != nil {
25683		return nil, err
25684	}
25685	reqHeaders.Set("Content-Type", "application/json")
25686	c.urlParams_.Set("alt", alt)
25687	c.urlParams_.Set("prettyPrint", "false")
25688	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}:load")
25689	urls += "?" + c.urlParams_.Encode()
25690	req, err := http.NewRequest("POST", urls, body)
25691	if err != nil {
25692		return nil, err
25693	}
25694	req.Header = reqHeaders
25695	googleapi.Expand(req.URL, map[string]string{
25696		"name": c.name,
25697	})
25698	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25699}
25700
25701// Do executes the "dialogflow.projects.locations.agents.flows.versions.load" call.
25702// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
25703// Any non-2xx status code is an error. Response headers are in either
25704// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
25705// was returned at all) in error.(*googleapi.Error).Header. Use
25706// googleapi.IsNotModified to check whether the returned error was
25707// because http.StatusNotModified was returned.
25708func (c *ProjectsLocationsAgentsFlowsVersionsLoadCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
25709	gensupport.SetOptions(c.urlParams_, opts...)
25710	res, err := c.doRequest("json")
25711	if res != nil && res.StatusCode == http.StatusNotModified {
25712		if res.Body != nil {
25713			res.Body.Close()
25714		}
25715		return nil, &googleapi.Error{
25716			Code:   res.StatusCode,
25717			Header: res.Header,
25718		}
25719	}
25720	if err != nil {
25721		return nil, err
25722	}
25723	defer googleapi.CloseBody(res)
25724	if err := googleapi.CheckResponse(res); err != nil {
25725		return nil, err
25726	}
25727	ret := &GoogleLongrunningOperation{
25728		ServerResponse: googleapi.ServerResponse{
25729			Header:         res.Header,
25730			HTTPStatusCode: res.StatusCode,
25731		},
25732	}
25733	target := &ret
25734	if err := gensupport.DecodeResponse(target, res); err != nil {
25735		return nil, err
25736	}
25737	return ret, nil
25738	// {
25739	//   "description": "Loads a specified version to draft version.",
25740	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}/versions/{versionsId}:load",
25741	//   "httpMethod": "POST",
25742	//   "id": "dialogflow.projects.locations.agents.flows.versions.load",
25743	//   "parameterOrder": [
25744	//     "name"
25745	//   ],
25746	//   "parameters": {
25747	//     "name": {
25748	//       "description": "Required. The Version to be loaded to draft version. Format: `projects//locations//agents//flows//versions/`.",
25749	//       "location": "path",
25750	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+/versions/[^/]+$",
25751	//       "required": true,
25752	//       "type": "string"
25753	//     }
25754	//   },
25755	//   "path": "v3/{+name}:load",
25756	//   "request": {
25757	//     "$ref": "GoogleCloudDialogflowCxV3LoadVersionRequest"
25758	//   },
25759	//   "response": {
25760	//     "$ref": "GoogleLongrunningOperation"
25761	//   },
25762	//   "scopes": [
25763	//     "https://www.googleapis.com/auth/cloud-platform",
25764	//     "https://www.googleapis.com/auth/dialogflow"
25765	//   ]
25766	// }
25767
25768}
25769
25770// method id "dialogflow.projects.locations.agents.flows.versions.patch":
25771
25772type ProjectsLocationsAgentsFlowsVersionsPatchCall struct {
25773	s                                *Service
25774	name                             string
25775	googleclouddialogflowcxv3version *GoogleCloudDialogflowCxV3Version
25776	urlParams_                       gensupport.URLParams
25777	ctx_                             context.Context
25778	header_                          http.Header
25779}
25780
25781// Patch: Updates the specified Version.
25782//
25783// - name: Format: projects//locations//agents//flows//versions/.
25784//   Version ID is a self-increasing number generated by Dialogflow upon
25785//   version creation.
25786func (r *ProjectsLocationsAgentsFlowsVersionsService) Patch(name string, googleclouddialogflowcxv3version *GoogleCloudDialogflowCxV3Version) *ProjectsLocationsAgentsFlowsVersionsPatchCall {
25787	c := &ProjectsLocationsAgentsFlowsVersionsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25788	c.name = name
25789	c.googleclouddialogflowcxv3version = googleclouddialogflowcxv3version
25790	return c
25791}
25792
25793// UpdateMask sets the optional parameter "updateMask": Required. The
25794// mask to control which fields get updated. Currently only
25795// `description` and `display_name` can be updated.
25796func (c *ProjectsLocationsAgentsFlowsVersionsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsAgentsFlowsVersionsPatchCall {
25797	c.urlParams_.Set("updateMask", updateMask)
25798	return c
25799}
25800
25801// Fields allows partial responses to be retrieved. See
25802// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25803// for more information.
25804func (c *ProjectsLocationsAgentsFlowsVersionsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsFlowsVersionsPatchCall {
25805	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25806	return c
25807}
25808
25809// Context sets the context to be used in this call's Do method. Any
25810// pending HTTP request will be aborted if the provided context is
25811// canceled.
25812func (c *ProjectsLocationsAgentsFlowsVersionsPatchCall) Context(ctx context.Context) *ProjectsLocationsAgentsFlowsVersionsPatchCall {
25813	c.ctx_ = ctx
25814	return c
25815}
25816
25817// Header returns an http.Header that can be modified by the caller to
25818// add HTTP headers to the request.
25819func (c *ProjectsLocationsAgentsFlowsVersionsPatchCall) Header() http.Header {
25820	if c.header_ == nil {
25821		c.header_ = make(http.Header)
25822	}
25823	return c.header_
25824}
25825
25826func (c *ProjectsLocationsAgentsFlowsVersionsPatchCall) doRequest(alt string) (*http.Response, error) {
25827	reqHeaders := make(http.Header)
25828	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
25829	for k, v := range c.header_ {
25830		reqHeaders[k] = v
25831	}
25832	reqHeaders.Set("User-Agent", c.s.userAgent())
25833	var body io.Reader = nil
25834	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3version)
25835	if err != nil {
25836		return nil, err
25837	}
25838	reqHeaders.Set("Content-Type", "application/json")
25839	c.urlParams_.Set("alt", alt)
25840	c.urlParams_.Set("prettyPrint", "false")
25841	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
25842	urls += "?" + c.urlParams_.Encode()
25843	req, err := http.NewRequest("PATCH", urls, body)
25844	if err != nil {
25845		return nil, err
25846	}
25847	req.Header = reqHeaders
25848	googleapi.Expand(req.URL, map[string]string{
25849		"name": c.name,
25850	})
25851	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25852}
25853
25854// Do executes the "dialogflow.projects.locations.agents.flows.versions.patch" call.
25855// Exactly one of *GoogleCloudDialogflowCxV3Version or error will be
25856// non-nil. Any non-2xx status code is an error. Response headers are in
25857// either *GoogleCloudDialogflowCxV3Version.ServerResponse.Header or (if
25858// a response was returned at all) in error.(*googleapi.Error).Header.
25859// Use googleapi.IsNotModified to check whether the returned error was
25860// because http.StatusNotModified was returned.
25861func (c *ProjectsLocationsAgentsFlowsVersionsPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3Version, error) {
25862	gensupport.SetOptions(c.urlParams_, opts...)
25863	res, err := c.doRequest("json")
25864	if res != nil && res.StatusCode == http.StatusNotModified {
25865		if res.Body != nil {
25866			res.Body.Close()
25867		}
25868		return nil, &googleapi.Error{
25869			Code:   res.StatusCode,
25870			Header: res.Header,
25871		}
25872	}
25873	if err != nil {
25874		return nil, err
25875	}
25876	defer googleapi.CloseBody(res)
25877	if err := googleapi.CheckResponse(res); err != nil {
25878		return nil, err
25879	}
25880	ret := &GoogleCloudDialogflowCxV3Version{
25881		ServerResponse: googleapi.ServerResponse{
25882			Header:         res.Header,
25883			HTTPStatusCode: res.StatusCode,
25884		},
25885	}
25886	target := &ret
25887	if err := gensupport.DecodeResponse(target, res); err != nil {
25888		return nil, err
25889	}
25890	return ret, nil
25891	// {
25892	//   "description": "Updates the specified Version.",
25893	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}/versions/{versionsId}",
25894	//   "httpMethod": "PATCH",
25895	//   "id": "dialogflow.projects.locations.agents.flows.versions.patch",
25896	//   "parameterOrder": [
25897	//     "name"
25898	//   ],
25899	//   "parameters": {
25900	//     "name": {
25901	//       "description": "Format: projects//locations//agents//flows//versions/. Version ID is a self-increasing number generated by Dialogflow upon version creation.",
25902	//       "location": "path",
25903	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+/versions/[^/]+$",
25904	//       "required": true,
25905	//       "type": "string"
25906	//     },
25907	//     "updateMask": {
25908	//       "description": "Required. The mask to control which fields get updated. Currently only `description` and `display_name` can be updated.",
25909	//       "format": "google-fieldmask",
25910	//       "location": "query",
25911	//       "type": "string"
25912	//     }
25913	//   },
25914	//   "path": "v3/{+name}",
25915	//   "request": {
25916	//     "$ref": "GoogleCloudDialogflowCxV3Version"
25917	//   },
25918	//   "response": {
25919	//     "$ref": "GoogleCloudDialogflowCxV3Version"
25920	//   },
25921	//   "scopes": [
25922	//     "https://www.googleapis.com/auth/cloud-platform",
25923	//     "https://www.googleapis.com/auth/dialogflow"
25924	//   ]
25925	// }
25926
25927}
25928
25929// method id "dialogflow.projects.locations.agents.intents.create":
25930
25931type ProjectsLocationsAgentsIntentsCreateCall struct {
25932	s                               *Service
25933	parent                          string
25934	googleclouddialogflowcxv3intent *GoogleCloudDialogflowCxV3Intent
25935	urlParams_                      gensupport.URLParams
25936	ctx_                            context.Context
25937	header_                         http.Header
25938}
25939
25940// Create: Creates an intent in the specified agent.
25941//
25942// - parent: The agent to create an intent for. Format:
25943//   `projects//locations//agents/`.
25944func (r *ProjectsLocationsAgentsIntentsService) Create(parent string, googleclouddialogflowcxv3intent *GoogleCloudDialogflowCxV3Intent) *ProjectsLocationsAgentsIntentsCreateCall {
25945	c := &ProjectsLocationsAgentsIntentsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25946	c.parent = parent
25947	c.googleclouddialogflowcxv3intent = googleclouddialogflowcxv3intent
25948	return c
25949}
25950
25951// LanguageCode sets the optional parameter "languageCode": The language
25952// of the following fields in `intent`: *
25953// `Intent.training_phrases.parts.text` If not specified, the agent's
25954// default language is used. Many languages
25955// (https://cloud.google.com/dialogflow/cx/docs/reference/language) are
25956// supported. Note: languages must be enabled in the agent before they
25957// can be used.
25958func (c *ProjectsLocationsAgentsIntentsCreateCall) LanguageCode(languageCode string) *ProjectsLocationsAgentsIntentsCreateCall {
25959	c.urlParams_.Set("languageCode", languageCode)
25960	return c
25961}
25962
25963// Fields allows partial responses to be retrieved. See
25964// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25965// for more information.
25966func (c *ProjectsLocationsAgentsIntentsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsIntentsCreateCall {
25967	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25968	return c
25969}
25970
25971// Context sets the context to be used in this call's Do method. Any
25972// pending HTTP request will be aborted if the provided context is
25973// canceled.
25974func (c *ProjectsLocationsAgentsIntentsCreateCall) Context(ctx context.Context) *ProjectsLocationsAgentsIntentsCreateCall {
25975	c.ctx_ = ctx
25976	return c
25977}
25978
25979// Header returns an http.Header that can be modified by the caller to
25980// add HTTP headers to the request.
25981func (c *ProjectsLocationsAgentsIntentsCreateCall) Header() http.Header {
25982	if c.header_ == nil {
25983		c.header_ = make(http.Header)
25984	}
25985	return c.header_
25986}
25987
25988func (c *ProjectsLocationsAgentsIntentsCreateCall) doRequest(alt string) (*http.Response, error) {
25989	reqHeaders := make(http.Header)
25990	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
25991	for k, v := range c.header_ {
25992		reqHeaders[k] = v
25993	}
25994	reqHeaders.Set("User-Agent", c.s.userAgent())
25995	var body io.Reader = nil
25996	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3intent)
25997	if err != nil {
25998		return nil, err
25999	}
26000	reqHeaders.Set("Content-Type", "application/json")
26001	c.urlParams_.Set("alt", alt)
26002	c.urlParams_.Set("prettyPrint", "false")
26003	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/intents")
26004	urls += "?" + c.urlParams_.Encode()
26005	req, err := http.NewRequest("POST", urls, body)
26006	if err != nil {
26007		return nil, err
26008	}
26009	req.Header = reqHeaders
26010	googleapi.Expand(req.URL, map[string]string{
26011		"parent": c.parent,
26012	})
26013	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26014}
26015
26016// Do executes the "dialogflow.projects.locations.agents.intents.create" call.
26017// Exactly one of *GoogleCloudDialogflowCxV3Intent or error will be
26018// non-nil. Any non-2xx status code is an error. Response headers are in
26019// either *GoogleCloudDialogflowCxV3Intent.ServerResponse.Header or (if
26020// a response was returned at all) in error.(*googleapi.Error).Header.
26021// Use googleapi.IsNotModified to check whether the returned error was
26022// because http.StatusNotModified was returned.
26023func (c *ProjectsLocationsAgentsIntentsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3Intent, error) {
26024	gensupport.SetOptions(c.urlParams_, opts...)
26025	res, err := c.doRequest("json")
26026	if res != nil && res.StatusCode == http.StatusNotModified {
26027		if res.Body != nil {
26028			res.Body.Close()
26029		}
26030		return nil, &googleapi.Error{
26031			Code:   res.StatusCode,
26032			Header: res.Header,
26033		}
26034	}
26035	if err != nil {
26036		return nil, err
26037	}
26038	defer googleapi.CloseBody(res)
26039	if err := googleapi.CheckResponse(res); err != nil {
26040		return nil, err
26041	}
26042	ret := &GoogleCloudDialogflowCxV3Intent{
26043		ServerResponse: googleapi.ServerResponse{
26044			Header:         res.Header,
26045			HTTPStatusCode: res.StatusCode,
26046		},
26047	}
26048	target := &ret
26049	if err := gensupport.DecodeResponse(target, res); err != nil {
26050		return nil, err
26051	}
26052	return ret, nil
26053	// {
26054	//   "description": "Creates an intent in the specified agent.",
26055	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/intents",
26056	//   "httpMethod": "POST",
26057	//   "id": "dialogflow.projects.locations.agents.intents.create",
26058	//   "parameterOrder": [
26059	//     "parent"
26060	//   ],
26061	//   "parameters": {
26062	//     "languageCode": {
26063	//       "description": "The language of the following fields in `intent`: * `Intent.training_phrases.parts.text` If not specified, the agent's default language is used. [Many languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) are supported. Note: languages must be enabled in the agent before they can be used.",
26064	//       "location": "query",
26065	//       "type": "string"
26066	//     },
26067	//     "parent": {
26068	//       "description": "Required. The agent to create an intent for. Format: `projects//locations//agents/`.",
26069	//       "location": "path",
26070	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$",
26071	//       "required": true,
26072	//       "type": "string"
26073	//     }
26074	//   },
26075	//   "path": "v3/{+parent}/intents",
26076	//   "request": {
26077	//     "$ref": "GoogleCloudDialogflowCxV3Intent"
26078	//   },
26079	//   "response": {
26080	//     "$ref": "GoogleCloudDialogflowCxV3Intent"
26081	//   },
26082	//   "scopes": [
26083	//     "https://www.googleapis.com/auth/cloud-platform",
26084	//     "https://www.googleapis.com/auth/dialogflow"
26085	//   ]
26086	// }
26087
26088}
26089
26090// method id "dialogflow.projects.locations.agents.intents.delete":
26091
26092type ProjectsLocationsAgentsIntentsDeleteCall struct {
26093	s          *Service
26094	name       string
26095	urlParams_ gensupport.URLParams
26096	ctx_       context.Context
26097	header_    http.Header
26098}
26099
26100// Delete: Deletes the specified intent.
26101//
26102// - name: The name of the intent to delete. Format:
26103//   `projects//locations//agents//intents/`.
26104func (r *ProjectsLocationsAgentsIntentsService) Delete(name string) *ProjectsLocationsAgentsIntentsDeleteCall {
26105	c := &ProjectsLocationsAgentsIntentsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26106	c.name = name
26107	return c
26108}
26109
26110// Fields allows partial responses to be retrieved. See
26111// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26112// for more information.
26113func (c *ProjectsLocationsAgentsIntentsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsIntentsDeleteCall {
26114	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26115	return c
26116}
26117
26118// Context sets the context to be used in this call's Do method. Any
26119// pending HTTP request will be aborted if the provided context is
26120// canceled.
26121func (c *ProjectsLocationsAgentsIntentsDeleteCall) Context(ctx context.Context) *ProjectsLocationsAgentsIntentsDeleteCall {
26122	c.ctx_ = ctx
26123	return c
26124}
26125
26126// Header returns an http.Header that can be modified by the caller to
26127// add HTTP headers to the request.
26128func (c *ProjectsLocationsAgentsIntentsDeleteCall) Header() http.Header {
26129	if c.header_ == nil {
26130		c.header_ = make(http.Header)
26131	}
26132	return c.header_
26133}
26134
26135func (c *ProjectsLocationsAgentsIntentsDeleteCall) doRequest(alt string) (*http.Response, error) {
26136	reqHeaders := make(http.Header)
26137	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
26138	for k, v := range c.header_ {
26139		reqHeaders[k] = v
26140	}
26141	reqHeaders.Set("User-Agent", c.s.userAgent())
26142	var body io.Reader = nil
26143	c.urlParams_.Set("alt", alt)
26144	c.urlParams_.Set("prettyPrint", "false")
26145	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
26146	urls += "?" + c.urlParams_.Encode()
26147	req, err := http.NewRequest("DELETE", urls, body)
26148	if err != nil {
26149		return nil, err
26150	}
26151	req.Header = reqHeaders
26152	googleapi.Expand(req.URL, map[string]string{
26153		"name": c.name,
26154	})
26155	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26156}
26157
26158// Do executes the "dialogflow.projects.locations.agents.intents.delete" call.
26159// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
26160// non-2xx status code is an error. Response headers are in either
26161// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
26162// returned at all) in error.(*googleapi.Error).Header. Use
26163// googleapi.IsNotModified to check whether the returned error was
26164// because http.StatusNotModified was returned.
26165func (c *ProjectsLocationsAgentsIntentsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
26166	gensupport.SetOptions(c.urlParams_, opts...)
26167	res, err := c.doRequest("json")
26168	if res != nil && res.StatusCode == http.StatusNotModified {
26169		if res.Body != nil {
26170			res.Body.Close()
26171		}
26172		return nil, &googleapi.Error{
26173			Code:   res.StatusCode,
26174			Header: res.Header,
26175		}
26176	}
26177	if err != nil {
26178		return nil, err
26179	}
26180	defer googleapi.CloseBody(res)
26181	if err := googleapi.CheckResponse(res); err != nil {
26182		return nil, err
26183	}
26184	ret := &GoogleProtobufEmpty{
26185		ServerResponse: googleapi.ServerResponse{
26186			Header:         res.Header,
26187			HTTPStatusCode: res.StatusCode,
26188		},
26189	}
26190	target := &ret
26191	if err := gensupport.DecodeResponse(target, res); err != nil {
26192		return nil, err
26193	}
26194	return ret, nil
26195	// {
26196	//   "description": "Deletes the specified intent.",
26197	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/intents/{intentsId}",
26198	//   "httpMethod": "DELETE",
26199	//   "id": "dialogflow.projects.locations.agents.intents.delete",
26200	//   "parameterOrder": [
26201	//     "name"
26202	//   ],
26203	//   "parameters": {
26204	//     "name": {
26205	//       "description": "Required. The name of the intent to delete. Format: `projects//locations//agents//intents/`.",
26206	//       "location": "path",
26207	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/intents/[^/]+$",
26208	//       "required": true,
26209	//       "type": "string"
26210	//     }
26211	//   },
26212	//   "path": "v3/{+name}",
26213	//   "response": {
26214	//     "$ref": "GoogleProtobufEmpty"
26215	//   },
26216	//   "scopes": [
26217	//     "https://www.googleapis.com/auth/cloud-platform",
26218	//     "https://www.googleapis.com/auth/dialogflow"
26219	//   ]
26220	// }
26221
26222}
26223
26224// method id "dialogflow.projects.locations.agents.intents.get":
26225
26226type ProjectsLocationsAgentsIntentsGetCall struct {
26227	s            *Service
26228	name         string
26229	urlParams_   gensupport.URLParams
26230	ifNoneMatch_ string
26231	ctx_         context.Context
26232	header_      http.Header
26233}
26234
26235// Get: Retrieves the specified intent.
26236//
26237// - name: The name of the intent. Format:
26238//   `projects//locations//agents//intents/`.
26239func (r *ProjectsLocationsAgentsIntentsService) Get(name string) *ProjectsLocationsAgentsIntentsGetCall {
26240	c := &ProjectsLocationsAgentsIntentsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26241	c.name = name
26242	return c
26243}
26244
26245// LanguageCode sets the optional parameter "languageCode": The language
26246// to retrieve the intent for. The following fields are language
26247// dependent: * `Intent.training_phrases.parts.text` If not specified,
26248// the agent's default language is used. Many languages
26249// (https://cloud.google.com/dialogflow/cx/docs/reference/language) are
26250// supported. Note: languages must be enabled in the agent before they
26251// can be used.
26252func (c *ProjectsLocationsAgentsIntentsGetCall) LanguageCode(languageCode string) *ProjectsLocationsAgentsIntentsGetCall {
26253	c.urlParams_.Set("languageCode", languageCode)
26254	return c
26255}
26256
26257// Fields allows partial responses to be retrieved. See
26258// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26259// for more information.
26260func (c *ProjectsLocationsAgentsIntentsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsIntentsGetCall {
26261	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26262	return c
26263}
26264
26265// IfNoneMatch sets the optional parameter which makes the operation
26266// fail if the object's ETag matches the given value. This is useful for
26267// getting updates only after the object has changed since the last
26268// request. Use googleapi.IsNotModified to check whether the response
26269// error from Do is the result of In-None-Match.
26270func (c *ProjectsLocationsAgentsIntentsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsIntentsGetCall {
26271	c.ifNoneMatch_ = entityTag
26272	return c
26273}
26274
26275// Context sets the context to be used in this call's Do method. Any
26276// pending HTTP request will be aborted if the provided context is
26277// canceled.
26278func (c *ProjectsLocationsAgentsIntentsGetCall) Context(ctx context.Context) *ProjectsLocationsAgentsIntentsGetCall {
26279	c.ctx_ = ctx
26280	return c
26281}
26282
26283// Header returns an http.Header that can be modified by the caller to
26284// add HTTP headers to the request.
26285func (c *ProjectsLocationsAgentsIntentsGetCall) Header() http.Header {
26286	if c.header_ == nil {
26287		c.header_ = make(http.Header)
26288	}
26289	return c.header_
26290}
26291
26292func (c *ProjectsLocationsAgentsIntentsGetCall) doRequest(alt string) (*http.Response, error) {
26293	reqHeaders := make(http.Header)
26294	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
26295	for k, v := range c.header_ {
26296		reqHeaders[k] = v
26297	}
26298	reqHeaders.Set("User-Agent", c.s.userAgent())
26299	if c.ifNoneMatch_ != "" {
26300		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
26301	}
26302	var body io.Reader = nil
26303	c.urlParams_.Set("alt", alt)
26304	c.urlParams_.Set("prettyPrint", "false")
26305	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
26306	urls += "?" + c.urlParams_.Encode()
26307	req, err := http.NewRequest("GET", urls, body)
26308	if err != nil {
26309		return nil, err
26310	}
26311	req.Header = reqHeaders
26312	googleapi.Expand(req.URL, map[string]string{
26313		"name": c.name,
26314	})
26315	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26316}
26317
26318// Do executes the "dialogflow.projects.locations.agents.intents.get" call.
26319// Exactly one of *GoogleCloudDialogflowCxV3Intent or error will be
26320// non-nil. Any non-2xx status code is an error. Response headers are in
26321// either *GoogleCloudDialogflowCxV3Intent.ServerResponse.Header or (if
26322// a response was returned at all) in error.(*googleapi.Error).Header.
26323// Use googleapi.IsNotModified to check whether the returned error was
26324// because http.StatusNotModified was returned.
26325func (c *ProjectsLocationsAgentsIntentsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3Intent, error) {
26326	gensupport.SetOptions(c.urlParams_, opts...)
26327	res, err := c.doRequest("json")
26328	if res != nil && res.StatusCode == http.StatusNotModified {
26329		if res.Body != nil {
26330			res.Body.Close()
26331		}
26332		return nil, &googleapi.Error{
26333			Code:   res.StatusCode,
26334			Header: res.Header,
26335		}
26336	}
26337	if err != nil {
26338		return nil, err
26339	}
26340	defer googleapi.CloseBody(res)
26341	if err := googleapi.CheckResponse(res); err != nil {
26342		return nil, err
26343	}
26344	ret := &GoogleCloudDialogflowCxV3Intent{
26345		ServerResponse: googleapi.ServerResponse{
26346			Header:         res.Header,
26347			HTTPStatusCode: res.StatusCode,
26348		},
26349	}
26350	target := &ret
26351	if err := gensupport.DecodeResponse(target, res); err != nil {
26352		return nil, err
26353	}
26354	return ret, nil
26355	// {
26356	//   "description": "Retrieves the specified intent.",
26357	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/intents/{intentsId}",
26358	//   "httpMethod": "GET",
26359	//   "id": "dialogflow.projects.locations.agents.intents.get",
26360	//   "parameterOrder": [
26361	//     "name"
26362	//   ],
26363	//   "parameters": {
26364	//     "languageCode": {
26365	//       "description": "The language to retrieve the intent for. The following fields are language dependent: * `Intent.training_phrases.parts.text` If not specified, the agent's default language is used. [Many languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) are supported. Note: languages must be enabled in the agent before they can be used.",
26366	//       "location": "query",
26367	//       "type": "string"
26368	//     },
26369	//     "name": {
26370	//       "description": "Required. The name of the intent. Format: `projects//locations//agents//intents/`.",
26371	//       "location": "path",
26372	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/intents/[^/]+$",
26373	//       "required": true,
26374	//       "type": "string"
26375	//     }
26376	//   },
26377	//   "path": "v3/{+name}",
26378	//   "response": {
26379	//     "$ref": "GoogleCloudDialogflowCxV3Intent"
26380	//   },
26381	//   "scopes": [
26382	//     "https://www.googleapis.com/auth/cloud-platform",
26383	//     "https://www.googleapis.com/auth/dialogflow"
26384	//   ]
26385	// }
26386
26387}
26388
26389// method id "dialogflow.projects.locations.agents.intents.list":
26390
26391type ProjectsLocationsAgentsIntentsListCall struct {
26392	s            *Service
26393	parent       string
26394	urlParams_   gensupport.URLParams
26395	ifNoneMatch_ string
26396	ctx_         context.Context
26397	header_      http.Header
26398}
26399
26400// List: Returns the list of all intents in the specified agent.
26401//
26402// - parent: The agent to list all intents for. Format:
26403//   `projects//locations//agents/`.
26404func (r *ProjectsLocationsAgentsIntentsService) List(parent string) *ProjectsLocationsAgentsIntentsListCall {
26405	c := &ProjectsLocationsAgentsIntentsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26406	c.parent = parent
26407	return c
26408}
26409
26410// IntentView sets the optional parameter "intentView": The resource
26411// view to apply to the returned intent.
26412//
26413// Possible values:
26414//   "INTENT_VIEW_UNSPECIFIED" - Not specified. Treated as
26415// INTENT_VIEW_FULL.
26416//   "INTENT_VIEW_PARTIAL" - Training phrases field is not populated in
26417// the response.
26418//   "INTENT_VIEW_FULL" - All fields are populated.
26419func (c *ProjectsLocationsAgentsIntentsListCall) IntentView(intentView string) *ProjectsLocationsAgentsIntentsListCall {
26420	c.urlParams_.Set("intentView", intentView)
26421	return c
26422}
26423
26424// LanguageCode sets the optional parameter "languageCode": The language
26425// to list intents for. The following fields are language dependent: *
26426// `Intent.training_phrases.parts.text` If not specified, the agent's
26427// default language is used. Many languages
26428// (https://cloud.google.com/dialogflow/cx/docs/reference/language) are
26429// supported. Note: languages must be enabled in the agent before they
26430// can be used.
26431func (c *ProjectsLocationsAgentsIntentsListCall) LanguageCode(languageCode string) *ProjectsLocationsAgentsIntentsListCall {
26432	c.urlParams_.Set("languageCode", languageCode)
26433	return c
26434}
26435
26436// PageSize sets the optional parameter "pageSize": The maximum number
26437// of items to return in a single page. By default 100 and at most 1000.
26438func (c *ProjectsLocationsAgentsIntentsListCall) PageSize(pageSize int64) *ProjectsLocationsAgentsIntentsListCall {
26439	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
26440	return c
26441}
26442
26443// PageToken sets the optional parameter "pageToken": The
26444// next_page_token value returned from a previous list request.
26445func (c *ProjectsLocationsAgentsIntentsListCall) PageToken(pageToken string) *ProjectsLocationsAgentsIntentsListCall {
26446	c.urlParams_.Set("pageToken", pageToken)
26447	return c
26448}
26449
26450// Fields allows partial responses to be retrieved. See
26451// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26452// for more information.
26453func (c *ProjectsLocationsAgentsIntentsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsIntentsListCall {
26454	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26455	return c
26456}
26457
26458// IfNoneMatch sets the optional parameter which makes the operation
26459// fail if the object's ETag matches the given value. This is useful for
26460// getting updates only after the object has changed since the last
26461// request. Use googleapi.IsNotModified to check whether the response
26462// error from Do is the result of In-None-Match.
26463func (c *ProjectsLocationsAgentsIntentsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsIntentsListCall {
26464	c.ifNoneMatch_ = entityTag
26465	return c
26466}
26467
26468// Context sets the context to be used in this call's Do method. Any
26469// pending HTTP request will be aborted if the provided context is
26470// canceled.
26471func (c *ProjectsLocationsAgentsIntentsListCall) Context(ctx context.Context) *ProjectsLocationsAgentsIntentsListCall {
26472	c.ctx_ = ctx
26473	return c
26474}
26475
26476// Header returns an http.Header that can be modified by the caller to
26477// add HTTP headers to the request.
26478func (c *ProjectsLocationsAgentsIntentsListCall) Header() http.Header {
26479	if c.header_ == nil {
26480		c.header_ = make(http.Header)
26481	}
26482	return c.header_
26483}
26484
26485func (c *ProjectsLocationsAgentsIntentsListCall) doRequest(alt string) (*http.Response, error) {
26486	reqHeaders := make(http.Header)
26487	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
26488	for k, v := range c.header_ {
26489		reqHeaders[k] = v
26490	}
26491	reqHeaders.Set("User-Agent", c.s.userAgent())
26492	if c.ifNoneMatch_ != "" {
26493		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
26494	}
26495	var body io.Reader = nil
26496	c.urlParams_.Set("alt", alt)
26497	c.urlParams_.Set("prettyPrint", "false")
26498	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/intents")
26499	urls += "?" + c.urlParams_.Encode()
26500	req, err := http.NewRequest("GET", urls, body)
26501	if err != nil {
26502		return nil, err
26503	}
26504	req.Header = reqHeaders
26505	googleapi.Expand(req.URL, map[string]string{
26506		"parent": c.parent,
26507	})
26508	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26509}
26510
26511// Do executes the "dialogflow.projects.locations.agents.intents.list" call.
26512// Exactly one of *GoogleCloudDialogflowCxV3ListIntentsResponse or error
26513// will be non-nil. Any non-2xx status code is an error. Response
26514// headers are in either
26515// *GoogleCloudDialogflowCxV3ListIntentsResponse.ServerResponse.Header
26516// or (if a response was returned at all) in
26517// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
26518// whether the returned error was because http.StatusNotModified was
26519// returned.
26520func (c *ProjectsLocationsAgentsIntentsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3ListIntentsResponse, error) {
26521	gensupport.SetOptions(c.urlParams_, opts...)
26522	res, err := c.doRequest("json")
26523	if res != nil && res.StatusCode == http.StatusNotModified {
26524		if res.Body != nil {
26525			res.Body.Close()
26526		}
26527		return nil, &googleapi.Error{
26528			Code:   res.StatusCode,
26529			Header: res.Header,
26530		}
26531	}
26532	if err != nil {
26533		return nil, err
26534	}
26535	defer googleapi.CloseBody(res)
26536	if err := googleapi.CheckResponse(res); err != nil {
26537		return nil, err
26538	}
26539	ret := &GoogleCloudDialogflowCxV3ListIntentsResponse{
26540		ServerResponse: googleapi.ServerResponse{
26541			Header:         res.Header,
26542			HTTPStatusCode: res.StatusCode,
26543		},
26544	}
26545	target := &ret
26546	if err := gensupport.DecodeResponse(target, res); err != nil {
26547		return nil, err
26548	}
26549	return ret, nil
26550	// {
26551	//   "description": "Returns the list of all intents in the specified agent.",
26552	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/intents",
26553	//   "httpMethod": "GET",
26554	//   "id": "dialogflow.projects.locations.agents.intents.list",
26555	//   "parameterOrder": [
26556	//     "parent"
26557	//   ],
26558	//   "parameters": {
26559	//     "intentView": {
26560	//       "description": "The resource view to apply to the returned intent.",
26561	//       "enum": [
26562	//         "INTENT_VIEW_UNSPECIFIED",
26563	//         "INTENT_VIEW_PARTIAL",
26564	//         "INTENT_VIEW_FULL"
26565	//       ],
26566	//       "enumDescriptions": [
26567	//         "Not specified. Treated as INTENT_VIEW_FULL.",
26568	//         "Training phrases field is not populated in the response.",
26569	//         "All fields are populated."
26570	//       ],
26571	//       "location": "query",
26572	//       "type": "string"
26573	//     },
26574	//     "languageCode": {
26575	//       "description": "The language to list intents for. The following fields are language dependent: * `Intent.training_phrases.parts.text` If not specified, the agent's default language is used. [Many languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) are supported. Note: languages must be enabled in the agent before they can be used.",
26576	//       "location": "query",
26577	//       "type": "string"
26578	//     },
26579	//     "pageSize": {
26580	//       "description": "The maximum number of items to return in a single page. By default 100 and at most 1000.",
26581	//       "format": "int32",
26582	//       "location": "query",
26583	//       "type": "integer"
26584	//     },
26585	//     "pageToken": {
26586	//       "description": "The next_page_token value returned from a previous list request.",
26587	//       "location": "query",
26588	//       "type": "string"
26589	//     },
26590	//     "parent": {
26591	//       "description": "Required. The agent to list all intents for. Format: `projects//locations//agents/`.",
26592	//       "location": "path",
26593	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$",
26594	//       "required": true,
26595	//       "type": "string"
26596	//     }
26597	//   },
26598	//   "path": "v3/{+parent}/intents",
26599	//   "response": {
26600	//     "$ref": "GoogleCloudDialogflowCxV3ListIntentsResponse"
26601	//   },
26602	//   "scopes": [
26603	//     "https://www.googleapis.com/auth/cloud-platform",
26604	//     "https://www.googleapis.com/auth/dialogflow"
26605	//   ]
26606	// }
26607
26608}
26609
26610// Pages invokes f for each page of results.
26611// A non-nil error returned from f will halt the iteration.
26612// The provided context supersedes any context provided to the Context method.
26613func (c *ProjectsLocationsAgentsIntentsListCall) Pages(ctx context.Context, f func(*GoogleCloudDialogflowCxV3ListIntentsResponse) error) error {
26614	c.ctx_ = ctx
26615	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
26616	for {
26617		x, err := c.Do()
26618		if err != nil {
26619			return err
26620		}
26621		if err := f(x); err != nil {
26622			return err
26623		}
26624		if x.NextPageToken == "" {
26625			return nil
26626		}
26627		c.PageToken(x.NextPageToken)
26628	}
26629}
26630
26631// method id "dialogflow.projects.locations.agents.intents.patch":
26632
26633type ProjectsLocationsAgentsIntentsPatchCall struct {
26634	s                               *Service
26635	nameid                          string
26636	googleclouddialogflowcxv3intent *GoogleCloudDialogflowCxV3Intent
26637	urlParams_                      gensupport.URLParams
26638	ctx_                            context.Context
26639	header_                         http.Header
26640}
26641
26642// Patch: Updates the specified intent.
26643//
26644// - name: The unique identifier of the intent. Required for the
26645//   Intents.UpdateIntent method. Intents.CreateIntent populates the
26646//   name automatically. Format:
26647//   `projects//locations//agents//intents/`.
26648func (r *ProjectsLocationsAgentsIntentsService) Patch(nameid string, googleclouddialogflowcxv3intent *GoogleCloudDialogflowCxV3Intent) *ProjectsLocationsAgentsIntentsPatchCall {
26649	c := &ProjectsLocationsAgentsIntentsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26650	c.nameid = nameid
26651	c.googleclouddialogflowcxv3intent = googleclouddialogflowcxv3intent
26652	return c
26653}
26654
26655// LanguageCode sets the optional parameter "languageCode": The language
26656// of the following fields in `intent`: *
26657// `Intent.training_phrases.parts.text` If not specified, the agent's
26658// default language is used. Many languages
26659// (https://cloud.google.com/dialogflow/cx/docs/reference/language) are
26660// supported. Note: languages must be enabled in the agent before they
26661// can be used.
26662func (c *ProjectsLocationsAgentsIntentsPatchCall) LanguageCode(languageCode string) *ProjectsLocationsAgentsIntentsPatchCall {
26663	c.urlParams_.Set("languageCode", languageCode)
26664	return c
26665}
26666
26667// UpdateMask sets the optional parameter "updateMask": The mask to
26668// control which fields get updated. If the mask is not present, all
26669// fields will be updated.
26670func (c *ProjectsLocationsAgentsIntentsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsAgentsIntentsPatchCall {
26671	c.urlParams_.Set("updateMask", updateMask)
26672	return c
26673}
26674
26675// Fields allows partial responses to be retrieved. See
26676// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26677// for more information.
26678func (c *ProjectsLocationsAgentsIntentsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsIntentsPatchCall {
26679	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26680	return c
26681}
26682
26683// Context sets the context to be used in this call's Do method. Any
26684// pending HTTP request will be aborted if the provided context is
26685// canceled.
26686func (c *ProjectsLocationsAgentsIntentsPatchCall) Context(ctx context.Context) *ProjectsLocationsAgentsIntentsPatchCall {
26687	c.ctx_ = ctx
26688	return c
26689}
26690
26691// Header returns an http.Header that can be modified by the caller to
26692// add HTTP headers to the request.
26693func (c *ProjectsLocationsAgentsIntentsPatchCall) Header() http.Header {
26694	if c.header_ == nil {
26695		c.header_ = make(http.Header)
26696	}
26697	return c.header_
26698}
26699
26700func (c *ProjectsLocationsAgentsIntentsPatchCall) doRequest(alt string) (*http.Response, error) {
26701	reqHeaders := make(http.Header)
26702	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
26703	for k, v := range c.header_ {
26704		reqHeaders[k] = v
26705	}
26706	reqHeaders.Set("User-Agent", c.s.userAgent())
26707	var body io.Reader = nil
26708	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3intent)
26709	if err != nil {
26710		return nil, err
26711	}
26712	reqHeaders.Set("Content-Type", "application/json")
26713	c.urlParams_.Set("alt", alt)
26714	c.urlParams_.Set("prettyPrint", "false")
26715	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
26716	urls += "?" + c.urlParams_.Encode()
26717	req, err := http.NewRequest("PATCH", urls, body)
26718	if err != nil {
26719		return nil, err
26720	}
26721	req.Header = reqHeaders
26722	googleapi.Expand(req.URL, map[string]string{
26723		"name": c.nameid,
26724	})
26725	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26726}
26727
26728// Do executes the "dialogflow.projects.locations.agents.intents.patch" call.
26729// Exactly one of *GoogleCloudDialogflowCxV3Intent or error will be
26730// non-nil. Any non-2xx status code is an error. Response headers are in
26731// either *GoogleCloudDialogflowCxV3Intent.ServerResponse.Header or (if
26732// a response was returned at all) in error.(*googleapi.Error).Header.
26733// Use googleapi.IsNotModified to check whether the returned error was
26734// because http.StatusNotModified was returned.
26735func (c *ProjectsLocationsAgentsIntentsPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3Intent, error) {
26736	gensupport.SetOptions(c.urlParams_, opts...)
26737	res, err := c.doRequest("json")
26738	if res != nil && res.StatusCode == http.StatusNotModified {
26739		if res.Body != nil {
26740			res.Body.Close()
26741		}
26742		return nil, &googleapi.Error{
26743			Code:   res.StatusCode,
26744			Header: res.Header,
26745		}
26746	}
26747	if err != nil {
26748		return nil, err
26749	}
26750	defer googleapi.CloseBody(res)
26751	if err := googleapi.CheckResponse(res); err != nil {
26752		return nil, err
26753	}
26754	ret := &GoogleCloudDialogflowCxV3Intent{
26755		ServerResponse: googleapi.ServerResponse{
26756			Header:         res.Header,
26757			HTTPStatusCode: res.StatusCode,
26758		},
26759	}
26760	target := &ret
26761	if err := gensupport.DecodeResponse(target, res); err != nil {
26762		return nil, err
26763	}
26764	return ret, nil
26765	// {
26766	//   "description": "Updates the specified intent.",
26767	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/intents/{intentsId}",
26768	//   "httpMethod": "PATCH",
26769	//   "id": "dialogflow.projects.locations.agents.intents.patch",
26770	//   "parameterOrder": [
26771	//     "name"
26772	//   ],
26773	//   "parameters": {
26774	//     "languageCode": {
26775	//       "description": "The language of the following fields in `intent`: * `Intent.training_phrases.parts.text` If not specified, the agent's default language is used. [Many languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) are supported. Note: languages must be enabled in the agent before they can be used.",
26776	//       "location": "query",
26777	//       "type": "string"
26778	//     },
26779	//     "name": {
26780	//       "description": "The unique identifier of the intent. Required for the Intents.UpdateIntent method. Intents.CreateIntent populates the name automatically. Format: `projects//locations//agents//intents/`.",
26781	//       "location": "path",
26782	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/intents/[^/]+$",
26783	//       "required": true,
26784	//       "type": "string"
26785	//     },
26786	//     "updateMask": {
26787	//       "description": "The mask to control which fields get updated. If the mask is not present, all fields will be updated.",
26788	//       "format": "google-fieldmask",
26789	//       "location": "query",
26790	//       "type": "string"
26791	//     }
26792	//   },
26793	//   "path": "v3/{+name}",
26794	//   "request": {
26795	//     "$ref": "GoogleCloudDialogflowCxV3Intent"
26796	//   },
26797	//   "response": {
26798	//     "$ref": "GoogleCloudDialogflowCxV3Intent"
26799	//   },
26800	//   "scopes": [
26801	//     "https://www.googleapis.com/auth/cloud-platform",
26802	//     "https://www.googleapis.com/auth/dialogflow"
26803	//   ]
26804	// }
26805
26806}
26807
26808// method id "dialogflow.projects.locations.agents.sessions.detectIntent":
26809
26810type ProjectsLocationsAgentsSessionsDetectIntentCall struct {
26811	s                                            *Service
26812	sessionid                                    string
26813	googleclouddialogflowcxv3detectintentrequest *GoogleCloudDialogflowCxV3DetectIntentRequest
26814	urlParams_                                   gensupport.URLParams
26815	ctx_                                         context.Context
26816	header_                                      http.Header
26817}
26818
26819// DetectIntent: Processes a natural language query and returns
26820// structured, actionable data as a result. This method is not
26821// idempotent, because it may cause session entity types to be updated,
26822// which in turn might affect results of future queries. Note: Always
26823// use agent versions for production traffic. See Versions and
26824// environments
26825// (https://cloud.google.com/dialogflow/cx/docs/concept/version).
26826//
26827// - session: The name of the session this query is sent to. Format:
26828//   `projects//locations//agents//sessions/` or
26829//   `projects//locations//agents//environments//sessions/`. If
26830//   `Environment ID` is not specified, we assume default 'draft'
26831//   environment. It's up to the API caller to choose an appropriate
26832//   `Session ID`. It can be a random number or some type of session
26833//   identifiers (preferably hashed). The length of the `Session ID`
26834//   must not exceed 36 characters. For more information, see the
26835//   sessions guide
26836//   (https://cloud.google.com/dialogflow/cx/docs/concept/session).
26837//   Note: Always use agent versions for production traffic. See
26838//   Versions and environments
26839//   (https://cloud.google.com/dialogflow/cx/docs/concept/version).
26840func (r *ProjectsLocationsAgentsSessionsService) DetectIntent(sessionid string, googleclouddialogflowcxv3detectintentrequest *GoogleCloudDialogflowCxV3DetectIntentRequest) *ProjectsLocationsAgentsSessionsDetectIntentCall {
26841	c := &ProjectsLocationsAgentsSessionsDetectIntentCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26842	c.sessionid = sessionid
26843	c.googleclouddialogflowcxv3detectintentrequest = googleclouddialogflowcxv3detectintentrequest
26844	return c
26845}
26846
26847// Fields allows partial responses to be retrieved. See
26848// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26849// for more information.
26850func (c *ProjectsLocationsAgentsSessionsDetectIntentCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsSessionsDetectIntentCall {
26851	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26852	return c
26853}
26854
26855// Context sets the context to be used in this call's Do method. Any
26856// pending HTTP request will be aborted if the provided context is
26857// canceled.
26858func (c *ProjectsLocationsAgentsSessionsDetectIntentCall) Context(ctx context.Context) *ProjectsLocationsAgentsSessionsDetectIntentCall {
26859	c.ctx_ = ctx
26860	return c
26861}
26862
26863// Header returns an http.Header that can be modified by the caller to
26864// add HTTP headers to the request.
26865func (c *ProjectsLocationsAgentsSessionsDetectIntentCall) Header() http.Header {
26866	if c.header_ == nil {
26867		c.header_ = make(http.Header)
26868	}
26869	return c.header_
26870}
26871
26872func (c *ProjectsLocationsAgentsSessionsDetectIntentCall) doRequest(alt string) (*http.Response, error) {
26873	reqHeaders := make(http.Header)
26874	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
26875	for k, v := range c.header_ {
26876		reqHeaders[k] = v
26877	}
26878	reqHeaders.Set("User-Agent", c.s.userAgent())
26879	var body io.Reader = nil
26880	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3detectintentrequest)
26881	if err != nil {
26882		return nil, err
26883	}
26884	reqHeaders.Set("Content-Type", "application/json")
26885	c.urlParams_.Set("alt", alt)
26886	c.urlParams_.Set("prettyPrint", "false")
26887	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+session}:detectIntent")
26888	urls += "?" + c.urlParams_.Encode()
26889	req, err := http.NewRequest("POST", urls, body)
26890	if err != nil {
26891		return nil, err
26892	}
26893	req.Header = reqHeaders
26894	googleapi.Expand(req.URL, map[string]string{
26895		"session": c.sessionid,
26896	})
26897	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26898}
26899
26900// Do executes the "dialogflow.projects.locations.agents.sessions.detectIntent" call.
26901// Exactly one of *GoogleCloudDialogflowCxV3DetectIntentResponse or
26902// error will be non-nil. Any non-2xx status code is an error. Response
26903// headers are in either
26904// *GoogleCloudDialogflowCxV3DetectIntentResponse.ServerResponse.Header
26905// or (if a response was returned at all) in
26906// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
26907// whether the returned error was because http.StatusNotModified was
26908// returned.
26909func (c *ProjectsLocationsAgentsSessionsDetectIntentCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3DetectIntentResponse, error) {
26910	gensupport.SetOptions(c.urlParams_, opts...)
26911	res, err := c.doRequest("json")
26912	if res != nil && res.StatusCode == http.StatusNotModified {
26913		if res.Body != nil {
26914			res.Body.Close()
26915		}
26916		return nil, &googleapi.Error{
26917			Code:   res.StatusCode,
26918			Header: res.Header,
26919		}
26920	}
26921	if err != nil {
26922		return nil, err
26923	}
26924	defer googleapi.CloseBody(res)
26925	if err := googleapi.CheckResponse(res); err != nil {
26926		return nil, err
26927	}
26928	ret := &GoogleCloudDialogflowCxV3DetectIntentResponse{
26929		ServerResponse: googleapi.ServerResponse{
26930			Header:         res.Header,
26931			HTTPStatusCode: res.StatusCode,
26932		},
26933	}
26934	target := &ret
26935	if err := gensupport.DecodeResponse(target, res); err != nil {
26936		return nil, err
26937	}
26938	return ret, nil
26939	// {
26940	//   "description": "Processes a natural language query and returns structured, actionable data as a result. This method is not idempotent, because it may cause session entity types to be updated, which in turn might affect results of future queries. Note: Always use agent versions for production traffic. See [Versions and environments](https://cloud.google.com/dialogflow/cx/docs/concept/version).",
26941	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/sessions/{sessionsId}:detectIntent",
26942	//   "httpMethod": "POST",
26943	//   "id": "dialogflow.projects.locations.agents.sessions.detectIntent",
26944	//   "parameterOrder": [
26945	//     "session"
26946	//   ],
26947	//   "parameters": {
26948	//     "session": {
26949	//       "description": "Required. The name of the session this query is sent to. Format: `projects//locations//agents//sessions/` or `projects//locations//agents//environments//sessions/`. If `Environment ID` is not specified, we assume default 'draft' environment. It's up to the API caller to choose an appropriate `Session ID`. It can be a random number or some type of session identifiers (preferably hashed). The length of the `Session ID` must not exceed 36 characters. For more information, see the [sessions guide](https://cloud.google.com/dialogflow/cx/docs/concept/session). Note: Always use agent versions for production traffic. See [Versions and environments](https://cloud.google.com/dialogflow/cx/docs/concept/version).",
26950	//       "location": "path",
26951	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/sessions/[^/]+$",
26952	//       "required": true,
26953	//       "type": "string"
26954	//     }
26955	//   },
26956	//   "path": "v3/{+session}:detectIntent",
26957	//   "request": {
26958	//     "$ref": "GoogleCloudDialogflowCxV3DetectIntentRequest"
26959	//   },
26960	//   "response": {
26961	//     "$ref": "GoogleCloudDialogflowCxV3DetectIntentResponse"
26962	//   },
26963	//   "scopes": [
26964	//     "https://www.googleapis.com/auth/cloud-platform",
26965	//     "https://www.googleapis.com/auth/dialogflow"
26966	//   ]
26967	// }
26968
26969}
26970
26971// method id "dialogflow.projects.locations.agents.sessions.fulfillIntent":
26972
26973type ProjectsLocationsAgentsSessionsFulfillIntentCall struct {
26974	s                                             *Service
26975	sessionid                                     string
26976	googleclouddialogflowcxv3fulfillintentrequest *GoogleCloudDialogflowCxV3FulfillIntentRequest
26977	urlParams_                                    gensupport.URLParams
26978	ctx_                                          context.Context
26979	header_                                       http.Header
26980}
26981
26982// FulfillIntent: Fulfills a matched intent returned by MatchIntent.
26983// Must be called after MatchIntent, with input from
26984// MatchIntentResponse. Otherwise, the behavior is undefined.
26985//
26986// - session: The name of the session this query is sent to. Format:
26987//   `projects//locations//agents//sessions/` or
26988//   `projects//locations//agents//environments//sessions/`. If
26989//   `Environment ID` is not specified, we assume default 'draft'
26990//   environment. It's up to the API caller to choose an appropriate
26991//   `Session ID`. It can be a random number or some type of session
26992//   identifiers (preferably hashed). The length of the `Session ID`
26993//   must not exceed 36 characters. For more information, see the
26994//   sessions guide
26995//   (https://cloud.google.com/dialogflow/cx/docs/concept/session).
26996func (r *ProjectsLocationsAgentsSessionsService) FulfillIntent(sessionid string, googleclouddialogflowcxv3fulfillintentrequest *GoogleCloudDialogflowCxV3FulfillIntentRequest) *ProjectsLocationsAgentsSessionsFulfillIntentCall {
26997	c := &ProjectsLocationsAgentsSessionsFulfillIntentCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26998	c.sessionid = sessionid
26999	c.googleclouddialogflowcxv3fulfillintentrequest = googleclouddialogflowcxv3fulfillintentrequest
27000	return c
27001}
27002
27003// Fields allows partial responses to be retrieved. See
27004// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27005// for more information.
27006func (c *ProjectsLocationsAgentsSessionsFulfillIntentCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsSessionsFulfillIntentCall {
27007	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27008	return c
27009}
27010
27011// Context sets the context to be used in this call's Do method. Any
27012// pending HTTP request will be aborted if the provided context is
27013// canceled.
27014func (c *ProjectsLocationsAgentsSessionsFulfillIntentCall) Context(ctx context.Context) *ProjectsLocationsAgentsSessionsFulfillIntentCall {
27015	c.ctx_ = ctx
27016	return c
27017}
27018
27019// Header returns an http.Header that can be modified by the caller to
27020// add HTTP headers to the request.
27021func (c *ProjectsLocationsAgentsSessionsFulfillIntentCall) Header() http.Header {
27022	if c.header_ == nil {
27023		c.header_ = make(http.Header)
27024	}
27025	return c.header_
27026}
27027
27028func (c *ProjectsLocationsAgentsSessionsFulfillIntentCall) doRequest(alt string) (*http.Response, error) {
27029	reqHeaders := make(http.Header)
27030	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
27031	for k, v := range c.header_ {
27032		reqHeaders[k] = v
27033	}
27034	reqHeaders.Set("User-Agent", c.s.userAgent())
27035	var body io.Reader = nil
27036	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3fulfillintentrequest)
27037	if err != nil {
27038		return nil, err
27039	}
27040	reqHeaders.Set("Content-Type", "application/json")
27041	c.urlParams_.Set("alt", alt)
27042	c.urlParams_.Set("prettyPrint", "false")
27043	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+session}:fulfillIntent")
27044	urls += "?" + c.urlParams_.Encode()
27045	req, err := http.NewRequest("POST", urls, body)
27046	if err != nil {
27047		return nil, err
27048	}
27049	req.Header = reqHeaders
27050	googleapi.Expand(req.URL, map[string]string{
27051		"session": c.sessionid,
27052	})
27053	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27054}
27055
27056// Do executes the "dialogflow.projects.locations.agents.sessions.fulfillIntent" call.
27057// Exactly one of *GoogleCloudDialogflowCxV3FulfillIntentResponse or
27058// error will be non-nil. Any non-2xx status code is an error. Response
27059// headers are in either
27060// *GoogleCloudDialogflowCxV3FulfillIntentResponse.ServerResponse.Header
27061// or (if a response was returned at all) in
27062// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
27063// whether the returned error was because http.StatusNotModified was
27064// returned.
27065func (c *ProjectsLocationsAgentsSessionsFulfillIntentCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3FulfillIntentResponse, error) {
27066	gensupport.SetOptions(c.urlParams_, opts...)
27067	res, err := c.doRequest("json")
27068	if res != nil && res.StatusCode == http.StatusNotModified {
27069		if res.Body != nil {
27070			res.Body.Close()
27071		}
27072		return nil, &googleapi.Error{
27073			Code:   res.StatusCode,
27074			Header: res.Header,
27075		}
27076	}
27077	if err != nil {
27078		return nil, err
27079	}
27080	defer googleapi.CloseBody(res)
27081	if err := googleapi.CheckResponse(res); err != nil {
27082		return nil, err
27083	}
27084	ret := &GoogleCloudDialogflowCxV3FulfillIntentResponse{
27085		ServerResponse: googleapi.ServerResponse{
27086			Header:         res.Header,
27087			HTTPStatusCode: res.StatusCode,
27088		},
27089	}
27090	target := &ret
27091	if err := gensupport.DecodeResponse(target, res); err != nil {
27092		return nil, err
27093	}
27094	return ret, nil
27095	// {
27096	//   "description": "Fulfills a matched intent returned by MatchIntent. Must be called after MatchIntent, with input from MatchIntentResponse. Otherwise, the behavior is undefined.",
27097	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/sessions/{sessionsId}:fulfillIntent",
27098	//   "httpMethod": "POST",
27099	//   "id": "dialogflow.projects.locations.agents.sessions.fulfillIntent",
27100	//   "parameterOrder": [
27101	//     "session"
27102	//   ],
27103	//   "parameters": {
27104	//     "session": {
27105	//       "description": "Required. The name of the session this query is sent to. Format: `projects//locations//agents//sessions/` or `projects//locations//agents//environments//sessions/`. If `Environment ID` is not specified, we assume default 'draft' environment. It's up to the API caller to choose an appropriate `Session ID`. It can be a random number or some type of session identifiers (preferably hashed). The length of the `Session ID` must not exceed 36 characters. For more information, see the [sessions guide](https://cloud.google.com/dialogflow/cx/docs/concept/session).",
27106	//       "location": "path",
27107	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/sessions/[^/]+$",
27108	//       "required": true,
27109	//       "type": "string"
27110	//     }
27111	//   },
27112	//   "path": "v3/{+session}:fulfillIntent",
27113	//   "request": {
27114	//     "$ref": "GoogleCloudDialogflowCxV3FulfillIntentRequest"
27115	//   },
27116	//   "response": {
27117	//     "$ref": "GoogleCloudDialogflowCxV3FulfillIntentResponse"
27118	//   },
27119	//   "scopes": [
27120	//     "https://www.googleapis.com/auth/cloud-platform",
27121	//     "https://www.googleapis.com/auth/dialogflow"
27122	//   ]
27123	// }
27124
27125}
27126
27127// method id "dialogflow.projects.locations.agents.sessions.matchIntent":
27128
27129type ProjectsLocationsAgentsSessionsMatchIntentCall struct {
27130	s                                           *Service
27131	sessionid                                   string
27132	googleclouddialogflowcxv3matchintentrequest *GoogleCloudDialogflowCxV3MatchIntentRequest
27133	urlParams_                                  gensupport.URLParams
27134	ctx_                                        context.Context
27135	header_                                     http.Header
27136}
27137
27138// MatchIntent: Returns preliminary intent match results, doesn't change
27139// the session status.
27140//
27141// - session: The name of the session this query is sent to. Format:
27142//   `projects//locations//agents//sessions/` or
27143//   `projects//locations//agents//environments//sessions/`. If
27144//   `Environment ID` is not specified, we assume default 'draft'
27145//   environment. It's up to the API caller to choose an appropriate
27146//   `Session ID`. It can be a random number or some type of session
27147//   identifiers (preferably hashed). The length of the `Session ID`
27148//   must not exceed 36 characters. For more information, see the
27149//   sessions guide
27150//   (https://cloud.google.com/dialogflow/cx/docs/concept/session).
27151func (r *ProjectsLocationsAgentsSessionsService) MatchIntent(sessionid string, googleclouddialogflowcxv3matchintentrequest *GoogleCloudDialogflowCxV3MatchIntentRequest) *ProjectsLocationsAgentsSessionsMatchIntentCall {
27152	c := &ProjectsLocationsAgentsSessionsMatchIntentCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27153	c.sessionid = sessionid
27154	c.googleclouddialogflowcxv3matchintentrequest = googleclouddialogflowcxv3matchintentrequest
27155	return c
27156}
27157
27158// Fields allows partial responses to be retrieved. See
27159// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27160// for more information.
27161func (c *ProjectsLocationsAgentsSessionsMatchIntentCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsSessionsMatchIntentCall {
27162	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27163	return c
27164}
27165
27166// Context sets the context to be used in this call's Do method. Any
27167// pending HTTP request will be aborted if the provided context is
27168// canceled.
27169func (c *ProjectsLocationsAgentsSessionsMatchIntentCall) Context(ctx context.Context) *ProjectsLocationsAgentsSessionsMatchIntentCall {
27170	c.ctx_ = ctx
27171	return c
27172}
27173
27174// Header returns an http.Header that can be modified by the caller to
27175// add HTTP headers to the request.
27176func (c *ProjectsLocationsAgentsSessionsMatchIntentCall) Header() http.Header {
27177	if c.header_ == nil {
27178		c.header_ = make(http.Header)
27179	}
27180	return c.header_
27181}
27182
27183func (c *ProjectsLocationsAgentsSessionsMatchIntentCall) doRequest(alt string) (*http.Response, error) {
27184	reqHeaders := make(http.Header)
27185	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
27186	for k, v := range c.header_ {
27187		reqHeaders[k] = v
27188	}
27189	reqHeaders.Set("User-Agent", c.s.userAgent())
27190	var body io.Reader = nil
27191	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3matchintentrequest)
27192	if err != nil {
27193		return nil, err
27194	}
27195	reqHeaders.Set("Content-Type", "application/json")
27196	c.urlParams_.Set("alt", alt)
27197	c.urlParams_.Set("prettyPrint", "false")
27198	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+session}:matchIntent")
27199	urls += "?" + c.urlParams_.Encode()
27200	req, err := http.NewRequest("POST", urls, body)
27201	if err != nil {
27202		return nil, err
27203	}
27204	req.Header = reqHeaders
27205	googleapi.Expand(req.URL, map[string]string{
27206		"session": c.sessionid,
27207	})
27208	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27209}
27210
27211// Do executes the "dialogflow.projects.locations.agents.sessions.matchIntent" call.
27212// Exactly one of *GoogleCloudDialogflowCxV3MatchIntentResponse or error
27213// will be non-nil. Any non-2xx status code is an error. Response
27214// headers are in either
27215// *GoogleCloudDialogflowCxV3MatchIntentResponse.ServerResponse.Header
27216// or (if a response was returned at all) in
27217// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
27218// whether the returned error was because http.StatusNotModified was
27219// returned.
27220func (c *ProjectsLocationsAgentsSessionsMatchIntentCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3MatchIntentResponse, error) {
27221	gensupport.SetOptions(c.urlParams_, opts...)
27222	res, err := c.doRequest("json")
27223	if res != nil && res.StatusCode == http.StatusNotModified {
27224		if res.Body != nil {
27225			res.Body.Close()
27226		}
27227		return nil, &googleapi.Error{
27228			Code:   res.StatusCode,
27229			Header: res.Header,
27230		}
27231	}
27232	if err != nil {
27233		return nil, err
27234	}
27235	defer googleapi.CloseBody(res)
27236	if err := googleapi.CheckResponse(res); err != nil {
27237		return nil, err
27238	}
27239	ret := &GoogleCloudDialogflowCxV3MatchIntentResponse{
27240		ServerResponse: googleapi.ServerResponse{
27241			Header:         res.Header,
27242			HTTPStatusCode: res.StatusCode,
27243		},
27244	}
27245	target := &ret
27246	if err := gensupport.DecodeResponse(target, res); err != nil {
27247		return nil, err
27248	}
27249	return ret, nil
27250	// {
27251	//   "description": "Returns preliminary intent match results, doesn't change the session status.",
27252	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/sessions/{sessionsId}:matchIntent",
27253	//   "httpMethod": "POST",
27254	//   "id": "dialogflow.projects.locations.agents.sessions.matchIntent",
27255	//   "parameterOrder": [
27256	//     "session"
27257	//   ],
27258	//   "parameters": {
27259	//     "session": {
27260	//       "description": "Required. The name of the session this query is sent to. Format: `projects//locations//agents//sessions/` or `projects//locations//agents//environments//sessions/`. If `Environment ID` is not specified, we assume default 'draft' environment. It's up to the API caller to choose an appropriate `Session ID`. It can be a random number or some type of session identifiers (preferably hashed). The length of the `Session ID` must not exceed 36 characters. For more information, see the [sessions guide](https://cloud.google.com/dialogflow/cx/docs/concept/session).",
27261	//       "location": "path",
27262	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/sessions/[^/]+$",
27263	//       "required": true,
27264	//       "type": "string"
27265	//     }
27266	//   },
27267	//   "path": "v3/{+session}:matchIntent",
27268	//   "request": {
27269	//     "$ref": "GoogleCloudDialogflowCxV3MatchIntentRequest"
27270	//   },
27271	//   "response": {
27272	//     "$ref": "GoogleCloudDialogflowCxV3MatchIntentResponse"
27273	//   },
27274	//   "scopes": [
27275	//     "https://www.googleapis.com/auth/cloud-platform",
27276	//     "https://www.googleapis.com/auth/dialogflow"
27277	//   ]
27278	// }
27279
27280}
27281
27282// method id "dialogflow.projects.locations.agents.sessions.entityTypes.create":
27283
27284type ProjectsLocationsAgentsSessionsEntityTypesCreateCall struct {
27285	s                                          *Service
27286	parent                                     string
27287	googleclouddialogflowcxv3sessionentitytype *GoogleCloudDialogflowCxV3SessionEntityType
27288	urlParams_                                 gensupport.URLParams
27289	ctx_                                       context.Context
27290	header_                                    http.Header
27291}
27292
27293// Create: Creates a session entity type.
27294//
27295// - parent: The session to create a session entity type for. Format:
27296//   `projects//locations//agents//sessions/` or
27297//   `projects//locations//agents//environments//sessions/`. If
27298//   `Environment ID` is not specified, we assume default 'draft'
27299//   environment.
27300func (r *ProjectsLocationsAgentsSessionsEntityTypesService) Create(parent string, googleclouddialogflowcxv3sessionentitytype *GoogleCloudDialogflowCxV3SessionEntityType) *ProjectsLocationsAgentsSessionsEntityTypesCreateCall {
27301	c := &ProjectsLocationsAgentsSessionsEntityTypesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27302	c.parent = parent
27303	c.googleclouddialogflowcxv3sessionentitytype = googleclouddialogflowcxv3sessionentitytype
27304	return c
27305}
27306
27307// Fields allows partial responses to be retrieved. See
27308// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27309// for more information.
27310func (c *ProjectsLocationsAgentsSessionsEntityTypesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsSessionsEntityTypesCreateCall {
27311	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27312	return c
27313}
27314
27315// Context sets the context to be used in this call's Do method. Any
27316// pending HTTP request will be aborted if the provided context is
27317// canceled.
27318func (c *ProjectsLocationsAgentsSessionsEntityTypesCreateCall) Context(ctx context.Context) *ProjectsLocationsAgentsSessionsEntityTypesCreateCall {
27319	c.ctx_ = ctx
27320	return c
27321}
27322
27323// Header returns an http.Header that can be modified by the caller to
27324// add HTTP headers to the request.
27325func (c *ProjectsLocationsAgentsSessionsEntityTypesCreateCall) Header() http.Header {
27326	if c.header_ == nil {
27327		c.header_ = make(http.Header)
27328	}
27329	return c.header_
27330}
27331
27332func (c *ProjectsLocationsAgentsSessionsEntityTypesCreateCall) doRequest(alt string) (*http.Response, error) {
27333	reqHeaders := make(http.Header)
27334	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
27335	for k, v := range c.header_ {
27336		reqHeaders[k] = v
27337	}
27338	reqHeaders.Set("User-Agent", c.s.userAgent())
27339	var body io.Reader = nil
27340	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3sessionentitytype)
27341	if err != nil {
27342		return nil, err
27343	}
27344	reqHeaders.Set("Content-Type", "application/json")
27345	c.urlParams_.Set("alt", alt)
27346	c.urlParams_.Set("prettyPrint", "false")
27347	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/entityTypes")
27348	urls += "?" + c.urlParams_.Encode()
27349	req, err := http.NewRequest("POST", urls, body)
27350	if err != nil {
27351		return nil, err
27352	}
27353	req.Header = reqHeaders
27354	googleapi.Expand(req.URL, map[string]string{
27355		"parent": c.parent,
27356	})
27357	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27358}
27359
27360// Do executes the "dialogflow.projects.locations.agents.sessions.entityTypes.create" call.
27361// Exactly one of *GoogleCloudDialogflowCxV3SessionEntityType or error
27362// will be non-nil. Any non-2xx status code is an error. Response
27363// headers are in either
27364// *GoogleCloudDialogflowCxV3SessionEntityType.ServerResponse.Header or
27365// (if a response was returned at all) in
27366// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
27367// whether the returned error was because http.StatusNotModified was
27368// returned.
27369func (c *ProjectsLocationsAgentsSessionsEntityTypesCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3SessionEntityType, error) {
27370	gensupport.SetOptions(c.urlParams_, opts...)
27371	res, err := c.doRequest("json")
27372	if res != nil && res.StatusCode == http.StatusNotModified {
27373		if res.Body != nil {
27374			res.Body.Close()
27375		}
27376		return nil, &googleapi.Error{
27377			Code:   res.StatusCode,
27378			Header: res.Header,
27379		}
27380	}
27381	if err != nil {
27382		return nil, err
27383	}
27384	defer googleapi.CloseBody(res)
27385	if err := googleapi.CheckResponse(res); err != nil {
27386		return nil, err
27387	}
27388	ret := &GoogleCloudDialogflowCxV3SessionEntityType{
27389		ServerResponse: googleapi.ServerResponse{
27390			Header:         res.Header,
27391			HTTPStatusCode: res.StatusCode,
27392		},
27393	}
27394	target := &ret
27395	if err := gensupport.DecodeResponse(target, res); err != nil {
27396		return nil, err
27397	}
27398	return ret, nil
27399	// {
27400	//   "description": "Creates a session entity type.",
27401	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/sessions/{sessionsId}/entityTypes",
27402	//   "httpMethod": "POST",
27403	//   "id": "dialogflow.projects.locations.agents.sessions.entityTypes.create",
27404	//   "parameterOrder": [
27405	//     "parent"
27406	//   ],
27407	//   "parameters": {
27408	//     "parent": {
27409	//       "description": "Required. The session to create a session entity type for. Format: `projects//locations//agents//sessions/` or `projects//locations//agents//environments//sessions/`. If `Environment ID` is not specified, we assume default 'draft' environment.",
27410	//       "location": "path",
27411	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/sessions/[^/]+$",
27412	//       "required": true,
27413	//       "type": "string"
27414	//     }
27415	//   },
27416	//   "path": "v3/{+parent}/entityTypes",
27417	//   "request": {
27418	//     "$ref": "GoogleCloudDialogflowCxV3SessionEntityType"
27419	//   },
27420	//   "response": {
27421	//     "$ref": "GoogleCloudDialogflowCxV3SessionEntityType"
27422	//   },
27423	//   "scopes": [
27424	//     "https://www.googleapis.com/auth/cloud-platform",
27425	//     "https://www.googleapis.com/auth/dialogflow"
27426	//   ]
27427	// }
27428
27429}
27430
27431// method id "dialogflow.projects.locations.agents.sessions.entityTypes.delete":
27432
27433type ProjectsLocationsAgentsSessionsEntityTypesDeleteCall struct {
27434	s          *Service
27435	name       string
27436	urlParams_ gensupport.URLParams
27437	ctx_       context.Context
27438	header_    http.Header
27439}
27440
27441// Delete: Deletes the specified session entity type.
27442//
27443// - name: The name of the session entity type to delete. Format:
27444//   `projects//locations//agents//sessions//entityTypes/` or
27445//   `projects//locations//agents//environments//sessions//entityTypes/`.
27446//    If `Environment ID` is not specified, we assume default 'draft'
27447//   environment.
27448func (r *ProjectsLocationsAgentsSessionsEntityTypesService) Delete(name string) *ProjectsLocationsAgentsSessionsEntityTypesDeleteCall {
27449	c := &ProjectsLocationsAgentsSessionsEntityTypesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27450	c.name = name
27451	return c
27452}
27453
27454// Fields allows partial responses to be retrieved. See
27455// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27456// for more information.
27457func (c *ProjectsLocationsAgentsSessionsEntityTypesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsSessionsEntityTypesDeleteCall {
27458	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27459	return c
27460}
27461
27462// Context sets the context to be used in this call's Do method. Any
27463// pending HTTP request will be aborted if the provided context is
27464// canceled.
27465func (c *ProjectsLocationsAgentsSessionsEntityTypesDeleteCall) Context(ctx context.Context) *ProjectsLocationsAgentsSessionsEntityTypesDeleteCall {
27466	c.ctx_ = ctx
27467	return c
27468}
27469
27470// Header returns an http.Header that can be modified by the caller to
27471// add HTTP headers to the request.
27472func (c *ProjectsLocationsAgentsSessionsEntityTypesDeleteCall) Header() http.Header {
27473	if c.header_ == nil {
27474		c.header_ = make(http.Header)
27475	}
27476	return c.header_
27477}
27478
27479func (c *ProjectsLocationsAgentsSessionsEntityTypesDeleteCall) doRequest(alt string) (*http.Response, error) {
27480	reqHeaders := make(http.Header)
27481	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
27482	for k, v := range c.header_ {
27483		reqHeaders[k] = v
27484	}
27485	reqHeaders.Set("User-Agent", c.s.userAgent())
27486	var body io.Reader = nil
27487	c.urlParams_.Set("alt", alt)
27488	c.urlParams_.Set("prettyPrint", "false")
27489	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
27490	urls += "?" + c.urlParams_.Encode()
27491	req, err := http.NewRequest("DELETE", urls, body)
27492	if err != nil {
27493		return nil, err
27494	}
27495	req.Header = reqHeaders
27496	googleapi.Expand(req.URL, map[string]string{
27497		"name": c.name,
27498	})
27499	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27500}
27501
27502// Do executes the "dialogflow.projects.locations.agents.sessions.entityTypes.delete" call.
27503// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
27504// non-2xx status code is an error. Response headers are in either
27505// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
27506// returned at all) in error.(*googleapi.Error).Header. Use
27507// googleapi.IsNotModified to check whether the returned error was
27508// because http.StatusNotModified was returned.
27509func (c *ProjectsLocationsAgentsSessionsEntityTypesDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
27510	gensupport.SetOptions(c.urlParams_, opts...)
27511	res, err := c.doRequest("json")
27512	if res != nil && res.StatusCode == http.StatusNotModified {
27513		if res.Body != nil {
27514			res.Body.Close()
27515		}
27516		return nil, &googleapi.Error{
27517			Code:   res.StatusCode,
27518			Header: res.Header,
27519		}
27520	}
27521	if err != nil {
27522		return nil, err
27523	}
27524	defer googleapi.CloseBody(res)
27525	if err := googleapi.CheckResponse(res); err != nil {
27526		return nil, err
27527	}
27528	ret := &GoogleProtobufEmpty{
27529		ServerResponse: googleapi.ServerResponse{
27530			Header:         res.Header,
27531			HTTPStatusCode: res.StatusCode,
27532		},
27533	}
27534	target := &ret
27535	if err := gensupport.DecodeResponse(target, res); err != nil {
27536		return nil, err
27537	}
27538	return ret, nil
27539	// {
27540	//   "description": "Deletes the specified session entity type.",
27541	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/sessions/{sessionsId}/entityTypes/{entityTypesId}",
27542	//   "httpMethod": "DELETE",
27543	//   "id": "dialogflow.projects.locations.agents.sessions.entityTypes.delete",
27544	//   "parameterOrder": [
27545	//     "name"
27546	//   ],
27547	//   "parameters": {
27548	//     "name": {
27549	//       "description": "Required. The name of the session entity type to delete. Format: `projects//locations//agents//sessions//entityTypes/` or `projects//locations//agents//environments//sessions//entityTypes/`. If `Environment ID` is not specified, we assume default 'draft' environment.",
27550	//       "location": "path",
27551	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/sessions/[^/]+/entityTypes/[^/]+$",
27552	//       "required": true,
27553	//       "type": "string"
27554	//     }
27555	//   },
27556	//   "path": "v3/{+name}",
27557	//   "response": {
27558	//     "$ref": "GoogleProtobufEmpty"
27559	//   },
27560	//   "scopes": [
27561	//     "https://www.googleapis.com/auth/cloud-platform",
27562	//     "https://www.googleapis.com/auth/dialogflow"
27563	//   ]
27564	// }
27565
27566}
27567
27568// method id "dialogflow.projects.locations.agents.sessions.entityTypes.get":
27569
27570type ProjectsLocationsAgentsSessionsEntityTypesGetCall struct {
27571	s            *Service
27572	name         string
27573	urlParams_   gensupport.URLParams
27574	ifNoneMatch_ string
27575	ctx_         context.Context
27576	header_      http.Header
27577}
27578
27579// Get: Retrieves the specified session entity type.
27580//
27581// - name: The name of the session entity type. Format:
27582//   `projects//locations//agents//sessions//entityTypes/` or
27583//   `projects//locations//agents//environments//sessions//entityTypes/`.
27584//    If `Environment ID` is not specified, we assume default 'draft'
27585//   environment.
27586func (r *ProjectsLocationsAgentsSessionsEntityTypesService) Get(name string) *ProjectsLocationsAgentsSessionsEntityTypesGetCall {
27587	c := &ProjectsLocationsAgentsSessionsEntityTypesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27588	c.name = name
27589	return c
27590}
27591
27592// Fields allows partial responses to be retrieved. See
27593// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27594// for more information.
27595func (c *ProjectsLocationsAgentsSessionsEntityTypesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsSessionsEntityTypesGetCall {
27596	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27597	return c
27598}
27599
27600// IfNoneMatch sets the optional parameter which makes the operation
27601// fail if the object's ETag matches the given value. This is useful for
27602// getting updates only after the object has changed since the last
27603// request. Use googleapi.IsNotModified to check whether the response
27604// error from Do is the result of In-None-Match.
27605func (c *ProjectsLocationsAgentsSessionsEntityTypesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsSessionsEntityTypesGetCall {
27606	c.ifNoneMatch_ = entityTag
27607	return c
27608}
27609
27610// Context sets the context to be used in this call's Do method. Any
27611// pending HTTP request will be aborted if the provided context is
27612// canceled.
27613func (c *ProjectsLocationsAgentsSessionsEntityTypesGetCall) Context(ctx context.Context) *ProjectsLocationsAgentsSessionsEntityTypesGetCall {
27614	c.ctx_ = ctx
27615	return c
27616}
27617
27618// Header returns an http.Header that can be modified by the caller to
27619// add HTTP headers to the request.
27620func (c *ProjectsLocationsAgentsSessionsEntityTypesGetCall) Header() http.Header {
27621	if c.header_ == nil {
27622		c.header_ = make(http.Header)
27623	}
27624	return c.header_
27625}
27626
27627func (c *ProjectsLocationsAgentsSessionsEntityTypesGetCall) doRequest(alt string) (*http.Response, error) {
27628	reqHeaders := make(http.Header)
27629	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
27630	for k, v := range c.header_ {
27631		reqHeaders[k] = v
27632	}
27633	reqHeaders.Set("User-Agent", c.s.userAgent())
27634	if c.ifNoneMatch_ != "" {
27635		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
27636	}
27637	var body io.Reader = nil
27638	c.urlParams_.Set("alt", alt)
27639	c.urlParams_.Set("prettyPrint", "false")
27640	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
27641	urls += "?" + c.urlParams_.Encode()
27642	req, err := http.NewRequest("GET", urls, body)
27643	if err != nil {
27644		return nil, err
27645	}
27646	req.Header = reqHeaders
27647	googleapi.Expand(req.URL, map[string]string{
27648		"name": c.name,
27649	})
27650	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27651}
27652
27653// Do executes the "dialogflow.projects.locations.agents.sessions.entityTypes.get" call.
27654// Exactly one of *GoogleCloudDialogflowCxV3SessionEntityType or error
27655// will be non-nil. Any non-2xx status code is an error. Response
27656// headers are in either
27657// *GoogleCloudDialogflowCxV3SessionEntityType.ServerResponse.Header or
27658// (if a response was returned at all) in
27659// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
27660// whether the returned error was because http.StatusNotModified was
27661// returned.
27662func (c *ProjectsLocationsAgentsSessionsEntityTypesGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3SessionEntityType, error) {
27663	gensupport.SetOptions(c.urlParams_, opts...)
27664	res, err := c.doRequest("json")
27665	if res != nil && res.StatusCode == http.StatusNotModified {
27666		if res.Body != nil {
27667			res.Body.Close()
27668		}
27669		return nil, &googleapi.Error{
27670			Code:   res.StatusCode,
27671			Header: res.Header,
27672		}
27673	}
27674	if err != nil {
27675		return nil, err
27676	}
27677	defer googleapi.CloseBody(res)
27678	if err := googleapi.CheckResponse(res); err != nil {
27679		return nil, err
27680	}
27681	ret := &GoogleCloudDialogflowCxV3SessionEntityType{
27682		ServerResponse: googleapi.ServerResponse{
27683			Header:         res.Header,
27684			HTTPStatusCode: res.StatusCode,
27685		},
27686	}
27687	target := &ret
27688	if err := gensupport.DecodeResponse(target, res); err != nil {
27689		return nil, err
27690	}
27691	return ret, nil
27692	// {
27693	//   "description": "Retrieves the specified session entity type.",
27694	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/sessions/{sessionsId}/entityTypes/{entityTypesId}",
27695	//   "httpMethod": "GET",
27696	//   "id": "dialogflow.projects.locations.agents.sessions.entityTypes.get",
27697	//   "parameterOrder": [
27698	//     "name"
27699	//   ],
27700	//   "parameters": {
27701	//     "name": {
27702	//       "description": "Required. The name of the session entity type. Format: `projects//locations//agents//sessions//entityTypes/` or `projects//locations//agents//environments//sessions//entityTypes/`. If `Environment ID` is not specified, we assume default 'draft' environment.",
27703	//       "location": "path",
27704	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/sessions/[^/]+/entityTypes/[^/]+$",
27705	//       "required": true,
27706	//       "type": "string"
27707	//     }
27708	//   },
27709	//   "path": "v3/{+name}",
27710	//   "response": {
27711	//     "$ref": "GoogleCloudDialogflowCxV3SessionEntityType"
27712	//   },
27713	//   "scopes": [
27714	//     "https://www.googleapis.com/auth/cloud-platform",
27715	//     "https://www.googleapis.com/auth/dialogflow"
27716	//   ]
27717	// }
27718
27719}
27720
27721// method id "dialogflow.projects.locations.agents.sessions.entityTypes.list":
27722
27723type ProjectsLocationsAgentsSessionsEntityTypesListCall struct {
27724	s            *Service
27725	parent       string
27726	urlParams_   gensupport.URLParams
27727	ifNoneMatch_ string
27728	ctx_         context.Context
27729	header_      http.Header
27730}
27731
27732// List: Returns the list of all session entity types in the specified
27733// session.
27734//
27735// - parent: The session to list all session entity types from. Format:
27736//   `projects//locations//agents//sessions/` or
27737//   `projects//locations//agents//environments//sessions/`. If
27738//   `Environment ID` is not specified, we assume default 'draft'
27739//   environment.
27740func (r *ProjectsLocationsAgentsSessionsEntityTypesService) List(parent string) *ProjectsLocationsAgentsSessionsEntityTypesListCall {
27741	c := &ProjectsLocationsAgentsSessionsEntityTypesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27742	c.parent = parent
27743	return c
27744}
27745
27746// PageSize sets the optional parameter "pageSize": The maximum number
27747// of items to return in a single page. By default 100 and at most 1000.
27748func (c *ProjectsLocationsAgentsSessionsEntityTypesListCall) PageSize(pageSize int64) *ProjectsLocationsAgentsSessionsEntityTypesListCall {
27749	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
27750	return c
27751}
27752
27753// PageToken sets the optional parameter "pageToken": The
27754// next_page_token value returned from a previous list request.
27755func (c *ProjectsLocationsAgentsSessionsEntityTypesListCall) PageToken(pageToken string) *ProjectsLocationsAgentsSessionsEntityTypesListCall {
27756	c.urlParams_.Set("pageToken", pageToken)
27757	return c
27758}
27759
27760// Fields allows partial responses to be retrieved. See
27761// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27762// for more information.
27763func (c *ProjectsLocationsAgentsSessionsEntityTypesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsSessionsEntityTypesListCall {
27764	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27765	return c
27766}
27767
27768// IfNoneMatch sets the optional parameter which makes the operation
27769// fail if the object's ETag matches the given value. This is useful for
27770// getting updates only after the object has changed since the last
27771// request. Use googleapi.IsNotModified to check whether the response
27772// error from Do is the result of In-None-Match.
27773func (c *ProjectsLocationsAgentsSessionsEntityTypesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsSessionsEntityTypesListCall {
27774	c.ifNoneMatch_ = entityTag
27775	return c
27776}
27777
27778// Context sets the context to be used in this call's Do method. Any
27779// pending HTTP request will be aborted if the provided context is
27780// canceled.
27781func (c *ProjectsLocationsAgentsSessionsEntityTypesListCall) Context(ctx context.Context) *ProjectsLocationsAgentsSessionsEntityTypesListCall {
27782	c.ctx_ = ctx
27783	return c
27784}
27785
27786// Header returns an http.Header that can be modified by the caller to
27787// add HTTP headers to the request.
27788func (c *ProjectsLocationsAgentsSessionsEntityTypesListCall) Header() http.Header {
27789	if c.header_ == nil {
27790		c.header_ = make(http.Header)
27791	}
27792	return c.header_
27793}
27794
27795func (c *ProjectsLocationsAgentsSessionsEntityTypesListCall) doRequest(alt string) (*http.Response, error) {
27796	reqHeaders := make(http.Header)
27797	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
27798	for k, v := range c.header_ {
27799		reqHeaders[k] = v
27800	}
27801	reqHeaders.Set("User-Agent", c.s.userAgent())
27802	if c.ifNoneMatch_ != "" {
27803		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
27804	}
27805	var body io.Reader = nil
27806	c.urlParams_.Set("alt", alt)
27807	c.urlParams_.Set("prettyPrint", "false")
27808	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/entityTypes")
27809	urls += "?" + c.urlParams_.Encode()
27810	req, err := http.NewRequest("GET", urls, body)
27811	if err != nil {
27812		return nil, err
27813	}
27814	req.Header = reqHeaders
27815	googleapi.Expand(req.URL, map[string]string{
27816		"parent": c.parent,
27817	})
27818	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27819}
27820
27821// Do executes the "dialogflow.projects.locations.agents.sessions.entityTypes.list" call.
27822// Exactly one of
27823// *GoogleCloudDialogflowCxV3ListSessionEntityTypesResponse or error
27824// will be non-nil. Any non-2xx status code is an error. Response
27825// headers are in either
27826// *GoogleCloudDialogflowCxV3ListSessionEntityTypesResponse.ServerRespons
27827// e.Header or (if a response was returned at all) in
27828// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
27829// whether the returned error was because http.StatusNotModified was
27830// returned.
27831func (c *ProjectsLocationsAgentsSessionsEntityTypesListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3ListSessionEntityTypesResponse, error) {
27832	gensupport.SetOptions(c.urlParams_, opts...)
27833	res, err := c.doRequest("json")
27834	if res != nil && res.StatusCode == http.StatusNotModified {
27835		if res.Body != nil {
27836			res.Body.Close()
27837		}
27838		return nil, &googleapi.Error{
27839			Code:   res.StatusCode,
27840			Header: res.Header,
27841		}
27842	}
27843	if err != nil {
27844		return nil, err
27845	}
27846	defer googleapi.CloseBody(res)
27847	if err := googleapi.CheckResponse(res); err != nil {
27848		return nil, err
27849	}
27850	ret := &GoogleCloudDialogflowCxV3ListSessionEntityTypesResponse{
27851		ServerResponse: googleapi.ServerResponse{
27852			Header:         res.Header,
27853			HTTPStatusCode: res.StatusCode,
27854		},
27855	}
27856	target := &ret
27857	if err := gensupport.DecodeResponse(target, res); err != nil {
27858		return nil, err
27859	}
27860	return ret, nil
27861	// {
27862	//   "description": "Returns the list of all session entity types in the specified session.",
27863	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/sessions/{sessionsId}/entityTypes",
27864	//   "httpMethod": "GET",
27865	//   "id": "dialogflow.projects.locations.agents.sessions.entityTypes.list",
27866	//   "parameterOrder": [
27867	//     "parent"
27868	//   ],
27869	//   "parameters": {
27870	//     "pageSize": {
27871	//       "description": "The maximum number of items to return in a single page. By default 100 and at most 1000.",
27872	//       "format": "int32",
27873	//       "location": "query",
27874	//       "type": "integer"
27875	//     },
27876	//     "pageToken": {
27877	//       "description": "The next_page_token value returned from a previous list request.",
27878	//       "location": "query",
27879	//       "type": "string"
27880	//     },
27881	//     "parent": {
27882	//       "description": "Required. The session to list all session entity types from. Format: `projects//locations//agents//sessions/` or `projects//locations//agents//environments//sessions/`. If `Environment ID` is not specified, we assume default 'draft' environment.",
27883	//       "location": "path",
27884	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/sessions/[^/]+$",
27885	//       "required": true,
27886	//       "type": "string"
27887	//     }
27888	//   },
27889	//   "path": "v3/{+parent}/entityTypes",
27890	//   "response": {
27891	//     "$ref": "GoogleCloudDialogflowCxV3ListSessionEntityTypesResponse"
27892	//   },
27893	//   "scopes": [
27894	//     "https://www.googleapis.com/auth/cloud-platform",
27895	//     "https://www.googleapis.com/auth/dialogflow"
27896	//   ]
27897	// }
27898
27899}
27900
27901// Pages invokes f for each page of results.
27902// A non-nil error returned from f will halt the iteration.
27903// The provided context supersedes any context provided to the Context method.
27904func (c *ProjectsLocationsAgentsSessionsEntityTypesListCall) Pages(ctx context.Context, f func(*GoogleCloudDialogflowCxV3ListSessionEntityTypesResponse) error) error {
27905	c.ctx_ = ctx
27906	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
27907	for {
27908		x, err := c.Do()
27909		if err != nil {
27910			return err
27911		}
27912		if err := f(x); err != nil {
27913			return err
27914		}
27915		if x.NextPageToken == "" {
27916			return nil
27917		}
27918		c.PageToken(x.NextPageToken)
27919	}
27920}
27921
27922// method id "dialogflow.projects.locations.agents.sessions.entityTypes.patch":
27923
27924type ProjectsLocationsAgentsSessionsEntityTypesPatchCall struct {
27925	s                                          *Service
27926	nameid                                     string
27927	googleclouddialogflowcxv3sessionentitytype *GoogleCloudDialogflowCxV3SessionEntityType
27928	urlParams_                                 gensupport.URLParams
27929	ctx_                                       context.Context
27930	header_                                    http.Header
27931}
27932
27933// Patch: Updates the specified session entity type.
27934//
27935// - name: The unique identifier of the session entity type. Format:
27936//   `projects//locations//agents//sessions//entityTypes/` or
27937//   `projects//locations//agents//environments//sessions//entityTypes/`.
27938//    If `Environment ID` is not specified, we assume default 'draft'
27939//   environment.
27940func (r *ProjectsLocationsAgentsSessionsEntityTypesService) Patch(nameid string, googleclouddialogflowcxv3sessionentitytype *GoogleCloudDialogflowCxV3SessionEntityType) *ProjectsLocationsAgentsSessionsEntityTypesPatchCall {
27941	c := &ProjectsLocationsAgentsSessionsEntityTypesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27942	c.nameid = nameid
27943	c.googleclouddialogflowcxv3sessionentitytype = googleclouddialogflowcxv3sessionentitytype
27944	return c
27945}
27946
27947// UpdateMask sets the optional parameter "updateMask": The mask to
27948// control which fields get updated.
27949func (c *ProjectsLocationsAgentsSessionsEntityTypesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsAgentsSessionsEntityTypesPatchCall {
27950	c.urlParams_.Set("updateMask", updateMask)
27951	return c
27952}
27953
27954// Fields allows partial responses to be retrieved. See
27955// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27956// for more information.
27957func (c *ProjectsLocationsAgentsSessionsEntityTypesPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsSessionsEntityTypesPatchCall {
27958	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27959	return c
27960}
27961
27962// Context sets the context to be used in this call's Do method. Any
27963// pending HTTP request will be aborted if the provided context is
27964// canceled.
27965func (c *ProjectsLocationsAgentsSessionsEntityTypesPatchCall) Context(ctx context.Context) *ProjectsLocationsAgentsSessionsEntityTypesPatchCall {
27966	c.ctx_ = ctx
27967	return c
27968}
27969
27970// Header returns an http.Header that can be modified by the caller to
27971// add HTTP headers to the request.
27972func (c *ProjectsLocationsAgentsSessionsEntityTypesPatchCall) Header() http.Header {
27973	if c.header_ == nil {
27974		c.header_ = make(http.Header)
27975	}
27976	return c.header_
27977}
27978
27979func (c *ProjectsLocationsAgentsSessionsEntityTypesPatchCall) doRequest(alt string) (*http.Response, error) {
27980	reqHeaders := make(http.Header)
27981	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
27982	for k, v := range c.header_ {
27983		reqHeaders[k] = v
27984	}
27985	reqHeaders.Set("User-Agent", c.s.userAgent())
27986	var body io.Reader = nil
27987	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3sessionentitytype)
27988	if err != nil {
27989		return nil, err
27990	}
27991	reqHeaders.Set("Content-Type", "application/json")
27992	c.urlParams_.Set("alt", alt)
27993	c.urlParams_.Set("prettyPrint", "false")
27994	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
27995	urls += "?" + c.urlParams_.Encode()
27996	req, err := http.NewRequest("PATCH", urls, body)
27997	if err != nil {
27998		return nil, err
27999	}
28000	req.Header = reqHeaders
28001	googleapi.Expand(req.URL, map[string]string{
28002		"name": c.nameid,
28003	})
28004	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28005}
28006
28007// Do executes the "dialogflow.projects.locations.agents.sessions.entityTypes.patch" call.
28008// Exactly one of *GoogleCloudDialogflowCxV3SessionEntityType or error
28009// will be non-nil. Any non-2xx status code is an error. Response
28010// headers are in either
28011// *GoogleCloudDialogflowCxV3SessionEntityType.ServerResponse.Header or
28012// (if a response was returned at all) in
28013// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
28014// whether the returned error was because http.StatusNotModified was
28015// returned.
28016func (c *ProjectsLocationsAgentsSessionsEntityTypesPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3SessionEntityType, error) {
28017	gensupport.SetOptions(c.urlParams_, opts...)
28018	res, err := c.doRequest("json")
28019	if res != nil && res.StatusCode == http.StatusNotModified {
28020		if res.Body != nil {
28021			res.Body.Close()
28022		}
28023		return nil, &googleapi.Error{
28024			Code:   res.StatusCode,
28025			Header: res.Header,
28026		}
28027	}
28028	if err != nil {
28029		return nil, err
28030	}
28031	defer googleapi.CloseBody(res)
28032	if err := googleapi.CheckResponse(res); err != nil {
28033		return nil, err
28034	}
28035	ret := &GoogleCloudDialogflowCxV3SessionEntityType{
28036		ServerResponse: googleapi.ServerResponse{
28037			Header:         res.Header,
28038			HTTPStatusCode: res.StatusCode,
28039		},
28040	}
28041	target := &ret
28042	if err := gensupport.DecodeResponse(target, res); err != nil {
28043		return nil, err
28044	}
28045	return ret, nil
28046	// {
28047	//   "description": "Updates the specified session entity type.",
28048	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/sessions/{sessionsId}/entityTypes/{entityTypesId}",
28049	//   "httpMethod": "PATCH",
28050	//   "id": "dialogflow.projects.locations.agents.sessions.entityTypes.patch",
28051	//   "parameterOrder": [
28052	//     "name"
28053	//   ],
28054	//   "parameters": {
28055	//     "name": {
28056	//       "description": "Required. The unique identifier of the session entity type. Format: `projects//locations//agents//sessions//entityTypes/` or `projects//locations//agents//environments//sessions//entityTypes/`. If `Environment ID` is not specified, we assume default 'draft' environment.",
28057	//       "location": "path",
28058	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/sessions/[^/]+/entityTypes/[^/]+$",
28059	//       "required": true,
28060	//       "type": "string"
28061	//     },
28062	//     "updateMask": {
28063	//       "description": "The mask to control which fields get updated.",
28064	//       "format": "google-fieldmask",
28065	//       "location": "query",
28066	//       "type": "string"
28067	//     }
28068	//   },
28069	//   "path": "v3/{+name}",
28070	//   "request": {
28071	//     "$ref": "GoogleCloudDialogflowCxV3SessionEntityType"
28072	//   },
28073	//   "response": {
28074	//     "$ref": "GoogleCloudDialogflowCxV3SessionEntityType"
28075	//   },
28076	//   "scopes": [
28077	//     "https://www.googleapis.com/auth/cloud-platform",
28078	//     "https://www.googleapis.com/auth/dialogflow"
28079	//   ]
28080	// }
28081
28082}
28083
28084// method id "dialogflow.projects.locations.agents.testCases.batchDelete":
28085
28086type ProjectsLocationsAgentsTestCasesBatchDeleteCall struct {
28087	s                                                    *Service
28088	parent                                               string
28089	googleclouddialogflowcxv3batchdeletetestcasesrequest *GoogleCloudDialogflowCxV3BatchDeleteTestCasesRequest
28090	urlParams_                                           gensupport.URLParams
28091	ctx_                                                 context.Context
28092	header_                                              http.Header
28093}
28094
28095// BatchDelete: Batch deletes test cases.
28096//
28097// - parent: The agent to delete test cases from. Format:
28098//   `projects//locations//agents/`.
28099func (r *ProjectsLocationsAgentsTestCasesService) BatchDelete(parent string, googleclouddialogflowcxv3batchdeletetestcasesrequest *GoogleCloudDialogflowCxV3BatchDeleteTestCasesRequest) *ProjectsLocationsAgentsTestCasesBatchDeleteCall {
28100	c := &ProjectsLocationsAgentsTestCasesBatchDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28101	c.parent = parent
28102	c.googleclouddialogflowcxv3batchdeletetestcasesrequest = googleclouddialogflowcxv3batchdeletetestcasesrequest
28103	return c
28104}
28105
28106// Fields allows partial responses to be retrieved. See
28107// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28108// for more information.
28109func (c *ProjectsLocationsAgentsTestCasesBatchDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsTestCasesBatchDeleteCall {
28110	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28111	return c
28112}
28113
28114// Context sets the context to be used in this call's Do method. Any
28115// pending HTTP request will be aborted if the provided context is
28116// canceled.
28117func (c *ProjectsLocationsAgentsTestCasesBatchDeleteCall) Context(ctx context.Context) *ProjectsLocationsAgentsTestCasesBatchDeleteCall {
28118	c.ctx_ = ctx
28119	return c
28120}
28121
28122// Header returns an http.Header that can be modified by the caller to
28123// add HTTP headers to the request.
28124func (c *ProjectsLocationsAgentsTestCasesBatchDeleteCall) Header() http.Header {
28125	if c.header_ == nil {
28126		c.header_ = make(http.Header)
28127	}
28128	return c.header_
28129}
28130
28131func (c *ProjectsLocationsAgentsTestCasesBatchDeleteCall) doRequest(alt string) (*http.Response, error) {
28132	reqHeaders := make(http.Header)
28133	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
28134	for k, v := range c.header_ {
28135		reqHeaders[k] = v
28136	}
28137	reqHeaders.Set("User-Agent", c.s.userAgent())
28138	var body io.Reader = nil
28139	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3batchdeletetestcasesrequest)
28140	if err != nil {
28141		return nil, err
28142	}
28143	reqHeaders.Set("Content-Type", "application/json")
28144	c.urlParams_.Set("alt", alt)
28145	c.urlParams_.Set("prettyPrint", "false")
28146	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/testCases:batchDelete")
28147	urls += "?" + c.urlParams_.Encode()
28148	req, err := http.NewRequest("POST", urls, body)
28149	if err != nil {
28150		return nil, err
28151	}
28152	req.Header = reqHeaders
28153	googleapi.Expand(req.URL, map[string]string{
28154		"parent": c.parent,
28155	})
28156	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28157}
28158
28159// Do executes the "dialogflow.projects.locations.agents.testCases.batchDelete" call.
28160// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
28161// non-2xx status code is an error. Response headers are in either
28162// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
28163// returned at all) in error.(*googleapi.Error).Header. Use
28164// googleapi.IsNotModified to check whether the returned error was
28165// because http.StatusNotModified was returned.
28166func (c *ProjectsLocationsAgentsTestCasesBatchDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
28167	gensupport.SetOptions(c.urlParams_, opts...)
28168	res, err := c.doRequest("json")
28169	if res != nil && res.StatusCode == http.StatusNotModified {
28170		if res.Body != nil {
28171			res.Body.Close()
28172		}
28173		return nil, &googleapi.Error{
28174			Code:   res.StatusCode,
28175			Header: res.Header,
28176		}
28177	}
28178	if err != nil {
28179		return nil, err
28180	}
28181	defer googleapi.CloseBody(res)
28182	if err := googleapi.CheckResponse(res); err != nil {
28183		return nil, err
28184	}
28185	ret := &GoogleProtobufEmpty{
28186		ServerResponse: googleapi.ServerResponse{
28187			Header:         res.Header,
28188			HTTPStatusCode: res.StatusCode,
28189		},
28190	}
28191	target := &ret
28192	if err := gensupport.DecodeResponse(target, res); err != nil {
28193		return nil, err
28194	}
28195	return ret, nil
28196	// {
28197	//   "description": "Batch deletes test cases.",
28198	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/testCases:batchDelete",
28199	//   "httpMethod": "POST",
28200	//   "id": "dialogflow.projects.locations.agents.testCases.batchDelete",
28201	//   "parameterOrder": [
28202	//     "parent"
28203	//   ],
28204	//   "parameters": {
28205	//     "parent": {
28206	//       "description": "Required. The agent to delete test cases from. Format: `projects//locations//agents/`.",
28207	//       "location": "path",
28208	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$",
28209	//       "required": true,
28210	//       "type": "string"
28211	//     }
28212	//   },
28213	//   "path": "v3/{+parent}/testCases:batchDelete",
28214	//   "request": {
28215	//     "$ref": "GoogleCloudDialogflowCxV3BatchDeleteTestCasesRequest"
28216	//   },
28217	//   "response": {
28218	//     "$ref": "GoogleProtobufEmpty"
28219	//   },
28220	//   "scopes": [
28221	//     "https://www.googleapis.com/auth/cloud-platform",
28222	//     "https://www.googleapis.com/auth/dialogflow"
28223	//   ]
28224	// }
28225
28226}
28227
28228// method id "dialogflow.projects.locations.agents.testCases.batchRun":
28229
28230type ProjectsLocationsAgentsTestCasesBatchRunCall struct {
28231	s                                                 *Service
28232	parent                                            string
28233	googleclouddialogflowcxv3batchruntestcasesrequest *GoogleCloudDialogflowCxV3BatchRunTestCasesRequest
28234	urlParams_                                        gensupport.URLParams
28235	ctx_                                              context.Context
28236	header_                                           http.Header
28237}
28238
28239// BatchRun: Kicks off a batch run of test cases.
28240//
28241// - parent: Agent name. Format: `projects//locations//agents/ `.
28242func (r *ProjectsLocationsAgentsTestCasesService) BatchRun(parent string, googleclouddialogflowcxv3batchruntestcasesrequest *GoogleCloudDialogflowCxV3BatchRunTestCasesRequest) *ProjectsLocationsAgentsTestCasesBatchRunCall {
28243	c := &ProjectsLocationsAgentsTestCasesBatchRunCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28244	c.parent = parent
28245	c.googleclouddialogflowcxv3batchruntestcasesrequest = googleclouddialogflowcxv3batchruntestcasesrequest
28246	return c
28247}
28248
28249// Fields allows partial responses to be retrieved. See
28250// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28251// for more information.
28252func (c *ProjectsLocationsAgentsTestCasesBatchRunCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsTestCasesBatchRunCall {
28253	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28254	return c
28255}
28256
28257// Context sets the context to be used in this call's Do method. Any
28258// pending HTTP request will be aborted if the provided context is
28259// canceled.
28260func (c *ProjectsLocationsAgentsTestCasesBatchRunCall) Context(ctx context.Context) *ProjectsLocationsAgentsTestCasesBatchRunCall {
28261	c.ctx_ = ctx
28262	return c
28263}
28264
28265// Header returns an http.Header that can be modified by the caller to
28266// add HTTP headers to the request.
28267func (c *ProjectsLocationsAgentsTestCasesBatchRunCall) Header() http.Header {
28268	if c.header_ == nil {
28269		c.header_ = make(http.Header)
28270	}
28271	return c.header_
28272}
28273
28274func (c *ProjectsLocationsAgentsTestCasesBatchRunCall) doRequest(alt string) (*http.Response, error) {
28275	reqHeaders := make(http.Header)
28276	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
28277	for k, v := range c.header_ {
28278		reqHeaders[k] = v
28279	}
28280	reqHeaders.Set("User-Agent", c.s.userAgent())
28281	var body io.Reader = nil
28282	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3batchruntestcasesrequest)
28283	if err != nil {
28284		return nil, err
28285	}
28286	reqHeaders.Set("Content-Type", "application/json")
28287	c.urlParams_.Set("alt", alt)
28288	c.urlParams_.Set("prettyPrint", "false")
28289	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/testCases:batchRun")
28290	urls += "?" + c.urlParams_.Encode()
28291	req, err := http.NewRequest("POST", urls, body)
28292	if err != nil {
28293		return nil, err
28294	}
28295	req.Header = reqHeaders
28296	googleapi.Expand(req.URL, map[string]string{
28297		"parent": c.parent,
28298	})
28299	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28300}
28301
28302// Do executes the "dialogflow.projects.locations.agents.testCases.batchRun" call.
28303// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
28304// Any non-2xx status code is an error. Response headers are in either
28305// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
28306// was returned at all) in error.(*googleapi.Error).Header. Use
28307// googleapi.IsNotModified to check whether the returned error was
28308// because http.StatusNotModified was returned.
28309func (c *ProjectsLocationsAgentsTestCasesBatchRunCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
28310	gensupport.SetOptions(c.urlParams_, opts...)
28311	res, err := c.doRequest("json")
28312	if res != nil && res.StatusCode == http.StatusNotModified {
28313		if res.Body != nil {
28314			res.Body.Close()
28315		}
28316		return nil, &googleapi.Error{
28317			Code:   res.StatusCode,
28318			Header: res.Header,
28319		}
28320	}
28321	if err != nil {
28322		return nil, err
28323	}
28324	defer googleapi.CloseBody(res)
28325	if err := googleapi.CheckResponse(res); err != nil {
28326		return nil, err
28327	}
28328	ret := &GoogleLongrunningOperation{
28329		ServerResponse: googleapi.ServerResponse{
28330			Header:         res.Header,
28331			HTTPStatusCode: res.StatusCode,
28332		},
28333	}
28334	target := &ret
28335	if err := gensupport.DecodeResponse(target, res); err != nil {
28336		return nil, err
28337	}
28338	return ret, nil
28339	// {
28340	//   "description": "Kicks off a batch run of test cases.",
28341	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/testCases:batchRun",
28342	//   "httpMethod": "POST",
28343	//   "id": "dialogflow.projects.locations.agents.testCases.batchRun",
28344	//   "parameterOrder": [
28345	//     "parent"
28346	//   ],
28347	//   "parameters": {
28348	//     "parent": {
28349	//       "description": "Required. Agent name. Format: `projects//locations//agents/ `.",
28350	//       "location": "path",
28351	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$",
28352	//       "required": true,
28353	//       "type": "string"
28354	//     }
28355	//   },
28356	//   "path": "v3/{+parent}/testCases:batchRun",
28357	//   "request": {
28358	//     "$ref": "GoogleCloudDialogflowCxV3BatchRunTestCasesRequest"
28359	//   },
28360	//   "response": {
28361	//     "$ref": "GoogleLongrunningOperation"
28362	//   },
28363	//   "scopes": [
28364	//     "https://www.googleapis.com/auth/cloud-platform",
28365	//     "https://www.googleapis.com/auth/dialogflow"
28366	//   ]
28367	// }
28368
28369}
28370
28371// method id "dialogflow.projects.locations.agents.testCases.calculateCoverage":
28372
28373type ProjectsLocationsAgentsTestCasesCalculateCoverageCall struct {
28374	s            *Service
28375	agent        string
28376	urlParams_   gensupport.URLParams
28377	ifNoneMatch_ string
28378	ctx_         context.Context
28379	header_      http.Header
28380}
28381
28382// CalculateCoverage: Calculates the test coverage for an agent.
28383//
28384// - agent: The agent to calculate coverage for. Format:
28385//   `projects//locations//agents/`.
28386func (r *ProjectsLocationsAgentsTestCasesService) CalculateCoverage(agent string) *ProjectsLocationsAgentsTestCasesCalculateCoverageCall {
28387	c := &ProjectsLocationsAgentsTestCasesCalculateCoverageCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28388	c.agent = agent
28389	return c
28390}
28391
28392// Type sets the optional parameter "type": Required. The type of
28393// coverage requested.
28394//
28395// Possible values:
28396//   "COVERAGE_TYPE_UNSPECIFIED" - Should never be used.
28397//   "INTENT" - Intent coverage.
28398//   "PAGE_TRANSITION" - Page transition coverage.
28399//   "TRANSITION_ROUTE_GROUP" - Transition route group coverage.
28400func (c *ProjectsLocationsAgentsTestCasesCalculateCoverageCall) Type(type_ string) *ProjectsLocationsAgentsTestCasesCalculateCoverageCall {
28401	c.urlParams_.Set("type", type_)
28402	return c
28403}
28404
28405// Fields allows partial responses to be retrieved. See
28406// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28407// for more information.
28408func (c *ProjectsLocationsAgentsTestCasesCalculateCoverageCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsTestCasesCalculateCoverageCall {
28409	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28410	return c
28411}
28412
28413// IfNoneMatch sets the optional parameter which makes the operation
28414// fail if the object's ETag matches the given value. This is useful for
28415// getting updates only after the object has changed since the last
28416// request. Use googleapi.IsNotModified to check whether the response
28417// error from Do is the result of In-None-Match.
28418func (c *ProjectsLocationsAgentsTestCasesCalculateCoverageCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsTestCasesCalculateCoverageCall {
28419	c.ifNoneMatch_ = entityTag
28420	return c
28421}
28422
28423// Context sets the context to be used in this call's Do method. Any
28424// pending HTTP request will be aborted if the provided context is
28425// canceled.
28426func (c *ProjectsLocationsAgentsTestCasesCalculateCoverageCall) Context(ctx context.Context) *ProjectsLocationsAgentsTestCasesCalculateCoverageCall {
28427	c.ctx_ = ctx
28428	return c
28429}
28430
28431// Header returns an http.Header that can be modified by the caller to
28432// add HTTP headers to the request.
28433func (c *ProjectsLocationsAgentsTestCasesCalculateCoverageCall) Header() http.Header {
28434	if c.header_ == nil {
28435		c.header_ = make(http.Header)
28436	}
28437	return c.header_
28438}
28439
28440func (c *ProjectsLocationsAgentsTestCasesCalculateCoverageCall) doRequest(alt string) (*http.Response, error) {
28441	reqHeaders := make(http.Header)
28442	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
28443	for k, v := range c.header_ {
28444		reqHeaders[k] = v
28445	}
28446	reqHeaders.Set("User-Agent", c.s.userAgent())
28447	if c.ifNoneMatch_ != "" {
28448		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
28449	}
28450	var body io.Reader = nil
28451	c.urlParams_.Set("alt", alt)
28452	c.urlParams_.Set("prettyPrint", "false")
28453	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+agent}/testCases:calculateCoverage")
28454	urls += "?" + c.urlParams_.Encode()
28455	req, err := http.NewRequest("GET", urls, body)
28456	if err != nil {
28457		return nil, err
28458	}
28459	req.Header = reqHeaders
28460	googleapi.Expand(req.URL, map[string]string{
28461		"agent": c.agent,
28462	})
28463	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28464}
28465
28466// Do executes the "dialogflow.projects.locations.agents.testCases.calculateCoverage" call.
28467// Exactly one of *GoogleCloudDialogflowCxV3CalculateCoverageResponse or
28468// error will be non-nil. Any non-2xx status code is an error. Response
28469// headers are in either
28470// *GoogleCloudDialogflowCxV3CalculateCoverageResponse.ServerResponse.Hea
28471// der or (if a response was returned at all) in
28472// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
28473// whether the returned error was because http.StatusNotModified was
28474// returned.
28475func (c *ProjectsLocationsAgentsTestCasesCalculateCoverageCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3CalculateCoverageResponse, error) {
28476	gensupport.SetOptions(c.urlParams_, opts...)
28477	res, err := c.doRequest("json")
28478	if res != nil && res.StatusCode == http.StatusNotModified {
28479		if res.Body != nil {
28480			res.Body.Close()
28481		}
28482		return nil, &googleapi.Error{
28483			Code:   res.StatusCode,
28484			Header: res.Header,
28485		}
28486	}
28487	if err != nil {
28488		return nil, err
28489	}
28490	defer googleapi.CloseBody(res)
28491	if err := googleapi.CheckResponse(res); err != nil {
28492		return nil, err
28493	}
28494	ret := &GoogleCloudDialogflowCxV3CalculateCoverageResponse{
28495		ServerResponse: googleapi.ServerResponse{
28496			Header:         res.Header,
28497			HTTPStatusCode: res.StatusCode,
28498		},
28499	}
28500	target := &ret
28501	if err := gensupport.DecodeResponse(target, res); err != nil {
28502		return nil, err
28503	}
28504	return ret, nil
28505	// {
28506	//   "description": "Calculates the test coverage for an agent.",
28507	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/testCases:calculateCoverage",
28508	//   "httpMethod": "GET",
28509	//   "id": "dialogflow.projects.locations.agents.testCases.calculateCoverage",
28510	//   "parameterOrder": [
28511	//     "agent"
28512	//   ],
28513	//   "parameters": {
28514	//     "agent": {
28515	//       "description": "Required. The agent to calculate coverage for. Format: `projects//locations//agents/`.",
28516	//       "location": "path",
28517	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$",
28518	//       "required": true,
28519	//       "type": "string"
28520	//     },
28521	//     "type": {
28522	//       "description": "Required. The type of coverage requested.",
28523	//       "enum": [
28524	//         "COVERAGE_TYPE_UNSPECIFIED",
28525	//         "INTENT",
28526	//         "PAGE_TRANSITION",
28527	//         "TRANSITION_ROUTE_GROUP"
28528	//       ],
28529	//       "enumDescriptions": [
28530	//         "Should never be used.",
28531	//         "Intent coverage.",
28532	//         "Page transition coverage.",
28533	//         "Transition route group coverage."
28534	//       ],
28535	//       "location": "query",
28536	//       "type": "string"
28537	//     }
28538	//   },
28539	//   "path": "v3/{+agent}/testCases:calculateCoverage",
28540	//   "response": {
28541	//     "$ref": "GoogleCloudDialogflowCxV3CalculateCoverageResponse"
28542	//   },
28543	//   "scopes": [
28544	//     "https://www.googleapis.com/auth/cloud-platform",
28545	//     "https://www.googleapis.com/auth/dialogflow"
28546	//   ]
28547	// }
28548
28549}
28550
28551// method id "dialogflow.projects.locations.agents.testCases.create":
28552
28553type ProjectsLocationsAgentsTestCasesCreateCall struct {
28554	s                                 *Service
28555	parent                            string
28556	googleclouddialogflowcxv3testcase *GoogleCloudDialogflowCxV3TestCase
28557	urlParams_                        gensupport.URLParams
28558	ctx_                              context.Context
28559	header_                           http.Header
28560}
28561
28562// Create: Creates a test case for the given agent.
28563//
28564// - parent: The agent to create the test case for. Format:
28565//   `projects//locations//agents/`.
28566func (r *ProjectsLocationsAgentsTestCasesService) Create(parent string, googleclouddialogflowcxv3testcase *GoogleCloudDialogflowCxV3TestCase) *ProjectsLocationsAgentsTestCasesCreateCall {
28567	c := &ProjectsLocationsAgentsTestCasesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28568	c.parent = parent
28569	c.googleclouddialogflowcxv3testcase = googleclouddialogflowcxv3testcase
28570	return c
28571}
28572
28573// Fields allows partial responses to be retrieved. See
28574// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28575// for more information.
28576func (c *ProjectsLocationsAgentsTestCasesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsTestCasesCreateCall {
28577	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28578	return c
28579}
28580
28581// Context sets the context to be used in this call's Do method. Any
28582// pending HTTP request will be aborted if the provided context is
28583// canceled.
28584func (c *ProjectsLocationsAgentsTestCasesCreateCall) Context(ctx context.Context) *ProjectsLocationsAgentsTestCasesCreateCall {
28585	c.ctx_ = ctx
28586	return c
28587}
28588
28589// Header returns an http.Header that can be modified by the caller to
28590// add HTTP headers to the request.
28591func (c *ProjectsLocationsAgentsTestCasesCreateCall) Header() http.Header {
28592	if c.header_ == nil {
28593		c.header_ = make(http.Header)
28594	}
28595	return c.header_
28596}
28597
28598func (c *ProjectsLocationsAgentsTestCasesCreateCall) doRequest(alt string) (*http.Response, error) {
28599	reqHeaders := make(http.Header)
28600	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
28601	for k, v := range c.header_ {
28602		reqHeaders[k] = v
28603	}
28604	reqHeaders.Set("User-Agent", c.s.userAgent())
28605	var body io.Reader = nil
28606	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3testcase)
28607	if err != nil {
28608		return nil, err
28609	}
28610	reqHeaders.Set("Content-Type", "application/json")
28611	c.urlParams_.Set("alt", alt)
28612	c.urlParams_.Set("prettyPrint", "false")
28613	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/testCases")
28614	urls += "?" + c.urlParams_.Encode()
28615	req, err := http.NewRequest("POST", urls, body)
28616	if err != nil {
28617		return nil, err
28618	}
28619	req.Header = reqHeaders
28620	googleapi.Expand(req.URL, map[string]string{
28621		"parent": c.parent,
28622	})
28623	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28624}
28625
28626// Do executes the "dialogflow.projects.locations.agents.testCases.create" call.
28627// Exactly one of *GoogleCloudDialogflowCxV3TestCase or error will be
28628// non-nil. Any non-2xx status code is an error. Response headers are in
28629// either *GoogleCloudDialogflowCxV3TestCase.ServerResponse.Header or
28630// (if a response was returned at all) in
28631// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
28632// whether the returned error was because http.StatusNotModified was
28633// returned.
28634func (c *ProjectsLocationsAgentsTestCasesCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3TestCase, error) {
28635	gensupport.SetOptions(c.urlParams_, opts...)
28636	res, err := c.doRequest("json")
28637	if res != nil && res.StatusCode == http.StatusNotModified {
28638		if res.Body != nil {
28639			res.Body.Close()
28640		}
28641		return nil, &googleapi.Error{
28642			Code:   res.StatusCode,
28643			Header: res.Header,
28644		}
28645	}
28646	if err != nil {
28647		return nil, err
28648	}
28649	defer googleapi.CloseBody(res)
28650	if err := googleapi.CheckResponse(res); err != nil {
28651		return nil, err
28652	}
28653	ret := &GoogleCloudDialogflowCxV3TestCase{
28654		ServerResponse: googleapi.ServerResponse{
28655			Header:         res.Header,
28656			HTTPStatusCode: res.StatusCode,
28657		},
28658	}
28659	target := &ret
28660	if err := gensupport.DecodeResponse(target, res); err != nil {
28661		return nil, err
28662	}
28663	return ret, nil
28664	// {
28665	//   "description": "Creates a test case for the given agent.",
28666	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/testCases",
28667	//   "httpMethod": "POST",
28668	//   "id": "dialogflow.projects.locations.agents.testCases.create",
28669	//   "parameterOrder": [
28670	//     "parent"
28671	//   ],
28672	//   "parameters": {
28673	//     "parent": {
28674	//       "description": "Required. The agent to create the test case for. Format: `projects//locations//agents/`.",
28675	//       "location": "path",
28676	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$",
28677	//       "required": true,
28678	//       "type": "string"
28679	//     }
28680	//   },
28681	//   "path": "v3/{+parent}/testCases",
28682	//   "request": {
28683	//     "$ref": "GoogleCloudDialogflowCxV3TestCase"
28684	//   },
28685	//   "response": {
28686	//     "$ref": "GoogleCloudDialogflowCxV3TestCase"
28687	//   },
28688	//   "scopes": [
28689	//     "https://www.googleapis.com/auth/cloud-platform",
28690	//     "https://www.googleapis.com/auth/dialogflow"
28691	//   ]
28692	// }
28693
28694}
28695
28696// method id "dialogflow.projects.locations.agents.testCases.export":
28697
28698type ProjectsLocationsAgentsTestCasesExportCall struct {
28699	s                                               *Service
28700	parent                                          string
28701	googleclouddialogflowcxv3exporttestcasesrequest *GoogleCloudDialogflowCxV3ExportTestCasesRequest
28702	urlParams_                                      gensupport.URLParams
28703	ctx_                                            context.Context
28704	header_                                         http.Header
28705}
28706
28707// Export: Exports the test cases under the agent to a Cloud Storage
28708// bucket or a local file. Filter can be applied to export a subset of
28709// test cases.
28710//
28711// - parent: The agent where to export test cases from. Format:
28712//   `projects//locations//agents/`.
28713func (r *ProjectsLocationsAgentsTestCasesService) Export(parent string, googleclouddialogflowcxv3exporttestcasesrequest *GoogleCloudDialogflowCxV3ExportTestCasesRequest) *ProjectsLocationsAgentsTestCasesExportCall {
28714	c := &ProjectsLocationsAgentsTestCasesExportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28715	c.parent = parent
28716	c.googleclouddialogflowcxv3exporttestcasesrequest = googleclouddialogflowcxv3exporttestcasesrequest
28717	return c
28718}
28719
28720// Fields allows partial responses to be retrieved. See
28721// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28722// for more information.
28723func (c *ProjectsLocationsAgentsTestCasesExportCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsTestCasesExportCall {
28724	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28725	return c
28726}
28727
28728// Context sets the context to be used in this call's Do method. Any
28729// pending HTTP request will be aborted if the provided context is
28730// canceled.
28731func (c *ProjectsLocationsAgentsTestCasesExportCall) Context(ctx context.Context) *ProjectsLocationsAgentsTestCasesExportCall {
28732	c.ctx_ = ctx
28733	return c
28734}
28735
28736// Header returns an http.Header that can be modified by the caller to
28737// add HTTP headers to the request.
28738func (c *ProjectsLocationsAgentsTestCasesExportCall) Header() http.Header {
28739	if c.header_ == nil {
28740		c.header_ = make(http.Header)
28741	}
28742	return c.header_
28743}
28744
28745func (c *ProjectsLocationsAgentsTestCasesExportCall) doRequest(alt string) (*http.Response, error) {
28746	reqHeaders := make(http.Header)
28747	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
28748	for k, v := range c.header_ {
28749		reqHeaders[k] = v
28750	}
28751	reqHeaders.Set("User-Agent", c.s.userAgent())
28752	var body io.Reader = nil
28753	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3exporttestcasesrequest)
28754	if err != nil {
28755		return nil, err
28756	}
28757	reqHeaders.Set("Content-Type", "application/json")
28758	c.urlParams_.Set("alt", alt)
28759	c.urlParams_.Set("prettyPrint", "false")
28760	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/testCases:export")
28761	urls += "?" + c.urlParams_.Encode()
28762	req, err := http.NewRequest("POST", urls, body)
28763	if err != nil {
28764		return nil, err
28765	}
28766	req.Header = reqHeaders
28767	googleapi.Expand(req.URL, map[string]string{
28768		"parent": c.parent,
28769	})
28770	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28771}
28772
28773// Do executes the "dialogflow.projects.locations.agents.testCases.export" call.
28774// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
28775// Any non-2xx status code is an error. Response headers are in either
28776// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
28777// was returned at all) in error.(*googleapi.Error).Header. Use
28778// googleapi.IsNotModified to check whether the returned error was
28779// because http.StatusNotModified was returned.
28780func (c *ProjectsLocationsAgentsTestCasesExportCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
28781	gensupport.SetOptions(c.urlParams_, opts...)
28782	res, err := c.doRequest("json")
28783	if res != nil && res.StatusCode == http.StatusNotModified {
28784		if res.Body != nil {
28785			res.Body.Close()
28786		}
28787		return nil, &googleapi.Error{
28788			Code:   res.StatusCode,
28789			Header: res.Header,
28790		}
28791	}
28792	if err != nil {
28793		return nil, err
28794	}
28795	defer googleapi.CloseBody(res)
28796	if err := googleapi.CheckResponse(res); err != nil {
28797		return nil, err
28798	}
28799	ret := &GoogleLongrunningOperation{
28800		ServerResponse: googleapi.ServerResponse{
28801			Header:         res.Header,
28802			HTTPStatusCode: res.StatusCode,
28803		},
28804	}
28805	target := &ret
28806	if err := gensupport.DecodeResponse(target, res); err != nil {
28807		return nil, err
28808	}
28809	return ret, nil
28810	// {
28811	//   "description": "Exports the test cases under the agent to a Cloud Storage bucket or a local file. Filter can be applied to export a subset of test cases.",
28812	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/testCases:export",
28813	//   "httpMethod": "POST",
28814	//   "id": "dialogflow.projects.locations.agents.testCases.export",
28815	//   "parameterOrder": [
28816	//     "parent"
28817	//   ],
28818	//   "parameters": {
28819	//     "parent": {
28820	//       "description": "Required. The agent where to export test cases from. Format: `projects//locations//agents/`.",
28821	//       "location": "path",
28822	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$",
28823	//       "required": true,
28824	//       "type": "string"
28825	//     }
28826	//   },
28827	//   "path": "v3/{+parent}/testCases:export",
28828	//   "request": {
28829	//     "$ref": "GoogleCloudDialogflowCxV3ExportTestCasesRequest"
28830	//   },
28831	//   "response": {
28832	//     "$ref": "GoogleLongrunningOperation"
28833	//   },
28834	//   "scopes": [
28835	//     "https://www.googleapis.com/auth/cloud-platform",
28836	//     "https://www.googleapis.com/auth/dialogflow"
28837	//   ]
28838	// }
28839
28840}
28841
28842// method id "dialogflow.projects.locations.agents.testCases.get":
28843
28844type ProjectsLocationsAgentsTestCasesGetCall struct {
28845	s            *Service
28846	name         string
28847	urlParams_   gensupport.URLParams
28848	ifNoneMatch_ string
28849	ctx_         context.Context
28850	header_      http.Header
28851}
28852
28853// Get: Gets a test case.
28854//
28855// - name: The name of the testcase. Format:
28856//   `projects//locations//agents//testCases/`.
28857func (r *ProjectsLocationsAgentsTestCasesService) Get(name string) *ProjectsLocationsAgentsTestCasesGetCall {
28858	c := &ProjectsLocationsAgentsTestCasesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28859	c.name = name
28860	return c
28861}
28862
28863// Fields allows partial responses to be retrieved. See
28864// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28865// for more information.
28866func (c *ProjectsLocationsAgentsTestCasesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsTestCasesGetCall {
28867	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28868	return c
28869}
28870
28871// IfNoneMatch sets the optional parameter which makes the operation
28872// fail if the object's ETag matches the given value. This is useful for
28873// getting updates only after the object has changed since the last
28874// request. Use googleapi.IsNotModified to check whether the response
28875// error from Do is the result of In-None-Match.
28876func (c *ProjectsLocationsAgentsTestCasesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsTestCasesGetCall {
28877	c.ifNoneMatch_ = entityTag
28878	return c
28879}
28880
28881// Context sets the context to be used in this call's Do method. Any
28882// pending HTTP request will be aborted if the provided context is
28883// canceled.
28884func (c *ProjectsLocationsAgentsTestCasesGetCall) Context(ctx context.Context) *ProjectsLocationsAgentsTestCasesGetCall {
28885	c.ctx_ = ctx
28886	return c
28887}
28888
28889// Header returns an http.Header that can be modified by the caller to
28890// add HTTP headers to the request.
28891func (c *ProjectsLocationsAgentsTestCasesGetCall) Header() http.Header {
28892	if c.header_ == nil {
28893		c.header_ = make(http.Header)
28894	}
28895	return c.header_
28896}
28897
28898func (c *ProjectsLocationsAgentsTestCasesGetCall) doRequest(alt string) (*http.Response, error) {
28899	reqHeaders := make(http.Header)
28900	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
28901	for k, v := range c.header_ {
28902		reqHeaders[k] = v
28903	}
28904	reqHeaders.Set("User-Agent", c.s.userAgent())
28905	if c.ifNoneMatch_ != "" {
28906		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
28907	}
28908	var body io.Reader = nil
28909	c.urlParams_.Set("alt", alt)
28910	c.urlParams_.Set("prettyPrint", "false")
28911	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
28912	urls += "?" + c.urlParams_.Encode()
28913	req, err := http.NewRequest("GET", urls, body)
28914	if err != nil {
28915		return nil, err
28916	}
28917	req.Header = reqHeaders
28918	googleapi.Expand(req.URL, map[string]string{
28919		"name": c.name,
28920	})
28921	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28922}
28923
28924// Do executes the "dialogflow.projects.locations.agents.testCases.get" call.
28925// Exactly one of *GoogleCloudDialogflowCxV3TestCase or error will be
28926// non-nil. Any non-2xx status code is an error. Response headers are in
28927// either *GoogleCloudDialogflowCxV3TestCase.ServerResponse.Header or
28928// (if a response was returned at all) in
28929// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
28930// whether the returned error was because http.StatusNotModified was
28931// returned.
28932func (c *ProjectsLocationsAgentsTestCasesGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3TestCase, error) {
28933	gensupport.SetOptions(c.urlParams_, opts...)
28934	res, err := c.doRequest("json")
28935	if res != nil && res.StatusCode == http.StatusNotModified {
28936		if res.Body != nil {
28937			res.Body.Close()
28938		}
28939		return nil, &googleapi.Error{
28940			Code:   res.StatusCode,
28941			Header: res.Header,
28942		}
28943	}
28944	if err != nil {
28945		return nil, err
28946	}
28947	defer googleapi.CloseBody(res)
28948	if err := googleapi.CheckResponse(res); err != nil {
28949		return nil, err
28950	}
28951	ret := &GoogleCloudDialogflowCxV3TestCase{
28952		ServerResponse: googleapi.ServerResponse{
28953			Header:         res.Header,
28954			HTTPStatusCode: res.StatusCode,
28955		},
28956	}
28957	target := &ret
28958	if err := gensupport.DecodeResponse(target, res); err != nil {
28959		return nil, err
28960	}
28961	return ret, nil
28962	// {
28963	//   "description": "Gets a test case.",
28964	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/testCases/{testCasesId}",
28965	//   "httpMethod": "GET",
28966	//   "id": "dialogflow.projects.locations.agents.testCases.get",
28967	//   "parameterOrder": [
28968	//     "name"
28969	//   ],
28970	//   "parameters": {
28971	//     "name": {
28972	//       "description": "Required. The name of the testcase. Format: `projects//locations//agents//testCases/`.",
28973	//       "location": "path",
28974	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/testCases/[^/]+$",
28975	//       "required": true,
28976	//       "type": "string"
28977	//     }
28978	//   },
28979	//   "path": "v3/{+name}",
28980	//   "response": {
28981	//     "$ref": "GoogleCloudDialogflowCxV3TestCase"
28982	//   },
28983	//   "scopes": [
28984	//     "https://www.googleapis.com/auth/cloud-platform",
28985	//     "https://www.googleapis.com/auth/dialogflow"
28986	//   ]
28987	// }
28988
28989}
28990
28991// method id "dialogflow.projects.locations.agents.testCases.import":
28992
28993type ProjectsLocationsAgentsTestCasesImportCall struct {
28994	s                                               *Service
28995	parent                                          string
28996	googleclouddialogflowcxv3importtestcasesrequest *GoogleCloudDialogflowCxV3ImportTestCasesRequest
28997	urlParams_                                      gensupport.URLParams
28998	ctx_                                            context.Context
28999	header_                                         http.Header
29000}
29001
29002// Import: Imports the test cases from a Cloud Storage bucket or a local
29003// file. It always creates new test cases and won't overwite any
29004// existing ones. The provided ID in the imported test case is
29005// neglected.
29006//
29007// - parent: The agent to import test cases to. Format:
29008//   `projects//locations//agents/`.
29009func (r *ProjectsLocationsAgentsTestCasesService) Import(parent string, googleclouddialogflowcxv3importtestcasesrequest *GoogleCloudDialogflowCxV3ImportTestCasesRequest) *ProjectsLocationsAgentsTestCasesImportCall {
29010	c := &ProjectsLocationsAgentsTestCasesImportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29011	c.parent = parent
29012	c.googleclouddialogflowcxv3importtestcasesrequest = googleclouddialogflowcxv3importtestcasesrequest
29013	return c
29014}
29015
29016// Fields allows partial responses to be retrieved. See
29017// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29018// for more information.
29019func (c *ProjectsLocationsAgentsTestCasesImportCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsTestCasesImportCall {
29020	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29021	return c
29022}
29023
29024// Context sets the context to be used in this call's Do method. Any
29025// pending HTTP request will be aborted if the provided context is
29026// canceled.
29027func (c *ProjectsLocationsAgentsTestCasesImportCall) Context(ctx context.Context) *ProjectsLocationsAgentsTestCasesImportCall {
29028	c.ctx_ = ctx
29029	return c
29030}
29031
29032// Header returns an http.Header that can be modified by the caller to
29033// add HTTP headers to the request.
29034func (c *ProjectsLocationsAgentsTestCasesImportCall) Header() http.Header {
29035	if c.header_ == nil {
29036		c.header_ = make(http.Header)
29037	}
29038	return c.header_
29039}
29040
29041func (c *ProjectsLocationsAgentsTestCasesImportCall) doRequest(alt string) (*http.Response, error) {
29042	reqHeaders := make(http.Header)
29043	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
29044	for k, v := range c.header_ {
29045		reqHeaders[k] = v
29046	}
29047	reqHeaders.Set("User-Agent", c.s.userAgent())
29048	var body io.Reader = nil
29049	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3importtestcasesrequest)
29050	if err != nil {
29051		return nil, err
29052	}
29053	reqHeaders.Set("Content-Type", "application/json")
29054	c.urlParams_.Set("alt", alt)
29055	c.urlParams_.Set("prettyPrint", "false")
29056	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/testCases:import")
29057	urls += "?" + c.urlParams_.Encode()
29058	req, err := http.NewRequest("POST", urls, body)
29059	if err != nil {
29060		return nil, err
29061	}
29062	req.Header = reqHeaders
29063	googleapi.Expand(req.URL, map[string]string{
29064		"parent": c.parent,
29065	})
29066	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29067}
29068
29069// Do executes the "dialogflow.projects.locations.agents.testCases.import" call.
29070// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
29071// Any non-2xx status code is an error. Response headers are in either
29072// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
29073// was returned at all) in error.(*googleapi.Error).Header. Use
29074// googleapi.IsNotModified to check whether the returned error was
29075// because http.StatusNotModified was returned.
29076func (c *ProjectsLocationsAgentsTestCasesImportCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
29077	gensupport.SetOptions(c.urlParams_, opts...)
29078	res, err := c.doRequest("json")
29079	if res != nil && res.StatusCode == http.StatusNotModified {
29080		if res.Body != nil {
29081			res.Body.Close()
29082		}
29083		return nil, &googleapi.Error{
29084			Code:   res.StatusCode,
29085			Header: res.Header,
29086		}
29087	}
29088	if err != nil {
29089		return nil, err
29090	}
29091	defer googleapi.CloseBody(res)
29092	if err := googleapi.CheckResponse(res); err != nil {
29093		return nil, err
29094	}
29095	ret := &GoogleLongrunningOperation{
29096		ServerResponse: googleapi.ServerResponse{
29097			Header:         res.Header,
29098			HTTPStatusCode: res.StatusCode,
29099		},
29100	}
29101	target := &ret
29102	if err := gensupport.DecodeResponse(target, res); err != nil {
29103		return nil, err
29104	}
29105	return ret, nil
29106	// {
29107	//   "description": "Imports the test cases from a Cloud Storage bucket or a local file. It always creates new test cases and won't overwite any existing ones. The provided ID in the imported test case is neglected.",
29108	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/testCases:import",
29109	//   "httpMethod": "POST",
29110	//   "id": "dialogflow.projects.locations.agents.testCases.import",
29111	//   "parameterOrder": [
29112	//     "parent"
29113	//   ],
29114	//   "parameters": {
29115	//     "parent": {
29116	//       "description": "Required. The agent to import test cases to. Format: `projects//locations//agents/`.",
29117	//       "location": "path",
29118	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$",
29119	//       "required": true,
29120	//       "type": "string"
29121	//     }
29122	//   },
29123	//   "path": "v3/{+parent}/testCases:import",
29124	//   "request": {
29125	//     "$ref": "GoogleCloudDialogflowCxV3ImportTestCasesRequest"
29126	//   },
29127	//   "response": {
29128	//     "$ref": "GoogleLongrunningOperation"
29129	//   },
29130	//   "scopes": [
29131	//     "https://www.googleapis.com/auth/cloud-platform",
29132	//     "https://www.googleapis.com/auth/dialogflow"
29133	//   ]
29134	// }
29135
29136}
29137
29138// method id "dialogflow.projects.locations.agents.testCases.list":
29139
29140type ProjectsLocationsAgentsTestCasesListCall struct {
29141	s            *Service
29142	parent       string
29143	urlParams_   gensupport.URLParams
29144	ifNoneMatch_ string
29145	ctx_         context.Context
29146	header_      http.Header
29147}
29148
29149// List: Fetches a list of test cases for a given agent.
29150//
29151// - parent: The agent to list all pages for. Format:
29152//   `projects//locations//agents/`.
29153func (r *ProjectsLocationsAgentsTestCasesService) List(parent string) *ProjectsLocationsAgentsTestCasesListCall {
29154	c := &ProjectsLocationsAgentsTestCasesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29155	c.parent = parent
29156	return c
29157}
29158
29159// PageSize sets the optional parameter "pageSize": The maximum number
29160// of items to return in a single page. By default 20. Note that when
29161// TestCaseView = FULL, the maximum page size allowed is 20. When
29162// TestCaseView = BASIC, the maximum page size allowed is 500.
29163func (c *ProjectsLocationsAgentsTestCasesListCall) PageSize(pageSize int64) *ProjectsLocationsAgentsTestCasesListCall {
29164	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
29165	return c
29166}
29167
29168// PageToken sets the optional parameter "pageToken": The
29169// next_page_token value returned from a previous list request.
29170func (c *ProjectsLocationsAgentsTestCasesListCall) PageToken(pageToken string) *ProjectsLocationsAgentsTestCasesListCall {
29171	c.urlParams_.Set("pageToken", pageToken)
29172	return c
29173}
29174
29175// View sets the optional parameter "view": Specifies whether response
29176// should include all fields or just the metadata.
29177//
29178// Possible values:
29179//   "TEST_CASE_VIEW_UNSPECIFIED" - The default / unset value. The API
29180// will default to the BASIC view.
29181//   "BASIC" - Include basic metadata about the test case, but not the
29182// conversation turns. This is the default value.
29183//   "FULL" - Include everything.
29184func (c *ProjectsLocationsAgentsTestCasesListCall) View(view string) *ProjectsLocationsAgentsTestCasesListCall {
29185	c.urlParams_.Set("view", view)
29186	return c
29187}
29188
29189// Fields allows partial responses to be retrieved. See
29190// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29191// for more information.
29192func (c *ProjectsLocationsAgentsTestCasesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsTestCasesListCall {
29193	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29194	return c
29195}
29196
29197// IfNoneMatch sets the optional parameter which makes the operation
29198// fail if the object's ETag matches the given value. This is useful for
29199// getting updates only after the object has changed since the last
29200// request. Use googleapi.IsNotModified to check whether the response
29201// error from Do is the result of In-None-Match.
29202func (c *ProjectsLocationsAgentsTestCasesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsTestCasesListCall {
29203	c.ifNoneMatch_ = entityTag
29204	return c
29205}
29206
29207// Context sets the context to be used in this call's Do method. Any
29208// pending HTTP request will be aborted if the provided context is
29209// canceled.
29210func (c *ProjectsLocationsAgentsTestCasesListCall) Context(ctx context.Context) *ProjectsLocationsAgentsTestCasesListCall {
29211	c.ctx_ = ctx
29212	return c
29213}
29214
29215// Header returns an http.Header that can be modified by the caller to
29216// add HTTP headers to the request.
29217func (c *ProjectsLocationsAgentsTestCasesListCall) Header() http.Header {
29218	if c.header_ == nil {
29219		c.header_ = make(http.Header)
29220	}
29221	return c.header_
29222}
29223
29224func (c *ProjectsLocationsAgentsTestCasesListCall) doRequest(alt string) (*http.Response, error) {
29225	reqHeaders := make(http.Header)
29226	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
29227	for k, v := range c.header_ {
29228		reqHeaders[k] = v
29229	}
29230	reqHeaders.Set("User-Agent", c.s.userAgent())
29231	if c.ifNoneMatch_ != "" {
29232		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
29233	}
29234	var body io.Reader = nil
29235	c.urlParams_.Set("alt", alt)
29236	c.urlParams_.Set("prettyPrint", "false")
29237	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/testCases")
29238	urls += "?" + c.urlParams_.Encode()
29239	req, err := http.NewRequest("GET", urls, body)
29240	if err != nil {
29241		return nil, err
29242	}
29243	req.Header = reqHeaders
29244	googleapi.Expand(req.URL, map[string]string{
29245		"parent": c.parent,
29246	})
29247	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29248}
29249
29250// Do executes the "dialogflow.projects.locations.agents.testCases.list" call.
29251// Exactly one of *GoogleCloudDialogflowCxV3ListTestCasesResponse or
29252// error will be non-nil. Any non-2xx status code is an error. Response
29253// headers are in either
29254// *GoogleCloudDialogflowCxV3ListTestCasesResponse.ServerResponse.Header
29255// or (if a response was returned at all) in
29256// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
29257// whether the returned error was because http.StatusNotModified was
29258// returned.
29259func (c *ProjectsLocationsAgentsTestCasesListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3ListTestCasesResponse, error) {
29260	gensupport.SetOptions(c.urlParams_, opts...)
29261	res, err := c.doRequest("json")
29262	if res != nil && res.StatusCode == http.StatusNotModified {
29263		if res.Body != nil {
29264			res.Body.Close()
29265		}
29266		return nil, &googleapi.Error{
29267			Code:   res.StatusCode,
29268			Header: res.Header,
29269		}
29270	}
29271	if err != nil {
29272		return nil, err
29273	}
29274	defer googleapi.CloseBody(res)
29275	if err := googleapi.CheckResponse(res); err != nil {
29276		return nil, err
29277	}
29278	ret := &GoogleCloudDialogflowCxV3ListTestCasesResponse{
29279		ServerResponse: googleapi.ServerResponse{
29280			Header:         res.Header,
29281			HTTPStatusCode: res.StatusCode,
29282		},
29283	}
29284	target := &ret
29285	if err := gensupport.DecodeResponse(target, res); err != nil {
29286		return nil, err
29287	}
29288	return ret, nil
29289	// {
29290	//   "description": "Fetches a list of test cases for a given agent.",
29291	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/testCases",
29292	//   "httpMethod": "GET",
29293	//   "id": "dialogflow.projects.locations.agents.testCases.list",
29294	//   "parameterOrder": [
29295	//     "parent"
29296	//   ],
29297	//   "parameters": {
29298	//     "pageSize": {
29299	//       "description": "The maximum number of items to return in a single page. By default 20. Note that when TestCaseView = FULL, the maximum page size allowed is 20. When TestCaseView = BASIC, the maximum page size allowed is 500.",
29300	//       "format": "int32",
29301	//       "location": "query",
29302	//       "type": "integer"
29303	//     },
29304	//     "pageToken": {
29305	//       "description": "The next_page_token value returned from a previous list request.",
29306	//       "location": "query",
29307	//       "type": "string"
29308	//     },
29309	//     "parent": {
29310	//       "description": "Required. The agent to list all pages for. Format: `projects//locations//agents/`.",
29311	//       "location": "path",
29312	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$",
29313	//       "required": true,
29314	//       "type": "string"
29315	//     },
29316	//     "view": {
29317	//       "description": "Specifies whether response should include all fields or just the metadata.",
29318	//       "enum": [
29319	//         "TEST_CASE_VIEW_UNSPECIFIED",
29320	//         "BASIC",
29321	//         "FULL"
29322	//       ],
29323	//       "enumDescriptions": [
29324	//         "The default / unset value. The API will default to the BASIC view.",
29325	//         "Include basic metadata about the test case, but not the conversation turns. This is the default value.",
29326	//         "Include everything."
29327	//       ],
29328	//       "location": "query",
29329	//       "type": "string"
29330	//     }
29331	//   },
29332	//   "path": "v3/{+parent}/testCases",
29333	//   "response": {
29334	//     "$ref": "GoogleCloudDialogflowCxV3ListTestCasesResponse"
29335	//   },
29336	//   "scopes": [
29337	//     "https://www.googleapis.com/auth/cloud-platform",
29338	//     "https://www.googleapis.com/auth/dialogflow"
29339	//   ]
29340	// }
29341
29342}
29343
29344// Pages invokes f for each page of results.
29345// A non-nil error returned from f will halt the iteration.
29346// The provided context supersedes any context provided to the Context method.
29347func (c *ProjectsLocationsAgentsTestCasesListCall) Pages(ctx context.Context, f func(*GoogleCloudDialogflowCxV3ListTestCasesResponse) error) error {
29348	c.ctx_ = ctx
29349	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
29350	for {
29351		x, err := c.Do()
29352		if err != nil {
29353			return err
29354		}
29355		if err := f(x); err != nil {
29356			return err
29357		}
29358		if x.NextPageToken == "" {
29359			return nil
29360		}
29361		c.PageToken(x.NextPageToken)
29362	}
29363}
29364
29365// method id "dialogflow.projects.locations.agents.testCases.patch":
29366
29367type ProjectsLocationsAgentsTestCasesPatchCall struct {
29368	s                                 *Service
29369	nameid                            string
29370	googleclouddialogflowcxv3testcase *GoogleCloudDialogflowCxV3TestCase
29371	urlParams_                        gensupport.URLParams
29372	ctx_                              context.Context
29373	header_                           http.Header
29374}
29375
29376// Patch: Updates the specified test case.
29377//
29378// - name: The unique identifier of the test case.
29379//   TestCases.CreateTestCase will populate the name automatically.
29380//   Otherwise use format: `projects//locations//agents/ /testCases/`.
29381func (r *ProjectsLocationsAgentsTestCasesService) Patch(nameid string, googleclouddialogflowcxv3testcase *GoogleCloudDialogflowCxV3TestCase) *ProjectsLocationsAgentsTestCasesPatchCall {
29382	c := &ProjectsLocationsAgentsTestCasesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29383	c.nameid = nameid
29384	c.googleclouddialogflowcxv3testcase = googleclouddialogflowcxv3testcase
29385	return c
29386}
29387
29388// UpdateMask sets the optional parameter "updateMask": Required. The
29389// mask to specify which fields should be updated. The `creationTime`
29390// and `lastTestResult` cannot be updated.
29391func (c *ProjectsLocationsAgentsTestCasesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsAgentsTestCasesPatchCall {
29392	c.urlParams_.Set("updateMask", updateMask)
29393	return c
29394}
29395
29396// Fields allows partial responses to be retrieved. See
29397// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29398// for more information.
29399func (c *ProjectsLocationsAgentsTestCasesPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsTestCasesPatchCall {
29400	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29401	return c
29402}
29403
29404// Context sets the context to be used in this call's Do method. Any
29405// pending HTTP request will be aborted if the provided context is
29406// canceled.
29407func (c *ProjectsLocationsAgentsTestCasesPatchCall) Context(ctx context.Context) *ProjectsLocationsAgentsTestCasesPatchCall {
29408	c.ctx_ = ctx
29409	return c
29410}
29411
29412// Header returns an http.Header that can be modified by the caller to
29413// add HTTP headers to the request.
29414func (c *ProjectsLocationsAgentsTestCasesPatchCall) Header() http.Header {
29415	if c.header_ == nil {
29416		c.header_ = make(http.Header)
29417	}
29418	return c.header_
29419}
29420
29421func (c *ProjectsLocationsAgentsTestCasesPatchCall) doRequest(alt string) (*http.Response, error) {
29422	reqHeaders := make(http.Header)
29423	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
29424	for k, v := range c.header_ {
29425		reqHeaders[k] = v
29426	}
29427	reqHeaders.Set("User-Agent", c.s.userAgent())
29428	var body io.Reader = nil
29429	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3testcase)
29430	if err != nil {
29431		return nil, err
29432	}
29433	reqHeaders.Set("Content-Type", "application/json")
29434	c.urlParams_.Set("alt", alt)
29435	c.urlParams_.Set("prettyPrint", "false")
29436	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
29437	urls += "?" + c.urlParams_.Encode()
29438	req, err := http.NewRequest("PATCH", urls, body)
29439	if err != nil {
29440		return nil, err
29441	}
29442	req.Header = reqHeaders
29443	googleapi.Expand(req.URL, map[string]string{
29444		"name": c.nameid,
29445	})
29446	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29447}
29448
29449// Do executes the "dialogflow.projects.locations.agents.testCases.patch" call.
29450// Exactly one of *GoogleCloudDialogflowCxV3TestCase or error will be
29451// non-nil. Any non-2xx status code is an error. Response headers are in
29452// either *GoogleCloudDialogflowCxV3TestCase.ServerResponse.Header or
29453// (if a response was returned at all) in
29454// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
29455// whether the returned error was because http.StatusNotModified was
29456// returned.
29457func (c *ProjectsLocationsAgentsTestCasesPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3TestCase, error) {
29458	gensupport.SetOptions(c.urlParams_, opts...)
29459	res, err := c.doRequest("json")
29460	if res != nil && res.StatusCode == http.StatusNotModified {
29461		if res.Body != nil {
29462			res.Body.Close()
29463		}
29464		return nil, &googleapi.Error{
29465			Code:   res.StatusCode,
29466			Header: res.Header,
29467		}
29468	}
29469	if err != nil {
29470		return nil, err
29471	}
29472	defer googleapi.CloseBody(res)
29473	if err := googleapi.CheckResponse(res); err != nil {
29474		return nil, err
29475	}
29476	ret := &GoogleCloudDialogflowCxV3TestCase{
29477		ServerResponse: googleapi.ServerResponse{
29478			Header:         res.Header,
29479			HTTPStatusCode: res.StatusCode,
29480		},
29481	}
29482	target := &ret
29483	if err := gensupport.DecodeResponse(target, res); err != nil {
29484		return nil, err
29485	}
29486	return ret, nil
29487	// {
29488	//   "description": "Updates the specified test case.",
29489	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/testCases/{testCasesId}",
29490	//   "httpMethod": "PATCH",
29491	//   "id": "dialogflow.projects.locations.agents.testCases.patch",
29492	//   "parameterOrder": [
29493	//     "name"
29494	//   ],
29495	//   "parameters": {
29496	//     "name": {
29497	//       "description": "The unique identifier of the test case. TestCases.CreateTestCase will populate the name automatically. Otherwise use format: `projects//locations//agents/ /testCases/`.",
29498	//       "location": "path",
29499	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/testCases/[^/]+$",
29500	//       "required": true,
29501	//       "type": "string"
29502	//     },
29503	//     "updateMask": {
29504	//       "description": "Required. The mask to specify which fields should be updated. The `creationTime` and `lastTestResult` cannot be updated.",
29505	//       "format": "google-fieldmask",
29506	//       "location": "query",
29507	//       "type": "string"
29508	//     }
29509	//   },
29510	//   "path": "v3/{+name}",
29511	//   "request": {
29512	//     "$ref": "GoogleCloudDialogflowCxV3TestCase"
29513	//   },
29514	//   "response": {
29515	//     "$ref": "GoogleCloudDialogflowCxV3TestCase"
29516	//   },
29517	//   "scopes": [
29518	//     "https://www.googleapis.com/auth/cloud-platform",
29519	//     "https://www.googleapis.com/auth/dialogflow"
29520	//   ]
29521	// }
29522
29523}
29524
29525// method id "dialogflow.projects.locations.agents.testCases.run":
29526
29527type ProjectsLocationsAgentsTestCasesRunCall struct {
29528	s                                           *Service
29529	name                                        string
29530	googleclouddialogflowcxv3runtestcaserequest *GoogleCloudDialogflowCxV3RunTestCaseRequest
29531	urlParams_                                  gensupport.URLParams
29532	ctx_                                        context.Context
29533	header_                                     http.Header
29534}
29535
29536// Run: Kicks off a test case run.
29537//
29538// - name: Format of test case name to run: `projects//locations/
29539//   /agents//testCases/`.
29540func (r *ProjectsLocationsAgentsTestCasesService) Run(name string, googleclouddialogflowcxv3runtestcaserequest *GoogleCloudDialogflowCxV3RunTestCaseRequest) *ProjectsLocationsAgentsTestCasesRunCall {
29541	c := &ProjectsLocationsAgentsTestCasesRunCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29542	c.name = name
29543	c.googleclouddialogflowcxv3runtestcaserequest = googleclouddialogflowcxv3runtestcaserequest
29544	return c
29545}
29546
29547// Fields allows partial responses to be retrieved. See
29548// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29549// for more information.
29550func (c *ProjectsLocationsAgentsTestCasesRunCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsTestCasesRunCall {
29551	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29552	return c
29553}
29554
29555// Context sets the context to be used in this call's Do method. Any
29556// pending HTTP request will be aborted if the provided context is
29557// canceled.
29558func (c *ProjectsLocationsAgentsTestCasesRunCall) Context(ctx context.Context) *ProjectsLocationsAgentsTestCasesRunCall {
29559	c.ctx_ = ctx
29560	return c
29561}
29562
29563// Header returns an http.Header that can be modified by the caller to
29564// add HTTP headers to the request.
29565func (c *ProjectsLocationsAgentsTestCasesRunCall) Header() http.Header {
29566	if c.header_ == nil {
29567		c.header_ = make(http.Header)
29568	}
29569	return c.header_
29570}
29571
29572func (c *ProjectsLocationsAgentsTestCasesRunCall) doRequest(alt string) (*http.Response, error) {
29573	reqHeaders := make(http.Header)
29574	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
29575	for k, v := range c.header_ {
29576		reqHeaders[k] = v
29577	}
29578	reqHeaders.Set("User-Agent", c.s.userAgent())
29579	var body io.Reader = nil
29580	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3runtestcaserequest)
29581	if err != nil {
29582		return nil, err
29583	}
29584	reqHeaders.Set("Content-Type", "application/json")
29585	c.urlParams_.Set("alt", alt)
29586	c.urlParams_.Set("prettyPrint", "false")
29587	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}:run")
29588	urls += "?" + c.urlParams_.Encode()
29589	req, err := http.NewRequest("POST", urls, body)
29590	if err != nil {
29591		return nil, err
29592	}
29593	req.Header = reqHeaders
29594	googleapi.Expand(req.URL, map[string]string{
29595		"name": c.name,
29596	})
29597	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29598}
29599
29600// Do executes the "dialogflow.projects.locations.agents.testCases.run" call.
29601// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
29602// Any non-2xx status code is an error. Response headers are in either
29603// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
29604// was returned at all) in error.(*googleapi.Error).Header. Use
29605// googleapi.IsNotModified to check whether the returned error was
29606// because http.StatusNotModified was returned.
29607func (c *ProjectsLocationsAgentsTestCasesRunCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
29608	gensupport.SetOptions(c.urlParams_, opts...)
29609	res, err := c.doRequest("json")
29610	if res != nil && res.StatusCode == http.StatusNotModified {
29611		if res.Body != nil {
29612			res.Body.Close()
29613		}
29614		return nil, &googleapi.Error{
29615			Code:   res.StatusCode,
29616			Header: res.Header,
29617		}
29618	}
29619	if err != nil {
29620		return nil, err
29621	}
29622	defer googleapi.CloseBody(res)
29623	if err := googleapi.CheckResponse(res); err != nil {
29624		return nil, err
29625	}
29626	ret := &GoogleLongrunningOperation{
29627		ServerResponse: googleapi.ServerResponse{
29628			Header:         res.Header,
29629			HTTPStatusCode: res.StatusCode,
29630		},
29631	}
29632	target := &ret
29633	if err := gensupport.DecodeResponse(target, res); err != nil {
29634		return nil, err
29635	}
29636	return ret, nil
29637	// {
29638	//   "description": "Kicks off a test case run.",
29639	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/testCases/{testCasesId}:run",
29640	//   "httpMethod": "POST",
29641	//   "id": "dialogflow.projects.locations.agents.testCases.run",
29642	//   "parameterOrder": [
29643	//     "name"
29644	//   ],
29645	//   "parameters": {
29646	//     "name": {
29647	//       "description": "Required. Format of test case name to run: `projects//locations/ /agents//testCases/`.",
29648	//       "location": "path",
29649	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/testCases/[^/]+$",
29650	//       "required": true,
29651	//       "type": "string"
29652	//     }
29653	//   },
29654	//   "path": "v3/{+name}:run",
29655	//   "request": {
29656	//     "$ref": "GoogleCloudDialogflowCxV3RunTestCaseRequest"
29657	//   },
29658	//   "response": {
29659	//     "$ref": "GoogleLongrunningOperation"
29660	//   },
29661	//   "scopes": [
29662	//     "https://www.googleapis.com/auth/cloud-platform",
29663	//     "https://www.googleapis.com/auth/dialogflow"
29664	//   ]
29665	// }
29666
29667}
29668
29669// method id "dialogflow.projects.locations.agents.testCases.results.get":
29670
29671type ProjectsLocationsAgentsTestCasesResultsGetCall struct {
29672	s            *Service
29673	name         string
29674	urlParams_   gensupport.URLParams
29675	ifNoneMatch_ string
29676	ctx_         context.Context
29677	header_      http.Header
29678}
29679
29680// Get: Gets a test case result.
29681//
29682// - name: The name of the testcase. Format:
29683//   `projects//locations//agents//testCases//results/`.
29684func (r *ProjectsLocationsAgentsTestCasesResultsService) Get(name string) *ProjectsLocationsAgentsTestCasesResultsGetCall {
29685	c := &ProjectsLocationsAgentsTestCasesResultsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29686	c.name = name
29687	return c
29688}
29689
29690// Fields allows partial responses to be retrieved. See
29691// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29692// for more information.
29693func (c *ProjectsLocationsAgentsTestCasesResultsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsTestCasesResultsGetCall {
29694	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29695	return c
29696}
29697
29698// IfNoneMatch sets the optional parameter which makes the operation
29699// fail if the object's ETag matches the given value. This is useful for
29700// getting updates only after the object has changed since the last
29701// request. Use googleapi.IsNotModified to check whether the response
29702// error from Do is the result of In-None-Match.
29703func (c *ProjectsLocationsAgentsTestCasesResultsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsTestCasesResultsGetCall {
29704	c.ifNoneMatch_ = entityTag
29705	return c
29706}
29707
29708// Context sets the context to be used in this call's Do method. Any
29709// pending HTTP request will be aborted if the provided context is
29710// canceled.
29711func (c *ProjectsLocationsAgentsTestCasesResultsGetCall) Context(ctx context.Context) *ProjectsLocationsAgentsTestCasesResultsGetCall {
29712	c.ctx_ = ctx
29713	return c
29714}
29715
29716// Header returns an http.Header that can be modified by the caller to
29717// add HTTP headers to the request.
29718func (c *ProjectsLocationsAgentsTestCasesResultsGetCall) Header() http.Header {
29719	if c.header_ == nil {
29720		c.header_ = make(http.Header)
29721	}
29722	return c.header_
29723}
29724
29725func (c *ProjectsLocationsAgentsTestCasesResultsGetCall) doRequest(alt string) (*http.Response, error) {
29726	reqHeaders := make(http.Header)
29727	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
29728	for k, v := range c.header_ {
29729		reqHeaders[k] = v
29730	}
29731	reqHeaders.Set("User-Agent", c.s.userAgent())
29732	if c.ifNoneMatch_ != "" {
29733		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
29734	}
29735	var body io.Reader = nil
29736	c.urlParams_.Set("alt", alt)
29737	c.urlParams_.Set("prettyPrint", "false")
29738	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
29739	urls += "?" + c.urlParams_.Encode()
29740	req, err := http.NewRequest("GET", urls, body)
29741	if err != nil {
29742		return nil, err
29743	}
29744	req.Header = reqHeaders
29745	googleapi.Expand(req.URL, map[string]string{
29746		"name": c.name,
29747	})
29748	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29749}
29750
29751// Do executes the "dialogflow.projects.locations.agents.testCases.results.get" call.
29752// Exactly one of *GoogleCloudDialogflowCxV3TestCaseResult or error will
29753// be non-nil. Any non-2xx status code is an error. Response headers are
29754// in either
29755// *GoogleCloudDialogflowCxV3TestCaseResult.ServerResponse.Header or (if
29756// a response was returned at all) in error.(*googleapi.Error).Header.
29757// Use googleapi.IsNotModified to check whether the returned error was
29758// because http.StatusNotModified was returned.
29759func (c *ProjectsLocationsAgentsTestCasesResultsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3TestCaseResult, error) {
29760	gensupport.SetOptions(c.urlParams_, opts...)
29761	res, err := c.doRequest("json")
29762	if res != nil && res.StatusCode == http.StatusNotModified {
29763		if res.Body != nil {
29764			res.Body.Close()
29765		}
29766		return nil, &googleapi.Error{
29767			Code:   res.StatusCode,
29768			Header: res.Header,
29769		}
29770	}
29771	if err != nil {
29772		return nil, err
29773	}
29774	defer googleapi.CloseBody(res)
29775	if err := googleapi.CheckResponse(res); err != nil {
29776		return nil, err
29777	}
29778	ret := &GoogleCloudDialogflowCxV3TestCaseResult{
29779		ServerResponse: googleapi.ServerResponse{
29780			Header:         res.Header,
29781			HTTPStatusCode: res.StatusCode,
29782		},
29783	}
29784	target := &ret
29785	if err := gensupport.DecodeResponse(target, res); err != nil {
29786		return nil, err
29787	}
29788	return ret, nil
29789	// {
29790	//   "description": "Gets a test case result.",
29791	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/testCases/{testCasesId}/results/{resultsId}",
29792	//   "httpMethod": "GET",
29793	//   "id": "dialogflow.projects.locations.agents.testCases.results.get",
29794	//   "parameterOrder": [
29795	//     "name"
29796	//   ],
29797	//   "parameters": {
29798	//     "name": {
29799	//       "description": "Required. The name of the testcase. Format: `projects//locations//agents//testCases//results/`.",
29800	//       "location": "path",
29801	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/testCases/[^/]+/results/[^/]+$",
29802	//       "required": true,
29803	//       "type": "string"
29804	//     }
29805	//   },
29806	//   "path": "v3/{+name}",
29807	//   "response": {
29808	//     "$ref": "GoogleCloudDialogflowCxV3TestCaseResult"
29809	//   },
29810	//   "scopes": [
29811	//     "https://www.googleapis.com/auth/cloud-platform",
29812	//     "https://www.googleapis.com/auth/dialogflow"
29813	//   ]
29814	// }
29815
29816}
29817
29818// method id "dialogflow.projects.locations.agents.testCases.results.list":
29819
29820type ProjectsLocationsAgentsTestCasesResultsListCall struct {
29821	s            *Service
29822	parent       string
29823	urlParams_   gensupport.URLParams
29824	ifNoneMatch_ string
29825	ctx_         context.Context
29826	header_      http.Header
29827}
29828
29829// List: Fetches a list of results for a given test case.
29830//
29831// - parent: The test case to list results for. Format:
29832//   `projects//locations//agents// testCases/`. Specify a `-` as a
29833//   wildcard for TestCase ID to list results across multiple test
29834//   cases.
29835func (r *ProjectsLocationsAgentsTestCasesResultsService) List(parent string) *ProjectsLocationsAgentsTestCasesResultsListCall {
29836	c := &ProjectsLocationsAgentsTestCasesResultsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29837	c.parent = parent
29838	return c
29839}
29840
29841// Filter sets the optional parameter "filter": The filter expression
29842// used to filter test case results. See API Filtering
29843// (https://aip.dev/160). The expression is case insensitive. Only 'AND'
29844// is supported for logical operators. The supported syntax is listed
29845// below in detail: [AND ] ... [AND latest] The supported fields and
29846// operators are: field operator `environment` `=`, `IN` (Use value
29847// `draft` for draft environment) `test_time` `>`, `<` `latest` only
29848// returns the latest test result in all results for each test case.
29849// Examples: * "environment=draft AND latest" matches the latest test
29850// result for each test case in the draft environment. * "environment IN
29851// (e1,e2)" matches any test case results with an environment resource
29852// name of either "e1" or "e2". * "test_time > 1602540713" matches any
29853// test case results with test time later than a unix timestamp in
29854// seconds 1602540713.
29855func (c *ProjectsLocationsAgentsTestCasesResultsListCall) Filter(filter string) *ProjectsLocationsAgentsTestCasesResultsListCall {
29856	c.urlParams_.Set("filter", filter)
29857	return c
29858}
29859
29860// PageSize sets the optional parameter "pageSize": The maximum number
29861// of items to return in a single page. By default 100 and at most 1000.
29862func (c *ProjectsLocationsAgentsTestCasesResultsListCall) PageSize(pageSize int64) *ProjectsLocationsAgentsTestCasesResultsListCall {
29863	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
29864	return c
29865}
29866
29867// PageToken sets the optional parameter "pageToken": The
29868// next_page_token value returned from a previous list request.
29869func (c *ProjectsLocationsAgentsTestCasesResultsListCall) PageToken(pageToken string) *ProjectsLocationsAgentsTestCasesResultsListCall {
29870	c.urlParams_.Set("pageToken", pageToken)
29871	return c
29872}
29873
29874// Fields allows partial responses to be retrieved. See
29875// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29876// for more information.
29877func (c *ProjectsLocationsAgentsTestCasesResultsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsTestCasesResultsListCall {
29878	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29879	return c
29880}
29881
29882// IfNoneMatch sets the optional parameter which makes the operation
29883// fail if the object's ETag matches the given value. This is useful for
29884// getting updates only after the object has changed since the last
29885// request. Use googleapi.IsNotModified to check whether the response
29886// error from Do is the result of In-None-Match.
29887func (c *ProjectsLocationsAgentsTestCasesResultsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsTestCasesResultsListCall {
29888	c.ifNoneMatch_ = entityTag
29889	return c
29890}
29891
29892// Context sets the context to be used in this call's Do method. Any
29893// pending HTTP request will be aborted if the provided context is
29894// canceled.
29895func (c *ProjectsLocationsAgentsTestCasesResultsListCall) Context(ctx context.Context) *ProjectsLocationsAgentsTestCasesResultsListCall {
29896	c.ctx_ = ctx
29897	return c
29898}
29899
29900// Header returns an http.Header that can be modified by the caller to
29901// add HTTP headers to the request.
29902func (c *ProjectsLocationsAgentsTestCasesResultsListCall) Header() http.Header {
29903	if c.header_ == nil {
29904		c.header_ = make(http.Header)
29905	}
29906	return c.header_
29907}
29908
29909func (c *ProjectsLocationsAgentsTestCasesResultsListCall) doRequest(alt string) (*http.Response, error) {
29910	reqHeaders := make(http.Header)
29911	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
29912	for k, v := range c.header_ {
29913		reqHeaders[k] = v
29914	}
29915	reqHeaders.Set("User-Agent", c.s.userAgent())
29916	if c.ifNoneMatch_ != "" {
29917		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
29918	}
29919	var body io.Reader = nil
29920	c.urlParams_.Set("alt", alt)
29921	c.urlParams_.Set("prettyPrint", "false")
29922	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/results")
29923	urls += "?" + c.urlParams_.Encode()
29924	req, err := http.NewRequest("GET", urls, body)
29925	if err != nil {
29926		return nil, err
29927	}
29928	req.Header = reqHeaders
29929	googleapi.Expand(req.URL, map[string]string{
29930		"parent": c.parent,
29931	})
29932	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29933}
29934
29935// Do executes the "dialogflow.projects.locations.agents.testCases.results.list" call.
29936// Exactly one of *GoogleCloudDialogflowCxV3ListTestCaseResultsResponse
29937// or error will be non-nil. Any non-2xx status code is an error.
29938// Response headers are in either
29939// *GoogleCloudDialogflowCxV3ListTestCaseResultsResponse.ServerResponse.H
29940// eader or (if a response was returned at all) in
29941// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
29942// whether the returned error was because http.StatusNotModified was
29943// returned.
29944func (c *ProjectsLocationsAgentsTestCasesResultsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3ListTestCaseResultsResponse, error) {
29945	gensupport.SetOptions(c.urlParams_, opts...)
29946	res, err := c.doRequest("json")
29947	if res != nil && res.StatusCode == http.StatusNotModified {
29948		if res.Body != nil {
29949			res.Body.Close()
29950		}
29951		return nil, &googleapi.Error{
29952			Code:   res.StatusCode,
29953			Header: res.Header,
29954		}
29955	}
29956	if err != nil {
29957		return nil, err
29958	}
29959	defer googleapi.CloseBody(res)
29960	if err := googleapi.CheckResponse(res); err != nil {
29961		return nil, err
29962	}
29963	ret := &GoogleCloudDialogflowCxV3ListTestCaseResultsResponse{
29964		ServerResponse: googleapi.ServerResponse{
29965			Header:         res.Header,
29966			HTTPStatusCode: res.StatusCode,
29967		},
29968	}
29969	target := &ret
29970	if err := gensupport.DecodeResponse(target, res); err != nil {
29971		return nil, err
29972	}
29973	return ret, nil
29974	// {
29975	//   "description": "Fetches a list of results for a given test case.",
29976	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/testCases/{testCasesId}/results",
29977	//   "httpMethod": "GET",
29978	//   "id": "dialogflow.projects.locations.agents.testCases.results.list",
29979	//   "parameterOrder": [
29980	//     "parent"
29981	//   ],
29982	//   "parameters": {
29983	//     "filter": {
29984	//       "description": "The filter expression used to filter test case results. See [API Filtering](https://aip.dev/160). The expression is case insensitive. Only 'AND' is supported for logical operators. The supported syntax is listed below in detail: [AND ] ... [AND latest] The supported fields and operators are: field operator `environment` `=`, `IN` (Use value `draft` for draft environment) `test_time` `\u003e`, `\u003c` `latest` only returns the latest test result in all results for each test case. Examples: * \"environment=draft AND latest\" matches the latest test result for each test case in the draft environment. * \"environment IN (e1,e2)\" matches any test case results with an environment resource name of either \"e1\" or \"e2\". * \"test_time \u003e 1602540713\" matches any test case results with test time later than a unix timestamp in seconds 1602540713.",
29985	//       "location": "query",
29986	//       "type": "string"
29987	//     },
29988	//     "pageSize": {
29989	//       "description": "The maximum number of items to return in a single page. By default 100 and at most 1000.",
29990	//       "format": "int32",
29991	//       "location": "query",
29992	//       "type": "integer"
29993	//     },
29994	//     "pageToken": {
29995	//       "description": "The next_page_token value returned from a previous list request.",
29996	//       "location": "query",
29997	//       "type": "string"
29998	//     },
29999	//     "parent": {
30000	//       "description": "Required. The test case to list results for. Format: `projects//locations//agents// testCases/`. Specify a `-` as a wildcard for TestCase ID to list results across multiple test cases.",
30001	//       "location": "path",
30002	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/testCases/[^/]+$",
30003	//       "required": true,
30004	//       "type": "string"
30005	//     }
30006	//   },
30007	//   "path": "v3/{+parent}/results",
30008	//   "response": {
30009	//     "$ref": "GoogleCloudDialogflowCxV3ListTestCaseResultsResponse"
30010	//   },
30011	//   "scopes": [
30012	//     "https://www.googleapis.com/auth/cloud-platform",
30013	//     "https://www.googleapis.com/auth/dialogflow"
30014	//   ]
30015	// }
30016
30017}
30018
30019// Pages invokes f for each page of results.
30020// A non-nil error returned from f will halt the iteration.
30021// The provided context supersedes any context provided to the Context method.
30022func (c *ProjectsLocationsAgentsTestCasesResultsListCall) Pages(ctx context.Context, f func(*GoogleCloudDialogflowCxV3ListTestCaseResultsResponse) error) error {
30023	c.ctx_ = ctx
30024	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
30025	for {
30026		x, err := c.Do()
30027		if err != nil {
30028			return err
30029		}
30030		if err := f(x); err != nil {
30031			return err
30032		}
30033		if x.NextPageToken == "" {
30034			return nil
30035		}
30036		c.PageToken(x.NextPageToken)
30037	}
30038}
30039
30040// method id "dialogflow.projects.locations.agents.webhooks.create":
30041
30042type ProjectsLocationsAgentsWebhooksCreateCall struct {
30043	s                                *Service
30044	parent                           string
30045	googleclouddialogflowcxv3webhook *GoogleCloudDialogflowCxV3Webhook
30046	urlParams_                       gensupport.URLParams
30047	ctx_                             context.Context
30048	header_                          http.Header
30049}
30050
30051// Create: Creates a webhook in the specified agent.
30052//
30053// - parent: The agent to create a webhook for. Format:
30054//   `projects//locations//agents/`.
30055func (r *ProjectsLocationsAgentsWebhooksService) Create(parent string, googleclouddialogflowcxv3webhook *GoogleCloudDialogflowCxV3Webhook) *ProjectsLocationsAgentsWebhooksCreateCall {
30056	c := &ProjectsLocationsAgentsWebhooksCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30057	c.parent = parent
30058	c.googleclouddialogflowcxv3webhook = googleclouddialogflowcxv3webhook
30059	return c
30060}
30061
30062// Fields allows partial responses to be retrieved. See
30063// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30064// for more information.
30065func (c *ProjectsLocationsAgentsWebhooksCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsWebhooksCreateCall {
30066	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30067	return c
30068}
30069
30070// Context sets the context to be used in this call's Do method. Any
30071// pending HTTP request will be aborted if the provided context is
30072// canceled.
30073func (c *ProjectsLocationsAgentsWebhooksCreateCall) Context(ctx context.Context) *ProjectsLocationsAgentsWebhooksCreateCall {
30074	c.ctx_ = ctx
30075	return c
30076}
30077
30078// Header returns an http.Header that can be modified by the caller to
30079// add HTTP headers to the request.
30080func (c *ProjectsLocationsAgentsWebhooksCreateCall) Header() http.Header {
30081	if c.header_ == nil {
30082		c.header_ = make(http.Header)
30083	}
30084	return c.header_
30085}
30086
30087func (c *ProjectsLocationsAgentsWebhooksCreateCall) doRequest(alt string) (*http.Response, error) {
30088	reqHeaders := make(http.Header)
30089	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
30090	for k, v := range c.header_ {
30091		reqHeaders[k] = v
30092	}
30093	reqHeaders.Set("User-Agent", c.s.userAgent())
30094	var body io.Reader = nil
30095	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3webhook)
30096	if err != nil {
30097		return nil, err
30098	}
30099	reqHeaders.Set("Content-Type", "application/json")
30100	c.urlParams_.Set("alt", alt)
30101	c.urlParams_.Set("prettyPrint", "false")
30102	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/webhooks")
30103	urls += "?" + c.urlParams_.Encode()
30104	req, err := http.NewRequest("POST", urls, body)
30105	if err != nil {
30106		return nil, err
30107	}
30108	req.Header = reqHeaders
30109	googleapi.Expand(req.URL, map[string]string{
30110		"parent": c.parent,
30111	})
30112	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30113}
30114
30115// Do executes the "dialogflow.projects.locations.agents.webhooks.create" call.
30116// Exactly one of *GoogleCloudDialogflowCxV3Webhook or error will be
30117// non-nil. Any non-2xx status code is an error. Response headers are in
30118// either *GoogleCloudDialogflowCxV3Webhook.ServerResponse.Header or (if
30119// a response was returned at all) in error.(*googleapi.Error).Header.
30120// Use googleapi.IsNotModified to check whether the returned error was
30121// because http.StatusNotModified was returned.
30122func (c *ProjectsLocationsAgentsWebhooksCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3Webhook, error) {
30123	gensupport.SetOptions(c.urlParams_, opts...)
30124	res, err := c.doRequest("json")
30125	if res != nil && res.StatusCode == http.StatusNotModified {
30126		if res.Body != nil {
30127			res.Body.Close()
30128		}
30129		return nil, &googleapi.Error{
30130			Code:   res.StatusCode,
30131			Header: res.Header,
30132		}
30133	}
30134	if err != nil {
30135		return nil, err
30136	}
30137	defer googleapi.CloseBody(res)
30138	if err := googleapi.CheckResponse(res); err != nil {
30139		return nil, err
30140	}
30141	ret := &GoogleCloudDialogflowCxV3Webhook{
30142		ServerResponse: googleapi.ServerResponse{
30143			Header:         res.Header,
30144			HTTPStatusCode: res.StatusCode,
30145		},
30146	}
30147	target := &ret
30148	if err := gensupport.DecodeResponse(target, res); err != nil {
30149		return nil, err
30150	}
30151	return ret, nil
30152	// {
30153	//   "description": "Creates a webhook in the specified agent.",
30154	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/webhooks",
30155	//   "httpMethod": "POST",
30156	//   "id": "dialogflow.projects.locations.agents.webhooks.create",
30157	//   "parameterOrder": [
30158	//     "parent"
30159	//   ],
30160	//   "parameters": {
30161	//     "parent": {
30162	//       "description": "Required. The agent to create a webhook for. Format: `projects//locations//agents/`.",
30163	//       "location": "path",
30164	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$",
30165	//       "required": true,
30166	//       "type": "string"
30167	//     }
30168	//   },
30169	//   "path": "v3/{+parent}/webhooks",
30170	//   "request": {
30171	//     "$ref": "GoogleCloudDialogflowCxV3Webhook"
30172	//   },
30173	//   "response": {
30174	//     "$ref": "GoogleCloudDialogflowCxV3Webhook"
30175	//   },
30176	//   "scopes": [
30177	//     "https://www.googleapis.com/auth/cloud-platform",
30178	//     "https://www.googleapis.com/auth/dialogflow"
30179	//   ]
30180	// }
30181
30182}
30183
30184// method id "dialogflow.projects.locations.agents.webhooks.delete":
30185
30186type ProjectsLocationsAgentsWebhooksDeleteCall struct {
30187	s          *Service
30188	name       string
30189	urlParams_ gensupport.URLParams
30190	ctx_       context.Context
30191	header_    http.Header
30192}
30193
30194// Delete: Deletes the specified webhook.
30195//
30196// - name: The name of the webhook to delete. Format:
30197//   `projects//locations//agents//webhooks/`.
30198func (r *ProjectsLocationsAgentsWebhooksService) Delete(name string) *ProjectsLocationsAgentsWebhooksDeleteCall {
30199	c := &ProjectsLocationsAgentsWebhooksDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30200	c.name = name
30201	return c
30202}
30203
30204// Force sets the optional parameter "force": This field has no effect
30205// for webhook not being used. For webhooks that are used by
30206// pages/flows/transition route groups: * If `force` is set to false, an
30207// error will be returned with message indicating the referenced
30208// resources. * If `force` is set to true, Dialogflow will remove the
30209// webhook, as well as any references to the webhook (i.e. Webhook and
30210// tagin fulfillments that point to this webhook will be removed).
30211func (c *ProjectsLocationsAgentsWebhooksDeleteCall) Force(force bool) *ProjectsLocationsAgentsWebhooksDeleteCall {
30212	c.urlParams_.Set("force", fmt.Sprint(force))
30213	return c
30214}
30215
30216// Fields allows partial responses to be retrieved. See
30217// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30218// for more information.
30219func (c *ProjectsLocationsAgentsWebhooksDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsWebhooksDeleteCall {
30220	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30221	return c
30222}
30223
30224// Context sets the context to be used in this call's Do method. Any
30225// pending HTTP request will be aborted if the provided context is
30226// canceled.
30227func (c *ProjectsLocationsAgentsWebhooksDeleteCall) Context(ctx context.Context) *ProjectsLocationsAgentsWebhooksDeleteCall {
30228	c.ctx_ = ctx
30229	return c
30230}
30231
30232// Header returns an http.Header that can be modified by the caller to
30233// add HTTP headers to the request.
30234func (c *ProjectsLocationsAgentsWebhooksDeleteCall) Header() http.Header {
30235	if c.header_ == nil {
30236		c.header_ = make(http.Header)
30237	}
30238	return c.header_
30239}
30240
30241func (c *ProjectsLocationsAgentsWebhooksDeleteCall) doRequest(alt string) (*http.Response, error) {
30242	reqHeaders := make(http.Header)
30243	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
30244	for k, v := range c.header_ {
30245		reqHeaders[k] = v
30246	}
30247	reqHeaders.Set("User-Agent", c.s.userAgent())
30248	var body io.Reader = nil
30249	c.urlParams_.Set("alt", alt)
30250	c.urlParams_.Set("prettyPrint", "false")
30251	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
30252	urls += "?" + c.urlParams_.Encode()
30253	req, err := http.NewRequest("DELETE", urls, body)
30254	if err != nil {
30255		return nil, err
30256	}
30257	req.Header = reqHeaders
30258	googleapi.Expand(req.URL, map[string]string{
30259		"name": c.name,
30260	})
30261	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30262}
30263
30264// Do executes the "dialogflow.projects.locations.agents.webhooks.delete" call.
30265// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
30266// non-2xx status code is an error. Response headers are in either
30267// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
30268// returned at all) in error.(*googleapi.Error).Header. Use
30269// googleapi.IsNotModified to check whether the returned error was
30270// because http.StatusNotModified was returned.
30271func (c *ProjectsLocationsAgentsWebhooksDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
30272	gensupport.SetOptions(c.urlParams_, opts...)
30273	res, err := c.doRequest("json")
30274	if res != nil && res.StatusCode == http.StatusNotModified {
30275		if res.Body != nil {
30276			res.Body.Close()
30277		}
30278		return nil, &googleapi.Error{
30279			Code:   res.StatusCode,
30280			Header: res.Header,
30281		}
30282	}
30283	if err != nil {
30284		return nil, err
30285	}
30286	defer googleapi.CloseBody(res)
30287	if err := googleapi.CheckResponse(res); err != nil {
30288		return nil, err
30289	}
30290	ret := &GoogleProtobufEmpty{
30291		ServerResponse: googleapi.ServerResponse{
30292			Header:         res.Header,
30293			HTTPStatusCode: res.StatusCode,
30294		},
30295	}
30296	target := &ret
30297	if err := gensupport.DecodeResponse(target, res); err != nil {
30298		return nil, err
30299	}
30300	return ret, nil
30301	// {
30302	//   "description": "Deletes the specified webhook.",
30303	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/webhooks/{webhooksId}",
30304	//   "httpMethod": "DELETE",
30305	//   "id": "dialogflow.projects.locations.agents.webhooks.delete",
30306	//   "parameterOrder": [
30307	//     "name"
30308	//   ],
30309	//   "parameters": {
30310	//     "force": {
30311	//       "description": "This field has no effect for webhook not being used. For webhooks that are used by pages/flows/transition route groups: * If `force` is set to false, an error will be returned with message indicating the referenced resources. * If `force` is set to true, Dialogflow will remove the webhook, as well as any references to the webhook (i.e. Webhook and tagin fulfillments that point to this webhook will be removed).",
30312	//       "location": "query",
30313	//       "type": "boolean"
30314	//     },
30315	//     "name": {
30316	//       "description": "Required. The name of the webhook to delete. Format: `projects//locations//agents//webhooks/`.",
30317	//       "location": "path",
30318	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/webhooks/[^/]+$",
30319	//       "required": true,
30320	//       "type": "string"
30321	//     }
30322	//   },
30323	//   "path": "v3/{+name}",
30324	//   "response": {
30325	//     "$ref": "GoogleProtobufEmpty"
30326	//   },
30327	//   "scopes": [
30328	//     "https://www.googleapis.com/auth/cloud-platform",
30329	//     "https://www.googleapis.com/auth/dialogflow"
30330	//   ]
30331	// }
30332
30333}
30334
30335// method id "dialogflow.projects.locations.agents.webhooks.get":
30336
30337type ProjectsLocationsAgentsWebhooksGetCall struct {
30338	s            *Service
30339	name         string
30340	urlParams_   gensupport.URLParams
30341	ifNoneMatch_ string
30342	ctx_         context.Context
30343	header_      http.Header
30344}
30345
30346// Get: Retrieves the specified webhook.
30347//
30348// - name: The name of the webhook. Format:
30349//   `projects//locations//agents//webhooks/`.
30350func (r *ProjectsLocationsAgentsWebhooksService) Get(name string) *ProjectsLocationsAgentsWebhooksGetCall {
30351	c := &ProjectsLocationsAgentsWebhooksGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30352	c.name = name
30353	return c
30354}
30355
30356// Fields allows partial responses to be retrieved. See
30357// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30358// for more information.
30359func (c *ProjectsLocationsAgentsWebhooksGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsWebhooksGetCall {
30360	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30361	return c
30362}
30363
30364// IfNoneMatch sets the optional parameter which makes the operation
30365// fail if the object's ETag matches the given value. This is useful for
30366// getting updates only after the object has changed since the last
30367// request. Use googleapi.IsNotModified to check whether the response
30368// error from Do is the result of In-None-Match.
30369func (c *ProjectsLocationsAgentsWebhooksGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsWebhooksGetCall {
30370	c.ifNoneMatch_ = entityTag
30371	return c
30372}
30373
30374// Context sets the context to be used in this call's Do method. Any
30375// pending HTTP request will be aborted if the provided context is
30376// canceled.
30377func (c *ProjectsLocationsAgentsWebhooksGetCall) Context(ctx context.Context) *ProjectsLocationsAgentsWebhooksGetCall {
30378	c.ctx_ = ctx
30379	return c
30380}
30381
30382// Header returns an http.Header that can be modified by the caller to
30383// add HTTP headers to the request.
30384func (c *ProjectsLocationsAgentsWebhooksGetCall) Header() http.Header {
30385	if c.header_ == nil {
30386		c.header_ = make(http.Header)
30387	}
30388	return c.header_
30389}
30390
30391func (c *ProjectsLocationsAgentsWebhooksGetCall) doRequest(alt string) (*http.Response, error) {
30392	reqHeaders := make(http.Header)
30393	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
30394	for k, v := range c.header_ {
30395		reqHeaders[k] = v
30396	}
30397	reqHeaders.Set("User-Agent", c.s.userAgent())
30398	if c.ifNoneMatch_ != "" {
30399		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
30400	}
30401	var body io.Reader = nil
30402	c.urlParams_.Set("alt", alt)
30403	c.urlParams_.Set("prettyPrint", "false")
30404	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
30405	urls += "?" + c.urlParams_.Encode()
30406	req, err := http.NewRequest("GET", urls, body)
30407	if err != nil {
30408		return nil, err
30409	}
30410	req.Header = reqHeaders
30411	googleapi.Expand(req.URL, map[string]string{
30412		"name": c.name,
30413	})
30414	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30415}
30416
30417// Do executes the "dialogflow.projects.locations.agents.webhooks.get" call.
30418// Exactly one of *GoogleCloudDialogflowCxV3Webhook or error will be
30419// non-nil. Any non-2xx status code is an error. Response headers are in
30420// either *GoogleCloudDialogflowCxV3Webhook.ServerResponse.Header or (if
30421// a response was returned at all) in error.(*googleapi.Error).Header.
30422// Use googleapi.IsNotModified to check whether the returned error was
30423// because http.StatusNotModified was returned.
30424func (c *ProjectsLocationsAgentsWebhooksGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3Webhook, error) {
30425	gensupport.SetOptions(c.urlParams_, opts...)
30426	res, err := c.doRequest("json")
30427	if res != nil && res.StatusCode == http.StatusNotModified {
30428		if res.Body != nil {
30429			res.Body.Close()
30430		}
30431		return nil, &googleapi.Error{
30432			Code:   res.StatusCode,
30433			Header: res.Header,
30434		}
30435	}
30436	if err != nil {
30437		return nil, err
30438	}
30439	defer googleapi.CloseBody(res)
30440	if err := googleapi.CheckResponse(res); err != nil {
30441		return nil, err
30442	}
30443	ret := &GoogleCloudDialogflowCxV3Webhook{
30444		ServerResponse: googleapi.ServerResponse{
30445			Header:         res.Header,
30446			HTTPStatusCode: res.StatusCode,
30447		},
30448	}
30449	target := &ret
30450	if err := gensupport.DecodeResponse(target, res); err != nil {
30451		return nil, err
30452	}
30453	return ret, nil
30454	// {
30455	//   "description": "Retrieves the specified webhook.",
30456	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/webhooks/{webhooksId}",
30457	//   "httpMethod": "GET",
30458	//   "id": "dialogflow.projects.locations.agents.webhooks.get",
30459	//   "parameterOrder": [
30460	//     "name"
30461	//   ],
30462	//   "parameters": {
30463	//     "name": {
30464	//       "description": "Required. The name of the webhook. Format: `projects//locations//agents//webhooks/`.",
30465	//       "location": "path",
30466	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/webhooks/[^/]+$",
30467	//       "required": true,
30468	//       "type": "string"
30469	//     }
30470	//   },
30471	//   "path": "v3/{+name}",
30472	//   "response": {
30473	//     "$ref": "GoogleCloudDialogflowCxV3Webhook"
30474	//   },
30475	//   "scopes": [
30476	//     "https://www.googleapis.com/auth/cloud-platform",
30477	//     "https://www.googleapis.com/auth/dialogflow"
30478	//   ]
30479	// }
30480
30481}
30482
30483// method id "dialogflow.projects.locations.agents.webhooks.list":
30484
30485type ProjectsLocationsAgentsWebhooksListCall struct {
30486	s            *Service
30487	parent       string
30488	urlParams_   gensupport.URLParams
30489	ifNoneMatch_ string
30490	ctx_         context.Context
30491	header_      http.Header
30492}
30493
30494// List: Returns the list of all webhooks in the specified agent.
30495//
30496// - parent: The agent to list all webhooks for. Format:
30497//   `projects//locations//agents/`.
30498func (r *ProjectsLocationsAgentsWebhooksService) List(parent string) *ProjectsLocationsAgentsWebhooksListCall {
30499	c := &ProjectsLocationsAgentsWebhooksListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30500	c.parent = parent
30501	return c
30502}
30503
30504// PageSize sets the optional parameter "pageSize": The maximum number
30505// of items to return in a single page. By default 100 and at most 1000.
30506func (c *ProjectsLocationsAgentsWebhooksListCall) PageSize(pageSize int64) *ProjectsLocationsAgentsWebhooksListCall {
30507	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
30508	return c
30509}
30510
30511// PageToken sets the optional parameter "pageToken": The
30512// next_page_token value returned from a previous list request.
30513func (c *ProjectsLocationsAgentsWebhooksListCall) PageToken(pageToken string) *ProjectsLocationsAgentsWebhooksListCall {
30514	c.urlParams_.Set("pageToken", pageToken)
30515	return c
30516}
30517
30518// Fields allows partial responses to be retrieved. See
30519// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30520// for more information.
30521func (c *ProjectsLocationsAgentsWebhooksListCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsWebhooksListCall {
30522	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30523	return c
30524}
30525
30526// IfNoneMatch sets the optional parameter which makes the operation
30527// fail if the object's ETag matches the given value. This is useful for
30528// getting updates only after the object has changed since the last
30529// request. Use googleapi.IsNotModified to check whether the response
30530// error from Do is the result of In-None-Match.
30531func (c *ProjectsLocationsAgentsWebhooksListCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsWebhooksListCall {
30532	c.ifNoneMatch_ = entityTag
30533	return c
30534}
30535
30536// Context sets the context to be used in this call's Do method. Any
30537// pending HTTP request will be aborted if the provided context is
30538// canceled.
30539func (c *ProjectsLocationsAgentsWebhooksListCall) Context(ctx context.Context) *ProjectsLocationsAgentsWebhooksListCall {
30540	c.ctx_ = ctx
30541	return c
30542}
30543
30544// Header returns an http.Header that can be modified by the caller to
30545// add HTTP headers to the request.
30546func (c *ProjectsLocationsAgentsWebhooksListCall) Header() http.Header {
30547	if c.header_ == nil {
30548		c.header_ = make(http.Header)
30549	}
30550	return c.header_
30551}
30552
30553func (c *ProjectsLocationsAgentsWebhooksListCall) doRequest(alt string) (*http.Response, error) {
30554	reqHeaders := make(http.Header)
30555	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
30556	for k, v := range c.header_ {
30557		reqHeaders[k] = v
30558	}
30559	reqHeaders.Set("User-Agent", c.s.userAgent())
30560	if c.ifNoneMatch_ != "" {
30561		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
30562	}
30563	var body io.Reader = nil
30564	c.urlParams_.Set("alt", alt)
30565	c.urlParams_.Set("prettyPrint", "false")
30566	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/webhooks")
30567	urls += "?" + c.urlParams_.Encode()
30568	req, err := http.NewRequest("GET", urls, body)
30569	if err != nil {
30570		return nil, err
30571	}
30572	req.Header = reqHeaders
30573	googleapi.Expand(req.URL, map[string]string{
30574		"parent": c.parent,
30575	})
30576	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30577}
30578
30579// Do executes the "dialogflow.projects.locations.agents.webhooks.list" call.
30580// Exactly one of *GoogleCloudDialogflowCxV3ListWebhooksResponse or
30581// error will be non-nil. Any non-2xx status code is an error. Response
30582// headers are in either
30583// *GoogleCloudDialogflowCxV3ListWebhooksResponse.ServerResponse.Header
30584// or (if a response was returned at all) in
30585// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
30586// whether the returned error was because http.StatusNotModified was
30587// returned.
30588func (c *ProjectsLocationsAgentsWebhooksListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3ListWebhooksResponse, error) {
30589	gensupport.SetOptions(c.urlParams_, opts...)
30590	res, err := c.doRequest("json")
30591	if res != nil && res.StatusCode == http.StatusNotModified {
30592		if res.Body != nil {
30593			res.Body.Close()
30594		}
30595		return nil, &googleapi.Error{
30596			Code:   res.StatusCode,
30597			Header: res.Header,
30598		}
30599	}
30600	if err != nil {
30601		return nil, err
30602	}
30603	defer googleapi.CloseBody(res)
30604	if err := googleapi.CheckResponse(res); err != nil {
30605		return nil, err
30606	}
30607	ret := &GoogleCloudDialogflowCxV3ListWebhooksResponse{
30608		ServerResponse: googleapi.ServerResponse{
30609			Header:         res.Header,
30610			HTTPStatusCode: res.StatusCode,
30611		},
30612	}
30613	target := &ret
30614	if err := gensupport.DecodeResponse(target, res); err != nil {
30615		return nil, err
30616	}
30617	return ret, nil
30618	// {
30619	//   "description": "Returns the list of all webhooks in the specified agent.",
30620	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/webhooks",
30621	//   "httpMethod": "GET",
30622	//   "id": "dialogflow.projects.locations.agents.webhooks.list",
30623	//   "parameterOrder": [
30624	//     "parent"
30625	//   ],
30626	//   "parameters": {
30627	//     "pageSize": {
30628	//       "description": "The maximum number of items to return in a single page. By default 100 and at most 1000.",
30629	//       "format": "int32",
30630	//       "location": "query",
30631	//       "type": "integer"
30632	//     },
30633	//     "pageToken": {
30634	//       "description": "The next_page_token value returned from a previous list request.",
30635	//       "location": "query",
30636	//       "type": "string"
30637	//     },
30638	//     "parent": {
30639	//       "description": "Required. The agent to list all webhooks for. Format: `projects//locations//agents/`.",
30640	//       "location": "path",
30641	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$",
30642	//       "required": true,
30643	//       "type": "string"
30644	//     }
30645	//   },
30646	//   "path": "v3/{+parent}/webhooks",
30647	//   "response": {
30648	//     "$ref": "GoogleCloudDialogflowCxV3ListWebhooksResponse"
30649	//   },
30650	//   "scopes": [
30651	//     "https://www.googleapis.com/auth/cloud-platform",
30652	//     "https://www.googleapis.com/auth/dialogflow"
30653	//   ]
30654	// }
30655
30656}
30657
30658// Pages invokes f for each page of results.
30659// A non-nil error returned from f will halt the iteration.
30660// The provided context supersedes any context provided to the Context method.
30661func (c *ProjectsLocationsAgentsWebhooksListCall) Pages(ctx context.Context, f func(*GoogleCloudDialogflowCxV3ListWebhooksResponse) error) error {
30662	c.ctx_ = ctx
30663	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
30664	for {
30665		x, err := c.Do()
30666		if err != nil {
30667			return err
30668		}
30669		if err := f(x); err != nil {
30670			return err
30671		}
30672		if x.NextPageToken == "" {
30673			return nil
30674		}
30675		c.PageToken(x.NextPageToken)
30676	}
30677}
30678
30679// method id "dialogflow.projects.locations.agents.webhooks.patch":
30680
30681type ProjectsLocationsAgentsWebhooksPatchCall struct {
30682	s                                *Service
30683	nameid                           string
30684	googleclouddialogflowcxv3webhook *GoogleCloudDialogflowCxV3Webhook
30685	urlParams_                       gensupport.URLParams
30686	ctx_                             context.Context
30687	header_                          http.Header
30688}
30689
30690// Patch: Updates the specified webhook.
30691//
30692// - name: The unique identifier of the webhook. Required for the
30693//   Webhooks.UpdateWebhook method. Webhooks.CreateWebhook populates the
30694//   name automatically. Format:
30695//   `projects//locations//agents//webhooks/`.
30696func (r *ProjectsLocationsAgentsWebhooksService) Patch(nameid string, googleclouddialogflowcxv3webhook *GoogleCloudDialogflowCxV3Webhook) *ProjectsLocationsAgentsWebhooksPatchCall {
30697	c := &ProjectsLocationsAgentsWebhooksPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30698	c.nameid = nameid
30699	c.googleclouddialogflowcxv3webhook = googleclouddialogflowcxv3webhook
30700	return c
30701}
30702
30703// UpdateMask sets the optional parameter "updateMask": The mask to
30704// control which fields get updated. If the mask is not present, all
30705// fields will be updated.
30706func (c *ProjectsLocationsAgentsWebhooksPatchCall) UpdateMask(updateMask string) *ProjectsLocationsAgentsWebhooksPatchCall {
30707	c.urlParams_.Set("updateMask", updateMask)
30708	return c
30709}
30710
30711// Fields allows partial responses to be retrieved. See
30712// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30713// for more information.
30714func (c *ProjectsLocationsAgentsWebhooksPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsWebhooksPatchCall {
30715	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30716	return c
30717}
30718
30719// Context sets the context to be used in this call's Do method. Any
30720// pending HTTP request will be aborted if the provided context is
30721// canceled.
30722func (c *ProjectsLocationsAgentsWebhooksPatchCall) Context(ctx context.Context) *ProjectsLocationsAgentsWebhooksPatchCall {
30723	c.ctx_ = ctx
30724	return c
30725}
30726
30727// Header returns an http.Header that can be modified by the caller to
30728// add HTTP headers to the request.
30729func (c *ProjectsLocationsAgentsWebhooksPatchCall) Header() http.Header {
30730	if c.header_ == nil {
30731		c.header_ = make(http.Header)
30732	}
30733	return c.header_
30734}
30735
30736func (c *ProjectsLocationsAgentsWebhooksPatchCall) doRequest(alt string) (*http.Response, error) {
30737	reqHeaders := make(http.Header)
30738	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
30739	for k, v := range c.header_ {
30740		reqHeaders[k] = v
30741	}
30742	reqHeaders.Set("User-Agent", c.s.userAgent())
30743	var body io.Reader = nil
30744	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3webhook)
30745	if err != nil {
30746		return nil, err
30747	}
30748	reqHeaders.Set("Content-Type", "application/json")
30749	c.urlParams_.Set("alt", alt)
30750	c.urlParams_.Set("prettyPrint", "false")
30751	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
30752	urls += "?" + c.urlParams_.Encode()
30753	req, err := http.NewRequest("PATCH", urls, body)
30754	if err != nil {
30755		return nil, err
30756	}
30757	req.Header = reqHeaders
30758	googleapi.Expand(req.URL, map[string]string{
30759		"name": c.nameid,
30760	})
30761	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30762}
30763
30764// Do executes the "dialogflow.projects.locations.agents.webhooks.patch" call.
30765// Exactly one of *GoogleCloudDialogflowCxV3Webhook or error will be
30766// non-nil. Any non-2xx status code is an error. Response headers are in
30767// either *GoogleCloudDialogflowCxV3Webhook.ServerResponse.Header or (if
30768// a response was returned at all) in error.(*googleapi.Error).Header.
30769// Use googleapi.IsNotModified to check whether the returned error was
30770// because http.StatusNotModified was returned.
30771func (c *ProjectsLocationsAgentsWebhooksPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3Webhook, error) {
30772	gensupport.SetOptions(c.urlParams_, opts...)
30773	res, err := c.doRequest("json")
30774	if res != nil && res.StatusCode == http.StatusNotModified {
30775		if res.Body != nil {
30776			res.Body.Close()
30777		}
30778		return nil, &googleapi.Error{
30779			Code:   res.StatusCode,
30780			Header: res.Header,
30781		}
30782	}
30783	if err != nil {
30784		return nil, err
30785	}
30786	defer googleapi.CloseBody(res)
30787	if err := googleapi.CheckResponse(res); err != nil {
30788		return nil, err
30789	}
30790	ret := &GoogleCloudDialogflowCxV3Webhook{
30791		ServerResponse: googleapi.ServerResponse{
30792			Header:         res.Header,
30793			HTTPStatusCode: res.StatusCode,
30794		},
30795	}
30796	target := &ret
30797	if err := gensupport.DecodeResponse(target, res); err != nil {
30798		return nil, err
30799	}
30800	return ret, nil
30801	// {
30802	//   "description": "Updates the specified webhook.",
30803	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/webhooks/{webhooksId}",
30804	//   "httpMethod": "PATCH",
30805	//   "id": "dialogflow.projects.locations.agents.webhooks.patch",
30806	//   "parameterOrder": [
30807	//     "name"
30808	//   ],
30809	//   "parameters": {
30810	//     "name": {
30811	//       "description": "The unique identifier of the webhook. Required for the Webhooks.UpdateWebhook method. Webhooks.CreateWebhook populates the name automatically. Format: `projects//locations//agents//webhooks/`.",
30812	//       "location": "path",
30813	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/webhooks/[^/]+$",
30814	//       "required": true,
30815	//       "type": "string"
30816	//     },
30817	//     "updateMask": {
30818	//       "description": "The mask to control which fields get updated. If the mask is not present, all fields will be updated.",
30819	//       "format": "google-fieldmask",
30820	//       "location": "query",
30821	//       "type": "string"
30822	//     }
30823	//   },
30824	//   "path": "v3/{+name}",
30825	//   "request": {
30826	//     "$ref": "GoogleCloudDialogflowCxV3Webhook"
30827	//   },
30828	//   "response": {
30829	//     "$ref": "GoogleCloudDialogflowCxV3Webhook"
30830	//   },
30831	//   "scopes": [
30832	//     "https://www.googleapis.com/auth/cloud-platform",
30833	//     "https://www.googleapis.com/auth/dialogflow"
30834	//   ]
30835	// }
30836
30837}
30838
30839// method id "dialogflow.projects.locations.operations.cancel":
30840
30841type ProjectsLocationsOperationsCancelCall struct {
30842	s          *Service
30843	name       string
30844	urlParams_ gensupport.URLParams
30845	ctx_       context.Context
30846	header_    http.Header
30847}
30848
30849// Cancel: Starts asynchronous cancellation on a long-running operation.
30850// The server makes a best effort to cancel the operation, but success
30851// is not guaranteed. If the server doesn't support this method, it
30852// returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use
30853// Operations.GetOperation or other methods to check whether the
30854// cancellation succeeded or whether the operation completed despite
30855// cancellation. On successful cancellation, the operation is not
30856// deleted; instead, it becomes an operation with an Operation.error
30857// value with a google.rpc.Status.code of 1, corresponding to
30858// `Code.CANCELLED`.
30859//
30860// - name: The name of the operation resource to be cancelled.
30861func (r *ProjectsLocationsOperationsService) Cancel(name string) *ProjectsLocationsOperationsCancelCall {
30862	c := &ProjectsLocationsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30863	c.name = name
30864	return c
30865}
30866
30867// Fields allows partial responses to be retrieved. See
30868// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30869// for more information.
30870func (c *ProjectsLocationsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsCancelCall {
30871	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30872	return c
30873}
30874
30875// Context sets the context to be used in this call's Do method. Any
30876// pending HTTP request will be aborted if the provided context is
30877// canceled.
30878func (c *ProjectsLocationsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsOperationsCancelCall {
30879	c.ctx_ = ctx
30880	return c
30881}
30882
30883// Header returns an http.Header that can be modified by the caller to
30884// add HTTP headers to the request.
30885func (c *ProjectsLocationsOperationsCancelCall) Header() http.Header {
30886	if c.header_ == nil {
30887		c.header_ = make(http.Header)
30888	}
30889	return c.header_
30890}
30891
30892func (c *ProjectsLocationsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
30893	reqHeaders := make(http.Header)
30894	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
30895	for k, v := range c.header_ {
30896		reqHeaders[k] = v
30897	}
30898	reqHeaders.Set("User-Agent", c.s.userAgent())
30899	var body io.Reader = nil
30900	c.urlParams_.Set("alt", alt)
30901	c.urlParams_.Set("prettyPrint", "false")
30902	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}:cancel")
30903	urls += "?" + c.urlParams_.Encode()
30904	req, err := http.NewRequest("POST", urls, body)
30905	if err != nil {
30906		return nil, err
30907	}
30908	req.Header = reqHeaders
30909	googleapi.Expand(req.URL, map[string]string{
30910		"name": c.name,
30911	})
30912	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30913}
30914
30915// Do executes the "dialogflow.projects.locations.operations.cancel" call.
30916// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
30917// non-2xx status code is an error. Response headers are in either
30918// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
30919// returned at all) in error.(*googleapi.Error).Header. Use
30920// googleapi.IsNotModified to check whether the returned error was
30921// because http.StatusNotModified was returned.
30922func (c *ProjectsLocationsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
30923	gensupport.SetOptions(c.urlParams_, opts...)
30924	res, err := c.doRequest("json")
30925	if res != nil && res.StatusCode == http.StatusNotModified {
30926		if res.Body != nil {
30927			res.Body.Close()
30928		}
30929		return nil, &googleapi.Error{
30930			Code:   res.StatusCode,
30931			Header: res.Header,
30932		}
30933	}
30934	if err != nil {
30935		return nil, err
30936	}
30937	defer googleapi.CloseBody(res)
30938	if err := googleapi.CheckResponse(res); err != nil {
30939		return nil, err
30940	}
30941	ret := &GoogleProtobufEmpty{
30942		ServerResponse: googleapi.ServerResponse{
30943			Header:         res.Header,
30944			HTTPStatusCode: res.StatusCode,
30945		},
30946	}
30947	target := &ret
30948	if err := gensupport.DecodeResponse(target, res); err != nil {
30949		return nil, err
30950	}
30951	return ret, nil
30952	// {
30953	//   "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.",
30954	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel",
30955	//   "httpMethod": "POST",
30956	//   "id": "dialogflow.projects.locations.operations.cancel",
30957	//   "parameterOrder": [
30958	//     "name"
30959	//   ],
30960	//   "parameters": {
30961	//     "name": {
30962	//       "description": "The name of the operation resource to be cancelled.",
30963	//       "location": "path",
30964	//       "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
30965	//       "required": true,
30966	//       "type": "string"
30967	//     }
30968	//   },
30969	//   "path": "v3/{+name}:cancel",
30970	//   "response": {
30971	//     "$ref": "GoogleProtobufEmpty"
30972	//   },
30973	//   "scopes": [
30974	//     "https://www.googleapis.com/auth/cloud-platform",
30975	//     "https://www.googleapis.com/auth/dialogflow"
30976	//   ]
30977	// }
30978
30979}
30980
30981// method id "dialogflow.projects.locations.operations.get":
30982
30983type ProjectsLocationsOperationsGetCall struct {
30984	s            *Service
30985	name         string
30986	urlParams_   gensupport.URLParams
30987	ifNoneMatch_ string
30988	ctx_         context.Context
30989	header_      http.Header
30990}
30991
30992// Get: Gets the latest state of a long-running operation. Clients can
30993// use this method to poll the operation result at intervals as
30994// recommended by the API service.
30995//
30996// - name: The name of the operation resource.
30997func (r *ProjectsLocationsOperationsService) Get(name string) *ProjectsLocationsOperationsGetCall {
30998	c := &ProjectsLocationsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30999	c.name = name
31000	return c
31001}
31002
31003// Fields allows partial responses to be retrieved. See
31004// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31005// for more information.
31006func (c *ProjectsLocationsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsGetCall {
31007	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31008	return c
31009}
31010
31011// IfNoneMatch sets the optional parameter which makes the operation
31012// fail if the object's ETag matches the given value. This is useful for
31013// getting updates only after the object has changed since the last
31014// request. Use googleapi.IsNotModified to check whether the response
31015// error from Do is the result of In-None-Match.
31016func (c *ProjectsLocationsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsOperationsGetCall {
31017	c.ifNoneMatch_ = entityTag
31018	return c
31019}
31020
31021// Context sets the context to be used in this call's Do method. Any
31022// pending HTTP request will be aborted if the provided context is
31023// canceled.
31024func (c *ProjectsLocationsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsOperationsGetCall {
31025	c.ctx_ = ctx
31026	return c
31027}
31028
31029// Header returns an http.Header that can be modified by the caller to
31030// add HTTP headers to the request.
31031func (c *ProjectsLocationsOperationsGetCall) Header() http.Header {
31032	if c.header_ == nil {
31033		c.header_ = make(http.Header)
31034	}
31035	return c.header_
31036}
31037
31038func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
31039	reqHeaders := make(http.Header)
31040	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
31041	for k, v := range c.header_ {
31042		reqHeaders[k] = v
31043	}
31044	reqHeaders.Set("User-Agent", c.s.userAgent())
31045	if c.ifNoneMatch_ != "" {
31046		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
31047	}
31048	var body io.Reader = nil
31049	c.urlParams_.Set("alt", alt)
31050	c.urlParams_.Set("prettyPrint", "false")
31051	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
31052	urls += "?" + c.urlParams_.Encode()
31053	req, err := http.NewRequest("GET", urls, body)
31054	if err != nil {
31055		return nil, err
31056	}
31057	req.Header = reqHeaders
31058	googleapi.Expand(req.URL, map[string]string{
31059		"name": c.name,
31060	})
31061	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31062}
31063
31064// Do executes the "dialogflow.projects.locations.operations.get" call.
31065// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
31066// Any non-2xx status code is an error. Response headers are in either
31067// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
31068// was returned at all) in error.(*googleapi.Error).Header. Use
31069// googleapi.IsNotModified to check whether the returned error was
31070// because http.StatusNotModified was returned.
31071func (c *ProjectsLocationsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
31072	gensupport.SetOptions(c.urlParams_, opts...)
31073	res, err := c.doRequest("json")
31074	if res != nil && res.StatusCode == http.StatusNotModified {
31075		if res.Body != nil {
31076			res.Body.Close()
31077		}
31078		return nil, &googleapi.Error{
31079			Code:   res.StatusCode,
31080			Header: res.Header,
31081		}
31082	}
31083	if err != nil {
31084		return nil, err
31085	}
31086	defer googleapi.CloseBody(res)
31087	if err := googleapi.CheckResponse(res); err != nil {
31088		return nil, err
31089	}
31090	ret := &GoogleLongrunningOperation{
31091		ServerResponse: googleapi.ServerResponse{
31092			Header:         res.Header,
31093			HTTPStatusCode: res.StatusCode,
31094		},
31095	}
31096	target := &ret
31097	if err := gensupport.DecodeResponse(target, res); err != nil {
31098		return nil, err
31099	}
31100	return ret, nil
31101	// {
31102	//   "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
31103	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}",
31104	//   "httpMethod": "GET",
31105	//   "id": "dialogflow.projects.locations.operations.get",
31106	//   "parameterOrder": [
31107	//     "name"
31108	//   ],
31109	//   "parameters": {
31110	//     "name": {
31111	//       "description": "The name of the operation resource.",
31112	//       "location": "path",
31113	//       "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
31114	//       "required": true,
31115	//       "type": "string"
31116	//     }
31117	//   },
31118	//   "path": "v3/{+name}",
31119	//   "response": {
31120	//     "$ref": "GoogleLongrunningOperation"
31121	//   },
31122	//   "scopes": [
31123	//     "https://www.googleapis.com/auth/cloud-platform",
31124	//     "https://www.googleapis.com/auth/dialogflow"
31125	//   ]
31126	// }
31127
31128}
31129
31130// method id "dialogflow.projects.locations.operations.list":
31131
31132type ProjectsLocationsOperationsListCall struct {
31133	s            *Service
31134	name         string
31135	urlParams_   gensupport.URLParams
31136	ifNoneMatch_ string
31137	ctx_         context.Context
31138	header_      http.Header
31139}
31140
31141// List: Lists operations that match the specified filter in the
31142// request. If the server doesn't support this method, it returns
31143// `UNIMPLEMENTED`. NOTE: the `name` binding allows API services to
31144// override the binding to use different resource name schemes, such as
31145// `users/*/operations`. To override the binding, API services can add a
31146// binding such as "/v1/{name=users/*}/operations" to their service
31147// configuration. For backwards compatibility, the default name includes
31148// the operations collection id, however overriding users must ensure
31149// the name binding is the parent resource, without the operations
31150// collection id.
31151//
31152// - name: The name of the operation's parent resource.
31153func (r *ProjectsLocationsOperationsService) List(name string) *ProjectsLocationsOperationsListCall {
31154	c := &ProjectsLocationsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31155	c.name = name
31156	return c
31157}
31158
31159// Filter sets the optional parameter "filter": The standard list
31160// filter.
31161func (c *ProjectsLocationsOperationsListCall) Filter(filter string) *ProjectsLocationsOperationsListCall {
31162	c.urlParams_.Set("filter", filter)
31163	return c
31164}
31165
31166// PageSize sets the optional parameter "pageSize": The standard list
31167// page size.
31168func (c *ProjectsLocationsOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsOperationsListCall {
31169	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
31170	return c
31171}
31172
31173// PageToken sets the optional parameter "pageToken": The standard list
31174// page token.
31175func (c *ProjectsLocationsOperationsListCall) PageToken(pageToken string) *ProjectsLocationsOperationsListCall {
31176	c.urlParams_.Set("pageToken", pageToken)
31177	return c
31178}
31179
31180// Fields allows partial responses to be retrieved. See
31181// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31182// for more information.
31183func (c *ProjectsLocationsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsListCall {
31184	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31185	return c
31186}
31187
31188// IfNoneMatch sets the optional parameter which makes the operation
31189// fail if the object's ETag matches the given value. This is useful for
31190// getting updates only after the object has changed since the last
31191// request. Use googleapi.IsNotModified to check whether the response
31192// error from Do is the result of In-None-Match.
31193func (c *ProjectsLocationsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsOperationsListCall {
31194	c.ifNoneMatch_ = entityTag
31195	return c
31196}
31197
31198// Context sets the context to be used in this call's Do method. Any
31199// pending HTTP request will be aborted if the provided context is
31200// canceled.
31201func (c *ProjectsLocationsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsOperationsListCall {
31202	c.ctx_ = ctx
31203	return c
31204}
31205
31206// Header returns an http.Header that can be modified by the caller to
31207// add HTTP headers to the request.
31208func (c *ProjectsLocationsOperationsListCall) Header() http.Header {
31209	if c.header_ == nil {
31210		c.header_ = make(http.Header)
31211	}
31212	return c.header_
31213}
31214
31215func (c *ProjectsLocationsOperationsListCall) doRequest(alt string) (*http.Response, error) {
31216	reqHeaders := make(http.Header)
31217	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
31218	for k, v := range c.header_ {
31219		reqHeaders[k] = v
31220	}
31221	reqHeaders.Set("User-Agent", c.s.userAgent())
31222	if c.ifNoneMatch_ != "" {
31223		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
31224	}
31225	var body io.Reader = nil
31226	c.urlParams_.Set("alt", alt)
31227	c.urlParams_.Set("prettyPrint", "false")
31228	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}/operations")
31229	urls += "?" + c.urlParams_.Encode()
31230	req, err := http.NewRequest("GET", urls, body)
31231	if err != nil {
31232		return nil, err
31233	}
31234	req.Header = reqHeaders
31235	googleapi.Expand(req.URL, map[string]string{
31236		"name": c.name,
31237	})
31238	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31239}
31240
31241// Do executes the "dialogflow.projects.locations.operations.list" call.
31242// Exactly one of *GoogleLongrunningListOperationsResponse or error will
31243// be non-nil. Any non-2xx status code is an error. Response headers are
31244// in either
31245// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if
31246// a response was returned at all) in error.(*googleapi.Error).Header.
31247// Use googleapi.IsNotModified to check whether the returned error was
31248// because http.StatusNotModified was returned.
31249func (c *ProjectsLocationsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
31250	gensupport.SetOptions(c.urlParams_, opts...)
31251	res, err := c.doRequest("json")
31252	if res != nil && res.StatusCode == http.StatusNotModified {
31253		if res.Body != nil {
31254			res.Body.Close()
31255		}
31256		return nil, &googleapi.Error{
31257			Code:   res.StatusCode,
31258			Header: res.Header,
31259		}
31260	}
31261	if err != nil {
31262		return nil, err
31263	}
31264	defer googleapi.CloseBody(res)
31265	if err := googleapi.CheckResponse(res); err != nil {
31266		return nil, err
31267	}
31268	ret := &GoogleLongrunningListOperationsResponse{
31269		ServerResponse: googleapi.ServerResponse{
31270			Header:         res.Header,
31271			HTTPStatusCode: res.StatusCode,
31272		},
31273	}
31274	target := &ret
31275	if err := gensupport.DecodeResponse(target, res); err != nil {
31276		return nil, err
31277	}
31278	return ret, nil
31279	// {
31280	//   "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: the `name` binding allows API services to override the binding to use different resource name schemes, such as `users/*/operations`. To override the binding, API services can add a binding such as `\"/v1/{name=users/*}/operations\"` to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.",
31281	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/operations",
31282	//   "httpMethod": "GET",
31283	//   "id": "dialogflow.projects.locations.operations.list",
31284	//   "parameterOrder": [
31285	//     "name"
31286	//   ],
31287	//   "parameters": {
31288	//     "filter": {
31289	//       "description": "The standard list filter.",
31290	//       "location": "query",
31291	//       "type": "string"
31292	//     },
31293	//     "name": {
31294	//       "description": "The name of the operation's parent resource.",
31295	//       "location": "path",
31296	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
31297	//       "required": true,
31298	//       "type": "string"
31299	//     },
31300	//     "pageSize": {
31301	//       "description": "The standard list page size.",
31302	//       "format": "int32",
31303	//       "location": "query",
31304	//       "type": "integer"
31305	//     },
31306	//     "pageToken": {
31307	//       "description": "The standard list page token.",
31308	//       "location": "query",
31309	//       "type": "string"
31310	//     }
31311	//   },
31312	//   "path": "v3/{+name}/operations",
31313	//   "response": {
31314	//     "$ref": "GoogleLongrunningListOperationsResponse"
31315	//   },
31316	//   "scopes": [
31317	//     "https://www.googleapis.com/auth/cloud-platform",
31318	//     "https://www.googleapis.com/auth/dialogflow"
31319	//   ]
31320	// }
31321
31322}
31323
31324// Pages invokes f for each page of results.
31325// A non-nil error returned from f will halt the iteration.
31326// The provided context supersedes any context provided to the Context method.
31327func (c *ProjectsLocationsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
31328	c.ctx_ = ctx
31329	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
31330	for {
31331		x, err := c.Do()
31332		if err != nil {
31333			return err
31334		}
31335		if err := f(x); err != nil {
31336			return err
31337		}
31338		if x.NextPageToken == "" {
31339			return nil
31340		}
31341		c.PageToken(x.NextPageToken)
31342	}
31343}
31344
31345// method id "dialogflow.projects.locations.securitySettings.create":
31346
31347type ProjectsLocationsSecuritySettingsCreateCall struct {
31348	s                                         *Service
31349	parent                                    string
31350	googleclouddialogflowcxv3securitysettings *GoogleCloudDialogflowCxV3SecuritySettings
31351	urlParams_                                gensupport.URLParams
31352	ctx_                                      context.Context
31353	header_                                   http.Header
31354}
31355
31356// Create: Create security settings in the specified location.
31357//
31358// - parent: The location to create an SecuritySettings for. Format:
31359//   `projects//locations/`.
31360func (r *ProjectsLocationsSecuritySettingsService) Create(parent string, googleclouddialogflowcxv3securitysettings *GoogleCloudDialogflowCxV3SecuritySettings) *ProjectsLocationsSecuritySettingsCreateCall {
31361	c := &ProjectsLocationsSecuritySettingsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31362	c.parent = parent
31363	c.googleclouddialogflowcxv3securitysettings = googleclouddialogflowcxv3securitysettings
31364	return c
31365}
31366
31367// Fields allows partial responses to be retrieved. See
31368// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31369// for more information.
31370func (c *ProjectsLocationsSecuritySettingsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsSecuritySettingsCreateCall {
31371	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31372	return c
31373}
31374
31375// Context sets the context to be used in this call's Do method. Any
31376// pending HTTP request will be aborted if the provided context is
31377// canceled.
31378func (c *ProjectsLocationsSecuritySettingsCreateCall) Context(ctx context.Context) *ProjectsLocationsSecuritySettingsCreateCall {
31379	c.ctx_ = ctx
31380	return c
31381}
31382
31383// Header returns an http.Header that can be modified by the caller to
31384// add HTTP headers to the request.
31385func (c *ProjectsLocationsSecuritySettingsCreateCall) Header() http.Header {
31386	if c.header_ == nil {
31387		c.header_ = make(http.Header)
31388	}
31389	return c.header_
31390}
31391
31392func (c *ProjectsLocationsSecuritySettingsCreateCall) doRequest(alt string) (*http.Response, error) {
31393	reqHeaders := make(http.Header)
31394	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
31395	for k, v := range c.header_ {
31396		reqHeaders[k] = v
31397	}
31398	reqHeaders.Set("User-Agent", c.s.userAgent())
31399	var body io.Reader = nil
31400	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3securitysettings)
31401	if err != nil {
31402		return nil, err
31403	}
31404	reqHeaders.Set("Content-Type", "application/json")
31405	c.urlParams_.Set("alt", alt)
31406	c.urlParams_.Set("prettyPrint", "false")
31407	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/securitySettings")
31408	urls += "?" + c.urlParams_.Encode()
31409	req, err := http.NewRequest("POST", urls, body)
31410	if err != nil {
31411		return nil, err
31412	}
31413	req.Header = reqHeaders
31414	googleapi.Expand(req.URL, map[string]string{
31415		"parent": c.parent,
31416	})
31417	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31418}
31419
31420// Do executes the "dialogflow.projects.locations.securitySettings.create" call.
31421// Exactly one of *GoogleCloudDialogflowCxV3SecuritySettings or error
31422// will be non-nil. Any non-2xx status code is an error. Response
31423// headers are in either
31424// *GoogleCloudDialogflowCxV3SecuritySettings.ServerResponse.Header or
31425// (if a response was returned at all) in
31426// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
31427// whether the returned error was because http.StatusNotModified was
31428// returned.
31429func (c *ProjectsLocationsSecuritySettingsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3SecuritySettings, error) {
31430	gensupport.SetOptions(c.urlParams_, opts...)
31431	res, err := c.doRequest("json")
31432	if res != nil && res.StatusCode == http.StatusNotModified {
31433		if res.Body != nil {
31434			res.Body.Close()
31435		}
31436		return nil, &googleapi.Error{
31437			Code:   res.StatusCode,
31438			Header: res.Header,
31439		}
31440	}
31441	if err != nil {
31442		return nil, err
31443	}
31444	defer googleapi.CloseBody(res)
31445	if err := googleapi.CheckResponse(res); err != nil {
31446		return nil, err
31447	}
31448	ret := &GoogleCloudDialogflowCxV3SecuritySettings{
31449		ServerResponse: googleapi.ServerResponse{
31450			Header:         res.Header,
31451			HTTPStatusCode: res.StatusCode,
31452		},
31453	}
31454	target := &ret
31455	if err := gensupport.DecodeResponse(target, res); err != nil {
31456		return nil, err
31457	}
31458	return ret, nil
31459	// {
31460	//   "description": "Create security settings in the specified location.",
31461	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/securitySettings",
31462	//   "httpMethod": "POST",
31463	//   "id": "dialogflow.projects.locations.securitySettings.create",
31464	//   "parameterOrder": [
31465	//     "parent"
31466	//   ],
31467	//   "parameters": {
31468	//     "parent": {
31469	//       "description": "Required. The location to create an SecuritySettings for. Format: `projects//locations/`.",
31470	//       "location": "path",
31471	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
31472	//       "required": true,
31473	//       "type": "string"
31474	//     }
31475	//   },
31476	//   "path": "v3/{+parent}/securitySettings",
31477	//   "request": {
31478	//     "$ref": "GoogleCloudDialogflowCxV3SecuritySettings"
31479	//   },
31480	//   "response": {
31481	//     "$ref": "GoogleCloudDialogflowCxV3SecuritySettings"
31482	//   },
31483	//   "scopes": [
31484	//     "https://www.googleapis.com/auth/cloud-platform",
31485	//     "https://www.googleapis.com/auth/dialogflow"
31486	//   ]
31487	// }
31488
31489}
31490
31491// method id "dialogflow.projects.locations.securitySettings.delete":
31492
31493type ProjectsLocationsSecuritySettingsDeleteCall struct {
31494	s          *Service
31495	name       string
31496	urlParams_ gensupport.URLParams
31497	ctx_       context.Context
31498	header_    http.Header
31499}
31500
31501// Delete: Deletes the specified SecuritySettings.
31502//
31503// - name: The name of the SecuritySettings to delete. Format:
31504//   `projects//locations//securitySettings/`.
31505func (r *ProjectsLocationsSecuritySettingsService) Delete(name string) *ProjectsLocationsSecuritySettingsDeleteCall {
31506	c := &ProjectsLocationsSecuritySettingsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31507	c.name = name
31508	return c
31509}
31510
31511// Fields allows partial responses to be retrieved. See
31512// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31513// for more information.
31514func (c *ProjectsLocationsSecuritySettingsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsSecuritySettingsDeleteCall {
31515	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31516	return c
31517}
31518
31519// Context sets the context to be used in this call's Do method. Any
31520// pending HTTP request will be aborted if the provided context is
31521// canceled.
31522func (c *ProjectsLocationsSecuritySettingsDeleteCall) Context(ctx context.Context) *ProjectsLocationsSecuritySettingsDeleteCall {
31523	c.ctx_ = ctx
31524	return c
31525}
31526
31527// Header returns an http.Header that can be modified by the caller to
31528// add HTTP headers to the request.
31529func (c *ProjectsLocationsSecuritySettingsDeleteCall) Header() http.Header {
31530	if c.header_ == nil {
31531		c.header_ = make(http.Header)
31532	}
31533	return c.header_
31534}
31535
31536func (c *ProjectsLocationsSecuritySettingsDeleteCall) doRequest(alt string) (*http.Response, error) {
31537	reqHeaders := make(http.Header)
31538	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
31539	for k, v := range c.header_ {
31540		reqHeaders[k] = v
31541	}
31542	reqHeaders.Set("User-Agent", c.s.userAgent())
31543	var body io.Reader = nil
31544	c.urlParams_.Set("alt", alt)
31545	c.urlParams_.Set("prettyPrint", "false")
31546	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
31547	urls += "?" + c.urlParams_.Encode()
31548	req, err := http.NewRequest("DELETE", urls, body)
31549	if err != nil {
31550		return nil, err
31551	}
31552	req.Header = reqHeaders
31553	googleapi.Expand(req.URL, map[string]string{
31554		"name": c.name,
31555	})
31556	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31557}
31558
31559// Do executes the "dialogflow.projects.locations.securitySettings.delete" call.
31560// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
31561// non-2xx status code is an error. Response headers are in either
31562// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
31563// returned at all) in error.(*googleapi.Error).Header. Use
31564// googleapi.IsNotModified to check whether the returned error was
31565// because http.StatusNotModified was returned.
31566func (c *ProjectsLocationsSecuritySettingsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
31567	gensupport.SetOptions(c.urlParams_, opts...)
31568	res, err := c.doRequest("json")
31569	if res != nil && res.StatusCode == http.StatusNotModified {
31570		if res.Body != nil {
31571			res.Body.Close()
31572		}
31573		return nil, &googleapi.Error{
31574			Code:   res.StatusCode,
31575			Header: res.Header,
31576		}
31577	}
31578	if err != nil {
31579		return nil, err
31580	}
31581	defer googleapi.CloseBody(res)
31582	if err := googleapi.CheckResponse(res); err != nil {
31583		return nil, err
31584	}
31585	ret := &GoogleProtobufEmpty{
31586		ServerResponse: googleapi.ServerResponse{
31587			Header:         res.Header,
31588			HTTPStatusCode: res.StatusCode,
31589		},
31590	}
31591	target := &ret
31592	if err := gensupport.DecodeResponse(target, res); err != nil {
31593		return nil, err
31594	}
31595	return ret, nil
31596	// {
31597	//   "description": "Deletes the specified SecuritySettings.",
31598	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/securitySettings/{securitySettingsId}",
31599	//   "httpMethod": "DELETE",
31600	//   "id": "dialogflow.projects.locations.securitySettings.delete",
31601	//   "parameterOrder": [
31602	//     "name"
31603	//   ],
31604	//   "parameters": {
31605	//     "name": {
31606	//       "description": "Required. The name of the SecuritySettings to delete. Format: `projects//locations//securitySettings/`.",
31607	//       "location": "path",
31608	//       "pattern": "^projects/[^/]+/locations/[^/]+/securitySettings/[^/]+$",
31609	//       "required": true,
31610	//       "type": "string"
31611	//     }
31612	//   },
31613	//   "path": "v3/{+name}",
31614	//   "response": {
31615	//     "$ref": "GoogleProtobufEmpty"
31616	//   },
31617	//   "scopes": [
31618	//     "https://www.googleapis.com/auth/cloud-platform",
31619	//     "https://www.googleapis.com/auth/dialogflow"
31620	//   ]
31621	// }
31622
31623}
31624
31625// method id "dialogflow.projects.locations.securitySettings.get":
31626
31627type ProjectsLocationsSecuritySettingsGetCall struct {
31628	s            *Service
31629	name         string
31630	urlParams_   gensupport.URLParams
31631	ifNoneMatch_ string
31632	ctx_         context.Context
31633	header_      http.Header
31634}
31635
31636// Get: Retrieves the specified SecuritySettings. The returned settings
31637// may be stale by up to 1 minute.
31638//
31639// - name: Resource name of the settings. Format:
31640//   `projects//locations//securitySettings/`.
31641func (r *ProjectsLocationsSecuritySettingsService) Get(name string) *ProjectsLocationsSecuritySettingsGetCall {
31642	c := &ProjectsLocationsSecuritySettingsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31643	c.name = name
31644	return c
31645}
31646
31647// Fields allows partial responses to be retrieved. See
31648// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31649// for more information.
31650func (c *ProjectsLocationsSecuritySettingsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsSecuritySettingsGetCall {
31651	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31652	return c
31653}
31654
31655// IfNoneMatch sets the optional parameter which makes the operation
31656// fail if the object's ETag matches the given value. This is useful for
31657// getting updates only after the object has changed since the last
31658// request. Use googleapi.IsNotModified to check whether the response
31659// error from Do is the result of In-None-Match.
31660func (c *ProjectsLocationsSecuritySettingsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsSecuritySettingsGetCall {
31661	c.ifNoneMatch_ = entityTag
31662	return c
31663}
31664
31665// Context sets the context to be used in this call's Do method. Any
31666// pending HTTP request will be aborted if the provided context is
31667// canceled.
31668func (c *ProjectsLocationsSecuritySettingsGetCall) Context(ctx context.Context) *ProjectsLocationsSecuritySettingsGetCall {
31669	c.ctx_ = ctx
31670	return c
31671}
31672
31673// Header returns an http.Header that can be modified by the caller to
31674// add HTTP headers to the request.
31675func (c *ProjectsLocationsSecuritySettingsGetCall) Header() http.Header {
31676	if c.header_ == nil {
31677		c.header_ = make(http.Header)
31678	}
31679	return c.header_
31680}
31681
31682func (c *ProjectsLocationsSecuritySettingsGetCall) doRequest(alt string) (*http.Response, error) {
31683	reqHeaders := make(http.Header)
31684	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
31685	for k, v := range c.header_ {
31686		reqHeaders[k] = v
31687	}
31688	reqHeaders.Set("User-Agent", c.s.userAgent())
31689	if c.ifNoneMatch_ != "" {
31690		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
31691	}
31692	var body io.Reader = nil
31693	c.urlParams_.Set("alt", alt)
31694	c.urlParams_.Set("prettyPrint", "false")
31695	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
31696	urls += "?" + c.urlParams_.Encode()
31697	req, err := http.NewRequest("GET", urls, body)
31698	if err != nil {
31699		return nil, err
31700	}
31701	req.Header = reqHeaders
31702	googleapi.Expand(req.URL, map[string]string{
31703		"name": c.name,
31704	})
31705	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31706}
31707
31708// Do executes the "dialogflow.projects.locations.securitySettings.get" call.
31709// Exactly one of *GoogleCloudDialogflowCxV3SecuritySettings or error
31710// will be non-nil. Any non-2xx status code is an error. Response
31711// headers are in either
31712// *GoogleCloudDialogflowCxV3SecuritySettings.ServerResponse.Header or
31713// (if a response was returned at all) in
31714// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
31715// whether the returned error was because http.StatusNotModified was
31716// returned.
31717func (c *ProjectsLocationsSecuritySettingsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3SecuritySettings, error) {
31718	gensupport.SetOptions(c.urlParams_, opts...)
31719	res, err := c.doRequest("json")
31720	if res != nil && res.StatusCode == http.StatusNotModified {
31721		if res.Body != nil {
31722			res.Body.Close()
31723		}
31724		return nil, &googleapi.Error{
31725			Code:   res.StatusCode,
31726			Header: res.Header,
31727		}
31728	}
31729	if err != nil {
31730		return nil, err
31731	}
31732	defer googleapi.CloseBody(res)
31733	if err := googleapi.CheckResponse(res); err != nil {
31734		return nil, err
31735	}
31736	ret := &GoogleCloudDialogflowCxV3SecuritySettings{
31737		ServerResponse: googleapi.ServerResponse{
31738			Header:         res.Header,
31739			HTTPStatusCode: res.StatusCode,
31740		},
31741	}
31742	target := &ret
31743	if err := gensupport.DecodeResponse(target, res); err != nil {
31744		return nil, err
31745	}
31746	return ret, nil
31747	// {
31748	//   "description": "Retrieves the specified SecuritySettings. The returned settings may be stale by up to 1 minute.",
31749	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/securitySettings/{securitySettingsId}",
31750	//   "httpMethod": "GET",
31751	//   "id": "dialogflow.projects.locations.securitySettings.get",
31752	//   "parameterOrder": [
31753	//     "name"
31754	//   ],
31755	//   "parameters": {
31756	//     "name": {
31757	//       "description": "Required. Resource name of the settings. Format: `projects//locations//securitySettings/`.",
31758	//       "location": "path",
31759	//       "pattern": "^projects/[^/]+/locations/[^/]+/securitySettings/[^/]+$",
31760	//       "required": true,
31761	//       "type": "string"
31762	//     }
31763	//   },
31764	//   "path": "v3/{+name}",
31765	//   "response": {
31766	//     "$ref": "GoogleCloudDialogflowCxV3SecuritySettings"
31767	//   },
31768	//   "scopes": [
31769	//     "https://www.googleapis.com/auth/cloud-platform",
31770	//     "https://www.googleapis.com/auth/dialogflow"
31771	//   ]
31772	// }
31773
31774}
31775
31776// method id "dialogflow.projects.locations.securitySettings.list":
31777
31778type ProjectsLocationsSecuritySettingsListCall struct {
31779	s            *Service
31780	parent       string
31781	urlParams_   gensupport.URLParams
31782	ifNoneMatch_ string
31783	ctx_         context.Context
31784	header_      http.Header
31785}
31786
31787// List: Returns the list of all security settings in the specified
31788// location.
31789//
31790// - parent: The location to list all security settings for. Format:
31791//   `projects//locations/`.
31792func (r *ProjectsLocationsSecuritySettingsService) List(parent string) *ProjectsLocationsSecuritySettingsListCall {
31793	c := &ProjectsLocationsSecuritySettingsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31794	c.parent = parent
31795	return c
31796}
31797
31798// PageSize sets the optional parameter "pageSize": The maximum number
31799// of items to return in a single page. By default 20 and at most 100.
31800func (c *ProjectsLocationsSecuritySettingsListCall) PageSize(pageSize int64) *ProjectsLocationsSecuritySettingsListCall {
31801	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
31802	return c
31803}
31804
31805// PageToken sets the optional parameter "pageToken": The
31806// next_page_token value returned from a previous list request.
31807func (c *ProjectsLocationsSecuritySettingsListCall) PageToken(pageToken string) *ProjectsLocationsSecuritySettingsListCall {
31808	c.urlParams_.Set("pageToken", pageToken)
31809	return c
31810}
31811
31812// Fields allows partial responses to be retrieved. See
31813// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31814// for more information.
31815func (c *ProjectsLocationsSecuritySettingsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsSecuritySettingsListCall {
31816	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31817	return c
31818}
31819
31820// IfNoneMatch sets the optional parameter which makes the operation
31821// fail if the object's ETag matches the given value. This is useful for
31822// getting updates only after the object has changed since the last
31823// request. Use googleapi.IsNotModified to check whether the response
31824// error from Do is the result of In-None-Match.
31825func (c *ProjectsLocationsSecuritySettingsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsSecuritySettingsListCall {
31826	c.ifNoneMatch_ = entityTag
31827	return c
31828}
31829
31830// Context sets the context to be used in this call's Do method. Any
31831// pending HTTP request will be aborted if the provided context is
31832// canceled.
31833func (c *ProjectsLocationsSecuritySettingsListCall) Context(ctx context.Context) *ProjectsLocationsSecuritySettingsListCall {
31834	c.ctx_ = ctx
31835	return c
31836}
31837
31838// Header returns an http.Header that can be modified by the caller to
31839// add HTTP headers to the request.
31840func (c *ProjectsLocationsSecuritySettingsListCall) Header() http.Header {
31841	if c.header_ == nil {
31842		c.header_ = make(http.Header)
31843	}
31844	return c.header_
31845}
31846
31847func (c *ProjectsLocationsSecuritySettingsListCall) doRequest(alt string) (*http.Response, error) {
31848	reqHeaders := make(http.Header)
31849	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
31850	for k, v := range c.header_ {
31851		reqHeaders[k] = v
31852	}
31853	reqHeaders.Set("User-Agent", c.s.userAgent())
31854	if c.ifNoneMatch_ != "" {
31855		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
31856	}
31857	var body io.Reader = nil
31858	c.urlParams_.Set("alt", alt)
31859	c.urlParams_.Set("prettyPrint", "false")
31860	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/securitySettings")
31861	urls += "?" + c.urlParams_.Encode()
31862	req, err := http.NewRequest("GET", urls, body)
31863	if err != nil {
31864		return nil, err
31865	}
31866	req.Header = reqHeaders
31867	googleapi.Expand(req.URL, map[string]string{
31868		"parent": c.parent,
31869	})
31870	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31871}
31872
31873// Do executes the "dialogflow.projects.locations.securitySettings.list" call.
31874// Exactly one of *GoogleCloudDialogflowCxV3ListSecuritySettingsResponse
31875// or error will be non-nil. Any non-2xx status code is an error.
31876// Response headers are in either
31877// *GoogleCloudDialogflowCxV3ListSecuritySettingsResponse.ServerResponse.
31878// Header or (if a response was returned at all) in
31879// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
31880// whether the returned error was because http.StatusNotModified was
31881// returned.
31882func (c *ProjectsLocationsSecuritySettingsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3ListSecuritySettingsResponse, error) {
31883	gensupport.SetOptions(c.urlParams_, opts...)
31884	res, err := c.doRequest("json")
31885	if res != nil && res.StatusCode == http.StatusNotModified {
31886		if res.Body != nil {
31887			res.Body.Close()
31888		}
31889		return nil, &googleapi.Error{
31890			Code:   res.StatusCode,
31891			Header: res.Header,
31892		}
31893	}
31894	if err != nil {
31895		return nil, err
31896	}
31897	defer googleapi.CloseBody(res)
31898	if err := googleapi.CheckResponse(res); err != nil {
31899		return nil, err
31900	}
31901	ret := &GoogleCloudDialogflowCxV3ListSecuritySettingsResponse{
31902		ServerResponse: googleapi.ServerResponse{
31903			Header:         res.Header,
31904			HTTPStatusCode: res.StatusCode,
31905		},
31906	}
31907	target := &ret
31908	if err := gensupport.DecodeResponse(target, res); err != nil {
31909		return nil, err
31910	}
31911	return ret, nil
31912	// {
31913	//   "description": "Returns the list of all security settings in the specified location.",
31914	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/securitySettings",
31915	//   "httpMethod": "GET",
31916	//   "id": "dialogflow.projects.locations.securitySettings.list",
31917	//   "parameterOrder": [
31918	//     "parent"
31919	//   ],
31920	//   "parameters": {
31921	//     "pageSize": {
31922	//       "description": "The maximum number of items to return in a single page. By default 20 and at most 100.",
31923	//       "format": "int32",
31924	//       "location": "query",
31925	//       "type": "integer"
31926	//     },
31927	//     "pageToken": {
31928	//       "description": "The next_page_token value returned from a previous list request.",
31929	//       "location": "query",
31930	//       "type": "string"
31931	//     },
31932	//     "parent": {
31933	//       "description": "Required. The location to list all security settings for. Format: `projects//locations/`.",
31934	//       "location": "path",
31935	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
31936	//       "required": true,
31937	//       "type": "string"
31938	//     }
31939	//   },
31940	//   "path": "v3/{+parent}/securitySettings",
31941	//   "response": {
31942	//     "$ref": "GoogleCloudDialogflowCxV3ListSecuritySettingsResponse"
31943	//   },
31944	//   "scopes": [
31945	//     "https://www.googleapis.com/auth/cloud-platform",
31946	//     "https://www.googleapis.com/auth/dialogflow"
31947	//   ]
31948	// }
31949
31950}
31951
31952// Pages invokes f for each page of results.
31953// A non-nil error returned from f will halt the iteration.
31954// The provided context supersedes any context provided to the Context method.
31955func (c *ProjectsLocationsSecuritySettingsListCall) Pages(ctx context.Context, f func(*GoogleCloudDialogflowCxV3ListSecuritySettingsResponse) error) error {
31956	c.ctx_ = ctx
31957	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
31958	for {
31959		x, err := c.Do()
31960		if err != nil {
31961			return err
31962		}
31963		if err := f(x); err != nil {
31964			return err
31965		}
31966		if x.NextPageToken == "" {
31967			return nil
31968		}
31969		c.PageToken(x.NextPageToken)
31970	}
31971}
31972
31973// method id "dialogflow.projects.locations.securitySettings.patch":
31974
31975type ProjectsLocationsSecuritySettingsPatchCall struct {
31976	s                                         *Service
31977	name                                      string
31978	googleclouddialogflowcxv3securitysettings *GoogleCloudDialogflowCxV3SecuritySettings
31979	urlParams_                                gensupport.URLParams
31980	ctx_                                      context.Context
31981	header_                                   http.Header
31982}
31983
31984// Patch: Updates the specified SecuritySettings.
31985//
31986// - name: Resource name of the settings. Format:
31987//   `projects//locations//securitySettings/`.
31988func (r *ProjectsLocationsSecuritySettingsService) Patch(name string, googleclouddialogflowcxv3securitysettings *GoogleCloudDialogflowCxV3SecuritySettings) *ProjectsLocationsSecuritySettingsPatchCall {
31989	c := &ProjectsLocationsSecuritySettingsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31990	c.name = name
31991	c.googleclouddialogflowcxv3securitysettings = googleclouddialogflowcxv3securitysettings
31992	return c
31993}
31994
31995// UpdateMask sets the optional parameter "updateMask": Required. The
31996// mask to control which fields get updated. If the mask is not present,
31997// all fields will be updated.
31998func (c *ProjectsLocationsSecuritySettingsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsSecuritySettingsPatchCall {
31999	c.urlParams_.Set("updateMask", updateMask)
32000	return c
32001}
32002
32003// Fields allows partial responses to be retrieved. See
32004// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32005// for more information.
32006func (c *ProjectsLocationsSecuritySettingsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsSecuritySettingsPatchCall {
32007	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32008	return c
32009}
32010
32011// Context sets the context to be used in this call's Do method. Any
32012// pending HTTP request will be aborted if the provided context is
32013// canceled.
32014func (c *ProjectsLocationsSecuritySettingsPatchCall) Context(ctx context.Context) *ProjectsLocationsSecuritySettingsPatchCall {
32015	c.ctx_ = ctx
32016	return c
32017}
32018
32019// Header returns an http.Header that can be modified by the caller to
32020// add HTTP headers to the request.
32021func (c *ProjectsLocationsSecuritySettingsPatchCall) Header() http.Header {
32022	if c.header_ == nil {
32023		c.header_ = make(http.Header)
32024	}
32025	return c.header_
32026}
32027
32028func (c *ProjectsLocationsSecuritySettingsPatchCall) doRequest(alt string) (*http.Response, error) {
32029	reqHeaders := make(http.Header)
32030	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
32031	for k, v := range c.header_ {
32032		reqHeaders[k] = v
32033	}
32034	reqHeaders.Set("User-Agent", c.s.userAgent())
32035	var body io.Reader = nil
32036	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3securitysettings)
32037	if err != nil {
32038		return nil, err
32039	}
32040	reqHeaders.Set("Content-Type", "application/json")
32041	c.urlParams_.Set("alt", alt)
32042	c.urlParams_.Set("prettyPrint", "false")
32043	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
32044	urls += "?" + c.urlParams_.Encode()
32045	req, err := http.NewRequest("PATCH", urls, body)
32046	if err != nil {
32047		return nil, err
32048	}
32049	req.Header = reqHeaders
32050	googleapi.Expand(req.URL, map[string]string{
32051		"name": c.name,
32052	})
32053	return gensupport.SendRequest(c.ctx_, c.s.client, req)
32054}
32055
32056// Do executes the "dialogflow.projects.locations.securitySettings.patch" call.
32057// Exactly one of *GoogleCloudDialogflowCxV3SecuritySettings or error
32058// will be non-nil. Any non-2xx status code is an error. Response
32059// headers are in either
32060// *GoogleCloudDialogflowCxV3SecuritySettings.ServerResponse.Header or
32061// (if a response was returned at all) in
32062// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
32063// whether the returned error was because http.StatusNotModified was
32064// returned.
32065func (c *ProjectsLocationsSecuritySettingsPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3SecuritySettings, error) {
32066	gensupport.SetOptions(c.urlParams_, opts...)
32067	res, err := c.doRequest("json")
32068	if res != nil && res.StatusCode == http.StatusNotModified {
32069		if res.Body != nil {
32070			res.Body.Close()
32071		}
32072		return nil, &googleapi.Error{
32073			Code:   res.StatusCode,
32074			Header: res.Header,
32075		}
32076	}
32077	if err != nil {
32078		return nil, err
32079	}
32080	defer googleapi.CloseBody(res)
32081	if err := googleapi.CheckResponse(res); err != nil {
32082		return nil, err
32083	}
32084	ret := &GoogleCloudDialogflowCxV3SecuritySettings{
32085		ServerResponse: googleapi.ServerResponse{
32086			Header:         res.Header,
32087			HTTPStatusCode: res.StatusCode,
32088		},
32089	}
32090	target := &ret
32091	if err := gensupport.DecodeResponse(target, res); err != nil {
32092		return nil, err
32093	}
32094	return ret, nil
32095	// {
32096	//   "description": "Updates the specified SecuritySettings.",
32097	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/securitySettings/{securitySettingsId}",
32098	//   "httpMethod": "PATCH",
32099	//   "id": "dialogflow.projects.locations.securitySettings.patch",
32100	//   "parameterOrder": [
32101	//     "name"
32102	//   ],
32103	//   "parameters": {
32104	//     "name": {
32105	//       "description": "Required. Resource name of the settings. Format: `projects//locations//securitySettings/`.",
32106	//       "location": "path",
32107	//       "pattern": "^projects/[^/]+/locations/[^/]+/securitySettings/[^/]+$",
32108	//       "required": true,
32109	//       "type": "string"
32110	//     },
32111	//     "updateMask": {
32112	//       "description": "Required. The mask to control which fields get updated. If the mask is not present, all fields will be updated.",
32113	//       "format": "google-fieldmask",
32114	//       "location": "query",
32115	//       "type": "string"
32116	//     }
32117	//   },
32118	//   "path": "v3/{+name}",
32119	//   "request": {
32120	//     "$ref": "GoogleCloudDialogflowCxV3SecuritySettings"
32121	//   },
32122	//   "response": {
32123	//     "$ref": "GoogleCloudDialogflowCxV3SecuritySettings"
32124	//   },
32125	//   "scopes": [
32126	//     "https://www.googleapis.com/auth/cloud-platform",
32127	//     "https://www.googleapis.com/auth/dialogflow"
32128	//   ]
32129	// }
32130
32131}
32132
32133// method id "dialogflow.projects.operations.cancel":
32134
32135type ProjectsOperationsCancelCall struct {
32136	s          *Service
32137	name       string
32138	urlParams_ gensupport.URLParams
32139	ctx_       context.Context
32140	header_    http.Header
32141}
32142
32143// Cancel: Starts asynchronous cancellation on a long-running operation.
32144// The server makes a best effort to cancel the operation, but success
32145// is not guaranteed. If the server doesn't support this method, it
32146// returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use
32147// Operations.GetOperation or other methods to check whether the
32148// cancellation succeeded or whether the operation completed despite
32149// cancellation. On successful cancellation, the operation is not
32150// deleted; instead, it becomes an operation with an Operation.error
32151// value with a google.rpc.Status.code of 1, corresponding to
32152// `Code.CANCELLED`.
32153//
32154// - name: The name of the operation resource to be cancelled.
32155func (r *ProjectsOperationsService) Cancel(name string) *ProjectsOperationsCancelCall {
32156	c := &ProjectsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32157	c.name = name
32158	return c
32159}
32160
32161// Fields allows partial responses to be retrieved. See
32162// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32163// for more information.
32164func (c *ProjectsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsOperationsCancelCall {
32165	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32166	return c
32167}
32168
32169// Context sets the context to be used in this call's Do method. Any
32170// pending HTTP request will be aborted if the provided context is
32171// canceled.
32172func (c *ProjectsOperationsCancelCall) Context(ctx context.Context) *ProjectsOperationsCancelCall {
32173	c.ctx_ = ctx
32174	return c
32175}
32176
32177// Header returns an http.Header that can be modified by the caller to
32178// add HTTP headers to the request.
32179func (c *ProjectsOperationsCancelCall) Header() http.Header {
32180	if c.header_ == nil {
32181		c.header_ = make(http.Header)
32182	}
32183	return c.header_
32184}
32185
32186func (c *ProjectsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
32187	reqHeaders := make(http.Header)
32188	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
32189	for k, v := range c.header_ {
32190		reqHeaders[k] = v
32191	}
32192	reqHeaders.Set("User-Agent", c.s.userAgent())
32193	var body io.Reader = nil
32194	c.urlParams_.Set("alt", alt)
32195	c.urlParams_.Set("prettyPrint", "false")
32196	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}:cancel")
32197	urls += "?" + c.urlParams_.Encode()
32198	req, err := http.NewRequest("POST", urls, body)
32199	if err != nil {
32200		return nil, err
32201	}
32202	req.Header = reqHeaders
32203	googleapi.Expand(req.URL, map[string]string{
32204		"name": c.name,
32205	})
32206	return gensupport.SendRequest(c.ctx_, c.s.client, req)
32207}
32208
32209// Do executes the "dialogflow.projects.operations.cancel" call.
32210// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
32211// non-2xx status code is an error. Response headers are in either
32212// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
32213// returned at all) in error.(*googleapi.Error).Header. Use
32214// googleapi.IsNotModified to check whether the returned error was
32215// because http.StatusNotModified was returned.
32216func (c *ProjectsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
32217	gensupport.SetOptions(c.urlParams_, opts...)
32218	res, err := c.doRequest("json")
32219	if res != nil && res.StatusCode == http.StatusNotModified {
32220		if res.Body != nil {
32221			res.Body.Close()
32222		}
32223		return nil, &googleapi.Error{
32224			Code:   res.StatusCode,
32225			Header: res.Header,
32226		}
32227	}
32228	if err != nil {
32229		return nil, err
32230	}
32231	defer googleapi.CloseBody(res)
32232	if err := googleapi.CheckResponse(res); err != nil {
32233		return nil, err
32234	}
32235	ret := &GoogleProtobufEmpty{
32236		ServerResponse: googleapi.ServerResponse{
32237			Header:         res.Header,
32238			HTTPStatusCode: res.StatusCode,
32239		},
32240	}
32241	target := &ret
32242	if err := gensupport.DecodeResponse(target, res); err != nil {
32243		return nil, err
32244	}
32245	return ret, nil
32246	// {
32247	//   "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.",
32248	//   "flatPath": "v3/projects/{projectsId}/operations/{operationsId}:cancel",
32249	//   "httpMethod": "POST",
32250	//   "id": "dialogflow.projects.operations.cancel",
32251	//   "parameterOrder": [
32252	//     "name"
32253	//   ],
32254	//   "parameters": {
32255	//     "name": {
32256	//       "description": "The name of the operation resource to be cancelled.",
32257	//       "location": "path",
32258	//       "pattern": "^projects/[^/]+/operations/[^/]+$",
32259	//       "required": true,
32260	//       "type": "string"
32261	//     }
32262	//   },
32263	//   "path": "v3/{+name}:cancel",
32264	//   "response": {
32265	//     "$ref": "GoogleProtobufEmpty"
32266	//   },
32267	//   "scopes": [
32268	//     "https://www.googleapis.com/auth/cloud-platform",
32269	//     "https://www.googleapis.com/auth/dialogflow"
32270	//   ]
32271	// }
32272
32273}
32274
32275// method id "dialogflow.projects.operations.get":
32276
32277type ProjectsOperationsGetCall struct {
32278	s            *Service
32279	name         string
32280	urlParams_   gensupport.URLParams
32281	ifNoneMatch_ string
32282	ctx_         context.Context
32283	header_      http.Header
32284}
32285
32286// Get: Gets the latest state of a long-running operation. Clients can
32287// use this method to poll the operation result at intervals as
32288// recommended by the API service.
32289//
32290// - name: The name of the operation resource.
32291func (r *ProjectsOperationsService) Get(name string) *ProjectsOperationsGetCall {
32292	c := &ProjectsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32293	c.name = name
32294	return c
32295}
32296
32297// Fields allows partial responses to be retrieved. See
32298// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32299// for more information.
32300func (c *ProjectsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsOperationsGetCall {
32301	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32302	return c
32303}
32304
32305// IfNoneMatch sets the optional parameter which makes the operation
32306// fail if the object's ETag matches the given value. This is useful for
32307// getting updates only after the object has changed since the last
32308// request. Use googleapi.IsNotModified to check whether the response
32309// error from Do is the result of In-None-Match.
32310func (c *ProjectsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsOperationsGetCall {
32311	c.ifNoneMatch_ = entityTag
32312	return c
32313}
32314
32315// Context sets the context to be used in this call's Do method. Any
32316// pending HTTP request will be aborted if the provided context is
32317// canceled.
32318func (c *ProjectsOperationsGetCall) Context(ctx context.Context) *ProjectsOperationsGetCall {
32319	c.ctx_ = ctx
32320	return c
32321}
32322
32323// Header returns an http.Header that can be modified by the caller to
32324// add HTTP headers to the request.
32325func (c *ProjectsOperationsGetCall) Header() http.Header {
32326	if c.header_ == nil {
32327		c.header_ = make(http.Header)
32328	}
32329	return c.header_
32330}
32331
32332func (c *ProjectsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
32333	reqHeaders := make(http.Header)
32334	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
32335	for k, v := range c.header_ {
32336		reqHeaders[k] = v
32337	}
32338	reqHeaders.Set("User-Agent", c.s.userAgent())
32339	if c.ifNoneMatch_ != "" {
32340		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
32341	}
32342	var body io.Reader = nil
32343	c.urlParams_.Set("alt", alt)
32344	c.urlParams_.Set("prettyPrint", "false")
32345	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
32346	urls += "?" + c.urlParams_.Encode()
32347	req, err := http.NewRequest("GET", urls, body)
32348	if err != nil {
32349		return nil, err
32350	}
32351	req.Header = reqHeaders
32352	googleapi.Expand(req.URL, map[string]string{
32353		"name": c.name,
32354	})
32355	return gensupport.SendRequest(c.ctx_, c.s.client, req)
32356}
32357
32358// Do executes the "dialogflow.projects.operations.get" call.
32359// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
32360// Any non-2xx status code is an error. Response headers are in either
32361// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
32362// was returned at all) in error.(*googleapi.Error).Header. Use
32363// googleapi.IsNotModified to check whether the returned error was
32364// because http.StatusNotModified was returned.
32365func (c *ProjectsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
32366	gensupport.SetOptions(c.urlParams_, opts...)
32367	res, err := c.doRequest("json")
32368	if res != nil && res.StatusCode == http.StatusNotModified {
32369		if res.Body != nil {
32370			res.Body.Close()
32371		}
32372		return nil, &googleapi.Error{
32373			Code:   res.StatusCode,
32374			Header: res.Header,
32375		}
32376	}
32377	if err != nil {
32378		return nil, err
32379	}
32380	defer googleapi.CloseBody(res)
32381	if err := googleapi.CheckResponse(res); err != nil {
32382		return nil, err
32383	}
32384	ret := &GoogleLongrunningOperation{
32385		ServerResponse: googleapi.ServerResponse{
32386			Header:         res.Header,
32387			HTTPStatusCode: res.StatusCode,
32388		},
32389	}
32390	target := &ret
32391	if err := gensupport.DecodeResponse(target, res); err != nil {
32392		return nil, err
32393	}
32394	return ret, nil
32395	// {
32396	//   "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
32397	//   "flatPath": "v3/projects/{projectsId}/operations/{operationsId}",
32398	//   "httpMethod": "GET",
32399	//   "id": "dialogflow.projects.operations.get",
32400	//   "parameterOrder": [
32401	//     "name"
32402	//   ],
32403	//   "parameters": {
32404	//     "name": {
32405	//       "description": "The name of the operation resource.",
32406	//       "location": "path",
32407	//       "pattern": "^projects/[^/]+/operations/[^/]+$",
32408	//       "required": true,
32409	//       "type": "string"
32410	//     }
32411	//   },
32412	//   "path": "v3/{+name}",
32413	//   "response": {
32414	//     "$ref": "GoogleLongrunningOperation"
32415	//   },
32416	//   "scopes": [
32417	//     "https://www.googleapis.com/auth/cloud-platform",
32418	//     "https://www.googleapis.com/auth/dialogflow"
32419	//   ]
32420	// }
32421
32422}
32423
32424// method id "dialogflow.projects.operations.list":
32425
32426type ProjectsOperationsListCall struct {
32427	s            *Service
32428	name         string
32429	urlParams_   gensupport.URLParams
32430	ifNoneMatch_ string
32431	ctx_         context.Context
32432	header_      http.Header
32433}
32434
32435// List: Lists operations that match the specified filter in the
32436// request. If the server doesn't support this method, it returns
32437// `UNIMPLEMENTED`. NOTE: the `name` binding allows API services to
32438// override the binding to use different resource name schemes, such as
32439// `users/*/operations`. To override the binding, API services can add a
32440// binding such as "/v1/{name=users/*}/operations" to their service
32441// configuration. For backwards compatibility, the default name includes
32442// the operations collection id, however overriding users must ensure
32443// the name binding is the parent resource, without the operations
32444// collection id.
32445//
32446// - name: The name of the operation's parent resource.
32447func (r *ProjectsOperationsService) List(name string) *ProjectsOperationsListCall {
32448	c := &ProjectsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32449	c.name = name
32450	return c
32451}
32452
32453// Filter sets the optional parameter "filter": The standard list
32454// filter.
32455func (c *ProjectsOperationsListCall) Filter(filter string) *ProjectsOperationsListCall {
32456	c.urlParams_.Set("filter", filter)
32457	return c
32458}
32459
32460// PageSize sets the optional parameter "pageSize": The standard list
32461// page size.
32462func (c *ProjectsOperationsListCall) PageSize(pageSize int64) *ProjectsOperationsListCall {
32463	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
32464	return c
32465}
32466
32467// PageToken sets the optional parameter "pageToken": The standard list
32468// page token.
32469func (c *ProjectsOperationsListCall) PageToken(pageToken string) *ProjectsOperationsListCall {
32470	c.urlParams_.Set("pageToken", pageToken)
32471	return c
32472}
32473
32474// Fields allows partial responses to be retrieved. See
32475// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32476// for more information.
32477func (c *ProjectsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsOperationsListCall {
32478	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32479	return c
32480}
32481
32482// IfNoneMatch sets the optional parameter which makes the operation
32483// fail if the object's ETag matches the given value. This is useful for
32484// getting updates only after the object has changed since the last
32485// request. Use googleapi.IsNotModified to check whether the response
32486// error from Do is the result of In-None-Match.
32487func (c *ProjectsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsOperationsListCall {
32488	c.ifNoneMatch_ = entityTag
32489	return c
32490}
32491
32492// Context sets the context to be used in this call's Do method. Any
32493// pending HTTP request will be aborted if the provided context is
32494// canceled.
32495func (c *ProjectsOperationsListCall) Context(ctx context.Context) *ProjectsOperationsListCall {
32496	c.ctx_ = ctx
32497	return c
32498}
32499
32500// Header returns an http.Header that can be modified by the caller to
32501// add HTTP headers to the request.
32502func (c *ProjectsOperationsListCall) Header() http.Header {
32503	if c.header_ == nil {
32504		c.header_ = make(http.Header)
32505	}
32506	return c.header_
32507}
32508
32509func (c *ProjectsOperationsListCall) doRequest(alt string) (*http.Response, error) {
32510	reqHeaders := make(http.Header)
32511	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
32512	for k, v := range c.header_ {
32513		reqHeaders[k] = v
32514	}
32515	reqHeaders.Set("User-Agent", c.s.userAgent())
32516	if c.ifNoneMatch_ != "" {
32517		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
32518	}
32519	var body io.Reader = nil
32520	c.urlParams_.Set("alt", alt)
32521	c.urlParams_.Set("prettyPrint", "false")
32522	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}/operations")
32523	urls += "?" + c.urlParams_.Encode()
32524	req, err := http.NewRequest("GET", urls, body)
32525	if err != nil {
32526		return nil, err
32527	}
32528	req.Header = reqHeaders
32529	googleapi.Expand(req.URL, map[string]string{
32530		"name": c.name,
32531	})
32532	return gensupport.SendRequest(c.ctx_, c.s.client, req)
32533}
32534
32535// Do executes the "dialogflow.projects.operations.list" call.
32536// Exactly one of *GoogleLongrunningListOperationsResponse or error will
32537// be non-nil. Any non-2xx status code is an error. Response headers are
32538// in either
32539// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if
32540// a response was returned at all) in error.(*googleapi.Error).Header.
32541// Use googleapi.IsNotModified to check whether the returned error was
32542// because http.StatusNotModified was returned.
32543func (c *ProjectsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
32544	gensupport.SetOptions(c.urlParams_, opts...)
32545	res, err := c.doRequest("json")
32546	if res != nil && res.StatusCode == http.StatusNotModified {
32547		if res.Body != nil {
32548			res.Body.Close()
32549		}
32550		return nil, &googleapi.Error{
32551			Code:   res.StatusCode,
32552			Header: res.Header,
32553		}
32554	}
32555	if err != nil {
32556		return nil, err
32557	}
32558	defer googleapi.CloseBody(res)
32559	if err := googleapi.CheckResponse(res); err != nil {
32560		return nil, err
32561	}
32562	ret := &GoogleLongrunningListOperationsResponse{
32563		ServerResponse: googleapi.ServerResponse{
32564			Header:         res.Header,
32565			HTTPStatusCode: res.StatusCode,
32566		},
32567	}
32568	target := &ret
32569	if err := gensupport.DecodeResponse(target, res); err != nil {
32570		return nil, err
32571	}
32572	return ret, nil
32573	// {
32574	//   "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: the `name` binding allows API services to override the binding to use different resource name schemes, such as `users/*/operations`. To override the binding, API services can add a binding such as `\"/v1/{name=users/*}/operations\"` to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.",
32575	//   "flatPath": "v3/projects/{projectsId}/operations",
32576	//   "httpMethod": "GET",
32577	//   "id": "dialogflow.projects.operations.list",
32578	//   "parameterOrder": [
32579	//     "name"
32580	//   ],
32581	//   "parameters": {
32582	//     "filter": {
32583	//       "description": "The standard list filter.",
32584	//       "location": "query",
32585	//       "type": "string"
32586	//     },
32587	//     "name": {
32588	//       "description": "The name of the operation's parent resource.",
32589	//       "location": "path",
32590	//       "pattern": "^projects/[^/]+$",
32591	//       "required": true,
32592	//       "type": "string"
32593	//     },
32594	//     "pageSize": {
32595	//       "description": "The standard list page size.",
32596	//       "format": "int32",
32597	//       "location": "query",
32598	//       "type": "integer"
32599	//     },
32600	//     "pageToken": {
32601	//       "description": "The standard list page token.",
32602	//       "location": "query",
32603	//       "type": "string"
32604	//     }
32605	//   },
32606	//   "path": "v3/{+name}/operations",
32607	//   "response": {
32608	//     "$ref": "GoogleLongrunningListOperationsResponse"
32609	//   },
32610	//   "scopes": [
32611	//     "https://www.googleapis.com/auth/cloud-platform",
32612	//     "https://www.googleapis.com/auth/dialogflow"
32613	//   ]
32614	// }
32615
32616}
32617
32618// Pages invokes f for each page of results.
32619// A non-nil error returned from f will halt the iteration.
32620// The provided context supersedes any context provided to the Context method.
32621func (c *ProjectsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
32622	c.ctx_ = ctx
32623	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
32624	for {
32625		x, err := c.Do()
32626		if err != nil {
32627			return err
32628		}
32629		if err := f(x); err != nil {
32630			return err
32631		}
32632		if x.NextPageToken == "" {
32633			return nil
32634		}
32635		c.PageToken(x.NextPageToken)
32636	}
32637}
32638