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.ContinuousTestResults = NewProjectsLocationsAgentsEnvironmentsContinuousTestResultsService(s)
223	rs.Experiments = NewProjectsLocationsAgentsEnvironmentsExperimentsService(s)
224	rs.Sessions = NewProjectsLocationsAgentsEnvironmentsSessionsService(s)
225	return rs
226}
227
228type ProjectsLocationsAgentsEnvironmentsService struct {
229	s *Service
230
231	ContinuousTestResults *ProjectsLocationsAgentsEnvironmentsContinuousTestResultsService
232
233	Experiments *ProjectsLocationsAgentsEnvironmentsExperimentsService
234
235	Sessions *ProjectsLocationsAgentsEnvironmentsSessionsService
236}
237
238func NewProjectsLocationsAgentsEnvironmentsContinuousTestResultsService(s *Service) *ProjectsLocationsAgentsEnvironmentsContinuousTestResultsService {
239	rs := &ProjectsLocationsAgentsEnvironmentsContinuousTestResultsService{s: s}
240	return rs
241}
242
243type ProjectsLocationsAgentsEnvironmentsContinuousTestResultsService struct {
244	s *Service
245}
246
247func NewProjectsLocationsAgentsEnvironmentsExperimentsService(s *Service) *ProjectsLocationsAgentsEnvironmentsExperimentsService {
248	rs := &ProjectsLocationsAgentsEnvironmentsExperimentsService{s: s}
249	return rs
250}
251
252type ProjectsLocationsAgentsEnvironmentsExperimentsService struct {
253	s *Service
254}
255
256func NewProjectsLocationsAgentsEnvironmentsSessionsService(s *Service) *ProjectsLocationsAgentsEnvironmentsSessionsService {
257	rs := &ProjectsLocationsAgentsEnvironmentsSessionsService{s: s}
258	rs.EntityTypes = NewProjectsLocationsAgentsEnvironmentsSessionsEntityTypesService(s)
259	return rs
260}
261
262type ProjectsLocationsAgentsEnvironmentsSessionsService struct {
263	s *Service
264
265	EntityTypes *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesService
266}
267
268func NewProjectsLocationsAgentsEnvironmentsSessionsEntityTypesService(s *Service) *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesService {
269	rs := &ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesService{s: s}
270	return rs
271}
272
273type ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesService struct {
274	s *Service
275}
276
277func NewProjectsLocationsAgentsFlowsService(s *Service) *ProjectsLocationsAgentsFlowsService {
278	rs := &ProjectsLocationsAgentsFlowsService{s: s}
279	rs.Pages = NewProjectsLocationsAgentsFlowsPagesService(s)
280	rs.TransitionRouteGroups = NewProjectsLocationsAgentsFlowsTransitionRouteGroupsService(s)
281	rs.Versions = NewProjectsLocationsAgentsFlowsVersionsService(s)
282	return rs
283}
284
285type ProjectsLocationsAgentsFlowsService struct {
286	s *Service
287
288	Pages *ProjectsLocationsAgentsFlowsPagesService
289
290	TransitionRouteGroups *ProjectsLocationsAgentsFlowsTransitionRouteGroupsService
291
292	Versions *ProjectsLocationsAgentsFlowsVersionsService
293}
294
295func NewProjectsLocationsAgentsFlowsPagesService(s *Service) *ProjectsLocationsAgentsFlowsPagesService {
296	rs := &ProjectsLocationsAgentsFlowsPagesService{s: s}
297	return rs
298}
299
300type ProjectsLocationsAgentsFlowsPagesService struct {
301	s *Service
302}
303
304func NewProjectsLocationsAgentsFlowsTransitionRouteGroupsService(s *Service) *ProjectsLocationsAgentsFlowsTransitionRouteGroupsService {
305	rs := &ProjectsLocationsAgentsFlowsTransitionRouteGroupsService{s: s}
306	return rs
307}
308
309type ProjectsLocationsAgentsFlowsTransitionRouteGroupsService struct {
310	s *Service
311}
312
313func NewProjectsLocationsAgentsFlowsVersionsService(s *Service) *ProjectsLocationsAgentsFlowsVersionsService {
314	rs := &ProjectsLocationsAgentsFlowsVersionsService{s: s}
315	return rs
316}
317
318type ProjectsLocationsAgentsFlowsVersionsService struct {
319	s *Service
320}
321
322func NewProjectsLocationsAgentsIntentsService(s *Service) *ProjectsLocationsAgentsIntentsService {
323	rs := &ProjectsLocationsAgentsIntentsService{s: s}
324	return rs
325}
326
327type ProjectsLocationsAgentsIntentsService struct {
328	s *Service
329}
330
331func NewProjectsLocationsAgentsSessionsService(s *Service) *ProjectsLocationsAgentsSessionsService {
332	rs := &ProjectsLocationsAgentsSessionsService{s: s}
333	rs.EntityTypes = NewProjectsLocationsAgentsSessionsEntityTypesService(s)
334	return rs
335}
336
337type ProjectsLocationsAgentsSessionsService struct {
338	s *Service
339
340	EntityTypes *ProjectsLocationsAgentsSessionsEntityTypesService
341}
342
343func NewProjectsLocationsAgentsSessionsEntityTypesService(s *Service) *ProjectsLocationsAgentsSessionsEntityTypesService {
344	rs := &ProjectsLocationsAgentsSessionsEntityTypesService{s: s}
345	return rs
346}
347
348type ProjectsLocationsAgentsSessionsEntityTypesService struct {
349	s *Service
350}
351
352func NewProjectsLocationsAgentsTestCasesService(s *Service) *ProjectsLocationsAgentsTestCasesService {
353	rs := &ProjectsLocationsAgentsTestCasesService{s: s}
354	rs.Results = NewProjectsLocationsAgentsTestCasesResultsService(s)
355	return rs
356}
357
358type ProjectsLocationsAgentsTestCasesService struct {
359	s *Service
360
361	Results *ProjectsLocationsAgentsTestCasesResultsService
362}
363
364func NewProjectsLocationsAgentsTestCasesResultsService(s *Service) *ProjectsLocationsAgentsTestCasesResultsService {
365	rs := &ProjectsLocationsAgentsTestCasesResultsService{s: s}
366	return rs
367}
368
369type ProjectsLocationsAgentsTestCasesResultsService struct {
370	s *Service
371}
372
373func NewProjectsLocationsAgentsWebhooksService(s *Service) *ProjectsLocationsAgentsWebhooksService {
374	rs := &ProjectsLocationsAgentsWebhooksService{s: s}
375	return rs
376}
377
378type ProjectsLocationsAgentsWebhooksService struct {
379	s *Service
380}
381
382func NewProjectsLocationsOperationsService(s *Service) *ProjectsLocationsOperationsService {
383	rs := &ProjectsLocationsOperationsService{s: s}
384	return rs
385}
386
387type ProjectsLocationsOperationsService struct {
388	s *Service
389}
390
391func NewProjectsLocationsSecuritySettingsService(s *Service) *ProjectsLocationsSecuritySettingsService {
392	rs := &ProjectsLocationsSecuritySettingsService{s: s}
393	return rs
394}
395
396type ProjectsLocationsSecuritySettingsService struct {
397	s *Service
398}
399
400func NewProjectsOperationsService(s *Service) *ProjectsOperationsService {
401	rs := &ProjectsOperationsService{s: s}
402	return rs
403}
404
405type ProjectsOperationsService struct {
406	s *Service
407}
408
409// GoogleCloudDialogflowCxV3AdvancedSettings: Hierarchical advanced
410// settings for agent/flow/page/fulfillment/parameter. Settings exposed
411// at lower level overrides the settings exposed at higher level.
412// Hierarchy: Agent->Flow->Page->Fulfillment/Parameter.
413type GoogleCloudDialogflowCxV3AdvancedSettings struct {
414	// LoggingSettings: Settings for logging. Settings for Dialogflow
415	// History, Contact Center messages, StackDriver logs, and speech
416	// logging. Exposed at the following levels: - Agent level.
417	LoggingSettings *GoogleCloudDialogflowCxV3AdvancedSettingsLoggingSettings `json:"loggingSettings,omitempty"`
418
419	// ForceSendFields is a list of field names (e.g. "LoggingSettings") to
420	// unconditionally include in API requests. By default, fields with
421	// empty or default values are omitted from API requests. However, any
422	// non-pointer, non-interface field appearing in ForceSendFields will be
423	// sent to the server regardless of whether the field is empty or not.
424	// This may be used to include empty fields in Patch requests.
425	ForceSendFields []string `json:"-"`
426
427	// NullFields is a list of field names (e.g. "LoggingSettings") to
428	// include in API requests with the JSON null value. By default, fields
429	// with empty values are omitted from API requests. However, any field
430	// with an empty value appearing in NullFields will be sent to the
431	// server as null. It is an error if a field in this list has a
432	// non-empty value. This may be used to include null fields in Patch
433	// requests.
434	NullFields []string `json:"-"`
435}
436
437func (s *GoogleCloudDialogflowCxV3AdvancedSettings) MarshalJSON() ([]byte, error) {
438	type NoMethod GoogleCloudDialogflowCxV3AdvancedSettings
439	raw := NoMethod(*s)
440	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
441}
442
443// GoogleCloudDialogflowCxV3AdvancedSettingsLoggingSettings: Define
444// behaviors on logging.
445type GoogleCloudDialogflowCxV3AdvancedSettingsLoggingSettings struct {
446	// EnableInteractionLogging: If true, DF Interaction logging is
447	// currently enabled.
448	EnableInteractionLogging bool `json:"enableInteractionLogging,omitempty"`
449
450	// EnableStackdriverLogging: If true, StackDriver logging is currently
451	// enabled.
452	EnableStackdriverLogging bool `json:"enableStackdriverLogging,omitempty"`
453
454	// ForceSendFields is a list of field names (e.g.
455	// "EnableInteractionLogging") to unconditionally include in API
456	// requests. By default, fields with empty or default values are omitted
457	// from API requests. However, any non-pointer, non-interface field
458	// appearing in ForceSendFields will be sent to the server regardless of
459	// whether the field is empty or not. This may be used to include empty
460	// fields in Patch requests.
461	ForceSendFields []string `json:"-"`
462
463	// NullFields is a list of field names (e.g. "EnableInteractionLogging")
464	// to include in API requests with the JSON null value. By default,
465	// fields with empty values are omitted from API requests. However, any
466	// field with an empty value appearing in NullFields will be sent to the
467	// server as null. It is an error if a field in this list has a
468	// non-empty value. This may be used to include null fields in Patch
469	// requests.
470	NullFields []string `json:"-"`
471}
472
473func (s *GoogleCloudDialogflowCxV3AdvancedSettingsLoggingSettings) MarshalJSON() ([]byte, error) {
474	type NoMethod GoogleCloudDialogflowCxV3AdvancedSettingsLoggingSettings
475	raw := NoMethod(*s)
476	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
477}
478
479// GoogleCloudDialogflowCxV3Agent: Agents are best described as Natural
480// Language Understanding (NLU) modules that transform user requests
481// into actionable data. You can include agents in your app, product, or
482// service to determine user intent and respond to the user in a natural
483// way. After you create an agent, you can add Intents, Entity Types,
484// Flows, Fulfillments, Webhooks, and so on to manage the conversation
485// flows..
486type GoogleCloudDialogflowCxV3Agent struct {
487	// AdvancedSettings: Hierarchical advanced settings for this agent. The
488	// settings exposed at the lower level overrides the settings exposed at
489	// the higher level.
490	AdvancedSettings *GoogleCloudDialogflowCxV3AdvancedSettings `json:"advancedSettings,omitempty"`
491
492	// AvatarUri: The URI of the agent's avatar. Avatars are used throughout
493	// the Dialogflow console and in the self-hosted Web Demo
494	// (https://cloud.google.com/dialogflow/docs/integrations/web-demo)
495	// integration.
496	AvatarUri string `json:"avatarUri,omitempty"`
497
498	// DefaultLanguageCode: Required. Immutable. The default language of the
499	// agent as a language tag. See Language Support
500	// (https://cloud.google.com/dialogflow/cx/docs/reference/language) for
501	// a list of the currently supported language codes. This field cannot
502	// be set by the Agents.UpdateAgent method.
503	DefaultLanguageCode string `json:"defaultLanguageCode,omitempty"`
504
505	// Description: The description of the agent. The maximum length is 500
506	// characters. If exceeded, the request is rejected.
507	Description string `json:"description,omitempty"`
508
509	// DisplayName: Required. The human-readable name of the agent, unique
510	// within the location.
511	DisplayName string `json:"displayName,omitempty"`
512
513	// EnableSpellCorrection: Indicates if automatic spell correction is
514	// enabled in detect intent requests.
515	EnableSpellCorrection bool `json:"enableSpellCorrection,omitempty"`
516
517	// EnableStackdriverLogging: Indicates if stackdriver logging is enabled
518	// for the agent. Please use agent.advanced_settings instead.
519	EnableStackdriverLogging bool `json:"enableStackdriverLogging,omitempty"`
520
521	// Name: The unique identifier of the agent. Required for the
522	// Agents.UpdateAgent method. Agents.CreateAgent populates the name
523	// automatically. Format: `projects//locations//agents/`.
524	Name string `json:"name,omitempty"`
525
526	// SecuritySettings: Name of the SecuritySettings reference for the
527	// agent. Format: `projects//locations//securitySettings/`.
528	SecuritySettings string `json:"securitySettings,omitempty"`
529
530	// SpeechToTextSettings: Speech recognition related settings.
531	SpeechToTextSettings *GoogleCloudDialogflowCxV3SpeechToTextSettings `json:"speechToTextSettings,omitempty"`
532
533	// StartFlow: Immutable. Name of the start flow in this agent. A start
534	// flow will be automatically created when the agent is created, and can
535	// only be deleted by deleting the agent. Format:
536	// `projects//locations//agents//flows/`.
537	StartFlow string `json:"startFlow,omitempty"`
538
539	// SupportedLanguageCodes: The list of all languages supported by the
540	// agent (except for the `default_language_code`).
541	SupportedLanguageCodes []string `json:"supportedLanguageCodes,omitempty"`
542
543	// TimeZone: Required. The time zone of the agent from the time zone
544	// database (https://www.iana.org/time-zones), e.g., America/New_York,
545	// Europe/Paris.
546	TimeZone string `json:"timeZone,omitempty"`
547
548	// ServerResponse contains the HTTP response code and headers from the
549	// server.
550	googleapi.ServerResponse `json:"-"`
551
552	// ForceSendFields is a list of field names (e.g. "AdvancedSettings") to
553	// unconditionally include in API requests. By default, fields with
554	// empty or default values are omitted from API requests. However, any
555	// non-pointer, non-interface field appearing in ForceSendFields will be
556	// sent to the server regardless of whether the field is empty or not.
557	// This may be used to include empty fields in Patch requests.
558	ForceSendFields []string `json:"-"`
559
560	// NullFields is a list of field names (e.g. "AdvancedSettings") to
561	// include in API requests with the JSON null value. By default, fields
562	// with empty values are omitted from API requests. However, any field
563	// with an empty value appearing in NullFields will be sent to the
564	// server as null. It is an error if a field in this list has a
565	// non-empty value. This may be used to include null fields in Patch
566	// requests.
567	NullFields []string `json:"-"`
568}
569
570func (s *GoogleCloudDialogflowCxV3Agent) MarshalJSON() ([]byte, error) {
571	type NoMethod GoogleCloudDialogflowCxV3Agent
572	raw := NoMethod(*s)
573	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
574}
575
576// GoogleCloudDialogflowCxV3AgentValidationResult: The response message
577// for Agents.GetAgentValidationResult.
578type GoogleCloudDialogflowCxV3AgentValidationResult struct {
579	// FlowValidationResults: Contains all flow validation results.
580	FlowValidationResults []*GoogleCloudDialogflowCxV3FlowValidationResult `json:"flowValidationResults,omitempty"`
581
582	// Name: The unique identifier of the agent validation result. Format:
583	// `projects//locations//agents//validationResult`.
584	Name string `json:"name,omitempty"`
585
586	// ServerResponse contains the HTTP response code and headers from the
587	// server.
588	googleapi.ServerResponse `json:"-"`
589
590	// ForceSendFields is a list of field names (e.g.
591	// "FlowValidationResults") to unconditionally include in API requests.
592	// By default, fields with empty or default values are omitted from API
593	// requests. However, any non-pointer, non-interface field appearing in
594	// ForceSendFields will be sent to the server regardless of whether the
595	// field is empty or not. This may be used to include empty fields in
596	// Patch requests.
597	ForceSendFields []string `json:"-"`
598
599	// NullFields is a list of field names (e.g. "FlowValidationResults") to
600	// include in API requests with the JSON null value. By default, fields
601	// with empty values are omitted from API requests. However, any field
602	// with an empty value appearing in NullFields will be sent to the
603	// server as null. It is an error if a field in this list has a
604	// non-empty value. This may be used to include null fields in Patch
605	// requests.
606	NullFields []string `json:"-"`
607}
608
609func (s *GoogleCloudDialogflowCxV3AgentValidationResult) MarshalJSON() ([]byte, error) {
610	type NoMethod GoogleCloudDialogflowCxV3AgentValidationResult
611	raw := NoMethod(*s)
612	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
613}
614
615// GoogleCloudDialogflowCxV3AudioInput: Represents the natural speech
616// audio to be processed.
617type GoogleCloudDialogflowCxV3AudioInput struct {
618	// Audio: The natural language speech audio to be processed. A single
619	// request can contain up to 1 minute of speech audio data. The
620	// transcribed text cannot contain more than 256 bytes. For
621	// non-streaming audio detect intent, both `config` and `audio` must be
622	// provided. For streaming audio detect intent, `config` must be
623	// provided in the first request and `audio` must be provided in all
624	// following requests.
625	Audio string `json:"audio,omitempty"`
626
627	// Config: Required. Instructs the speech recognizer how to process the
628	// speech audio.
629	Config *GoogleCloudDialogflowCxV3InputAudioConfig `json:"config,omitempty"`
630
631	// ForceSendFields is a list of field names (e.g. "Audio") to
632	// unconditionally include in API requests. By default, fields with
633	// empty or default values are omitted from API requests. However, any
634	// non-pointer, non-interface field appearing in ForceSendFields will be
635	// sent to the server regardless of whether the field is empty or not.
636	// This may be used to include empty fields in Patch requests.
637	ForceSendFields []string `json:"-"`
638
639	// NullFields is a list of field names (e.g. "Audio") to include in API
640	// requests with the JSON null value. By default, fields with empty
641	// values are omitted from API requests. However, any field with an
642	// empty value appearing in NullFields will be sent to the server as
643	// null. It is an error if a field in this list has a non-empty value.
644	// This may be used to include null fields in Patch requests.
645	NullFields []string `json:"-"`
646}
647
648func (s *GoogleCloudDialogflowCxV3AudioInput) MarshalJSON() ([]byte, error) {
649	type NoMethod GoogleCloudDialogflowCxV3AudioInput
650	raw := NoMethod(*s)
651	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
652}
653
654// GoogleCloudDialogflowCxV3BatchDeleteTestCasesRequest: The request
655// message for TestCases.BatchDeleteTestCases.
656type GoogleCloudDialogflowCxV3BatchDeleteTestCasesRequest struct {
657	// Names: Required. Format of test case names: `projects//locations/
658	// /agents//testCases/`.
659	Names []string `json:"names,omitempty"`
660
661	// ForceSendFields is a list of field names (e.g. "Names") to
662	// unconditionally include in API requests. By default, fields with
663	// empty or default values are omitted from API requests. However, any
664	// non-pointer, non-interface field appearing in ForceSendFields will be
665	// sent to the server regardless of whether the field is empty or not.
666	// This may be used to include empty fields in Patch requests.
667	ForceSendFields []string `json:"-"`
668
669	// NullFields is a list of field names (e.g. "Names") to include in API
670	// requests with the JSON null value. By default, fields with empty
671	// values are omitted from API requests. However, any field with an
672	// empty value appearing in NullFields will be sent to the server as
673	// null. It is an error if a field in this list has a non-empty value.
674	// This may be used to include null fields in Patch requests.
675	NullFields []string `json:"-"`
676}
677
678func (s *GoogleCloudDialogflowCxV3BatchDeleteTestCasesRequest) MarshalJSON() ([]byte, error) {
679	type NoMethod GoogleCloudDialogflowCxV3BatchDeleteTestCasesRequest
680	raw := NoMethod(*s)
681	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
682}
683
684// GoogleCloudDialogflowCxV3BatchRunTestCasesMetadata: Metadata returned
685// for the TestCases.BatchRunTestCases long running operation.
686type GoogleCloudDialogflowCxV3BatchRunTestCasesMetadata struct {
687	// Errors: The test errors.
688	Errors []*GoogleCloudDialogflowCxV3TestError `json:"errors,omitempty"`
689
690	// ForceSendFields is a list of field names (e.g. "Errors") to
691	// unconditionally include in API requests. By default, fields with
692	// empty or default values are omitted from API requests. However, any
693	// non-pointer, non-interface field appearing in ForceSendFields will be
694	// sent to the server regardless of whether the field is empty or not.
695	// This may be used to include empty fields in Patch requests.
696	ForceSendFields []string `json:"-"`
697
698	// NullFields is a list of field names (e.g. "Errors") to include in API
699	// requests with the JSON null value. By default, fields with empty
700	// values are omitted from API requests. However, any field with an
701	// empty value appearing in NullFields will be sent to the server as
702	// null. It is an error if a field in this list has a non-empty value.
703	// This may be used to include null fields in Patch requests.
704	NullFields []string `json:"-"`
705}
706
707func (s *GoogleCloudDialogflowCxV3BatchRunTestCasesMetadata) MarshalJSON() ([]byte, error) {
708	type NoMethod GoogleCloudDialogflowCxV3BatchRunTestCasesMetadata
709	raw := NoMethod(*s)
710	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
711}
712
713// GoogleCloudDialogflowCxV3BatchRunTestCasesRequest: The request
714// message for TestCases.BatchRunTestCases.
715type GoogleCloudDialogflowCxV3BatchRunTestCasesRequest struct {
716	// Environment: Optional. If not set, draft environment is assumed.
717	// Format: `projects//locations//agents//environments/`.
718	Environment string `json:"environment,omitempty"`
719
720	// TestCases: Required. Format:
721	// `projects//locations//agents//testCases/`.
722	TestCases []string `json:"testCases,omitempty"`
723
724	// ForceSendFields is a list of field names (e.g. "Environment") to
725	// unconditionally include in API requests. By default, fields with
726	// empty or default values are omitted from API requests. However, any
727	// non-pointer, non-interface field appearing in ForceSendFields will be
728	// sent to the server regardless of whether the field is empty or not.
729	// This may be used to include empty fields in Patch requests.
730	ForceSendFields []string `json:"-"`
731
732	// NullFields is a list of field names (e.g. "Environment") to include
733	// in API requests with the JSON null value. By default, fields with
734	// empty values are omitted from API requests. However, any field with
735	// an empty value appearing in NullFields will be sent to the server as
736	// null. It is an error if a field in this list has a non-empty value.
737	// This may be used to include null fields in Patch requests.
738	NullFields []string `json:"-"`
739}
740
741func (s *GoogleCloudDialogflowCxV3BatchRunTestCasesRequest) MarshalJSON() ([]byte, error) {
742	type NoMethod GoogleCloudDialogflowCxV3BatchRunTestCasesRequest
743	raw := NoMethod(*s)
744	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
745}
746
747// GoogleCloudDialogflowCxV3BatchRunTestCasesResponse: The response
748// message for TestCases.BatchRunTestCases.
749type GoogleCloudDialogflowCxV3BatchRunTestCasesResponse struct {
750	// Results: The test case results. The detailed conversation turns are
751	// empty in this response.
752	Results []*GoogleCloudDialogflowCxV3TestCaseResult `json:"results,omitempty"`
753
754	// ForceSendFields is a list of field names (e.g. "Results") to
755	// unconditionally include in API requests. By default, fields with
756	// empty or default values are omitted from API requests. However, any
757	// non-pointer, non-interface field appearing in ForceSendFields will be
758	// sent to the server regardless of whether the field is empty or not.
759	// This may be used to include empty fields in Patch requests.
760	ForceSendFields []string `json:"-"`
761
762	// NullFields is a list of field names (e.g. "Results") to include in
763	// API requests with the JSON null value. By default, fields with empty
764	// values are omitted from API requests. However, any field with an
765	// empty value appearing in NullFields will be sent to the server as
766	// null. It is an error if a field in this list has a non-empty value.
767	// This may be used to include null fields in Patch requests.
768	NullFields []string `json:"-"`
769}
770
771func (s *GoogleCloudDialogflowCxV3BatchRunTestCasesResponse) MarshalJSON() ([]byte, error) {
772	type NoMethod GoogleCloudDialogflowCxV3BatchRunTestCasesResponse
773	raw := NoMethod(*s)
774	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
775}
776
777// GoogleCloudDialogflowCxV3CalculateCoverageResponse: The response
778// message for TestCases.CalculateCoverage.
779type GoogleCloudDialogflowCxV3CalculateCoverageResponse struct {
780	// Agent: The agent to calculate coverage for. Format:
781	// `projects//locations//agents/`.
782	Agent string `json:"agent,omitempty"`
783
784	// IntentCoverage: Intent coverage.
785	IntentCoverage *GoogleCloudDialogflowCxV3IntentCoverage `json:"intentCoverage,omitempty"`
786
787	// RouteGroupCoverage: Transition route group coverage.
788	RouteGroupCoverage *GoogleCloudDialogflowCxV3TransitionRouteGroupCoverage `json:"routeGroupCoverage,omitempty"`
789
790	// TransitionCoverage: Transition (excluding transition route groups)
791	// coverage.
792	TransitionCoverage *GoogleCloudDialogflowCxV3TransitionCoverage `json:"transitionCoverage,omitempty"`
793
794	// ServerResponse contains the HTTP response code and headers from the
795	// server.
796	googleapi.ServerResponse `json:"-"`
797
798	// ForceSendFields is a list of field names (e.g. "Agent") to
799	// unconditionally include in API requests. By default, fields with
800	// empty or default values are omitted from API requests. However, any
801	// non-pointer, non-interface field appearing in ForceSendFields will be
802	// sent to the server regardless of whether the field is empty or not.
803	// This may be used to include empty fields in Patch requests.
804	ForceSendFields []string `json:"-"`
805
806	// NullFields is a list of field names (e.g. "Agent") to include in API
807	// requests with the JSON null value. By default, fields with empty
808	// values are omitted from API requests. However, any field with an
809	// empty value appearing in NullFields will be sent to the server as
810	// null. It is an error if a field in this list has a non-empty value.
811	// This may be used to include null fields in Patch requests.
812	NullFields []string `json:"-"`
813}
814
815func (s *GoogleCloudDialogflowCxV3CalculateCoverageResponse) MarshalJSON() ([]byte, error) {
816	type NoMethod GoogleCloudDialogflowCxV3CalculateCoverageResponse
817	raw := NoMethod(*s)
818	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
819}
820
821// GoogleCloudDialogflowCxV3ContinuousTestResult: Represents a result
822// from running a test case in an agent environment.
823type GoogleCloudDialogflowCxV3ContinuousTestResult struct {
824	// Name: The resource name for the continuous test result. Format:
825	// `projects//locations//agents//environments//continuousTestResults/`.
826	Name string `json:"name,omitempty"`
827
828	// Result: The result of this continuous test run, i.e. whether all the
829	// tests in this continuous test run pass or not.
830	//
831	// Possible values:
832	//   "AGGREGATED_TEST_RESULT_UNSPECIFIED" - Not specified. Should never
833	// be used.
834	//   "PASSED" - All the tests passed.
835	//   "FAILED" - At least one test did not pass.
836	Result string `json:"result,omitempty"`
837
838	// RunTime: Time when the continuous testing run starts.
839	RunTime string `json:"runTime,omitempty"`
840
841	// TestCaseResults: A list of individual test case results names in this
842	// continuous test run.
843	TestCaseResults []string `json:"testCaseResults,omitempty"`
844
845	// ForceSendFields is a list of field names (e.g. "Name") to
846	// unconditionally include in API requests. By default, fields with
847	// empty or default values are omitted from API requests. However, any
848	// non-pointer, non-interface field appearing in ForceSendFields will be
849	// sent to the server regardless of whether the field is empty or not.
850	// This may be used to include empty fields in Patch requests.
851	ForceSendFields []string `json:"-"`
852
853	// NullFields is a list of field names (e.g. "Name") to include in API
854	// requests with the JSON null value. By default, fields with empty
855	// values are omitted from API requests. However, any field with an
856	// empty value appearing in NullFields will be sent to the server as
857	// null. It is an error if a field in this list has a non-empty value.
858	// This may be used to include null fields in Patch requests.
859	NullFields []string `json:"-"`
860}
861
862func (s *GoogleCloudDialogflowCxV3ContinuousTestResult) MarshalJSON() ([]byte, error) {
863	type NoMethod GoogleCloudDialogflowCxV3ContinuousTestResult
864	raw := NoMethod(*s)
865	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
866}
867
868// GoogleCloudDialogflowCxV3ConversationTurn: One interaction between a
869// human and virtual agent. The human provides some input and the
870// virtual agent provides a response.
871type GoogleCloudDialogflowCxV3ConversationTurn struct {
872	// UserInput: The user input.
873	UserInput *GoogleCloudDialogflowCxV3ConversationTurnUserInput `json:"userInput,omitempty"`
874
875	// VirtualAgentOutput: The virtual agent output.
876	VirtualAgentOutput *GoogleCloudDialogflowCxV3ConversationTurnVirtualAgentOutput `json:"virtualAgentOutput,omitempty"`
877
878	// ForceSendFields is a list of field names (e.g. "UserInput") to
879	// unconditionally include in API requests. By default, fields with
880	// empty or default values are omitted from API requests. However, any
881	// non-pointer, non-interface field appearing in ForceSendFields will be
882	// sent to the server regardless of whether the field is empty or not.
883	// This may be used to include empty fields in Patch requests.
884	ForceSendFields []string `json:"-"`
885
886	// NullFields is a list of field names (e.g. "UserInput") to include in
887	// API requests with the JSON null value. By default, fields with empty
888	// values are omitted from API requests. However, any field with an
889	// empty value appearing in NullFields will be sent to the server as
890	// null. It is an error if a field in this list has a non-empty value.
891	// This may be used to include null fields in Patch requests.
892	NullFields []string `json:"-"`
893}
894
895func (s *GoogleCloudDialogflowCxV3ConversationTurn) MarshalJSON() ([]byte, error) {
896	type NoMethod GoogleCloudDialogflowCxV3ConversationTurn
897	raw := NoMethod(*s)
898	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
899}
900
901// GoogleCloudDialogflowCxV3ConversationTurnUserInput: The input from
902// the human user.
903type GoogleCloudDialogflowCxV3ConversationTurnUserInput struct {
904	// EnableSentimentAnalysis: Whether sentiment analysis is enabled.
905	EnableSentimentAnalysis bool `json:"enableSentimentAnalysis,omitempty"`
906
907	// InjectedParameters: Parameters that need to be injected into the
908	// conversation during intent detection.
909	InjectedParameters googleapi.RawMessage `json:"injectedParameters,omitempty"`
910
911	// Input: Supports text input, event input, dtmf input in the test case.
912	Input *GoogleCloudDialogflowCxV3QueryInput `json:"input,omitempty"`
913
914	// IsWebhookEnabled: If webhooks should be allowed to trigger in
915	// response to the user utterance. Often if parameters are injected,
916	// webhooks should not be enabled.
917	IsWebhookEnabled bool `json:"isWebhookEnabled,omitempty"`
918
919	// ForceSendFields is a list of field names (e.g.
920	// "EnableSentimentAnalysis") to unconditionally include in API
921	// requests. By default, fields with empty or default values are omitted
922	// from API requests. However, any non-pointer, non-interface field
923	// appearing in ForceSendFields will be sent to the server regardless of
924	// whether the field is empty or not. This may be used to include empty
925	// fields in Patch requests.
926	ForceSendFields []string `json:"-"`
927
928	// NullFields is a list of field names (e.g. "EnableSentimentAnalysis")
929	// to include in API requests with the JSON null value. By default,
930	// fields with empty values are omitted from API requests. However, any
931	// field with an empty value appearing in NullFields will be sent to the
932	// server as null. It is an error if a field in this list has a
933	// non-empty value. This may be used to include null fields in Patch
934	// requests.
935	NullFields []string `json:"-"`
936}
937
938func (s *GoogleCloudDialogflowCxV3ConversationTurnUserInput) MarshalJSON() ([]byte, error) {
939	type NoMethod GoogleCloudDialogflowCxV3ConversationTurnUserInput
940	raw := NoMethod(*s)
941	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
942}
943
944// GoogleCloudDialogflowCxV3ConversationTurnVirtualAgentOutput: The
945// output from the virtual agent.
946type GoogleCloudDialogflowCxV3ConversationTurnVirtualAgentOutput struct {
947	// CurrentPage: The Page on which the utterance was spoken. Only name
948	// and displayName will be set.
949	CurrentPage *GoogleCloudDialogflowCxV3Page `json:"currentPage,omitempty"`
950
951	// DiagnosticInfo: Required. Input only. The diagnostic info output for
952	// the turn.
953	DiagnosticInfo googleapi.RawMessage `json:"diagnosticInfo,omitempty"`
954
955	// Differences: Output only. If this is part of a result conversation
956	// turn, the list of differences between the original run and the replay
957	// for this output, if any.
958	Differences []*GoogleCloudDialogflowCxV3TestRunDifference `json:"differences,omitempty"`
959
960	// SessionParameters: The session parameters available to the bot at
961	// this point.
962	SessionParameters googleapi.RawMessage `json:"sessionParameters,omitempty"`
963
964	// Status: Response error from the agent in the test result. If set,
965	// other output is empty.
966	Status *GoogleRpcStatus `json:"status,omitempty"`
967
968	// TextResponses: The text responses from the agent for the turn.
969	TextResponses []*GoogleCloudDialogflowCxV3ResponseMessageText `json:"textResponses,omitempty"`
970
971	// TriggeredIntent: The Intent that triggered the response. Only name
972	// and displayName will be set.
973	TriggeredIntent *GoogleCloudDialogflowCxV3Intent `json:"triggeredIntent,omitempty"`
974
975	// ForceSendFields is a list of field names (e.g. "CurrentPage") to
976	// unconditionally include in API requests. By default, fields with
977	// empty or default values are omitted from API requests. However, any
978	// non-pointer, non-interface field appearing in ForceSendFields will be
979	// sent to the server regardless of whether the field is empty or not.
980	// This may be used to include empty fields in Patch requests.
981	ForceSendFields []string `json:"-"`
982
983	// NullFields is a list of field names (e.g. "CurrentPage") to include
984	// in API requests with the JSON null value. By default, fields with
985	// empty values are omitted from API requests. However, any field with
986	// an empty value appearing in NullFields will be sent to the server as
987	// null. It is an error if a field in this list has a non-empty value.
988	// This may be used to include null fields in Patch requests.
989	NullFields []string `json:"-"`
990}
991
992func (s *GoogleCloudDialogflowCxV3ConversationTurnVirtualAgentOutput) MarshalJSON() ([]byte, error) {
993	type NoMethod GoogleCloudDialogflowCxV3ConversationTurnVirtualAgentOutput
994	raw := NoMethod(*s)
995	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
996}
997
998// GoogleCloudDialogflowCxV3CreateDocumentOperationMetadata: Metadata
999// for CreateDocument operation.
1000type GoogleCloudDialogflowCxV3CreateDocumentOperationMetadata struct {
1001	// GenericMetadata: The generic information of the operation.
1002	GenericMetadata *GoogleCloudDialogflowCxV3GenericKnowledgeOperationMetadata `json:"genericMetadata,omitempty"`
1003
1004	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
1005	// unconditionally include in API requests. By default, fields with
1006	// empty or default values are omitted from API requests. However, any
1007	// non-pointer, non-interface field appearing in ForceSendFields will be
1008	// sent to the server regardless of whether the field is empty or not.
1009	// This may be used to include empty fields in Patch requests.
1010	ForceSendFields []string `json:"-"`
1011
1012	// NullFields is a list of field names (e.g. "GenericMetadata") to
1013	// include in API requests with the JSON null value. By default, fields
1014	// with empty values are omitted from API requests. However, any field
1015	// with an empty value appearing in NullFields will be sent to the
1016	// server as null. It is an error if a field in this list has a
1017	// non-empty value. This may be used to include null fields in Patch
1018	// requests.
1019	NullFields []string `json:"-"`
1020}
1021
1022func (s *GoogleCloudDialogflowCxV3CreateDocumentOperationMetadata) MarshalJSON() ([]byte, error) {
1023	type NoMethod GoogleCloudDialogflowCxV3CreateDocumentOperationMetadata
1024	raw := NoMethod(*s)
1025	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1026}
1027
1028// GoogleCloudDialogflowCxV3CreateVersionOperationMetadata: Metadata
1029// associated with the long running operation for
1030// Versions.CreateVersion.
1031type GoogleCloudDialogflowCxV3CreateVersionOperationMetadata struct {
1032	// Version: Name of the created version. Format:
1033	// `projects//locations//agents//flows//versions/`.
1034	Version string `json:"version,omitempty"`
1035
1036	// ForceSendFields is a list of field names (e.g. "Version") to
1037	// unconditionally include in API requests. By default, fields with
1038	// empty or default values are omitted from API requests. However, any
1039	// non-pointer, non-interface field appearing in ForceSendFields will be
1040	// sent to the server regardless of whether the field is empty or not.
1041	// This may be used to include empty fields in Patch requests.
1042	ForceSendFields []string `json:"-"`
1043
1044	// NullFields is a list of field names (e.g. "Version") to include in
1045	// API requests with the JSON null value. By default, fields with empty
1046	// values are omitted from API requests. However, any field with an
1047	// empty value appearing in NullFields will be sent to the server as
1048	// null. It is an error if a field in this list has a non-empty value.
1049	// This may be used to include null fields in Patch requests.
1050	NullFields []string `json:"-"`
1051}
1052
1053func (s *GoogleCloudDialogflowCxV3CreateVersionOperationMetadata) MarshalJSON() ([]byte, error) {
1054	type NoMethod GoogleCloudDialogflowCxV3CreateVersionOperationMetadata
1055	raw := NoMethod(*s)
1056	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1057}
1058
1059// GoogleCloudDialogflowCxV3DeleteDocumentOperationMetadata: Metadata
1060// for DeleteDocument operation.
1061type GoogleCloudDialogflowCxV3DeleteDocumentOperationMetadata struct {
1062	// GenericMetadata: The generic information of the operation.
1063	GenericMetadata *GoogleCloudDialogflowCxV3GenericKnowledgeOperationMetadata `json:"genericMetadata,omitempty"`
1064
1065	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
1066	// unconditionally include in API requests. By default, fields with
1067	// empty or default values are omitted from API requests. However, any
1068	// non-pointer, non-interface field appearing in ForceSendFields will be
1069	// sent to the server regardless of whether the field is empty or not.
1070	// This may be used to include empty fields in Patch requests.
1071	ForceSendFields []string `json:"-"`
1072
1073	// NullFields is a list of field names (e.g. "GenericMetadata") to
1074	// include in API requests with the JSON null value. By default, fields
1075	// with empty values are omitted from API requests. However, any field
1076	// with an empty value appearing in NullFields will be sent to the
1077	// server as null. It is an error if a field in this list has a
1078	// non-empty value. This may be used to include null fields in Patch
1079	// requests.
1080	NullFields []string `json:"-"`
1081}
1082
1083func (s *GoogleCloudDialogflowCxV3DeleteDocumentOperationMetadata) MarshalJSON() ([]byte, error) {
1084	type NoMethod GoogleCloudDialogflowCxV3DeleteDocumentOperationMetadata
1085	raw := NoMethod(*s)
1086	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1087}
1088
1089// GoogleCloudDialogflowCxV3DetectIntentRequest: The request to detect
1090// user's intent.
1091type GoogleCloudDialogflowCxV3DetectIntentRequest struct {
1092	// OutputAudioConfig: Instructs the speech synthesizer how to generate
1093	// the output audio.
1094	OutputAudioConfig *GoogleCloudDialogflowCxV3OutputAudioConfig `json:"outputAudioConfig,omitempty"`
1095
1096	// QueryInput: Required. The input specification.
1097	QueryInput *GoogleCloudDialogflowCxV3QueryInput `json:"queryInput,omitempty"`
1098
1099	// QueryParams: The parameters of this query.
1100	QueryParams *GoogleCloudDialogflowCxV3QueryParameters `json:"queryParams,omitempty"`
1101
1102	// ForceSendFields is a list of field names (e.g. "OutputAudioConfig")
1103	// to unconditionally include in API requests. By default, fields with
1104	// empty or default values are omitted from API requests. However, any
1105	// non-pointer, non-interface field appearing in ForceSendFields will be
1106	// sent to the server regardless of whether the field is empty or not.
1107	// This may be used to include empty fields in Patch requests.
1108	ForceSendFields []string `json:"-"`
1109
1110	// NullFields is a list of field names (e.g. "OutputAudioConfig") to
1111	// include in API requests with the JSON null value. By default, fields
1112	// with empty values are omitted from API requests. However, any field
1113	// with an empty value appearing in NullFields will be sent to the
1114	// server as null. It is an error if a field in this list has a
1115	// non-empty value. This may be used to include null fields in Patch
1116	// requests.
1117	NullFields []string `json:"-"`
1118}
1119
1120func (s *GoogleCloudDialogflowCxV3DetectIntentRequest) MarshalJSON() ([]byte, error) {
1121	type NoMethod GoogleCloudDialogflowCxV3DetectIntentRequest
1122	raw := NoMethod(*s)
1123	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1124}
1125
1126// GoogleCloudDialogflowCxV3DetectIntentResponse: The message returned
1127// from the DetectIntent method.
1128type GoogleCloudDialogflowCxV3DetectIntentResponse struct {
1129	// AllowCancellation: Indicates whether the partial response can be
1130	// cancelled when a later response arrives. e.g. if the agent specified
1131	// some music as partial response, it can be cancelled.
1132	AllowCancellation bool `json:"allowCancellation,omitempty"`
1133
1134	// OutputAudio: The audio data bytes encoded as specified in the
1135	// request. Note: The output audio is generated based on the values of
1136	// default platform text responses found in the
1137	// `query_result.response_messages` field. If multiple default text
1138	// responses exist, they will be concatenated when generating audio. If
1139	// no default platform text responses exist, the generated audio content
1140	// will be empty. In some scenarios, multiple output audio fields may be
1141	// present in the response structure. In these cases, only the
1142	// top-most-level audio output has content.
1143	OutputAudio string `json:"outputAudio,omitempty"`
1144
1145	// OutputAudioConfig: The config used by the speech synthesizer to
1146	// generate the output audio.
1147	OutputAudioConfig *GoogleCloudDialogflowCxV3OutputAudioConfig `json:"outputAudioConfig,omitempty"`
1148
1149	// QueryResult: The result of the conversational query.
1150	QueryResult *GoogleCloudDialogflowCxV3QueryResult `json:"queryResult,omitempty"`
1151
1152	// ResponseId: Output only. The unique identifier of the response. It
1153	// can be used to locate a response in the training example set or for
1154	// reporting issues.
1155	ResponseId string `json:"responseId,omitempty"`
1156
1157	// ResponseType: Response type.
1158	//
1159	// Possible values:
1160	//   "RESPONSE_TYPE_UNSPECIFIED" - Not specified. This should never
1161	// happen.
1162	//   "PARTIAL" - Partial response. e.g. Aggregated responses in a
1163	// Fulfillment that enables `return_partial_response` can be returned as
1164	// partial response. WARNING: partial response is not eligible for
1165	// barge-in.
1166	//   "FINAL" - Final response.
1167	ResponseType string `json:"responseType,omitempty"`
1168
1169	// ServerResponse contains the HTTP response code and headers from the
1170	// server.
1171	googleapi.ServerResponse `json:"-"`
1172
1173	// ForceSendFields is a list of field names (e.g. "AllowCancellation")
1174	// to unconditionally include in API requests. By default, fields with
1175	// empty or default values are omitted from API requests. However, any
1176	// non-pointer, non-interface field appearing in ForceSendFields will be
1177	// sent to the server regardless of whether the field is empty or not.
1178	// This may be used to include empty fields in Patch requests.
1179	ForceSendFields []string `json:"-"`
1180
1181	// NullFields is a list of field names (e.g. "AllowCancellation") to
1182	// include in API requests with the JSON null value. By default, fields
1183	// with empty values are omitted from API requests. However, any field
1184	// with an empty value appearing in NullFields will be sent to the
1185	// server as null. It is an error if a field in this list has a
1186	// non-empty value. This may be used to include null fields in Patch
1187	// requests.
1188	NullFields []string `json:"-"`
1189}
1190
1191func (s *GoogleCloudDialogflowCxV3DetectIntentResponse) MarshalJSON() ([]byte, error) {
1192	type NoMethod GoogleCloudDialogflowCxV3DetectIntentResponse
1193	raw := NoMethod(*s)
1194	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1195}
1196
1197// GoogleCloudDialogflowCxV3DtmfInput: Represents the input for dtmf
1198// event.
1199type GoogleCloudDialogflowCxV3DtmfInput struct {
1200	// Digits: The dtmf digits.
1201	Digits string `json:"digits,omitempty"`
1202
1203	// FinishDigit: The finish digit (if any).
1204	FinishDigit string `json:"finishDigit,omitempty"`
1205
1206	// ForceSendFields is a list of field names (e.g. "Digits") to
1207	// unconditionally include in API requests. By default, fields with
1208	// empty or default values are omitted from API requests. However, any
1209	// non-pointer, non-interface field appearing in ForceSendFields will be
1210	// sent to the server regardless of whether the field is empty or not.
1211	// This may be used to include empty fields in Patch requests.
1212	ForceSendFields []string `json:"-"`
1213
1214	// NullFields is a list of field names (e.g. "Digits") to include in API
1215	// requests with the JSON null value. By default, fields with empty
1216	// values are omitted from API requests. However, any field with an
1217	// empty value appearing in NullFields will be sent to the server as
1218	// null. It is an error if a field in this list has a non-empty value.
1219	// This may be used to include null fields in Patch requests.
1220	NullFields []string `json:"-"`
1221}
1222
1223func (s *GoogleCloudDialogflowCxV3DtmfInput) MarshalJSON() ([]byte, error) {
1224	type NoMethod GoogleCloudDialogflowCxV3DtmfInput
1225	raw := NoMethod(*s)
1226	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1227}
1228
1229// GoogleCloudDialogflowCxV3EntityType: Entities are extracted from user
1230// input and represent parameters that are meaningful to your
1231// application. For example, a date range, a proper name such as a
1232// geographic location or landmark, and so on. Entities represent
1233// actionable data for your application. When you define an entity, you
1234// can also include synonyms that all map to that entity. For example,
1235// "soft drink", "soda", "pop", and so on. There are three types of
1236// entities: * **System** - entities that are defined by the Dialogflow
1237// API for common data types such as date, time, currency, and so on. A
1238// system entity is represented by the `EntityType` type. * **Custom** -
1239// entities that are defined by you that represent actionable data that
1240// is meaningful to your application. For example, you could define a
1241// `pizza.sauce` entity for red or white pizza sauce, a `pizza.cheese`
1242// entity for the different types of cheese on a pizza, a
1243// `pizza.topping` entity for different toppings, and so on. A custom
1244// entity is represented by the `EntityType` type. * **User** - entities
1245// that are built for an individual user such as favorites, preferences,
1246// playlists, and so on. A user entity is represented by the
1247// SessionEntityType type. For more information about entity types, see
1248// the Dialogflow documentation
1249// (https://cloud.google.com/dialogflow/docs/entities-overview).
1250type GoogleCloudDialogflowCxV3EntityType struct {
1251	// AutoExpansionMode: Indicates whether the entity type can be
1252	// automatically expanded.
1253	//
1254	// Possible values:
1255	//   "AUTO_EXPANSION_MODE_UNSPECIFIED" - Auto expansion disabled for the
1256	// entity.
1257	//   "AUTO_EXPANSION_MODE_DEFAULT" - Allows an agent to recognize values
1258	// that have not been explicitly listed in the entity.
1259	AutoExpansionMode string `json:"autoExpansionMode,omitempty"`
1260
1261	// DisplayName: Required. The human-readable name of the entity type,
1262	// unique within the agent.
1263	DisplayName string `json:"displayName,omitempty"`
1264
1265	// EnableFuzzyExtraction: Enables fuzzy entity extraction during
1266	// classification.
1267	EnableFuzzyExtraction bool `json:"enableFuzzyExtraction,omitempty"`
1268
1269	// Entities: The collection of entity entries associated with the entity
1270	// type.
1271	Entities []*GoogleCloudDialogflowCxV3EntityTypeEntity `json:"entities,omitempty"`
1272
1273	// ExcludedPhrases: Collection of exceptional words and phrases that
1274	// shouldn't be matched. For example, if you have a size entity type
1275	// with entry `giant`(an adjective), you might consider adding
1276	// `giants`(a noun) as an exclusion. If the kind of entity type is
1277	// `KIND_MAP`, then the phrases specified by entities and excluded
1278	// phrases should be mutually exclusive.
1279	ExcludedPhrases []*GoogleCloudDialogflowCxV3EntityTypeExcludedPhrase `json:"excludedPhrases,omitempty"`
1280
1281	// Kind: Required. Indicates the kind of entity type.
1282	//
1283	// Possible values:
1284	//   "KIND_UNSPECIFIED" - Not specified. This value should be never
1285	// used.
1286	//   "KIND_MAP" - Map entity types allow mapping of a group of synonyms
1287	// to a canonical value.
1288	//   "KIND_LIST" - List entity types contain a set of entries that do
1289	// not map to canonical values. However, list entity types can contain
1290	// references to other entity types (with or without aliases).
1291	//   "KIND_REGEXP" - Regexp entity types allow to specify regular
1292	// expressions in entries values.
1293	Kind string `json:"kind,omitempty"`
1294
1295	// Name: The unique identifier of the entity type. Required for
1296	// EntityTypes.UpdateEntityType. Format:
1297	// `projects//locations//agents//entityTypes/`.
1298	Name string `json:"name,omitempty"`
1299
1300	// Redact: Indicates whether parameters of the entity type should be
1301	// redacted in log. If redaction is enabled, page parameters and intent
1302	// parameters referring to the entity type will be replaced by parameter
1303	// name when logging.
1304	Redact bool `json:"redact,omitempty"`
1305
1306	// ServerResponse contains the HTTP response code and headers from the
1307	// server.
1308	googleapi.ServerResponse `json:"-"`
1309
1310	// ForceSendFields is a list of field names (e.g. "AutoExpansionMode")
1311	// to unconditionally include in API requests. By default, fields with
1312	// empty or default values are omitted from API requests. However, any
1313	// non-pointer, non-interface field appearing in ForceSendFields will be
1314	// sent to the server regardless of whether the field is empty or not.
1315	// This may be used to include empty fields in Patch requests.
1316	ForceSendFields []string `json:"-"`
1317
1318	// NullFields is a list of field names (e.g. "AutoExpansionMode") to
1319	// include in API requests with the JSON null value. By default, fields
1320	// with empty values are omitted from API requests. However, any field
1321	// with an empty value appearing in NullFields will be sent to the
1322	// server as null. It is an error if a field in this list has a
1323	// non-empty value. This may be used to include null fields in Patch
1324	// requests.
1325	NullFields []string `json:"-"`
1326}
1327
1328func (s *GoogleCloudDialogflowCxV3EntityType) MarshalJSON() ([]byte, error) {
1329	type NoMethod GoogleCloudDialogflowCxV3EntityType
1330	raw := NoMethod(*s)
1331	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1332}
1333
1334// GoogleCloudDialogflowCxV3EntityTypeEntity: An **entity entry** for an
1335// associated entity type.
1336type GoogleCloudDialogflowCxV3EntityTypeEntity struct {
1337	// Synonyms: Required. A collection of value synonyms. For example, if
1338	// the entity type is *vegetable*, and `value` is *scallions*, a synonym
1339	// could be *green onions*. For `KIND_LIST` entity types: * This
1340	// collection must contain exactly one synonym equal to `value`.
1341	Synonyms []string `json:"synonyms,omitempty"`
1342
1343	// Value: Required. The primary value associated with this entity entry.
1344	// For example, if the entity type is *vegetable*, the value could be
1345	// *scallions*. For `KIND_MAP` entity types: * A canonical value to be
1346	// used in place of synonyms. For `KIND_LIST` entity types: * A string
1347	// that can contain references to other entity types (with or without
1348	// aliases).
1349	Value string `json:"value,omitempty"`
1350
1351	// ForceSendFields is a list of field names (e.g. "Synonyms") to
1352	// unconditionally include in API requests. By default, fields with
1353	// empty or default values are omitted from API requests. However, any
1354	// non-pointer, non-interface field appearing in ForceSendFields will be
1355	// sent to the server regardless of whether the field is empty or not.
1356	// This may be used to include empty fields in Patch requests.
1357	ForceSendFields []string `json:"-"`
1358
1359	// NullFields is a list of field names (e.g. "Synonyms") to include in
1360	// API requests with the JSON null value. By default, fields with empty
1361	// values are omitted from API requests. However, any field with an
1362	// empty value appearing in NullFields will be sent to the server as
1363	// null. It is an error if a field in this list has a non-empty value.
1364	// This may be used to include null fields in Patch requests.
1365	NullFields []string `json:"-"`
1366}
1367
1368func (s *GoogleCloudDialogflowCxV3EntityTypeEntity) MarshalJSON() ([]byte, error) {
1369	type NoMethod GoogleCloudDialogflowCxV3EntityTypeEntity
1370	raw := NoMethod(*s)
1371	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1372}
1373
1374// GoogleCloudDialogflowCxV3EntityTypeExcludedPhrase: An excluded entity
1375// phrase that should not be matched.
1376type GoogleCloudDialogflowCxV3EntityTypeExcludedPhrase struct {
1377	// Value: Required. The word or phrase to be excluded.
1378	Value string `json:"value,omitempty"`
1379
1380	// ForceSendFields is a list of field names (e.g. "Value") to
1381	// unconditionally include in API requests. By default, fields with
1382	// empty or default values are omitted from API requests. However, any
1383	// non-pointer, non-interface field appearing in ForceSendFields will be
1384	// sent to the server regardless of whether the field is empty or not.
1385	// This may be used to include empty fields in Patch requests.
1386	ForceSendFields []string `json:"-"`
1387
1388	// NullFields is a list of field names (e.g. "Value") to include in API
1389	// requests with the JSON null value. By default, fields with empty
1390	// values are omitted from API requests. However, any field with an
1391	// empty value appearing in NullFields will be sent to the server as
1392	// null. It is an error if a field in this list has a non-empty value.
1393	// This may be used to include null fields in Patch requests.
1394	NullFields []string `json:"-"`
1395}
1396
1397func (s *GoogleCloudDialogflowCxV3EntityTypeExcludedPhrase) MarshalJSON() ([]byte, error) {
1398	type NoMethod GoogleCloudDialogflowCxV3EntityTypeExcludedPhrase
1399	raw := NoMethod(*s)
1400	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1401}
1402
1403// GoogleCloudDialogflowCxV3Environment: Represents an environment for
1404// an agent. You can create multiple versions of your agent and publish
1405// them to separate environments. When you edit an agent, you are
1406// editing the draft agent. At any point, you can save the draft agent
1407// as an agent version, which is an immutable snapshot of your agent.
1408// When you save the draft agent, it is published to the default
1409// environment. When you create agent versions, you can publish them to
1410// custom environments. You can create a variety of custom environments
1411// for testing, development, production, etc.
1412type GoogleCloudDialogflowCxV3Environment struct {
1413	// Description: The human-readable description of the environment. The
1414	// maximum length is 500 characters. If exceeded, the request is
1415	// rejected.
1416	Description string `json:"description,omitempty"`
1417
1418	// DisplayName: Required. The human-readable name of the environment
1419	// (unique in an agent). Limit of 64 characters.
1420	DisplayName string `json:"displayName,omitempty"`
1421
1422	// Name: The name of the environment. Format:
1423	// `projects//locations//agents//environments/`.
1424	Name string `json:"name,omitempty"`
1425
1426	// UpdateTime: Output only. Update time of this environment.
1427	UpdateTime string `json:"updateTime,omitempty"`
1428
1429	// VersionConfigs: Required. A list of configurations for flow versions.
1430	// You should include version configs for all flows that are reachable
1431	// from `Start Flow` in the agent. Otherwise, an error will be returned.
1432	VersionConfigs []*GoogleCloudDialogflowCxV3EnvironmentVersionConfig `json:"versionConfigs,omitempty"`
1433
1434	// ServerResponse contains the HTTP response code and headers from the
1435	// server.
1436	googleapi.ServerResponse `json:"-"`
1437
1438	// ForceSendFields is a list of field names (e.g. "Description") to
1439	// unconditionally include in API requests. By default, fields with
1440	// empty or default values are omitted from API requests. However, any
1441	// non-pointer, non-interface field appearing in ForceSendFields will be
1442	// sent to the server regardless of whether the field is empty or not.
1443	// This may be used to include empty fields in Patch requests.
1444	ForceSendFields []string `json:"-"`
1445
1446	// NullFields is a list of field names (e.g. "Description") to include
1447	// in API requests with the JSON null value. By default, fields with
1448	// empty values are omitted from API requests. However, any field with
1449	// an empty value appearing in NullFields will be sent to the server as
1450	// null. It is an error if a field in this list has a non-empty value.
1451	// This may be used to include null fields in Patch requests.
1452	NullFields []string `json:"-"`
1453}
1454
1455func (s *GoogleCloudDialogflowCxV3Environment) MarshalJSON() ([]byte, error) {
1456	type NoMethod GoogleCloudDialogflowCxV3Environment
1457	raw := NoMethod(*s)
1458	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1459}
1460
1461// GoogleCloudDialogflowCxV3EnvironmentVersionConfig: Configuration for
1462// the version.
1463type GoogleCloudDialogflowCxV3EnvironmentVersionConfig struct {
1464	// Version: Required. Format:
1465	// projects//locations//agents//flows//versions/.
1466	Version string `json:"version,omitempty"`
1467
1468	// ForceSendFields is a list of field names (e.g. "Version") to
1469	// unconditionally include in API requests. By default, fields with
1470	// empty or default values are omitted from API requests. However, any
1471	// non-pointer, non-interface field appearing in ForceSendFields will be
1472	// sent to the server regardless of whether the field is empty or not.
1473	// This may be used to include empty fields in Patch requests.
1474	ForceSendFields []string `json:"-"`
1475
1476	// NullFields is a list of field names (e.g. "Version") to include in
1477	// API requests with the JSON null value. By default, fields with empty
1478	// values are omitted from API requests. However, any field with an
1479	// empty value appearing in NullFields will be sent to the server as
1480	// null. It is an error if a field in this list has a non-empty value.
1481	// This may be used to include null fields in Patch requests.
1482	NullFields []string `json:"-"`
1483}
1484
1485func (s *GoogleCloudDialogflowCxV3EnvironmentVersionConfig) MarshalJSON() ([]byte, error) {
1486	type NoMethod GoogleCloudDialogflowCxV3EnvironmentVersionConfig
1487	raw := NoMethod(*s)
1488	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1489}
1490
1491// GoogleCloudDialogflowCxV3EventHandler: An event handler specifies an
1492// event that can be handled during a session. When the specified event
1493// happens, the following actions are taken in order: * If there is a
1494// `trigger_fulfillment` associated with the event, it will be called. *
1495// If there is a `target_page` associated with the event, the session
1496// will transition into the specified page. * If there is a
1497// `target_flow` associated with the event, the session will transition
1498// into the specified flow.
1499type GoogleCloudDialogflowCxV3EventHandler struct {
1500	// Event: Required. The name of the event to handle.
1501	Event string `json:"event,omitempty"`
1502
1503	// Name: Output only. The unique identifier of this event handler.
1504	Name string `json:"name,omitempty"`
1505
1506	// TargetFlow: The target flow to transition to. Format:
1507	// `projects//locations//agents//flows/`.
1508	TargetFlow string `json:"targetFlow,omitempty"`
1509
1510	// TargetPage: The target page to transition to. Format:
1511	// `projects//locations//agents//flows//pages/`.
1512	TargetPage string `json:"targetPage,omitempty"`
1513
1514	// TriggerFulfillment: The fulfillment to call when the event occurs.
1515	// Handling webhook errors with a fulfillment enabled with webhook could
1516	// cause infinite loop. It is invalid to specify such fulfillment for a
1517	// handler handling webhooks.
1518	TriggerFulfillment *GoogleCloudDialogflowCxV3Fulfillment `json:"triggerFulfillment,omitempty"`
1519
1520	// ForceSendFields is a list of field names (e.g. "Event") to
1521	// unconditionally include in API requests. By default, fields with
1522	// empty or default values are omitted from API requests. However, any
1523	// non-pointer, non-interface field appearing in ForceSendFields will be
1524	// sent to the server regardless of whether the field is empty or not.
1525	// This may be used to include empty fields in Patch requests.
1526	ForceSendFields []string `json:"-"`
1527
1528	// NullFields is a list of field names (e.g. "Event") to include in API
1529	// requests with the JSON null value. By default, fields with empty
1530	// values are omitted from API requests. However, any field with an
1531	// empty value appearing in NullFields will be sent to the server as
1532	// null. It is an error if a field in this list has a non-empty value.
1533	// This may be used to include null fields in Patch requests.
1534	NullFields []string `json:"-"`
1535}
1536
1537func (s *GoogleCloudDialogflowCxV3EventHandler) MarshalJSON() ([]byte, error) {
1538	type NoMethod GoogleCloudDialogflowCxV3EventHandler
1539	raw := NoMethod(*s)
1540	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1541}
1542
1543// GoogleCloudDialogflowCxV3EventInput: Represents the event to trigger.
1544type GoogleCloudDialogflowCxV3EventInput struct {
1545	// Event: Name of the event.
1546	Event string `json:"event,omitempty"`
1547
1548	// ForceSendFields is a list of field names (e.g. "Event") to
1549	// unconditionally include in API requests. By default, fields with
1550	// empty or default values are omitted from API requests. However, any
1551	// non-pointer, non-interface field appearing in ForceSendFields will be
1552	// sent to the server regardless of whether the field is empty or not.
1553	// This may be used to include empty fields in Patch requests.
1554	ForceSendFields []string `json:"-"`
1555
1556	// NullFields is a list of field names (e.g. "Event") to include in API
1557	// requests with the JSON null value. By default, fields with empty
1558	// values are omitted from API requests. However, any field with an
1559	// empty value appearing in NullFields will be sent to the server as
1560	// null. It is an error if a field in this list has a non-empty value.
1561	// This may be used to include null fields in Patch requests.
1562	NullFields []string `json:"-"`
1563}
1564
1565func (s *GoogleCloudDialogflowCxV3EventInput) MarshalJSON() ([]byte, error) {
1566	type NoMethod GoogleCloudDialogflowCxV3EventInput
1567	raw := NoMethod(*s)
1568	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1569}
1570
1571// GoogleCloudDialogflowCxV3Experiment: Represents an experiment in an
1572// environment.
1573type GoogleCloudDialogflowCxV3Experiment struct {
1574	// CreateTime: Creation time of this experiment.
1575	CreateTime string `json:"createTime,omitempty"`
1576
1577	// Definition: The definition of the experiment.
1578	Definition *GoogleCloudDialogflowCxV3ExperimentDefinition `json:"definition,omitempty"`
1579
1580	// Description: The human-readable description of the experiment.
1581	Description string `json:"description,omitempty"`
1582
1583	// DisplayName: Required. The human-readable name of the experiment
1584	// (unique in an environment). Limit of 64 characters.
1585	DisplayName string `json:"displayName,omitempty"`
1586
1587	// EndTime: End time of this experiment.
1588	EndTime string `json:"endTime,omitempty"`
1589
1590	// ExperimentLength: Maximum number of days to run the
1591	// experiment/rollout. If auto-rollout is not enabled, default value and
1592	// maximum will be 30 days. If auto-rollout is enabled, default value
1593	// and maximum will be 6 days.
1594	ExperimentLength string `json:"experimentLength,omitempty"`
1595
1596	// LastUpdateTime: Last update time of this experiment.
1597	LastUpdateTime string `json:"lastUpdateTime,omitempty"`
1598
1599	// Name: The name of the experiment. Format:
1600	// projects//locations//agents//environments//experiments/..
1601	Name string `json:"name,omitempty"`
1602
1603	// Result: Inference result of the experiment.
1604	Result *GoogleCloudDialogflowCxV3ExperimentResult `json:"result,omitempty"`
1605
1606	// RolloutConfig: The configuration for auto rollout. If set, there
1607	// should be exactly two variants in the experiment (control variant
1608	// being the default version of the flow), the traffic allocation for
1609	// the non-control variant will gradually increase to 100% when
1610	// conditions are met, and eventually replace the control variant to
1611	// become the default version of the flow.
1612	RolloutConfig *GoogleCloudDialogflowCxV3RolloutConfig `json:"rolloutConfig,omitempty"`
1613
1614	// RolloutFailureReason: The reason why rollout has failed. Should only
1615	// be set when state is ROLLOUT_FAILED.
1616	RolloutFailureReason string `json:"rolloutFailureReason,omitempty"`
1617
1618	// RolloutState: State of the auto rollout process.
1619	RolloutState *GoogleCloudDialogflowCxV3RolloutState `json:"rolloutState,omitempty"`
1620
1621	// StartTime: Start time of this experiment.
1622	StartTime string `json:"startTime,omitempty"`
1623
1624	// State: The current state of the experiment. Transition triggered by
1625	// Experiments.StartExperiment: DRAFT->RUNNING. Transition triggered by
1626	// Experiments.CancelExperiment: DRAFT->DONE or RUNNING->DONE.
1627	//
1628	// Possible values:
1629	//   "STATE_UNSPECIFIED" - State unspecified.
1630	//   "DRAFT" - The experiment is created but not started yet.
1631	//   "RUNNING" - The experiment is running.
1632	//   "DONE" - The experiment is done.
1633	//   "ROLLOUT_FAILED" - The experiment with auto-rollout enabled has
1634	// failed.
1635	State string `json:"state,omitempty"`
1636
1637	// VariantsHistory: The history of updates to the experiment variants.
1638	VariantsHistory []*GoogleCloudDialogflowCxV3VariantsHistory `json:"variantsHistory,omitempty"`
1639
1640	// ServerResponse contains the HTTP response code and headers from the
1641	// server.
1642	googleapi.ServerResponse `json:"-"`
1643
1644	// ForceSendFields is a list of field names (e.g. "CreateTime") to
1645	// unconditionally include in API requests. By default, fields with
1646	// empty or default values are omitted from API requests. However, any
1647	// non-pointer, non-interface field appearing in ForceSendFields will be
1648	// sent to the server regardless of whether the field is empty or not.
1649	// This may be used to include empty fields in Patch requests.
1650	ForceSendFields []string `json:"-"`
1651
1652	// NullFields is a list of field names (e.g. "CreateTime") to include in
1653	// API requests with the JSON null value. By default, fields with empty
1654	// values are omitted from API requests. However, any field with an
1655	// empty value appearing in NullFields will be sent to the server as
1656	// null. It is an error if a field in this list has a non-empty value.
1657	// This may be used to include null fields in Patch requests.
1658	NullFields []string `json:"-"`
1659}
1660
1661func (s *GoogleCloudDialogflowCxV3Experiment) MarshalJSON() ([]byte, error) {
1662	type NoMethod GoogleCloudDialogflowCxV3Experiment
1663	raw := NoMethod(*s)
1664	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1665}
1666
1667// GoogleCloudDialogflowCxV3ExperimentDefinition: Definition of the
1668// experiment.
1669type GoogleCloudDialogflowCxV3ExperimentDefinition struct {
1670	// Condition: The condition defines which subset of sessions are
1671	// selected for this experiment. If not specified, all sessions are
1672	// eligible. E.g. "query_input.language_code=en" See the conditions
1673	// reference
1674	// (https://cloud.google.com/dialogflow/cx/docs/reference/condition).
1675	Condition string `json:"condition,omitempty"`
1676
1677	// VersionVariants: The flow versions as the variants of this
1678	// experiment.
1679	VersionVariants *GoogleCloudDialogflowCxV3VersionVariants `json:"versionVariants,omitempty"`
1680
1681	// ForceSendFields is a list of field names (e.g. "Condition") to
1682	// unconditionally include in API requests. By default, fields with
1683	// empty or default values are omitted from API requests. However, any
1684	// non-pointer, non-interface field appearing in ForceSendFields will be
1685	// sent to the server regardless of whether the field is empty or not.
1686	// This may be used to include empty fields in Patch requests.
1687	ForceSendFields []string `json:"-"`
1688
1689	// NullFields is a list of field names (e.g. "Condition") to include in
1690	// API requests with the JSON null value. By default, fields with empty
1691	// values are omitted from API requests. However, any field with an
1692	// empty value appearing in NullFields will be sent to the server as
1693	// null. It is an error if a field in this list has a non-empty value.
1694	// This may be used to include null fields in Patch requests.
1695	NullFields []string `json:"-"`
1696}
1697
1698func (s *GoogleCloudDialogflowCxV3ExperimentDefinition) MarshalJSON() ([]byte, error) {
1699	type NoMethod GoogleCloudDialogflowCxV3ExperimentDefinition
1700	raw := NoMethod(*s)
1701	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1702}
1703
1704// GoogleCloudDialogflowCxV3ExperimentResult: The inference result which
1705// includes an objective metric to optimize and the confidence interval.
1706type GoogleCloudDialogflowCxV3ExperimentResult struct {
1707	// LastUpdateTime: The last time the experiment's stats data was
1708	// updated. Will have default value if stats have never been computed
1709	// for this experiment.
1710	LastUpdateTime string `json:"lastUpdateTime,omitempty"`
1711
1712	// VersionMetrics: Version variants and metrics.
1713	VersionMetrics []*GoogleCloudDialogflowCxV3ExperimentResultVersionMetrics `json:"versionMetrics,omitempty"`
1714
1715	// ForceSendFields is a list of field names (e.g. "LastUpdateTime") to
1716	// unconditionally include in API requests. By default, fields with
1717	// empty or default values are omitted from API requests. However, any
1718	// non-pointer, non-interface field appearing in ForceSendFields will be
1719	// sent to the server regardless of whether the field is empty or not.
1720	// This may be used to include empty fields in Patch requests.
1721	ForceSendFields []string `json:"-"`
1722
1723	// NullFields is a list of field names (e.g. "LastUpdateTime") to
1724	// include in API requests with the JSON null value. By default, fields
1725	// with empty values are omitted from API requests. However, any field
1726	// with an empty value appearing in NullFields will be sent to the
1727	// server as null. It is an error if a field in this list has a
1728	// non-empty value. This may be used to include null fields in Patch
1729	// requests.
1730	NullFields []string `json:"-"`
1731}
1732
1733func (s *GoogleCloudDialogflowCxV3ExperimentResult) MarshalJSON() ([]byte, error) {
1734	type NoMethod GoogleCloudDialogflowCxV3ExperimentResult
1735	raw := NoMethod(*s)
1736	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1737}
1738
1739// GoogleCloudDialogflowCxV3ExperimentResultConfidenceInterval: A
1740// confidence interval is a range of possible values for the experiment
1741// objective you are trying to measure.
1742type GoogleCloudDialogflowCxV3ExperimentResultConfidenceInterval struct {
1743	// ConfidenceLevel: The confidence level used to construct the interval,
1744	// i.e. there is X% chance that the true value is within this interval.
1745	ConfidenceLevel float64 `json:"confidenceLevel,omitempty"`
1746
1747	// LowerBound: Lower bound of the interval.
1748	LowerBound float64 `json:"lowerBound,omitempty"`
1749
1750	// Ratio: The percent change between an experiment metric's value and
1751	// the value for its control.
1752	Ratio float64 `json:"ratio,omitempty"`
1753
1754	// UpperBound: Upper bound of the interval.
1755	UpperBound float64 `json:"upperBound,omitempty"`
1756
1757	// ForceSendFields is a list of field names (e.g. "ConfidenceLevel") to
1758	// unconditionally include in API requests. By default, fields with
1759	// empty or default values are omitted from API requests. However, any
1760	// non-pointer, non-interface field appearing in ForceSendFields will be
1761	// sent to the server regardless of whether the field is empty or not.
1762	// This may be used to include empty fields in Patch requests.
1763	ForceSendFields []string `json:"-"`
1764
1765	// NullFields is a list of field names (e.g. "ConfidenceLevel") to
1766	// include in API requests with the JSON null value. By default, fields
1767	// with empty values are omitted from API requests. However, any field
1768	// with an empty value appearing in NullFields will be sent to the
1769	// server as null. It is an error if a field in this list has a
1770	// non-empty value. This may be used to include null fields in Patch
1771	// requests.
1772	NullFields []string `json:"-"`
1773}
1774
1775func (s *GoogleCloudDialogflowCxV3ExperimentResultConfidenceInterval) MarshalJSON() ([]byte, error) {
1776	type NoMethod GoogleCloudDialogflowCxV3ExperimentResultConfidenceInterval
1777	raw := NoMethod(*s)
1778	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1779}
1780
1781func (s *GoogleCloudDialogflowCxV3ExperimentResultConfidenceInterval) UnmarshalJSON(data []byte) error {
1782	type NoMethod GoogleCloudDialogflowCxV3ExperimentResultConfidenceInterval
1783	var s1 struct {
1784		ConfidenceLevel gensupport.JSONFloat64 `json:"confidenceLevel"`
1785		LowerBound      gensupport.JSONFloat64 `json:"lowerBound"`
1786		Ratio           gensupport.JSONFloat64 `json:"ratio"`
1787		UpperBound      gensupport.JSONFloat64 `json:"upperBound"`
1788		*NoMethod
1789	}
1790	s1.NoMethod = (*NoMethod)(s)
1791	if err := json.Unmarshal(data, &s1); err != nil {
1792		return err
1793	}
1794	s.ConfidenceLevel = float64(s1.ConfidenceLevel)
1795	s.LowerBound = float64(s1.LowerBound)
1796	s.Ratio = float64(s1.Ratio)
1797	s.UpperBound = float64(s1.UpperBound)
1798	return nil
1799}
1800
1801// GoogleCloudDialogflowCxV3ExperimentResultMetric: Metric and
1802// corresponding confidence intervals.
1803type GoogleCloudDialogflowCxV3ExperimentResultMetric struct {
1804	// ConfidenceInterval: The probability that the treatment is better than
1805	// all other treatments in the experiment
1806	ConfidenceInterval *GoogleCloudDialogflowCxV3ExperimentResultConfidenceInterval `json:"confidenceInterval,omitempty"`
1807
1808	// Count: Count value of a metric.
1809	Count float64 `json:"count,omitempty"`
1810
1811	// CountType: Count-based metric type. Only one of type or count_type is
1812	// specified in each Metric.
1813	//
1814	// Possible values:
1815	//   "COUNT_TYPE_UNSPECIFIED" - Count type unspecified.
1816	//   "TOTAL_NO_MATCH_COUNT" - Total number of occurrences of a
1817	// 'NO_MATCH'.
1818	//   "TOTAL_TURN_COUNT" - Total number of turn counts.
1819	//   "AVERAGE_TURN_COUNT" - Average turn count in a session.
1820	CountType string `json:"countType,omitempty"`
1821
1822	// Ratio: Ratio value of a metric.
1823	Ratio float64 `json:"ratio,omitempty"`
1824
1825	// Type: Ratio-based metric type. Only one of type or count_type is
1826	// specified in each Metric.
1827	//
1828	// Possible values:
1829	//   "METRIC_UNSPECIFIED" - Metric unspecified.
1830	//   "CONTAINED_SESSION_NO_CALLBACK_RATE" - Percentage of contained
1831	// sessions without user calling back in 24 hours.
1832	//   "LIVE_AGENT_HANDOFF_RATE" - Percentage of sessions that were handed
1833	// to a human agent.
1834	//   "CALLBACK_SESSION_RATE" - Percentage of sessions with the same user
1835	// calling back.
1836	//   "ABANDONED_SESSION_RATE" - Percentage of sessions where user hung
1837	// up.
1838	//   "SESSION_END_RATE" - Percentage of sessions reached Dialogflow
1839	// 'END_PAGE' or 'END_SESSION'.
1840	Type string `json:"type,omitempty"`
1841
1842	// ForceSendFields is a list of field names (e.g. "ConfidenceInterval")
1843	// to unconditionally include in API requests. By default, fields with
1844	// empty or default values are omitted from API requests. However, any
1845	// non-pointer, non-interface field appearing in ForceSendFields will be
1846	// sent to the server regardless of whether the field is empty or not.
1847	// This may be used to include empty fields in Patch requests.
1848	ForceSendFields []string `json:"-"`
1849
1850	// NullFields is a list of field names (e.g. "ConfidenceInterval") to
1851	// include in API requests with the JSON null value. By default, fields
1852	// with empty values are omitted from API requests. However, any field
1853	// with an empty value appearing in NullFields will be sent to the
1854	// server as null. It is an error if a field in this list has a
1855	// non-empty value. This may be used to include null fields in Patch
1856	// requests.
1857	NullFields []string `json:"-"`
1858}
1859
1860func (s *GoogleCloudDialogflowCxV3ExperimentResultMetric) MarshalJSON() ([]byte, error) {
1861	type NoMethod GoogleCloudDialogflowCxV3ExperimentResultMetric
1862	raw := NoMethod(*s)
1863	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1864}
1865
1866func (s *GoogleCloudDialogflowCxV3ExperimentResultMetric) UnmarshalJSON(data []byte) error {
1867	type NoMethod GoogleCloudDialogflowCxV3ExperimentResultMetric
1868	var s1 struct {
1869		Count gensupport.JSONFloat64 `json:"count"`
1870		Ratio gensupport.JSONFloat64 `json:"ratio"`
1871		*NoMethod
1872	}
1873	s1.NoMethod = (*NoMethod)(s)
1874	if err := json.Unmarshal(data, &s1); err != nil {
1875		return err
1876	}
1877	s.Count = float64(s1.Count)
1878	s.Ratio = float64(s1.Ratio)
1879	return nil
1880}
1881
1882// GoogleCloudDialogflowCxV3ExperimentResultVersionMetrics: Version
1883// variant and associated metrics.
1884type GoogleCloudDialogflowCxV3ExperimentResultVersionMetrics struct {
1885	// Metrics: The metrics and corresponding confidence intervals in the
1886	// inference result.
1887	Metrics []*GoogleCloudDialogflowCxV3ExperimentResultMetric `json:"metrics,omitempty"`
1888
1889	// SessionCount: Number of sessions that were allocated to this version.
1890	SessionCount int64 `json:"sessionCount,omitempty"`
1891
1892	// Version: The name of the flow Version. Format:
1893	// `projects//locations//agents//flows//versions/`.
1894	Version string `json:"version,omitempty"`
1895
1896	// ForceSendFields is a list of field names (e.g. "Metrics") to
1897	// unconditionally include in API requests. By default, fields with
1898	// empty or default values are omitted from API requests. However, any
1899	// non-pointer, non-interface field appearing in ForceSendFields will be
1900	// sent to the server regardless of whether the field is empty or not.
1901	// This may be used to include empty fields in Patch requests.
1902	ForceSendFields []string `json:"-"`
1903
1904	// NullFields is a list of field names (e.g. "Metrics") to include in
1905	// API requests with the JSON null value. By default, fields with empty
1906	// values are omitted from API requests. However, any field with an
1907	// empty value appearing in NullFields will be sent to the server as
1908	// null. It is an error if a field in this list has a non-empty value.
1909	// This may be used to include null fields in Patch requests.
1910	NullFields []string `json:"-"`
1911}
1912
1913func (s *GoogleCloudDialogflowCxV3ExperimentResultVersionMetrics) MarshalJSON() ([]byte, error) {
1914	type NoMethod GoogleCloudDialogflowCxV3ExperimentResultVersionMetrics
1915	raw := NoMethod(*s)
1916	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1917}
1918
1919// GoogleCloudDialogflowCxV3ExportAgentRequest: The request message for
1920// Agents.ExportAgent.
1921type GoogleCloudDialogflowCxV3ExportAgentRequest struct {
1922	// AgentUri: Optional. The Google Cloud Storage
1923	// (https://cloud.google.com/storage/docs/) URI to export the agent to.
1924	// The format of this URI must be `gs:///`. If left unspecified, the
1925	// serialized agent is returned inline.
1926	AgentUri string `json:"agentUri,omitempty"`
1927
1928	// Environment: Optional. Environment name. If not set, draft
1929	// environment is assumed. Format:
1930	// `projects//locations//agents//environments/`.
1931	Environment string `json:"environment,omitempty"`
1932
1933	// ForceSendFields is a list of field names (e.g. "AgentUri") to
1934	// unconditionally include in API requests. By default, fields with
1935	// empty or default values are omitted from API requests. However, any
1936	// non-pointer, non-interface field appearing in ForceSendFields will be
1937	// sent to the server regardless of whether the field is empty or not.
1938	// This may be used to include empty fields in Patch requests.
1939	ForceSendFields []string `json:"-"`
1940
1941	// NullFields is a list of field names (e.g. "AgentUri") to include in
1942	// API requests with the JSON null value. By default, fields with empty
1943	// values are omitted from API requests. However, any field with an
1944	// empty value appearing in NullFields will be sent to the server as
1945	// null. It is an error if a field in this list has a non-empty value.
1946	// This may be used to include null fields in Patch requests.
1947	NullFields []string `json:"-"`
1948}
1949
1950func (s *GoogleCloudDialogflowCxV3ExportAgentRequest) MarshalJSON() ([]byte, error) {
1951	type NoMethod GoogleCloudDialogflowCxV3ExportAgentRequest
1952	raw := NoMethod(*s)
1953	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1954}
1955
1956// GoogleCloudDialogflowCxV3ExportAgentResponse: The response message
1957// for Agents.ExportAgent.
1958type GoogleCloudDialogflowCxV3ExportAgentResponse struct {
1959	// AgentContent: Uncompressed raw byte content for agent.
1960	AgentContent string `json:"agentContent,omitempty"`
1961
1962	// AgentUri: The URI to a file containing the exported agent. This field
1963	// is populated only if `agent_uri` is specified in ExportAgentRequest.
1964	AgentUri string `json:"agentUri,omitempty"`
1965
1966	// ForceSendFields is a list of field names (e.g. "AgentContent") to
1967	// unconditionally include in API requests. By default, fields with
1968	// empty or default values are omitted from API requests. However, any
1969	// non-pointer, non-interface field appearing in ForceSendFields will be
1970	// sent to the server regardless of whether the field is empty or not.
1971	// This may be used to include empty fields in Patch requests.
1972	ForceSendFields []string `json:"-"`
1973
1974	// NullFields is a list of field names (e.g. "AgentContent") to include
1975	// in API requests with the JSON null value. By default, fields with
1976	// empty values are omitted from API requests. However, any field with
1977	// an empty value appearing in NullFields will be sent to the server as
1978	// null. It is an error if a field in this list has a non-empty value.
1979	// This may be used to include null fields in Patch requests.
1980	NullFields []string `json:"-"`
1981}
1982
1983func (s *GoogleCloudDialogflowCxV3ExportAgentResponse) MarshalJSON() ([]byte, error) {
1984	type NoMethod GoogleCloudDialogflowCxV3ExportAgentResponse
1985	raw := NoMethod(*s)
1986	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1987}
1988
1989// GoogleCloudDialogflowCxV3ExportFlowRequest: The request message for
1990// Flows.ExportFlow.
1991type GoogleCloudDialogflowCxV3ExportFlowRequest struct {
1992	// FlowUri: Optional. The Google Cloud Storage
1993	// (https://cloud.google.com/storage/docs/) URI to export the flow to.
1994	// The format of this URI must be `gs:///`. If left unspecified, the
1995	// serialized flow is returned inline.
1996	FlowUri string `json:"flowUri,omitempty"`
1997
1998	// IncludeReferencedFlows: Optional. Whether to export flows referenced
1999	// by the specified flow.
2000	IncludeReferencedFlows bool `json:"includeReferencedFlows,omitempty"`
2001
2002	// ForceSendFields is a list of field names (e.g. "FlowUri") to
2003	// unconditionally include in API requests. By default, fields with
2004	// empty or default values are omitted from API requests. However, any
2005	// non-pointer, non-interface field appearing in ForceSendFields will be
2006	// sent to the server regardless of whether the field is empty or not.
2007	// This may be used to include empty fields in Patch requests.
2008	ForceSendFields []string `json:"-"`
2009
2010	// NullFields is a list of field names (e.g. "FlowUri") to include in
2011	// API requests with the JSON null value. By default, fields with empty
2012	// values are omitted from API requests. However, any field with an
2013	// empty value appearing in NullFields will be sent to the server as
2014	// null. It is an error if a field in this list has a non-empty value.
2015	// This may be used to include null fields in Patch requests.
2016	NullFields []string `json:"-"`
2017}
2018
2019func (s *GoogleCloudDialogflowCxV3ExportFlowRequest) MarshalJSON() ([]byte, error) {
2020	type NoMethod GoogleCloudDialogflowCxV3ExportFlowRequest
2021	raw := NoMethod(*s)
2022	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2023}
2024
2025// GoogleCloudDialogflowCxV3ExportFlowResponse: The response message for
2026// Flows.ExportFlow.
2027type GoogleCloudDialogflowCxV3ExportFlowResponse struct {
2028	// FlowContent: Uncompressed raw byte content for flow.
2029	FlowContent string `json:"flowContent,omitempty"`
2030
2031	// FlowUri: The URI to a file containing the exported flow. This field
2032	// is populated only if `flow_uri` is specified in ExportFlowRequest.
2033	FlowUri string `json:"flowUri,omitempty"`
2034
2035	// ForceSendFields is a list of field names (e.g. "FlowContent") to
2036	// unconditionally include in API requests. By default, fields with
2037	// empty or default values are omitted from API requests. However, any
2038	// non-pointer, non-interface field appearing in ForceSendFields will be
2039	// sent to the server regardless of whether the field is empty or not.
2040	// This may be used to include empty fields in Patch requests.
2041	ForceSendFields []string `json:"-"`
2042
2043	// NullFields is a list of field names (e.g. "FlowContent") to include
2044	// in API requests with the JSON null value. By default, fields with
2045	// empty values are omitted from API requests. However, any field with
2046	// an empty value appearing in NullFields will be sent to the server as
2047	// null. It is an error if a field in this list has a non-empty value.
2048	// This may be used to include null fields in Patch requests.
2049	NullFields []string `json:"-"`
2050}
2051
2052func (s *GoogleCloudDialogflowCxV3ExportFlowResponse) MarshalJSON() ([]byte, error) {
2053	type NoMethod GoogleCloudDialogflowCxV3ExportFlowResponse
2054	raw := NoMethod(*s)
2055	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2056}
2057
2058// GoogleCloudDialogflowCxV3ExportTestCasesMetadata: Metadata returned
2059// for the TestCases.ExportTestCases long running operation.
2060type GoogleCloudDialogflowCxV3ExportTestCasesMetadata struct {
2061}
2062
2063// GoogleCloudDialogflowCxV3ExportTestCasesRequest: The request message
2064// for TestCases.ExportTestCases.
2065type GoogleCloudDialogflowCxV3ExportTestCasesRequest struct {
2066	// DataFormat: The data format of the exported test cases. If not
2067	// specified, `BLOB` is assumed.
2068	//
2069	// Possible values:
2070	//   "DATA_FORMAT_UNSPECIFIED" - Unspecified format.
2071	//   "BLOB" - Raw bytes.
2072	//   "JSON" - JSON format.
2073	DataFormat string `json:"dataFormat,omitempty"`
2074
2075	// Filter: The filter expression used to filter exported test cases, see
2076	// API Filtering (https://aip.dev/160). The expression is case
2077	// insensitive and supports the following syntax: name = [OR name = ]
2078	// ... For example: * "name = t1 OR name = t2" matches the test case
2079	// with the exact resource name "t1" or "t2".
2080	Filter string `json:"filter,omitempty"`
2081
2082	// GcsUri: The Google Cloud Storage
2083	// (https://cloud.google.com/storage/docs/) URI to export the test cases
2084	// to. The format of this URI must be `gs:///`. If unspecified, the
2085	// serialized test cases is returned inline.
2086	GcsUri string `json:"gcsUri,omitempty"`
2087
2088	// ForceSendFields is a list of field names (e.g. "DataFormat") to
2089	// unconditionally include in API requests. By default, fields with
2090	// empty or default values are omitted from API requests. However, any
2091	// non-pointer, non-interface field appearing in ForceSendFields will be
2092	// sent to the server regardless of whether the field is empty or not.
2093	// This may be used to include empty fields in Patch requests.
2094	ForceSendFields []string `json:"-"`
2095
2096	// NullFields is a list of field names (e.g. "DataFormat") to include in
2097	// API requests with the JSON null value. By default, fields with empty
2098	// values are omitted from API requests. However, any field with an
2099	// empty value appearing in NullFields will be sent to the server as
2100	// null. It is an error if a field in this list has a non-empty value.
2101	// This may be used to include null fields in Patch requests.
2102	NullFields []string `json:"-"`
2103}
2104
2105func (s *GoogleCloudDialogflowCxV3ExportTestCasesRequest) MarshalJSON() ([]byte, error) {
2106	type NoMethod GoogleCloudDialogflowCxV3ExportTestCasesRequest
2107	raw := NoMethod(*s)
2108	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2109}
2110
2111// GoogleCloudDialogflowCxV3ExportTestCasesResponse: The response
2112// message for TestCases.ExportTestCases.
2113type GoogleCloudDialogflowCxV3ExportTestCasesResponse struct {
2114	// Content: Uncompressed raw byte content for test cases.
2115	Content string `json:"content,omitempty"`
2116
2117	// GcsUri: The URI to a file containing the exported test cases. This
2118	// field is populated only if `gcs_uri` is specified in
2119	// ExportTestCasesRequest.
2120	GcsUri string `json:"gcsUri,omitempty"`
2121
2122	// ForceSendFields is a list of field names (e.g. "Content") to
2123	// unconditionally include in API requests. By default, fields with
2124	// empty or default values are omitted from API requests. However, any
2125	// non-pointer, non-interface field appearing in ForceSendFields will be
2126	// sent to the server regardless of whether the field is empty or not.
2127	// This may be used to include empty fields in Patch requests.
2128	ForceSendFields []string `json:"-"`
2129
2130	// NullFields is a list of field names (e.g. "Content") to include in
2131	// API requests with the JSON null value. By default, fields with empty
2132	// values are omitted from API requests. However, any field with an
2133	// empty value appearing in NullFields will be sent to the server as
2134	// null. It is an error if a field in this list has a non-empty value.
2135	// This may be used to include null fields in Patch requests.
2136	NullFields []string `json:"-"`
2137}
2138
2139func (s *GoogleCloudDialogflowCxV3ExportTestCasesResponse) MarshalJSON() ([]byte, error) {
2140	type NoMethod GoogleCloudDialogflowCxV3ExportTestCasesResponse
2141	raw := NoMethod(*s)
2142	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2143}
2144
2145// GoogleCloudDialogflowCxV3Flow: Flows represents the conversation
2146// flows when you build your chatbot agent. A flow consists of many
2147// pages connected by the transition routes. Conversations always start
2148// with the built-in Start Flow (with an all-0 ID). Transition routes
2149// can direct the conversation session from the current flow (parent
2150// flow) to another flow (sub flow). When the sub flow is finished,
2151// Dialogflow will bring the session back to the parent flow, where the
2152// sub flow is started. Usually, when a transition route is followed by
2153// a matched intent, the intent will be "consumed". This means the
2154// intent won't activate more transition routes. However, when the
2155// followed transition route moves the conversation session into a
2156// different flow, the matched intent can be carried over and to be
2157// consumed in the target flow.
2158type GoogleCloudDialogflowCxV3Flow struct {
2159	// Description: The description of the flow. The maximum length is 500
2160	// characters. If exceeded, the request is rejected.
2161	Description string `json:"description,omitempty"`
2162
2163	// DisplayName: Required. The human-readable name of the flow.
2164	DisplayName string `json:"displayName,omitempty"`
2165
2166	// EventHandlers: A flow's event handlers serve two purposes: * They are
2167	// responsible for handling events (e.g. no match, webhook errors) in
2168	// the flow. * They are inherited by every page's event handlers, which
2169	// can be used to handle common events regardless of the current page.
2170	// Event handlers defined in the page have higher priority than those
2171	// defined in the flow. Unlike transition_routes, these handlers are
2172	// evaluated on a first-match basis. The first one that matches the
2173	// event get executed, with the rest being ignored.
2174	EventHandlers []*GoogleCloudDialogflowCxV3EventHandler `json:"eventHandlers,omitempty"`
2175
2176	// Name: The unique identifier of the flow. Format:
2177	// `projects//locations//agents//flows/`.
2178	Name string `json:"name,omitempty"`
2179
2180	// NluSettings: NLU related settings of the flow.
2181	NluSettings *GoogleCloudDialogflowCxV3NluSettings `json:"nluSettings,omitempty"`
2182
2183	// TransitionRouteGroups: A flow's transition route group serve two
2184	// purposes: * They are responsible for matching the user's first
2185	// utterances in the flow. * They are inherited by every page's
2186	// transition route groups. Transition route groups defined in the page
2187	// have higher priority than those defined in the flow.
2188	// Format:`projects//locations//agents//flows//transitionRouteGroups/`.
2189	TransitionRouteGroups []string `json:"transitionRouteGroups,omitempty"`
2190
2191	// TransitionRoutes: A flow's transition routes serve two purposes: *
2192	// They are responsible for matching the user's first utterances in the
2193	// flow. * They are inherited by every page's transition routes and can
2194	// support use cases such as the user saying "help" or "can I talk to a
2195	// human?", which can be handled in a common way regardless of the
2196	// current page. Transition routes defined in the page have higher
2197	// priority than those defined in the flow. TransitionRoutes are
2198	// evalauted in the following order: * TransitionRoutes with intent
2199	// specified.. * TransitionRoutes with only condition specified.
2200	// TransitionRoutes with intent specified are inherited by pages in the
2201	// flow.
2202	TransitionRoutes []*GoogleCloudDialogflowCxV3TransitionRoute `json:"transitionRoutes,omitempty"`
2203
2204	// ServerResponse contains the HTTP response code and headers from the
2205	// server.
2206	googleapi.ServerResponse `json:"-"`
2207
2208	// ForceSendFields is a list of field names (e.g. "Description") to
2209	// unconditionally include in API requests. By default, fields with
2210	// empty or default values are omitted from API requests. However, any
2211	// non-pointer, non-interface field appearing in ForceSendFields will be
2212	// sent to the server regardless of whether the field is empty or not.
2213	// This may be used to include empty fields in Patch requests.
2214	ForceSendFields []string `json:"-"`
2215
2216	// NullFields is a list of field names (e.g. "Description") to include
2217	// in API requests with the JSON null value. By default, fields with
2218	// empty values are omitted from API requests. However, any field with
2219	// an empty value appearing in NullFields will be sent to the server as
2220	// null. It is an error if a field in this list has a non-empty value.
2221	// This may be used to include null fields in Patch requests.
2222	NullFields []string `json:"-"`
2223}
2224
2225func (s *GoogleCloudDialogflowCxV3Flow) MarshalJSON() ([]byte, error) {
2226	type NoMethod GoogleCloudDialogflowCxV3Flow
2227	raw := NoMethod(*s)
2228	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2229}
2230
2231// GoogleCloudDialogflowCxV3FlowValidationResult: The response message
2232// for Flows.GetFlowValidationResult.
2233type GoogleCloudDialogflowCxV3FlowValidationResult struct {
2234	// Name: The unique identifier of the flow validation result. Format:
2235	// `projects//locations//agents//flows//validationResult`.
2236	Name string `json:"name,omitempty"`
2237
2238	// UpdateTime: Last time the flow was validated.
2239	UpdateTime string `json:"updateTime,omitempty"`
2240
2241	// ValidationMessages: Contains all validation messages.
2242	ValidationMessages []*GoogleCloudDialogflowCxV3ValidationMessage `json:"validationMessages,omitempty"`
2243
2244	// ServerResponse contains the HTTP response code and headers from the
2245	// server.
2246	googleapi.ServerResponse `json:"-"`
2247
2248	// ForceSendFields is a list of field names (e.g. "Name") to
2249	// unconditionally include in API requests. By default, fields with
2250	// empty or default values are omitted from API requests. However, any
2251	// non-pointer, non-interface field appearing in ForceSendFields will be
2252	// sent to the server regardless of whether the field is empty or not.
2253	// This may be used to include empty fields in Patch requests.
2254	ForceSendFields []string `json:"-"`
2255
2256	// NullFields is a list of field names (e.g. "Name") to include in API
2257	// requests with the JSON null value. By default, fields with empty
2258	// values are omitted from API requests. However, any field with an
2259	// empty value appearing in NullFields will be sent to the server as
2260	// null. It is an error if a field in this list has a non-empty value.
2261	// This may be used to include null fields in Patch requests.
2262	NullFields []string `json:"-"`
2263}
2264
2265func (s *GoogleCloudDialogflowCxV3FlowValidationResult) MarshalJSON() ([]byte, error) {
2266	type NoMethod GoogleCloudDialogflowCxV3FlowValidationResult
2267	raw := NoMethod(*s)
2268	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2269}
2270
2271// GoogleCloudDialogflowCxV3Form: A form is a data model that groups
2272// related parameters that can be collected from the user. The process
2273// in which the agent prompts the user and collects parameter values
2274// from the user is called form filling. A form can be added to a page.
2275// When form filling is done, the filled parameters will be written to
2276// the session.
2277type GoogleCloudDialogflowCxV3Form struct {
2278	// Parameters: Parameters to collect from the user.
2279	Parameters []*GoogleCloudDialogflowCxV3FormParameter `json:"parameters,omitempty"`
2280
2281	// ForceSendFields is a list of field names (e.g. "Parameters") to
2282	// unconditionally include in API requests. By default, fields with
2283	// empty or default values are omitted from API requests. However, any
2284	// non-pointer, non-interface field appearing in ForceSendFields will be
2285	// sent to the server regardless of whether the field is empty or not.
2286	// This may be used to include empty fields in Patch requests.
2287	ForceSendFields []string `json:"-"`
2288
2289	// NullFields is a list of field names (e.g. "Parameters") to include in
2290	// API requests with the JSON null value. By default, fields with empty
2291	// values are omitted from API requests. However, any field with an
2292	// empty value appearing in NullFields will be sent to the server as
2293	// null. It is an error if a field in this list has a non-empty value.
2294	// This may be used to include null fields in Patch requests.
2295	NullFields []string `json:"-"`
2296}
2297
2298func (s *GoogleCloudDialogflowCxV3Form) MarshalJSON() ([]byte, error) {
2299	type NoMethod GoogleCloudDialogflowCxV3Form
2300	raw := NoMethod(*s)
2301	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2302}
2303
2304// GoogleCloudDialogflowCxV3FormParameter: Represents a form parameter.
2305type GoogleCloudDialogflowCxV3FormParameter struct {
2306	// DefaultValue: The default value of an optional parameter. If the
2307	// parameter is required, the default value will be ignored.
2308	DefaultValue interface{} `json:"defaultValue,omitempty"`
2309
2310	// DisplayName: Required. The human-readable name of the parameter,
2311	// unique within the form.
2312	DisplayName string `json:"displayName,omitempty"`
2313
2314	// EntityType: Required. The entity type of the parameter. Format:
2315	// `projects/-/locations/-/agents/-/entityTypes/` for system entity
2316	// types (for example,
2317	// `projects/-/locations/-/agents/-/entityTypes/sys.date`), or
2318	// `projects//locations//agents//entityTypes/` for developer entity
2319	// types.
2320	EntityType string `json:"entityType,omitempty"`
2321
2322	// FillBehavior: Required. Defines fill behavior for the parameter.
2323	FillBehavior *GoogleCloudDialogflowCxV3FormParameterFillBehavior `json:"fillBehavior,omitempty"`
2324
2325	// IsList: Indicates whether the parameter represents a list of values.
2326	IsList bool `json:"isList,omitempty"`
2327
2328	// Redact: Indicates whether the parameter content should be redacted in
2329	// log. If redaction is enabled, the parameter content will be replaced
2330	// by parameter name during logging. Note: the parameter content is
2331	// subject to redaction if either parameter level redaction or entity
2332	// type level redaction is enabled.
2333	Redact bool `json:"redact,omitempty"`
2334
2335	// Required: Indicates whether the parameter is required. Optional
2336	// parameters will not trigger prompts; however, they are filled if the
2337	// user specifies them. Required parameters must be filled before form
2338	// filling concludes.
2339	Required bool `json:"required,omitempty"`
2340
2341	// ForceSendFields is a list of field names (e.g. "DefaultValue") to
2342	// unconditionally include in API requests. By default, fields with
2343	// empty or default values are omitted from API requests. However, any
2344	// non-pointer, non-interface field appearing in ForceSendFields will be
2345	// sent to the server regardless of whether the field is empty or not.
2346	// This may be used to include empty fields in Patch requests.
2347	ForceSendFields []string `json:"-"`
2348
2349	// NullFields is a list of field names (e.g. "DefaultValue") to include
2350	// in API requests with the JSON null value. By default, fields with
2351	// empty values are omitted from API requests. However, any field with
2352	// an empty value appearing in NullFields will be sent to the server as
2353	// null. It is an error if a field in this list has a non-empty value.
2354	// This may be used to include null fields in Patch requests.
2355	NullFields []string `json:"-"`
2356}
2357
2358func (s *GoogleCloudDialogflowCxV3FormParameter) MarshalJSON() ([]byte, error) {
2359	type NoMethod GoogleCloudDialogflowCxV3FormParameter
2360	raw := NoMethod(*s)
2361	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2362}
2363
2364// GoogleCloudDialogflowCxV3FormParameterFillBehavior: Configuration for
2365// how the filling of a parameter should be handled.
2366type GoogleCloudDialogflowCxV3FormParameterFillBehavior struct {
2367	// InitialPromptFulfillment: Required. The fulfillment to provide the
2368	// initial prompt that the agent can present to the user in order to
2369	// fill the parameter.
2370	InitialPromptFulfillment *GoogleCloudDialogflowCxV3Fulfillment `json:"initialPromptFulfillment,omitempty"`
2371
2372	// RepromptEventHandlers: The handlers for parameter-level events, used
2373	// to provide reprompt for the parameter or transition to a different
2374	// page/flow. The supported events are: * `sys.no-match-`, where N can
2375	// be from 1 to 6 * `sys.no-match-default` * `sys.no-input-`, where N
2376	// can be from 1 to 6 * `sys.no-input-default` * `sys.invalid-parameter`
2377	// `initial_prompt_fulfillment` provides the first prompt for the
2378	// parameter. If the user's response does not fill the parameter, a
2379	// no-match/no-input event will be triggered, and the fulfillment
2380	// associated with the `sys.no-match-1`/`sys.no-input-1` handler (if
2381	// defined) will be called to provide a prompt. The
2382	// `sys.no-match-2`/`sys.no-input-2` handler (if defined) will respond
2383	// to the next no-match/no-input event, and so on. A
2384	// `sys.no-match-default` or `sys.no-input-default` handler will be used
2385	// to handle all following no-match/no-input events after all numbered
2386	// no-match/no-input handlers for the parameter are consumed. A
2387	// `sys.invalid-parameter` handler can be defined to handle the case
2388	// where the parameter values have been `invalidated` by webhook. For
2389	// example, if the user's response fill the parameter, however the
2390	// parameter was invalidated by webhook, the fulfillment associated with
2391	// the `sys.invalid-parameter` handler (if defined) will be called to
2392	// provide a prompt. If the event handler for the corresponding event
2393	// can't be found on the parameter, `initial_prompt_fulfillment` will be
2394	// re-prompted.
2395	RepromptEventHandlers []*GoogleCloudDialogflowCxV3EventHandler `json:"repromptEventHandlers,omitempty"`
2396
2397	// ForceSendFields is a list of field names (e.g.
2398	// "InitialPromptFulfillment") to unconditionally include in API
2399	// requests. By default, fields with empty or default values are omitted
2400	// from API requests. However, any non-pointer, non-interface field
2401	// appearing in ForceSendFields will be sent to the server regardless of
2402	// whether the field is empty or not. This may be used to include empty
2403	// fields in Patch requests.
2404	ForceSendFields []string `json:"-"`
2405
2406	// NullFields is a list of field names (e.g. "InitialPromptFulfillment")
2407	// to include in API requests with the JSON null value. By default,
2408	// fields with empty values are omitted from API requests. However, any
2409	// field with an empty value appearing in NullFields will be sent to the
2410	// server as null. It is an error if a field in this list has a
2411	// non-empty value. This may be used to include null fields in Patch
2412	// requests.
2413	NullFields []string `json:"-"`
2414}
2415
2416func (s *GoogleCloudDialogflowCxV3FormParameterFillBehavior) MarshalJSON() ([]byte, error) {
2417	type NoMethod GoogleCloudDialogflowCxV3FormParameterFillBehavior
2418	raw := NoMethod(*s)
2419	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2420}
2421
2422// GoogleCloudDialogflowCxV3FulfillIntentRequest: Request of
2423// FulfillIntent
2424type GoogleCloudDialogflowCxV3FulfillIntentRequest struct {
2425	// Match: The matched intent/event to fulfill.
2426	Match *GoogleCloudDialogflowCxV3Match `json:"match,omitempty"`
2427
2428	// MatchIntentRequest: Must be same as the corresponding MatchIntent
2429	// request, otherwise the behavior is undefined.
2430	MatchIntentRequest *GoogleCloudDialogflowCxV3MatchIntentRequest `json:"matchIntentRequest,omitempty"`
2431
2432	// OutputAudioConfig: Instructs the speech synthesizer how to generate
2433	// output audio.
2434	OutputAudioConfig *GoogleCloudDialogflowCxV3OutputAudioConfig `json:"outputAudioConfig,omitempty"`
2435
2436	// ForceSendFields is a list of field names (e.g. "Match") to
2437	// unconditionally include in API requests. By default, fields with
2438	// empty or default values are omitted from API requests. However, any
2439	// non-pointer, non-interface field appearing in ForceSendFields will be
2440	// sent to the server regardless of whether the field is empty or not.
2441	// This may be used to include empty fields in Patch requests.
2442	ForceSendFields []string `json:"-"`
2443
2444	// NullFields is a list of field names (e.g. "Match") to include in API
2445	// requests with the JSON null value. By default, fields with empty
2446	// values are omitted from API requests. However, any field with an
2447	// empty value appearing in NullFields will be sent to the server as
2448	// null. It is an error if a field in this list has a non-empty value.
2449	// This may be used to include null fields in Patch requests.
2450	NullFields []string `json:"-"`
2451}
2452
2453func (s *GoogleCloudDialogflowCxV3FulfillIntentRequest) MarshalJSON() ([]byte, error) {
2454	type NoMethod GoogleCloudDialogflowCxV3FulfillIntentRequest
2455	raw := NoMethod(*s)
2456	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2457}
2458
2459// GoogleCloudDialogflowCxV3FulfillIntentResponse: Response of
2460// FulfillIntent
2461type GoogleCloudDialogflowCxV3FulfillIntentResponse struct {
2462	// OutputAudio: The audio data bytes encoded as specified in the
2463	// request. Note: The output audio is generated based on the values of
2464	// default platform text responses found in the
2465	// `query_result.response_messages` field. If multiple default text
2466	// responses exist, they will be concatenated when generating audio. If
2467	// no default platform text responses exist, the generated audio content
2468	// will be empty. In some scenarios, multiple output audio fields may be
2469	// present in the response structure. In these cases, only the
2470	// top-most-level audio output has content.
2471	OutputAudio string `json:"outputAudio,omitempty"`
2472
2473	// OutputAudioConfig: The config used by the speech synthesizer to
2474	// generate the output audio.
2475	OutputAudioConfig *GoogleCloudDialogflowCxV3OutputAudioConfig `json:"outputAudioConfig,omitempty"`
2476
2477	// QueryResult: The result of the conversational query.
2478	QueryResult *GoogleCloudDialogflowCxV3QueryResult `json:"queryResult,omitempty"`
2479
2480	// ResponseId: Output only. The unique identifier of the response. It
2481	// can be used to locate a response in the training example set or for
2482	// reporting issues.
2483	ResponseId string `json:"responseId,omitempty"`
2484
2485	// ServerResponse contains the HTTP response code and headers from the
2486	// server.
2487	googleapi.ServerResponse `json:"-"`
2488
2489	// ForceSendFields is a list of field names (e.g. "OutputAudio") to
2490	// unconditionally include in API requests. By default, fields with
2491	// empty or default values are omitted from API requests. However, any
2492	// non-pointer, non-interface field appearing in ForceSendFields will be
2493	// sent to the server regardless of whether the field is empty or not.
2494	// This may be used to include empty fields in Patch requests.
2495	ForceSendFields []string `json:"-"`
2496
2497	// NullFields is a list of field names (e.g. "OutputAudio") to include
2498	// in API requests with the JSON null value. By default, fields with
2499	// empty values are omitted from API requests. However, any field with
2500	// an empty value appearing in NullFields will be sent to the server as
2501	// null. It is an error if a field in this list has a non-empty value.
2502	// This may be used to include null fields in Patch requests.
2503	NullFields []string `json:"-"`
2504}
2505
2506func (s *GoogleCloudDialogflowCxV3FulfillIntentResponse) MarshalJSON() ([]byte, error) {
2507	type NoMethod GoogleCloudDialogflowCxV3FulfillIntentResponse
2508	raw := NoMethod(*s)
2509	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2510}
2511
2512// GoogleCloudDialogflowCxV3Fulfillment: A fulfillment can do one or
2513// more of the following actions at the same time: * Generate rich
2514// message responses. * Set parameter values. * Call the webhook.
2515// Fulfillments can be called at various stages in the Page or Form
2516// lifecycle. For example, when a DetectIntentRequest drives a session
2517// to enter a new page, the page's entry fulfillment can add a static
2518// response to the QueryResult in the returning DetectIntentResponse,
2519// call the webhook (for example, to load user data from a database), or
2520// both.
2521type GoogleCloudDialogflowCxV3Fulfillment struct {
2522	// ConditionalCases: Conditional cases for this fulfillment.
2523	ConditionalCases []*GoogleCloudDialogflowCxV3FulfillmentConditionalCases `json:"conditionalCases,omitempty"`
2524
2525	// Messages: The list of rich message responses to present to the user.
2526	Messages []*GoogleCloudDialogflowCxV3ResponseMessage `json:"messages,omitempty"`
2527
2528	// ReturnPartialResponses: Whether Dialogflow should return currently
2529	// queued fulfillment response messages in streaming APIs. If a webhook
2530	// is specified, it happens before Dialogflow invokes webhook. Warning:
2531	// 1) This flag only affects streaming API. Responses are still queued
2532	// and returned once in non-streaming API. 2) The flag can be enabled in
2533	// any fulfillment but only the first 3 partial responses will be
2534	// returned. You may only want to apply it to fulfillments that have
2535	// slow webhooks.
2536	ReturnPartialResponses bool `json:"returnPartialResponses,omitempty"`
2537
2538	// SetParameterActions: Set parameter values before executing the
2539	// webhook.
2540	SetParameterActions []*GoogleCloudDialogflowCxV3FulfillmentSetParameterAction `json:"setParameterActions,omitempty"`
2541
2542	// Tag: The tag used by the webhook to identify which fulfillment is
2543	// being called. This field is required if `webhook` is specified.
2544	Tag string `json:"tag,omitempty"`
2545
2546	// Webhook: The webhook to call. Format:
2547	// `projects//locations//agents//webhooks/`.
2548	Webhook string `json:"webhook,omitempty"`
2549
2550	// ForceSendFields is a list of field names (e.g. "ConditionalCases") to
2551	// unconditionally include in API requests. By default, fields with
2552	// empty or default values are omitted from API requests. However, any
2553	// non-pointer, non-interface field appearing in ForceSendFields will be
2554	// sent to the server regardless of whether the field is empty or not.
2555	// This may be used to include empty fields in Patch requests.
2556	ForceSendFields []string `json:"-"`
2557
2558	// NullFields is a list of field names (e.g. "ConditionalCases") to
2559	// include in API requests with the JSON null value. By default, fields
2560	// with empty values are omitted from API requests. However, any field
2561	// with an empty value appearing in NullFields will be sent to the
2562	// server as null. It is an error if a field in this list has a
2563	// non-empty value. This may be used to include null fields in Patch
2564	// requests.
2565	NullFields []string `json:"-"`
2566}
2567
2568func (s *GoogleCloudDialogflowCxV3Fulfillment) MarshalJSON() ([]byte, error) {
2569	type NoMethod GoogleCloudDialogflowCxV3Fulfillment
2570	raw := NoMethod(*s)
2571	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2572}
2573
2574// GoogleCloudDialogflowCxV3FulfillmentConditionalCases: A list of
2575// cascading if-else conditions. Cases are mutually exclusive. The first
2576// one with a matching condition is selected, all the rest ignored.
2577type GoogleCloudDialogflowCxV3FulfillmentConditionalCases struct {
2578	// Cases: A list of cascading if-else conditions.
2579	Cases []*GoogleCloudDialogflowCxV3FulfillmentConditionalCasesCase `json:"cases,omitempty"`
2580
2581	// ForceSendFields is a list of field names (e.g. "Cases") to
2582	// unconditionally include in API requests. By default, fields with
2583	// empty or default values are omitted from API requests. However, any
2584	// non-pointer, non-interface field appearing in ForceSendFields will be
2585	// sent to the server regardless of whether the field is empty or not.
2586	// This may be used to include empty fields in Patch requests.
2587	ForceSendFields []string `json:"-"`
2588
2589	// NullFields is a list of field names (e.g. "Cases") to include in API
2590	// 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 *GoogleCloudDialogflowCxV3FulfillmentConditionalCases) MarshalJSON() ([]byte, error) {
2599	type NoMethod GoogleCloudDialogflowCxV3FulfillmentConditionalCases
2600	raw := NoMethod(*s)
2601	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2602}
2603
2604// GoogleCloudDialogflowCxV3FulfillmentConditionalCasesCase: Each case
2605// has a Boolean condition. When it is evaluated to be True, the
2606// corresponding messages will be selected and evaluated recursively.
2607type GoogleCloudDialogflowCxV3FulfillmentConditionalCasesCase struct {
2608	// CaseContent: A list of case content.
2609	CaseContent []*GoogleCloudDialogflowCxV3FulfillmentConditionalCasesCaseCaseContent `json:"caseContent,omitempty"`
2610
2611	// Condition: The condition to activate and select this case. Empty
2612	// means the condition is always true. The condition is evaluated
2613	// against form parameters or session parameters. See the conditions
2614	// reference
2615	// (https://cloud.google.com/dialogflow/cx/docs/reference/condition).
2616	Condition string `json:"condition,omitempty"`
2617
2618	// ForceSendFields is a list of field names (e.g. "CaseContent") to
2619	// unconditionally include in API requests. By default, fields with
2620	// empty or default values are omitted from API requests. However, any
2621	// non-pointer, non-interface field appearing in ForceSendFields will be
2622	// sent to the server regardless of whether the field is empty or not.
2623	// This may be used to include empty fields in Patch requests.
2624	ForceSendFields []string `json:"-"`
2625
2626	// NullFields is a list of field names (e.g. "CaseContent") to include
2627	// in API requests with the JSON null value. By default, fields with
2628	// empty values are omitted from API requests. However, any field with
2629	// an empty value appearing in NullFields will be sent to the server as
2630	// null. It is an error if a field in this list has a non-empty value.
2631	// This may be used to include null fields in Patch requests.
2632	NullFields []string `json:"-"`
2633}
2634
2635func (s *GoogleCloudDialogflowCxV3FulfillmentConditionalCasesCase) MarshalJSON() ([]byte, error) {
2636	type NoMethod GoogleCloudDialogflowCxV3FulfillmentConditionalCasesCase
2637	raw := NoMethod(*s)
2638	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2639}
2640
2641// GoogleCloudDialogflowCxV3FulfillmentConditionalCasesCaseCaseContent:
2642// The list of messages or conditional cases to activate for this case.
2643type GoogleCloudDialogflowCxV3FulfillmentConditionalCasesCaseCaseContent struct {
2644	// AdditionalCases: Additional cases to be evaluated.
2645	AdditionalCases *GoogleCloudDialogflowCxV3FulfillmentConditionalCases `json:"additionalCases,omitempty"`
2646
2647	// Message: Returned message.
2648	Message *GoogleCloudDialogflowCxV3ResponseMessage `json:"message,omitempty"`
2649
2650	// ForceSendFields is a list of field names (e.g. "AdditionalCases") to
2651	// unconditionally include in API requests. By default, fields with
2652	// empty or default values are omitted from API requests. However, any
2653	// non-pointer, non-interface field appearing in ForceSendFields will be
2654	// sent to the server regardless of whether the field is empty or not.
2655	// This may be used to include empty fields in Patch requests.
2656	ForceSendFields []string `json:"-"`
2657
2658	// NullFields is a list of field names (e.g. "AdditionalCases") to
2659	// include in API requests with the JSON null value. By default, fields
2660	// with empty values are omitted from API requests. However, any field
2661	// with an empty value appearing in NullFields will be sent to the
2662	// server as null. It is an error if a field in this list has a
2663	// non-empty value. This may be used to include null fields in Patch
2664	// requests.
2665	NullFields []string `json:"-"`
2666}
2667
2668func (s *GoogleCloudDialogflowCxV3FulfillmentConditionalCasesCaseCaseContent) MarshalJSON() ([]byte, error) {
2669	type NoMethod GoogleCloudDialogflowCxV3FulfillmentConditionalCasesCaseCaseContent
2670	raw := NoMethod(*s)
2671	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2672}
2673
2674// GoogleCloudDialogflowCxV3FulfillmentSetParameterAction: Setting a
2675// parameter value.
2676type GoogleCloudDialogflowCxV3FulfillmentSetParameterAction struct {
2677	// Parameter: Display name of the parameter.
2678	Parameter string `json:"parameter,omitempty"`
2679
2680	// Value: The new value of the parameter. A null value clears the
2681	// parameter.
2682	Value interface{} `json:"value,omitempty"`
2683
2684	// ForceSendFields is a list of field names (e.g. "Parameter") to
2685	// unconditionally include in API requests. By default, fields with
2686	// empty or default values are omitted from API requests. However, any
2687	// non-pointer, non-interface field appearing in ForceSendFields will be
2688	// sent to the server regardless of whether the field is empty or not.
2689	// This may be used to include empty fields in Patch requests.
2690	ForceSendFields []string `json:"-"`
2691
2692	// NullFields is a list of field names (e.g. "Parameter") to include in
2693	// API requests with the JSON null value. By default, fields with empty
2694	// values are omitted from API requests. However, any field with an
2695	// empty value appearing in NullFields will be sent to the server as
2696	// null. It is an error if a field in this list has a non-empty value.
2697	// This may be used to include null fields in Patch requests.
2698	NullFields []string `json:"-"`
2699}
2700
2701func (s *GoogleCloudDialogflowCxV3FulfillmentSetParameterAction) MarshalJSON() ([]byte, error) {
2702	type NoMethod GoogleCloudDialogflowCxV3FulfillmentSetParameterAction
2703	raw := NoMethod(*s)
2704	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2705}
2706
2707// GoogleCloudDialogflowCxV3GenericKnowledgeOperationMetadata: Metadata
2708// in google::longrunning::Operation for Knowledge operations.
2709type GoogleCloudDialogflowCxV3GenericKnowledgeOperationMetadata struct {
2710	// State: Required. Output only. The current state of this operation.
2711	//
2712	// Possible values:
2713	//   "STATE_UNSPECIFIED" - State unspecified.
2714	//   "PENDING" - The operation has been created.
2715	//   "RUNNING" - The operation is currently running.
2716	//   "DONE" - The operation is done, either cancelled or completed.
2717	State string `json:"state,omitempty"`
2718
2719	// ForceSendFields is a list of field names (e.g. "State") to
2720	// unconditionally include in API requests. By default, fields with
2721	// empty or default values are omitted from API requests. However, any
2722	// non-pointer, non-interface field appearing in ForceSendFields will be
2723	// sent to the server regardless of whether the field is empty or not.
2724	// This may be used to include empty fields in Patch requests.
2725	ForceSendFields []string `json:"-"`
2726
2727	// NullFields is a list of field names (e.g. "State") to include in API
2728	// requests with the JSON null value. By default, fields with empty
2729	// values are omitted from API requests. However, any field with an
2730	// empty value appearing in NullFields will be sent to the server as
2731	// null. It is an error if a field in this list has a non-empty value.
2732	// This may be used to include null fields in Patch requests.
2733	NullFields []string `json:"-"`
2734}
2735
2736func (s *GoogleCloudDialogflowCxV3GenericKnowledgeOperationMetadata) MarshalJSON() ([]byte, error) {
2737	type NoMethod GoogleCloudDialogflowCxV3GenericKnowledgeOperationMetadata
2738	raw := NoMethod(*s)
2739	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2740}
2741
2742// GoogleCloudDialogflowCxV3ImportDocumentsOperationMetadata: Metadata
2743// for ImportDocuments operation.
2744type GoogleCloudDialogflowCxV3ImportDocumentsOperationMetadata struct {
2745	// GenericMetadata: The generic information of the operation.
2746	GenericMetadata *GoogleCloudDialogflowCxV3GenericKnowledgeOperationMetadata `json:"genericMetadata,omitempty"`
2747
2748	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
2749	// unconditionally include in API requests. By default, fields with
2750	// empty or default values are omitted from API requests. However, any
2751	// non-pointer, non-interface field appearing in ForceSendFields will be
2752	// sent to the server regardless of whether the field is empty or not.
2753	// This may be used to include empty fields in Patch requests.
2754	ForceSendFields []string `json:"-"`
2755
2756	// NullFields is a list of field names (e.g. "GenericMetadata") to
2757	// include in API requests with the JSON null value. By default, fields
2758	// with empty values are omitted from API requests. However, any field
2759	// with an empty value appearing in NullFields will be sent to the
2760	// server as null. It is an error if a field in this list has a
2761	// non-empty value. This may be used to include null fields in Patch
2762	// requests.
2763	NullFields []string `json:"-"`
2764}
2765
2766func (s *GoogleCloudDialogflowCxV3ImportDocumentsOperationMetadata) MarshalJSON() ([]byte, error) {
2767	type NoMethod GoogleCloudDialogflowCxV3ImportDocumentsOperationMetadata
2768	raw := NoMethod(*s)
2769	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2770}
2771
2772// GoogleCloudDialogflowCxV3ImportDocumentsResponse: Response message
2773// for Documents.ImportDocuments.
2774type GoogleCloudDialogflowCxV3ImportDocumentsResponse struct {
2775	// Warnings: Includes details about skipped documents or any other
2776	// warnings.
2777	Warnings []*GoogleRpcStatus `json:"warnings,omitempty"`
2778
2779	// ForceSendFields is a list of field names (e.g. "Warnings") to
2780	// unconditionally include in API requests. By default, fields with
2781	// empty or default values are omitted from API requests. However, any
2782	// non-pointer, non-interface field appearing in ForceSendFields will be
2783	// sent to the server regardless of whether the field is empty or not.
2784	// This may be used to include empty fields in Patch requests.
2785	ForceSendFields []string `json:"-"`
2786
2787	// NullFields is a list of field names (e.g. "Warnings") to include in
2788	// API requests with the JSON null value. By default, fields with empty
2789	// values are omitted from API requests. However, any field with an
2790	// empty value appearing in NullFields will be sent to the server as
2791	// null. It is an error if a field in this list has a non-empty value.
2792	// This may be used to include null fields in Patch requests.
2793	NullFields []string `json:"-"`
2794}
2795
2796func (s *GoogleCloudDialogflowCxV3ImportDocumentsResponse) MarshalJSON() ([]byte, error) {
2797	type NoMethod GoogleCloudDialogflowCxV3ImportDocumentsResponse
2798	raw := NoMethod(*s)
2799	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2800}
2801
2802// GoogleCloudDialogflowCxV3ImportFlowRequest: The request message for
2803// Flows.ImportFlow.
2804type GoogleCloudDialogflowCxV3ImportFlowRequest struct {
2805	// FlowContent: Uncompressed raw byte content for flow.
2806	FlowContent string `json:"flowContent,omitempty"`
2807
2808	// FlowUri: The Google Cloud Storage
2809	// (https://cloud.google.com/storage/docs/) URI to import flow from. The
2810	// format of this URI must be `gs:///`.
2811	FlowUri string `json:"flowUri,omitempty"`
2812
2813	// ImportOption: Flow import mode. If not specified, `KEEP` is assumed.
2814	//
2815	// Possible values:
2816	//   "IMPORT_OPTION_UNSPECIFIED" - Unspecified. Treated as `KEEP`.
2817	//   "KEEP" - Always respect settings in exported flow content. It may
2818	// cause a import failure if some settings (e.g. custom NLU) are not
2819	// supported in the agent to import into.
2820	//   "FALLBACK" - Fallback to default settings if some settings are not
2821	// supported in the agent to import into. E.g. Standard NLU will be used
2822	// if custom NLU is not available.
2823	ImportOption string `json:"importOption,omitempty"`
2824
2825	// ForceSendFields is a list of field names (e.g. "FlowContent") to
2826	// unconditionally include in API requests. By default, fields with
2827	// empty or default values are omitted from API requests. However, any
2828	// non-pointer, non-interface field appearing in ForceSendFields will be
2829	// sent to the server regardless of whether the field is empty or not.
2830	// This may be used to include empty fields in Patch requests.
2831	ForceSendFields []string `json:"-"`
2832
2833	// NullFields is a list of field names (e.g. "FlowContent") to include
2834	// in API requests with the JSON null value. By default, fields with
2835	// empty values are omitted from API requests. However, any field with
2836	// an empty value appearing in NullFields will be sent to the server as
2837	// null. It is an error if a field in this list has a non-empty value.
2838	// This may be used to include null fields in Patch requests.
2839	NullFields []string `json:"-"`
2840}
2841
2842func (s *GoogleCloudDialogflowCxV3ImportFlowRequest) MarshalJSON() ([]byte, error) {
2843	type NoMethod GoogleCloudDialogflowCxV3ImportFlowRequest
2844	raw := NoMethod(*s)
2845	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2846}
2847
2848// GoogleCloudDialogflowCxV3ImportFlowResponse: The response message for
2849// Flows.ImportFlow.
2850type GoogleCloudDialogflowCxV3ImportFlowResponse struct {
2851	// Flow: The unique identifier of the new flow. Format:
2852	// `projects//locations//agents//flows/`.
2853	Flow string `json:"flow,omitempty"`
2854
2855	// ForceSendFields is a list of field names (e.g. "Flow") to
2856	// unconditionally include in API requests. By default, fields with
2857	// empty or default values are omitted from API requests. However, any
2858	// non-pointer, non-interface field appearing in ForceSendFields will be
2859	// sent to the server regardless of whether the field is empty or not.
2860	// This may be used to include empty fields in Patch requests.
2861	ForceSendFields []string `json:"-"`
2862
2863	// NullFields is a list of field names (e.g. "Flow") to include in API
2864	// requests with the JSON null value. By default, fields with empty
2865	// values are omitted from API requests. However, any field with an
2866	// 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 *GoogleCloudDialogflowCxV3ImportFlowResponse) MarshalJSON() ([]byte, error) {
2873	type NoMethod GoogleCloudDialogflowCxV3ImportFlowResponse
2874	raw := NoMethod(*s)
2875	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2876}
2877
2878// GoogleCloudDialogflowCxV3ImportTestCasesMetadata: Metadata returned
2879// for the TestCases.ImportTestCases long running operation.
2880type GoogleCloudDialogflowCxV3ImportTestCasesMetadata struct {
2881	// Errors: Errors for failed test cases.
2882	Errors []*GoogleCloudDialogflowCxV3TestCaseError `json:"errors,omitempty"`
2883
2884	// ForceSendFields is a list of field names (e.g. "Errors") to
2885	// unconditionally include in API requests. By default, fields with
2886	// empty or default values are omitted from API requests. However, any
2887	// non-pointer, non-interface field appearing in ForceSendFields will be
2888	// sent to the server regardless of whether the field is empty or not.
2889	// This may be used to include empty fields in Patch requests.
2890	ForceSendFields []string `json:"-"`
2891
2892	// NullFields is a list of field names (e.g. "Errors") to include in API
2893	// requests with the JSON null value. By default, fields with empty
2894	// values are omitted from API requests. However, any field with an
2895	// empty value appearing in NullFields will be sent to the server as
2896	// null. It is an error if a field in this list has a non-empty value.
2897	// This may be used to include null fields in Patch requests.
2898	NullFields []string `json:"-"`
2899}
2900
2901func (s *GoogleCloudDialogflowCxV3ImportTestCasesMetadata) MarshalJSON() ([]byte, error) {
2902	type NoMethod GoogleCloudDialogflowCxV3ImportTestCasesMetadata
2903	raw := NoMethod(*s)
2904	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2905}
2906
2907// GoogleCloudDialogflowCxV3ImportTestCasesRequest: The request message
2908// for TestCases.ImportTestCases.
2909type GoogleCloudDialogflowCxV3ImportTestCasesRequest struct {
2910	// Content: Uncompressed raw byte content for test cases.
2911	Content string `json:"content,omitempty"`
2912
2913	// GcsUri: The Google Cloud Storage
2914	// (https://cloud.google.com/storage/docs/) URI to import test cases
2915	// from. The format of this URI must be `gs:///`.
2916	GcsUri string `json:"gcsUri,omitempty"`
2917
2918	// ForceSendFields is a list of field names (e.g. "Content") to
2919	// unconditionally include in API requests. By default, fields with
2920	// empty or default values are omitted from API requests. However, any
2921	// non-pointer, non-interface field appearing in ForceSendFields will be
2922	// sent to the server regardless of whether the field is empty or not.
2923	// This may be used to include empty fields in Patch requests.
2924	ForceSendFields []string `json:"-"`
2925
2926	// NullFields is a list of field names (e.g. "Content") to include in
2927	// API requests with the JSON null value. By default, fields with empty
2928	// values are omitted from API requests. However, any field with an
2929	// empty value appearing in NullFields will be sent to the server as
2930	// null. It is an error if a field in this list has a non-empty value.
2931	// This may be used to include null fields in Patch requests.
2932	NullFields []string `json:"-"`
2933}
2934
2935func (s *GoogleCloudDialogflowCxV3ImportTestCasesRequest) MarshalJSON() ([]byte, error) {
2936	type NoMethod GoogleCloudDialogflowCxV3ImportTestCasesRequest
2937	raw := NoMethod(*s)
2938	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2939}
2940
2941// GoogleCloudDialogflowCxV3ImportTestCasesResponse: The response
2942// message for TestCases.ImportTestCases.
2943type GoogleCloudDialogflowCxV3ImportTestCasesResponse struct {
2944	// Names: The unique identifiers of the new test cases. Format:
2945	// `projects//locations//agents//testCases/`.
2946	Names []string `json:"names,omitempty"`
2947
2948	// ForceSendFields is a list of field names (e.g. "Names") to
2949	// unconditionally include in API requests. By default, fields with
2950	// empty or default values are omitted from API requests. However, any
2951	// non-pointer, non-interface field appearing in ForceSendFields will be
2952	// sent to the server regardless of whether the field is empty or not.
2953	// This may be used to include empty fields in Patch requests.
2954	ForceSendFields []string `json:"-"`
2955
2956	// NullFields is a list of field names (e.g. "Names") to include in API
2957	// requests with the JSON null value. By default, fields with empty
2958	// values are omitted from API requests. However, any field with an
2959	// empty value appearing in NullFields will be sent to the server as
2960	// null. It is an error if a field in this list has a non-empty value.
2961	// This may be used to include null fields in Patch requests.
2962	NullFields []string `json:"-"`
2963}
2964
2965func (s *GoogleCloudDialogflowCxV3ImportTestCasesResponse) MarshalJSON() ([]byte, error) {
2966	type NoMethod GoogleCloudDialogflowCxV3ImportTestCasesResponse
2967	raw := NoMethod(*s)
2968	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2969}
2970
2971// GoogleCloudDialogflowCxV3InputAudioConfig: Instructs the speech
2972// recognizer on how to process the audio content.
2973type GoogleCloudDialogflowCxV3InputAudioConfig struct {
2974	// AudioEncoding: Required. Audio encoding of the audio content to
2975	// process.
2976	//
2977	// Possible values:
2978	//   "AUDIO_ENCODING_UNSPECIFIED" - Not specified.
2979	//   "AUDIO_ENCODING_LINEAR_16" - Uncompressed 16-bit signed
2980	// little-endian samples (Linear PCM).
2981	//   "AUDIO_ENCODING_FLAC" -
2982	// [`FLAC`](https://xiph.org/flac/documentation.html) (Free Lossless
2983	// Audio Codec) is the recommended encoding because it is lossless
2984	// (therefore recognition is not compromised) and requires only about
2985	// half the bandwidth of `LINEAR16`. `FLAC` stream encoding supports
2986	// 16-bit and 24-bit samples, however, not all fields in `STREAMINFO`
2987	// are supported.
2988	//   "AUDIO_ENCODING_MULAW" - 8-bit samples that compand 14-bit audio
2989	// samples using G.711 PCMU/mu-law.
2990	//   "AUDIO_ENCODING_AMR" - Adaptive Multi-Rate Narrowband codec.
2991	// `sample_rate_hertz` must be 8000.
2992	//   "AUDIO_ENCODING_AMR_WB" - Adaptive Multi-Rate Wideband codec.
2993	// `sample_rate_hertz` must be 16000.
2994	//   "AUDIO_ENCODING_OGG_OPUS" - Opus encoded audio frames in Ogg
2995	// container ([OggOpus](https://wiki.xiph.org/OggOpus)).
2996	// `sample_rate_hertz` must be 16000.
2997	//   "AUDIO_ENCODING_SPEEX_WITH_HEADER_BYTE" - Although the use of lossy
2998	// encodings is not recommended, if a very low bitrate encoding is
2999	// required, `OGG_OPUS` is highly preferred over Speex encoding. The
3000	// [Speex](https://speex.org/) encoding supported by Dialogflow API has
3001	// a header byte in each block, as in MIME type
3002	// `audio/x-speex-with-header-byte`. It is a variant of the RTP Speex
3003	// encoding defined in [RFC 5574](https://tools.ietf.org/html/rfc5574).
3004	// The stream is a sequence of blocks, one block per RTP packet. Each
3005	// block starts with a byte containing the length of the block, in
3006	// bytes, followed by one or more frames of Speex data, padded to an
3007	// integral number of bytes (octets) as specified in RFC 5574. In other
3008	// words, each RTP header is replaced with a single byte containing the
3009	// block length. Only Speex wideband is supported. `sample_rate_hertz`
3010	// must be 16000.
3011	AudioEncoding string `json:"audioEncoding,omitempty"`
3012
3013	// EnableWordInfo: Optional. If `true`, Dialogflow returns
3014	// SpeechWordInfo in StreamingRecognitionResult with information about
3015	// the recognized speech words, e.g. start and end time offsets. If
3016	// false or unspecified, Speech doesn't return any word-level
3017	// information.
3018	EnableWordInfo bool `json:"enableWordInfo,omitempty"`
3019
3020	// Model: Optional. Which Speech model to select for the given request.
3021	// Select the model best suited to your domain to get best results. If a
3022	// model is not explicitly specified, then we auto-select a model based
3023	// on the parameters in the InputAudioConfig. If enhanced speech model
3024	// is enabled for the agent and an enhanced version of the specified
3025	// model for the language does not exist, then the speech is recognized
3026	// using the standard version of the specified model. Refer to Cloud
3027	// Speech API documentation
3028	// (https://cloud.google.com/speech-to-text/docs/basics#select-model)
3029	// for more details.
3030	Model string `json:"model,omitempty"`
3031
3032	// ModelVariant: Optional. Which variant of the Speech model to use.
3033	//
3034	// Possible values:
3035	//   "SPEECH_MODEL_VARIANT_UNSPECIFIED" - No model variant specified. In
3036	// this case Dialogflow defaults to USE_BEST_AVAILABLE.
3037	//   "USE_BEST_AVAILABLE" - Use the best available variant of the Speech
3038	// model that the caller is eligible for. Please see the [Dialogflow
3039	// docs](https://cloud.google.com/dialogflow/docs/data-logging) for how
3040	// to make your project eligible for enhanced models.
3041	//   "USE_STANDARD" - Use standard model variant even if an enhanced
3042	// model is available. See the [Cloud Speech
3043	// documentation](https://cloud.google.com/speech-to-text/docs/enhanced-m
3044	// odels) for details about enhanced models.
3045	//   "USE_ENHANCED" - Use an enhanced model variant: * If an enhanced
3046	// variant does not exist for the given model and request language,
3047	// Dialogflow falls back to the standard variant. The [Cloud Speech
3048	// documentation](https://cloud.google.com/speech-to-text/docs/enhanced-m
3049	// odels) describes which models have enhanced variants. * If the API
3050	// caller isn't eligible for enhanced models, Dialogflow returns an
3051	// error. Please see the [Dialogflow
3052	// docs](https://cloud.google.com/dialogflow/docs/data-logging) for how
3053	// to make your project eligible.
3054	ModelVariant string `json:"modelVariant,omitempty"`
3055
3056	// PhraseHints: Optional. A list of strings containing words and phrases
3057	// that the speech recognizer should recognize with higher likelihood.
3058	// See the Cloud Speech documentation
3059	// (https://cloud.google.com/speech-to-text/docs/basics#phrase-hints)
3060	// for more details.
3061	PhraseHints []string `json:"phraseHints,omitempty"`
3062
3063	// SampleRateHertz: Sample rate (in Hertz) of the audio content sent in
3064	// the query. Refer to Cloud Speech API documentation
3065	// (https://cloud.google.com/speech-to-text/docs/basics) for more
3066	// details.
3067	SampleRateHertz int64 `json:"sampleRateHertz,omitempty"`
3068
3069	// SingleUtterance: Optional. If `false` (default), recognition does not
3070	// cease until the client closes the stream. If `true`, the recognizer
3071	// will detect a single spoken utterance in input audio. Recognition
3072	// ceases when it detects the audio's voice has stopped or paused. In
3073	// this case, once a detected intent is received, the client should
3074	// close the stream and start a new request with a new stream as needed.
3075	// Note: This setting is relevant only for streaming methods.
3076	SingleUtterance bool `json:"singleUtterance,omitempty"`
3077
3078	// ForceSendFields is a list of field names (e.g. "AudioEncoding") to
3079	// unconditionally include in API requests. By default, fields with
3080	// empty or default values are omitted from API requests. However, any
3081	// non-pointer, non-interface field appearing in ForceSendFields will be
3082	// sent to the server regardless of whether the field is empty or not.
3083	// This may be used to include empty fields in Patch requests.
3084	ForceSendFields []string `json:"-"`
3085
3086	// NullFields is a list of field names (e.g. "AudioEncoding") to include
3087	// in API requests with the JSON null value. By default, fields with
3088	// empty values are omitted from API requests. However, any field with
3089	// an empty value appearing in NullFields will be sent to the server as
3090	// null. It is an error if a field in this list has a non-empty value.
3091	// This may be used to include null fields in Patch requests.
3092	NullFields []string `json:"-"`
3093}
3094
3095func (s *GoogleCloudDialogflowCxV3InputAudioConfig) MarshalJSON() ([]byte, error) {
3096	type NoMethod GoogleCloudDialogflowCxV3InputAudioConfig
3097	raw := NoMethod(*s)
3098	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3099}
3100
3101// GoogleCloudDialogflowCxV3Intent: An intent represents a user's intent
3102// to interact with a conversational agent. You can provide information
3103// for the Dialogflow API to use to match user input to an intent by
3104// adding training phrases (i.e., examples of user input) to your
3105// intent.
3106type GoogleCloudDialogflowCxV3Intent struct {
3107	// Description: Human readable description for better understanding an
3108	// intent like its scope, content, result etc. Maximum character limit:
3109	// 140 characters.
3110	Description string `json:"description,omitempty"`
3111
3112	// DisplayName: Required. The human-readable name of the intent, unique
3113	// within the agent.
3114	DisplayName string `json:"displayName,omitempty"`
3115
3116	// IsFallback: Indicates whether this is a fallback intent. Currently
3117	// only default fallback intent is allowed in the agent, which is added
3118	// upon agent creation. Adding training phrases to fallback intent is
3119	// useful in the case of requests that are mistakenly matched, since
3120	// training phrases assigned to fallback intents act as negative
3121	// examples that triggers no-match event.
3122	IsFallback bool `json:"isFallback,omitempty"`
3123
3124	// Labels: The key/value metadata to label an intent. Labels can contain
3125	// lowercase letters, digits and the symbols '-' and '_'. International
3126	// characters are allowed, including letters from unicase alphabets.
3127	// Keys must start with a letter. Keys and values can be no longer than
3128	// 63 characters and no more than 128 bytes. Prefix "sys-" is reserved
3129	// for Dialogflow defined labels. Currently allowed Dialogflow defined
3130	// labels include: * sys-head * sys-contextual The above labels do not
3131	// require value. "sys-head" means the intent is a head intent.
3132	// "sys.contextual" means the intent is a contextual intent.
3133	Labels map[string]string `json:"labels,omitempty"`
3134
3135	// Name: The unique identifier of the intent. Required for the
3136	// Intents.UpdateIntent method. Intents.CreateIntent populates the name
3137	// automatically. Format: `projects//locations//agents//intents/`.
3138	Name string `json:"name,omitempty"`
3139
3140	// Parameters: The collection of parameters associated with the intent.
3141	Parameters []*GoogleCloudDialogflowCxV3IntentParameter `json:"parameters,omitempty"`
3142
3143	// Priority: The priority of this intent. Higher numbers represent
3144	// higher priorities. - If the supplied value is unspecified or 0, the
3145	// service translates the value to 500,000, which corresponds to the
3146	// `Normal` priority in the console. - If the supplied value is
3147	// negative, the intent is ignored in runtime detect intent requests.
3148	Priority int64 `json:"priority,omitempty"`
3149
3150	// TrainingPhrases: The collection of training phrases the agent is
3151	// trained on to identify the intent.
3152	TrainingPhrases []*GoogleCloudDialogflowCxV3IntentTrainingPhrase `json:"trainingPhrases,omitempty"`
3153
3154	// ServerResponse contains the HTTP response code and headers from the
3155	// server.
3156	googleapi.ServerResponse `json:"-"`
3157
3158	// ForceSendFields is a list of field names (e.g. "Description") to
3159	// unconditionally include in API requests. By default, fields with
3160	// empty or default values are omitted from API requests. However, any
3161	// non-pointer, non-interface field appearing in ForceSendFields will be
3162	// sent to the server regardless of whether the field is empty or not.
3163	// This may be used to include empty fields in Patch requests.
3164	ForceSendFields []string `json:"-"`
3165
3166	// NullFields is a list of field names (e.g. "Description") to include
3167	// in API requests with the JSON null value. By default, fields with
3168	// empty values are omitted from API requests. However, any field with
3169	// an empty value appearing in NullFields will be sent to the server as
3170	// null. It is an error if a field in this list has a non-empty value.
3171	// This may be used to include null fields in Patch requests.
3172	NullFields []string `json:"-"`
3173}
3174
3175func (s *GoogleCloudDialogflowCxV3Intent) MarshalJSON() ([]byte, error) {
3176	type NoMethod GoogleCloudDialogflowCxV3Intent
3177	raw := NoMethod(*s)
3178	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3179}
3180
3181// GoogleCloudDialogflowCxV3IntentCoverage: Intent coverage represents
3182// the percentage of all possible intents in the agent that are
3183// triggered in any of a parent's test cases.
3184type GoogleCloudDialogflowCxV3IntentCoverage struct {
3185	// CoverageScore: The percent of intents in the agent that are covered.
3186	CoverageScore float64 `json:"coverageScore,omitempty"`
3187
3188	// Intents: The list of Intents present in the agent
3189	Intents []*GoogleCloudDialogflowCxV3IntentCoverageIntent `json:"intents,omitempty"`
3190
3191	// ForceSendFields is a list of field names (e.g. "CoverageScore") to
3192	// unconditionally include in API requests. By default, fields with
3193	// empty or default values are omitted from API requests. However, any
3194	// non-pointer, non-interface field appearing in ForceSendFields will be
3195	// sent to the server regardless of whether the field is empty or not.
3196	// This may be used to include empty fields in Patch requests.
3197	ForceSendFields []string `json:"-"`
3198
3199	// NullFields is a list of field names (e.g. "CoverageScore") to include
3200	// in API requests with the JSON null value. By default, fields with
3201	// empty values are omitted from API requests. However, any field with
3202	// an empty value appearing in NullFields will be sent to the server as
3203	// null. It is an error if a field in this list has a non-empty value.
3204	// This may be used to include null fields in Patch requests.
3205	NullFields []string `json:"-"`
3206}
3207
3208func (s *GoogleCloudDialogflowCxV3IntentCoverage) MarshalJSON() ([]byte, error) {
3209	type NoMethod GoogleCloudDialogflowCxV3IntentCoverage
3210	raw := NoMethod(*s)
3211	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3212}
3213
3214func (s *GoogleCloudDialogflowCxV3IntentCoverage) UnmarshalJSON(data []byte) error {
3215	type NoMethod GoogleCloudDialogflowCxV3IntentCoverage
3216	var s1 struct {
3217		CoverageScore gensupport.JSONFloat64 `json:"coverageScore"`
3218		*NoMethod
3219	}
3220	s1.NoMethod = (*NoMethod)(s)
3221	if err := json.Unmarshal(data, &s1); err != nil {
3222		return err
3223	}
3224	s.CoverageScore = float64(s1.CoverageScore)
3225	return nil
3226}
3227
3228// GoogleCloudDialogflowCxV3IntentCoverageIntent: The agent's intent.
3229type GoogleCloudDialogflowCxV3IntentCoverageIntent struct {
3230	// Covered: Whether or not the intent is covered by at least one of the
3231	// agent's test cases.
3232	Covered bool `json:"covered,omitempty"`
3233
3234	// Intent: The intent full resource name
3235	Intent string `json:"intent,omitempty"`
3236
3237	// ForceSendFields is a list of field names (e.g. "Covered") to
3238	// unconditionally include in API requests. By default, fields with
3239	// empty or default values are omitted from API requests. However, any
3240	// non-pointer, non-interface field appearing in ForceSendFields will be
3241	// sent to the server regardless of whether the field is empty or not.
3242	// This may be used to include empty fields in Patch requests.
3243	ForceSendFields []string `json:"-"`
3244
3245	// NullFields is a list of field names (e.g. "Covered") to include in
3246	// API requests with the JSON null value. By default, fields with empty
3247	// values are omitted from API requests. However, any field with an
3248	// empty value appearing in NullFields will be sent to the server as
3249	// null. It is an error if a field in this list has a non-empty value.
3250	// This may be used to include null fields in Patch requests.
3251	NullFields []string `json:"-"`
3252}
3253
3254func (s *GoogleCloudDialogflowCxV3IntentCoverageIntent) MarshalJSON() ([]byte, error) {
3255	type NoMethod GoogleCloudDialogflowCxV3IntentCoverageIntent
3256	raw := NoMethod(*s)
3257	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3258}
3259
3260// GoogleCloudDialogflowCxV3IntentInput: Represents the intent to
3261// trigger programmatically rather than as a result of natural language
3262// processing.
3263type GoogleCloudDialogflowCxV3IntentInput struct {
3264	// Intent: Required. The unique identifier of the intent. Format:
3265	// `projects//locations//agents//intents/`.
3266	Intent string `json:"intent,omitempty"`
3267
3268	// ForceSendFields is a list of field names (e.g. "Intent") to
3269	// unconditionally include in API requests. By default, fields with
3270	// empty or default values are omitted from API requests. However, any
3271	// non-pointer, non-interface field appearing in ForceSendFields will be
3272	// sent to the server regardless of whether the field is empty or not.
3273	// This may be used to include empty fields in Patch requests.
3274	ForceSendFields []string `json:"-"`
3275
3276	// NullFields is a list of field names (e.g. "Intent") to include in API
3277	// requests with the JSON null value. By default, fields with empty
3278	// values are omitted from API requests. However, any field with an
3279	// empty value appearing in NullFields will be sent to the server as
3280	// null. It is an error if a field in this list has a non-empty value.
3281	// This may be used to include null fields in Patch requests.
3282	NullFields []string `json:"-"`
3283}
3284
3285func (s *GoogleCloudDialogflowCxV3IntentInput) MarshalJSON() ([]byte, error) {
3286	type NoMethod GoogleCloudDialogflowCxV3IntentInput
3287	raw := NoMethod(*s)
3288	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3289}
3290
3291// GoogleCloudDialogflowCxV3IntentParameter: Represents an intent
3292// parameter.
3293type GoogleCloudDialogflowCxV3IntentParameter struct {
3294	// EntityType: Required. The entity type of the parameter. Format:
3295	// `projects/-/locations/-/agents/-/entityTypes/` for system entity
3296	// types (for example,
3297	// `projects/-/locations/-/agents/-/entityTypes/sys.date`), or
3298	// `projects//locations//agents//entityTypes/` for developer entity
3299	// types.
3300	EntityType string `json:"entityType,omitempty"`
3301
3302	// Id: Required. The unique identifier of the parameter. This field is
3303	// used by training phrases to annotate their parts.
3304	Id string `json:"id,omitempty"`
3305
3306	// IsList: Indicates whether the parameter represents a list of values.
3307	IsList bool `json:"isList,omitempty"`
3308
3309	// Redact: Indicates whether the parameter content should be redacted in
3310	// log. If redaction is enabled, the parameter content will be replaced
3311	// by parameter name during logging. Note: the parameter content is
3312	// subject to redaction if either parameter level redaction or entity
3313	// type level redaction is enabled.
3314	Redact bool `json:"redact,omitempty"`
3315
3316	// ForceSendFields is a list of field names (e.g. "EntityType") to
3317	// unconditionally include in API requests. By default, fields with
3318	// empty or default values are omitted from API requests. However, any
3319	// non-pointer, non-interface field appearing in ForceSendFields will be
3320	// sent to the server regardless of whether the field is empty or not.
3321	// This may be used to include empty fields in Patch requests.
3322	ForceSendFields []string `json:"-"`
3323
3324	// NullFields is a list of field names (e.g. "EntityType") to include in
3325	// API requests with the JSON null value. By default, fields with empty
3326	// values are omitted from API requests. However, any field with an
3327	// empty value appearing in NullFields will be sent to the server as
3328	// null. It is an error if a field in this list has a non-empty value.
3329	// This may be used to include null fields in Patch requests.
3330	NullFields []string `json:"-"`
3331}
3332
3333func (s *GoogleCloudDialogflowCxV3IntentParameter) MarshalJSON() ([]byte, error) {
3334	type NoMethod GoogleCloudDialogflowCxV3IntentParameter
3335	raw := NoMethod(*s)
3336	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3337}
3338
3339// GoogleCloudDialogflowCxV3IntentTrainingPhrase: Represents an example
3340// that the agent is trained on to identify the intent.
3341type GoogleCloudDialogflowCxV3IntentTrainingPhrase struct {
3342	// Id: Output only. The unique identifier of the training phrase.
3343	Id string `json:"id,omitempty"`
3344
3345	// Parts: Required. The ordered list of training phrase parts. The parts
3346	// are concatenated in order to form the training phrase. Note: The API
3347	// does not automatically annotate training phrases like the Dialogflow
3348	// Console does. Note: Do not forget to include whitespace at part
3349	// boundaries, so the training phrase is well formatted when the parts
3350	// are concatenated. If the training phrase does not need to be
3351	// annotated with parameters, you just need a single part with only the
3352	// Part.text field set. If you want to annotate the training phrase, you
3353	// must create multiple parts, where the fields of each part are
3354	// populated in one of two ways: - `Part.text` is set to a part of the
3355	// phrase that has no parameters. - `Part.text` is set to a part of the
3356	// phrase that you want to annotate, and the `parameter_id` field is
3357	// set.
3358	Parts []*GoogleCloudDialogflowCxV3IntentTrainingPhrasePart `json:"parts,omitempty"`
3359
3360	// RepeatCount: Indicates how many times this example was added to the
3361	// intent.
3362	RepeatCount int64 `json:"repeatCount,omitempty"`
3363
3364	// ForceSendFields is a list of field names (e.g. "Id") to
3365	// unconditionally include in API requests. By default, fields with
3366	// empty or default values are omitted from API requests. However, any
3367	// non-pointer, non-interface field appearing in ForceSendFields will be
3368	// sent to the server regardless of whether the field is empty or not.
3369	// This may be used to include empty fields in Patch requests.
3370	ForceSendFields []string `json:"-"`
3371
3372	// NullFields is a list of field names (e.g. "Id") to include in API
3373	// requests with the JSON null value. By default, fields with empty
3374	// values are omitted from API requests. However, any field with an
3375	// empty value appearing in NullFields will be sent to the server as
3376	// null. It is an error if a field in this list has a non-empty value.
3377	// This may be used to include null fields in Patch requests.
3378	NullFields []string `json:"-"`
3379}
3380
3381func (s *GoogleCloudDialogflowCxV3IntentTrainingPhrase) MarshalJSON() ([]byte, error) {
3382	type NoMethod GoogleCloudDialogflowCxV3IntentTrainingPhrase
3383	raw := NoMethod(*s)
3384	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3385}
3386
3387// GoogleCloudDialogflowCxV3IntentTrainingPhrasePart: Represents a part
3388// of a training phrase.
3389type GoogleCloudDialogflowCxV3IntentTrainingPhrasePart struct {
3390	// ParameterId: The parameter used to annotate this part of the training
3391	// phrase. This field is required for annotated parts of the training
3392	// phrase.
3393	ParameterId string `json:"parameterId,omitempty"`
3394
3395	// Text: Required. The text for this part.
3396	Text string `json:"text,omitempty"`
3397
3398	// ForceSendFields is a list of field names (e.g. "ParameterId") to
3399	// unconditionally include in API requests. By default, fields with
3400	// empty or default values are omitted from API requests. However, any
3401	// non-pointer, non-interface field appearing in ForceSendFields will be
3402	// sent to the server regardless of whether the field is empty or not.
3403	// This may be used to include empty fields in Patch requests.
3404	ForceSendFields []string `json:"-"`
3405
3406	// NullFields is a list of field names (e.g. "ParameterId") to include
3407	// in API requests with the JSON null value. By default, fields with
3408	// empty values are omitted from API requests. However, any field with
3409	// an empty value appearing in NullFields will be sent to the server as
3410	// null. It is an error if a field in this list has a non-empty value.
3411	// This may be used to include null fields in Patch requests.
3412	NullFields []string `json:"-"`
3413}
3414
3415func (s *GoogleCloudDialogflowCxV3IntentTrainingPhrasePart) MarshalJSON() ([]byte, error) {
3416	type NoMethod GoogleCloudDialogflowCxV3IntentTrainingPhrasePart
3417	raw := NoMethod(*s)
3418	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3419}
3420
3421// GoogleCloudDialogflowCxV3ListAgentsResponse: The response message for
3422// Agents.ListAgents.
3423type GoogleCloudDialogflowCxV3ListAgentsResponse struct {
3424	// Agents: The list of agents. There will be a maximum number of items
3425	// returned based on the page_size field in the request.
3426	Agents []*GoogleCloudDialogflowCxV3Agent `json:"agents,omitempty"`
3427
3428	// NextPageToken: Token to retrieve the next page of results, or empty
3429	// if there are no more results in the list.
3430	NextPageToken string `json:"nextPageToken,omitempty"`
3431
3432	// ServerResponse contains the HTTP response code and headers from the
3433	// server.
3434	googleapi.ServerResponse `json:"-"`
3435
3436	// ForceSendFields is a list of field names (e.g. "Agents") to
3437	// unconditionally include in API requests. By default, fields with
3438	// empty or default values are omitted from API requests. However, any
3439	// non-pointer, non-interface field appearing in ForceSendFields will be
3440	// sent to the server regardless of whether the field is empty or not.
3441	// This may be used to include empty fields in Patch requests.
3442	ForceSendFields []string `json:"-"`
3443
3444	// NullFields is a list of field names (e.g. "Agents") to include in API
3445	// requests with the JSON null value. By default, fields with empty
3446	// values are omitted from API requests. However, any field with an
3447	// empty value appearing in NullFields will be sent to the server as
3448	// null. It is an error if a field in this list has a non-empty value.
3449	// This may be used to include null fields in Patch requests.
3450	NullFields []string `json:"-"`
3451}
3452
3453func (s *GoogleCloudDialogflowCxV3ListAgentsResponse) MarshalJSON() ([]byte, error) {
3454	type NoMethod GoogleCloudDialogflowCxV3ListAgentsResponse
3455	raw := NoMethod(*s)
3456	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3457}
3458
3459// GoogleCloudDialogflowCxV3ListContinuousTestResultsResponse: The
3460// response message for Environments.ListTestCaseResults.
3461type GoogleCloudDialogflowCxV3ListContinuousTestResultsResponse struct {
3462	// ContinuousTestResults: The list of continuous test results.
3463	ContinuousTestResults []*GoogleCloudDialogflowCxV3ContinuousTestResult `json:"continuousTestResults,omitempty"`
3464
3465	// NextPageToken: Token to retrieve the next page of results, or empty
3466	// if there are no more results in the list.
3467	NextPageToken string `json:"nextPageToken,omitempty"`
3468
3469	// ServerResponse contains the HTTP response code and headers from the
3470	// server.
3471	googleapi.ServerResponse `json:"-"`
3472
3473	// ForceSendFields is a list of field names (e.g.
3474	// "ContinuousTestResults") to unconditionally include in API requests.
3475	// By default, fields with empty or default values are omitted from API
3476	// requests. However, any non-pointer, non-interface field appearing in
3477	// ForceSendFields will be sent to the server regardless of whether the
3478	// field is empty or not. This may be used to include empty fields in
3479	// Patch requests.
3480	ForceSendFields []string `json:"-"`
3481
3482	// NullFields is a list of field names (e.g. "ContinuousTestResults") to
3483	// include in API requests with the JSON null value. By default, fields
3484	// with empty values are omitted from API requests. However, any field
3485	// with an empty value appearing in NullFields will be sent to the
3486	// server as null. It is an error if a field in this list has a
3487	// non-empty value. This may be used to include null fields in Patch
3488	// requests.
3489	NullFields []string `json:"-"`
3490}
3491
3492func (s *GoogleCloudDialogflowCxV3ListContinuousTestResultsResponse) MarshalJSON() ([]byte, error) {
3493	type NoMethod GoogleCloudDialogflowCxV3ListContinuousTestResultsResponse
3494	raw := NoMethod(*s)
3495	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3496}
3497
3498// GoogleCloudDialogflowCxV3ListEntityTypesResponse: The response
3499// message for EntityTypes.ListEntityTypes.
3500type GoogleCloudDialogflowCxV3ListEntityTypesResponse struct {
3501	// EntityTypes: The list of entity types. There will be a maximum number
3502	// of items returned based on the page_size field in the request.
3503	EntityTypes []*GoogleCloudDialogflowCxV3EntityType `json:"entityTypes,omitempty"`
3504
3505	// NextPageToken: Token to retrieve the next page of results, or empty
3506	// if there are no more results in the list.
3507	NextPageToken string `json:"nextPageToken,omitempty"`
3508
3509	// ServerResponse contains the HTTP response code and headers from the
3510	// server.
3511	googleapi.ServerResponse `json:"-"`
3512
3513	// ForceSendFields is a list of field names (e.g. "EntityTypes") to
3514	// unconditionally include in API requests. By default, fields with
3515	// empty or default values are omitted from API requests. However, any
3516	// non-pointer, non-interface field appearing in ForceSendFields will be
3517	// sent to the server regardless of whether the field is empty or not.
3518	// This may be used to include empty fields in Patch requests.
3519	ForceSendFields []string `json:"-"`
3520
3521	// NullFields is a list of field names (e.g. "EntityTypes") to include
3522	// in API requests with the JSON null value. By default, fields with
3523	// empty values are omitted from API requests. However, any field with
3524	// an empty value appearing in NullFields will be sent to the server as
3525	// null. It is an error if a field in this list has a non-empty value.
3526	// This may be used to include null fields in Patch requests.
3527	NullFields []string `json:"-"`
3528}
3529
3530func (s *GoogleCloudDialogflowCxV3ListEntityTypesResponse) MarshalJSON() ([]byte, error) {
3531	type NoMethod GoogleCloudDialogflowCxV3ListEntityTypesResponse
3532	raw := NoMethod(*s)
3533	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3534}
3535
3536// GoogleCloudDialogflowCxV3ListEnvironmentsResponse: The response
3537// message for Environments.ListEnvironments.
3538type GoogleCloudDialogflowCxV3ListEnvironmentsResponse struct {
3539	// Environments: The list of environments. There will be a maximum
3540	// number of items returned based on the page_size field in the request.
3541	// The list may in some cases be empty or contain fewer entries than
3542	// page_size even if this isn't the last page.
3543	Environments []*GoogleCloudDialogflowCxV3Environment `json:"environments,omitempty"`
3544
3545	// NextPageToken: Token to retrieve the next page of results, or empty
3546	// if there are no more results in the list.
3547	NextPageToken string `json:"nextPageToken,omitempty"`
3548
3549	// ServerResponse contains the HTTP response code and headers from the
3550	// server.
3551	googleapi.ServerResponse `json:"-"`
3552
3553	// ForceSendFields is a list of field names (e.g. "Environments") to
3554	// unconditionally include in API requests. By default, fields with
3555	// empty or default values are omitted from API requests. However, any
3556	// non-pointer, non-interface field appearing in ForceSendFields will be
3557	// sent to the server regardless of whether the field is empty or not.
3558	// This may be used to include empty fields in Patch requests.
3559	ForceSendFields []string `json:"-"`
3560
3561	// NullFields is a list of field names (e.g. "Environments") to include
3562	// in API requests with the JSON null value. By default, fields with
3563	// empty values are omitted from API requests. However, any field with
3564	// an empty value appearing in NullFields will be sent to the server as
3565	// null. It is an error if a field in this list has a non-empty value.
3566	// This may be used to include null fields in Patch requests.
3567	NullFields []string `json:"-"`
3568}
3569
3570func (s *GoogleCloudDialogflowCxV3ListEnvironmentsResponse) MarshalJSON() ([]byte, error) {
3571	type NoMethod GoogleCloudDialogflowCxV3ListEnvironmentsResponse
3572	raw := NoMethod(*s)
3573	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3574}
3575
3576// GoogleCloudDialogflowCxV3ListExperimentsResponse: The response
3577// message for Experiments.ListExperiments.
3578type GoogleCloudDialogflowCxV3ListExperimentsResponse struct {
3579	// Experiments: The list of experiments. There will be a maximum number
3580	// of items returned based on the page_size field in the request. The
3581	// list may in some cases be empty or contain fewer entries than
3582	// page_size even if this isn't the last page.
3583	Experiments []*GoogleCloudDialogflowCxV3Experiment `json:"experiments,omitempty"`
3584
3585	// NextPageToken: Token to retrieve the next page of results, or empty
3586	// if there are no more results in the list.
3587	NextPageToken string `json:"nextPageToken,omitempty"`
3588
3589	// ServerResponse contains the HTTP response code and headers from the
3590	// server.
3591	googleapi.ServerResponse `json:"-"`
3592
3593	// ForceSendFields is a list of field names (e.g. "Experiments") to
3594	// unconditionally include in API requests. By default, fields with
3595	// empty or default values are omitted from API requests. However, any
3596	// non-pointer, non-interface field appearing in ForceSendFields will be
3597	// sent to the server regardless of whether the field is empty or not.
3598	// This may be used to include empty fields in Patch requests.
3599	ForceSendFields []string `json:"-"`
3600
3601	// NullFields is a list of field names (e.g. "Experiments") to include
3602	// in API requests with the JSON null value. By default, fields with
3603	// empty values are omitted from API requests. However, any field with
3604	// an empty value appearing in NullFields will be sent to the server as
3605	// null. It is an error if a field in this list has a non-empty value.
3606	// This may be used to include null fields in Patch requests.
3607	NullFields []string `json:"-"`
3608}
3609
3610func (s *GoogleCloudDialogflowCxV3ListExperimentsResponse) MarshalJSON() ([]byte, error) {
3611	type NoMethod GoogleCloudDialogflowCxV3ListExperimentsResponse
3612	raw := NoMethod(*s)
3613	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3614}
3615
3616// GoogleCloudDialogflowCxV3ListFlowsResponse: The response message for
3617// Flows.ListFlows.
3618type GoogleCloudDialogflowCxV3ListFlowsResponse struct {
3619	// Flows: The list of flows. There will be a maximum number of items
3620	// returned based on the page_size field in the request.
3621	Flows []*GoogleCloudDialogflowCxV3Flow `json:"flows,omitempty"`
3622
3623	// NextPageToken: Token to retrieve the next page of results, or empty
3624	// if there are no more results in the list.
3625	NextPageToken string `json:"nextPageToken,omitempty"`
3626
3627	// ServerResponse contains the HTTP response code and headers from the
3628	// server.
3629	googleapi.ServerResponse `json:"-"`
3630
3631	// ForceSendFields is a list of field names (e.g. "Flows") to
3632	// unconditionally include in API requests. By default, fields with
3633	// empty or default values are omitted from API requests. However, any
3634	// non-pointer, non-interface field appearing in ForceSendFields will be
3635	// sent to the server regardless of whether the field is empty or not.
3636	// This may be used to include empty fields in Patch requests.
3637	ForceSendFields []string `json:"-"`
3638
3639	// NullFields is a list of field names (e.g. "Flows") to include in API
3640	// requests with the JSON null value. By default, fields with empty
3641	// values are omitted from API requests. However, any field with an
3642	// empty value appearing in NullFields will be sent to the server as
3643	// null. It is an error if a field in this list has a non-empty value.
3644	// This may be used to include null fields in Patch requests.
3645	NullFields []string `json:"-"`
3646}
3647
3648func (s *GoogleCloudDialogflowCxV3ListFlowsResponse) MarshalJSON() ([]byte, error) {
3649	type NoMethod GoogleCloudDialogflowCxV3ListFlowsResponse
3650	raw := NoMethod(*s)
3651	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3652}
3653
3654// GoogleCloudDialogflowCxV3ListIntentsResponse: The response message
3655// for Intents.ListIntents.
3656type GoogleCloudDialogflowCxV3ListIntentsResponse struct {
3657	// Intents: The list of intents. There will be a maximum number of items
3658	// returned based on the page_size field in the request.
3659	Intents []*GoogleCloudDialogflowCxV3Intent `json:"intents,omitempty"`
3660
3661	// NextPageToken: Token to retrieve the next page of results, or empty
3662	// if there are no more results in the list.
3663	NextPageToken string `json:"nextPageToken,omitempty"`
3664
3665	// ServerResponse contains the HTTP response code and headers from the
3666	// server.
3667	googleapi.ServerResponse `json:"-"`
3668
3669	// ForceSendFields is a list of field names (e.g. "Intents") to
3670	// unconditionally include in API requests. By default, fields with
3671	// empty or default values are omitted from API requests. However, any
3672	// non-pointer, non-interface field appearing in ForceSendFields will be
3673	// sent to the server regardless of whether the field is empty or not.
3674	// This may be used to include empty fields in Patch requests.
3675	ForceSendFields []string `json:"-"`
3676
3677	// NullFields is a list of field names (e.g. "Intents") to include in
3678	// API requests with the JSON null value. By default, fields with empty
3679	// values are omitted from API requests. However, any field with an
3680	// empty value appearing in NullFields will be sent to the server as
3681	// null. It is an error if a field in this list has a non-empty value.
3682	// This may be used to include null fields in Patch requests.
3683	NullFields []string `json:"-"`
3684}
3685
3686func (s *GoogleCloudDialogflowCxV3ListIntentsResponse) MarshalJSON() ([]byte, error) {
3687	type NoMethod GoogleCloudDialogflowCxV3ListIntentsResponse
3688	raw := NoMethod(*s)
3689	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3690}
3691
3692// GoogleCloudDialogflowCxV3ListPagesResponse: The response message for
3693// Pages.ListPages.
3694type GoogleCloudDialogflowCxV3ListPagesResponse struct {
3695	// NextPageToken: Token to retrieve the next page of results, or empty
3696	// if there are no more results in the list.
3697	NextPageToken string `json:"nextPageToken,omitempty"`
3698
3699	// Pages: The list of pages. There will be a maximum number of items
3700	// returned based on the page_size field in the request.
3701	Pages []*GoogleCloudDialogflowCxV3Page `json:"pages,omitempty"`
3702
3703	// ServerResponse contains the HTTP response code and headers from the
3704	// server.
3705	googleapi.ServerResponse `json:"-"`
3706
3707	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
3708	// unconditionally include in API requests. By default, fields with
3709	// empty or default values are omitted from API requests. However, any
3710	// non-pointer, non-interface field appearing in ForceSendFields will be
3711	// sent to the server regardless of whether the field is empty or not.
3712	// This may be used to include empty fields in Patch requests.
3713	ForceSendFields []string `json:"-"`
3714
3715	// NullFields is a list of field names (e.g. "NextPageToken") to include
3716	// in API requests with the JSON null value. By default, fields with
3717	// empty values are omitted from API requests. However, any field with
3718	// an empty value appearing in NullFields will be sent to the server as
3719	// null. It is an error if a field in this list has a non-empty value.
3720	// This may be used to include null fields in Patch requests.
3721	NullFields []string `json:"-"`
3722}
3723
3724func (s *GoogleCloudDialogflowCxV3ListPagesResponse) MarshalJSON() ([]byte, error) {
3725	type NoMethod GoogleCloudDialogflowCxV3ListPagesResponse
3726	raw := NoMethod(*s)
3727	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3728}
3729
3730// GoogleCloudDialogflowCxV3ListSecuritySettingsResponse: The response
3731// message for SecuritySettings.ListSecuritySettings.
3732type GoogleCloudDialogflowCxV3ListSecuritySettingsResponse struct {
3733	// NextPageToken: Token to retrieve the next page of results, or empty
3734	// if there are no more results in the list.
3735	NextPageToken string `json:"nextPageToken,omitempty"`
3736
3737	// SecuritySettings: The list of security settings.
3738	SecuritySettings []*GoogleCloudDialogflowCxV3SecuritySettings `json:"securitySettings,omitempty"`
3739
3740	// ServerResponse contains the HTTP response code and headers from the
3741	// server.
3742	googleapi.ServerResponse `json:"-"`
3743
3744	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
3745	// unconditionally include in API requests. By default, fields with
3746	// empty or default values are omitted from API requests. However, any
3747	// non-pointer, non-interface field appearing in ForceSendFields will be
3748	// sent to the server regardless of whether the field is empty or not.
3749	// This may be used to include empty fields in Patch requests.
3750	ForceSendFields []string `json:"-"`
3751
3752	// NullFields is a list of field names (e.g. "NextPageToken") to include
3753	// in API requests with the JSON null value. By default, fields with
3754	// empty values are omitted from API requests. However, any field with
3755	// an empty value appearing in NullFields will be sent to the server as
3756	// null. It is an error if a field in this list has a non-empty value.
3757	// This may be used to include null fields in Patch requests.
3758	NullFields []string `json:"-"`
3759}
3760
3761func (s *GoogleCloudDialogflowCxV3ListSecuritySettingsResponse) MarshalJSON() ([]byte, error) {
3762	type NoMethod GoogleCloudDialogflowCxV3ListSecuritySettingsResponse
3763	raw := NoMethod(*s)
3764	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3765}
3766
3767// GoogleCloudDialogflowCxV3ListSessionEntityTypesResponse: The response
3768// message for SessionEntityTypes.ListSessionEntityTypes.
3769type GoogleCloudDialogflowCxV3ListSessionEntityTypesResponse struct {
3770	// NextPageToken: Token to retrieve the next page of results, or empty
3771	// if there are no more results in the list.
3772	NextPageToken string `json:"nextPageToken,omitempty"`
3773
3774	// SessionEntityTypes: The list of session entity types. There will be a
3775	// maximum number of items returned based on the page_size field in the
3776	// request.
3777	SessionEntityTypes []*GoogleCloudDialogflowCxV3SessionEntityType `json:"sessionEntityTypes,omitempty"`
3778
3779	// ServerResponse contains the HTTP response code and headers from the
3780	// server.
3781	googleapi.ServerResponse `json:"-"`
3782
3783	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
3784	// unconditionally include in API requests. By default, fields with
3785	// empty or default values are omitted from API requests. However, any
3786	// non-pointer, non-interface field appearing in ForceSendFields will be
3787	// sent to the server regardless of whether the field is empty or not.
3788	// This may be used to include empty fields in Patch requests.
3789	ForceSendFields []string `json:"-"`
3790
3791	// NullFields is a list of field names (e.g. "NextPageToken") to include
3792	// in API requests with the JSON null value. By default, fields with
3793	// empty values are omitted from API requests. However, any field with
3794	// an empty value appearing in NullFields will be sent to the server as
3795	// null. It is an error if a field in this list has a non-empty value.
3796	// This may be used to include null fields in Patch requests.
3797	NullFields []string `json:"-"`
3798}
3799
3800func (s *GoogleCloudDialogflowCxV3ListSessionEntityTypesResponse) MarshalJSON() ([]byte, error) {
3801	type NoMethod GoogleCloudDialogflowCxV3ListSessionEntityTypesResponse
3802	raw := NoMethod(*s)
3803	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3804}
3805
3806// GoogleCloudDialogflowCxV3ListTestCaseResultsResponse: The response
3807// message for TestCases.ListTestCaseResults.
3808type GoogleCloudDialogflowCxV3ListTestCaseResultsResponse struct {
3809	// NextPageToken: Token to retrieve the next page of results, or empty
3810	// if there are no more results in the list.
3811	NextPageToken string `json:"nextPageToken,omitempty"`
3812
3813	// TestCaseResults: The list of test case results.
3814	TestCaseResults []*GoogleCloudDialogflowCxV3TestCaseResult `json:"testCaseResults,omitempty"`
3815
3816	// ServerResponse contains the HTTP response code and headers from the
3817	// server.
3818	googleapi.ServerResponse `json:"-"`
3819
3820	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
3821	// unconditionally include in API requests. By default, fields with
3822	// empty or default values are omitted from API requests. However, any
3823	// non-pointer, non-interface field appearing in ForceSendFields will be
3824	// sent to the server regardless of whether the field is empty or not.
3825	// This may be used to include empty fields in Patch requests.
3826	ForceSendFields []string `json:"-"`
3827
3828	// NullFields is a list of field names (e.g. "NextPageToken") to include
3829	// in API requests with the JSON null value. By default, fields with
3830	// empty values are omitted from API requests. However, any field with
3831	// an empty value appearing in NullFields will be sent to the server as
3832	// null. It is an error if a field in this list has a non-empty value.
3833	// This may be used to include null fields in Patch requests.
3834	NullFields []string `json:"-"`
3835}
3836
3837func (s *GoogleCloudDialogflowCxV3ListTestCaseResultsResponse) MarshalJSON() ([]byte, error) {
3838	type NoMethod GoogleCloudDialogflowCxV3ListTestCaseResultsResponse
3839	raw := NoMethod(*s)
3840	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3841}
3842
3843// GoogleCloudDialogflowCxV3ListTestCasesResponse: The response message
3844// for TestCases.ListTestCases.
3845type GoogleCloudDialogflowCxV3ListTestCasesResponse struct {
3846	// NextPageToken: Token to retrieve the next page of results, or empty
3847	// if there are no more results in the list.
3848	NextPageToken string `json:"nextPageToken,omitempty"`
3849
3850	// TestCases: The list of test cases. There will be a maximum number of
3851	// items returned based on the page_size field in the request.
3852	TestCases []*GoogleCloudDialogflowCxV3TestCase `json:"testCases,omitempty"`
3853
3854	// ServerResponse contains the HTTP response code and headers from the
3855	// server.
3856	googleapi.ServerResponse `json:"-"`
3857
3858	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
3859	// unconditionally include in API requests. By default, fields with
3860	// empty or default values are omitted from API requests. However, any
3861	// non-pointer, non-interface field appearing in ForceSendFields will be
3862	// sent to the server regardless of whether the field is empty or not.
3863	// This may be used to include empty fields in Patch requests.
3864	ForceSendFields []string `json:"-"`
3865
3866	// NullFields is a list of field names (e.g. "NextPageToken") to include
3867	// in API requests with the JSON null value. By default, fields with
3868	// empty values are omitted from API requests. However, any field with
3869	// an empty value appearing in NullFields will be sent to the server as
3870	// null. It is an error if a field in this list has a non-empty value.
3871	// This may be used to include null fields in Patch requests.
3872	NullFields []string `json:"-"`
3873}
3874
3875func (s *GoogleCloudDialogflowCxV3ListTestCasesResponse) MarshalJSON() ([]byte, error) {
3876	type NoMethod GoogleCloudDialogflowCxV3ListTestCasesResponse
3877	raw := NoMethod(*s)
3878	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3879}
3880
3881// GoogleCloudDialogflowCxV3ListTransitionRouteGroupsResponse: The
3882// response message for TransitionRouteGroups.ListTransitionRouteGroups.
3883type GoogleCloudDialogflowCxV3ListTransitionRouteGroupsResponse struct {
3884	// NextPageToken: Token to retrieve the next page of results, or empty
3885	// if there are no more results in the list.
3886	NextPageToken string `json:"nextPageToken,omitempty"`
3887
3888	// TransitionRouteGroups: The list of transition route groups. There
3889	// will be a maximum number of items returned based on the page_size
3890	// field in the request. The list may in some cases be empty or contain
3891	// fewer entries than page_size even if this isn't the last page.
3892	TransitionRouteGroups []*GoogleCloudDialogflowCxV3TransitionRouteGroup `json:"transitionRouteGroups,omitempty"`
3893
3894	// ServerResponse contains the HTTP response code and headers from the
3895	// server.
3896	googleapi.ServerResponse `json:"-"`
3897
3898	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
3899	// unconditionally include in API requests. By default, fields with
3900	// empty or default values are omitted from API requests. However, any
3901	// non-pointer, non-interface field appearing in ForceSendFields will be
3902	// sent to the server regardless of whether the field is empty or not.
3903	// This may be used to include empty fields in Patch requests.
3904	ForceSendFields []string `json:"-"`
3905
3906	// NullFields is a list of field names (e.g. "NextPageToken") to include
3907	// in API requests with the JSON null value. By default, fields with
3908	// empty values are omitted from API requests. However, any field with
3909	// an empty value appearing in NullFields will be sent to the server as
3910	// null. It is an error if a field in this list has a non-empty value.
3911	// This may be used to include null fields in Patch requests.
3912	NullFields []string `json:"-"`
3913}
3914
3915func (s *GoogleCloudDialogflowCxV3ListTransitionRouteGroupsResponse) MarshalJSON() ([]byte, error) {
3916	type NoMethod GoogleCloudDialogflowCxV3ListTransitionRouteGroupsResponse
3917	raw := NoMethod(*s)
3918	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3919}
3920
3921// GoogleCloudDialogflowCxV3ListVersionsResponse: The response message
3922// for Versions.ListVersions.
3923type GoogleCloudDialogflowCxV3ListVersionsResponse struct {
3924	// NextPageToken: Token to retrieve the next page of results, or empty
3925	// if there are no more results in the list.
3926	NextPageToken string `json:"nextPageToken,omitempty"`
3927
3928	// Versions: A list of versions. There will be a maximum number of items
3929	// returned based on the page_size field in the request. The list may in
3930	// some cases be empty or contain fewer entries than page_size even if
3931	// this isn't the last page.
3932	Versions []*GoogleCloudDialogflowCxV3Version `json:"versions,omitempty"`
3933
3934	// ServerResponse contains the HTTP response code and headers from the
3935	// server.
3936	googleapi.ServerResponse `json:"-"`
3937
3938	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
3939	// unconditionally include in API requests. By default, fields with
3940	// empty or default values are omitted from API requests. However, any
3941	// non-pointer, non-interface field appearing in ForceSendFields will be
3942	// sent to the server regardless of whether the field is empty or not.
3943	// This may be used to include empty fields in Patch requests.
3944	ForceSendFields []string `json:"-"`
3945
3946	// NullFields is a list of field names (e.g. "NextPageToken") to include
3947	// in API requests with the JSON null value. By default, fields with
3948	// empty values are omitted from API requests. However, any field with
3949	// an empty value appearing in NullFields will be sent to the server as
3950	// null. It is an error if a field in this list has a non-empty value.
3951	// This may be used to include null fields in Patch requests.
3952	NullFields []string `json:"-"`
3953}
3954
3955func (s *GoogleCloudDialogflowCxV3ListVersionsResponse) MarshalJSON() ([]byte, error) {
3956	type NoMethod GoogleCloudDialogflowCxV3ListVersionsResponse
3957	raw := NoMethod(*s)
3958	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3959}
3960
3961// GoogleCloudDialogflowCxV3ListWebhooksResponse: The response message
3962// for Webhooks.ListWebhooks.
3963type GoogleCloudDialogflowCxV3ListWebhooksResponse struct {
3964	// NextPageToken: Token to retrieve the next page of results, or empty
3965	// if there are no more results in the list.
3966	NextPageToken string `json:"nextPageToken,omitempty"`
3967
3968	// Webhooks: The list of webhooks. There will be a maximum number of
3969	// items returned based on the page_size field in the request.
3970	Webhooks []*GoogleCloudDialogflowCxV3Webhook `json:"webhooks,omitempty"`
3971
3972	// ServerResponse contains the HTTP response code and headers from the
3973	// server.
3974	googleapi.ServerResponse `json:"-"`
3975
3976	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
3977	// unconditionally include in API requests. By default, fields with
3978	// empty or default values are omitted from API requests. However, any
3979	// non-pointer, non-interface field appearing in ForceSendFields will be
3980	// sent to the server regardless of whether the field is empty or not.
3981	// This may be used to include empty fields in Patch requests.
3982	ForceSendFields []string `json:"-"`
3983
3984	// NullFields is a list of field names (e.g. "NextPageToken") to include
3985	// in API requests with the JSON null value. By default, fields with
3986	// empty values are omitted from API requests. However, any field with
3987	// an empty value appearing in NullFields will be sent to the server as
3988	// null. It is an error if a field in this list has a non-empty value.
3989	// This may be used to include null fields in Patch requests.
3990	NullFields []string `json:"-"`
3991}
3992
3993func (s *GoogleCloudDialogflowCxV3ListWebhooksResponse) MarshalJSON() ([]byte, error) {
3994	type NoMethod GoogleCloudDialogflowCxV3ListWebhooksResponse
3995	raw := NoMethod(*s)
3996	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3997}
3998
3999// GoogleCloudDialogflowCxV3LoadVersionRequest: The request message for
4000// Versions.LoadVersion.
4001type GoogleCloudDialogflowCxV3LoadVersionRequest struct {
4002	// AllowOverrideAgentResources: This field is used to prevent accidental
4003	// overwrite of other agent resources, which can potentially impact
4004	// other flow's behavior. If `allow_override_agent_resources` is false,
4005	// conflicted agent-level resources will not be overridden (i.e.
4006	// intents, entities, webhooks).
4007	AllowOverrideAgentResources bool `json:"allowOverrideAgentResources,omitempty"`
4008
4009	// ForceSendFields is a list of field names (e.g.
4010	// "AllowOverrideAgentResources") to unconditionally include in API
4011	// requests. By default, fields with empty or default values are omitted
4012	// from API requests. However, any non-pointer, non-interface field
4013	// appearing in ForceSendFields will be sent to the server regardless of
4014	// whether the field is empty or not. This may be used to include empty
4015	// fields in Patch requests.
4016	ForceSendFields []string `json:"-"`
4017
4018	// NullFields is a list of field names (e.g.
4019	// "AllowOverrideAgentResources") to include in API requests with the
4020	// JSON null value. By default, fields with empty values are omitted
4021	// from API requests. However, any field with an empty value appearing
4022	// in NullFields will be sent to the server as null. It is an error if a
4023	// field in this list has a non-empty value. This may be used to include
4024	// null fields in Patch requests.
4025	NullFields []string `json:"-"`
4026}
4027
4028func (s *GoogleCloudDialogflowCxV3LoadVersionRequest) MarshalJSON() ([]byte, error) {
4029	type NoMethod GoogleCloudDialogflowCxV3LoadVersionRequest
4030	raw := NoMethod(*s)
4031	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4032}
4033
4034// GoogleCloudDialogflowCxV3LookupEnvironmentHistoryResponse: The
4035// response message for Environments.LookupEnvironmentHistory.
4036type GoogleCloudDialogflowCxV3LookupEnvironmentHistoryResponse struct {
4037	// Environments: Represents a list of snapshots for an environment. Time
4038	// of the snapshots is stored in `update_time`.
4039	Environments []*GoogleCloudDialogflowCxV3Environment `json:"environments,omitempty"`
4040
4041	// NextPageToken: Token to retrieve the next page of results, or empty
4042	// if there are no more results in the list.
4043	NextPageToken string `json:"nextPageToken,omitempty"`
4044
4045	// ServerResponse contains the HTTP response code and headers from the
4046	// server.
4047	googleapi.ServerResponse `json:"-"`
4048
4049	// ForceSendFields is a list of field names (e.g. "Environments") to
4050	// unconditionally include in API requests. By default, fields with
4051	// empty or default values are omitted from API requests. However, any
4052	// non-pointer, non-interface field appearing in ForceSendFields will be
4053	// sent to the server regardless of whether the field is empty or not.
4054	// This may be used to include empty fields in Patch requests.
4055	ForceSendFields []string `json:"-"`
4056
4057	// NullFields is a list of field names (e.g. "Environments") to include
4058	// in API requests with the JSON null value. By default, fields with
4059	// empty values are omitted from API requests. However, any field with
4060	// an empty value appearing in NullFields will be sent to the server as
4061	// null. It is an error if a field in this list has a non-empty value.
4062	// This may be used to include null fields in Patch requests.
4063	NullFields []string `json:"-"`
4064}
4065
4066func (s *GoogleCloudDialogflowCxV3LookupEnvironmentHistoryResponse) MarshalJSON() ([]byte, error) {
4067	type NoMethod GoogleCloudDialogflowCxV3LookupEnvironmentHistoryResponse
4068	raw := NoMethod(*s)
4069	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4070}
4071
4072// GoogleCloudDialogflowCxV3Match: Represents one match result of
4073// MatchIntent.
4074type GoogleCloudDialogflowCxV3Match struct {
4075	// Confidence: The confidence of this match. Values range from 0.0
4076	// (completely uncertain) to 1.0 (completely certain). This value is for
4077	// informational purpose only and is only used to help match the best
4078	// intent within the classification threshold. This value may change for
4079	// the same end-user expression at any time due to a model retraining or
4080	// change in implementation.
4081	Confidence float64 `json:"confidence,omitempty"`
4082
4083	// Event: The event that matched the query. Only filled for `EVENT`
4084	// match type.
4085	Event string `json:"event,omitempty"`
4086
4087	// Intent: The Intent that matched the query. Some, not all fields are
4088	// filled in this message, including but not limited to: `name` and
4089	// `display_name`. Only filled for `INTENT` match type.
4090	Intent *GoogleCloudDialogflowCxV3Intent `json:"intent,omitempty"`
4091
4092	// MatchType: Type of this Match.
4093	//
4094	// Possible values:
4095	//   "MATCH_TYPE_UNSPECIFIED" - Not specified. Should never be used.
4096	//   "INTENT" - The query was matched to an intent.
4097	//   "DIRECT_INTENT" - The query directly triggered an intent.
4098	//   "PARAMETER_FILLING" - The query was used for parameter filling.
4099	//   "NO_MATCH" - No match was found for the query.
4100	//   "NO_INPUT" - Indicates an empty query.
4101	//   "EVENT" - The query directly triggered an event.
4102	MatchType string `json:"matchType,omitempty"`
4103
4104	// Parameters: The collection of parameters extracted from the query.
4105	// Depending on your protocol or client library language, this is a map,
4106	// associative array, symbol table, dictionary, or JSON object composed
4107	// of a collection of (MapKey, MapValue) pairs: - MapKey type: string -
4108	// MapKey value: parameter name - MapValue type: - If parameter's entity
4109	// type is a composite entity: map - Else: depending on parameter value
4110	// type, could be one of string, number, boolean, null, list or map -
4111	// MapValue value: - If parameter's entity type is a composite entity:
4112	// map from composite entity property names to property values - Else:
4113	// parameter value
4114	Parameters googleapi.RawMessage `json:"parameters,omitempty"`
4115
4116	// ResolvedInput: Final text input which was matched during MatchIntent.
4117	// This value can be different from original input sent in request
4118	// because of spelling correction or other processing.
4119	ResolvedInput string `json:"resolvedInput,omitempty"`
4120
4121	// ForceSendFields is a list of field names (e.g. "Confidence") to
4122	// unconditionally include in API requests. By default, fields with
4123	// empty or default values are omitted from API requests. However, any
4124	// non-pointer, non-interface field appearing in ForceSendFields will be
4125	// sent to the server regardless of whether the field is empty or not.
4126	// This may be used to include empty fields in Patch requests.
4127	ForceSendFields []string `json:"-"`
4128
4129	// NullFields is a list of field names (e.g. "Confidence") to include in
4130	// API requests with the JSON null value. By default, fields with empty
4131	// values are omitted from API requests. However, any field with an
4132	// empty value appearing in NullFields will be sent to the server as
4133	// null. It is an error if a field in this list has a non-empty value.
4134	// This may be used to include null fields in Patch requests.
4135	NullFields []string `json:"-"`
4136}
4137
4138func (s *GoogleCloudDialogflowCxV3Match) MarshalJSON() ([]byte, error) {
4139	type NoMethod GoogleCloudDialogflowCxV3Match
4140	raw := NoMethod(*s)
4141	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4142}
4143
4144func (s *GoogleCloudDialogflowCxV3Match) UnmarshalJSON(data []byte) error {
4145	type NoMethod GoogleCloudDialogflowCxV3Match
4146	var s1 struct {
4147		Confidence gensupport.JSONFloat64 `json:"confidence"`
4148		*NoMethod
4149	}
4150	s1.NoMethod = (*NoMethod)(s)
4151	if err := json.Unmarshal(data, &s1); err != nil {
4152		return err
4153	}
4154	s.Confidence = float64(s1.Confidence)
4155	return nil
4156}
4157
4158// GoogleCloudDialogflowCxV3MatchIntentRequest: Request of MatchIntent.
4159type GoogleCloudDialogflowCxV3MatchIntentRequest struct {
4160	// QueryInput: Required. The input specification.
4161	QueryInput *GoogleCloudDialogflowCxV3QueryInput `json:"queryInput,omitempty"`
4162
4163	// QueryParams: The parameters of this query.
4164	QueryParams *GoogleCloudDialogflowCxV3QueryParameters `json:"queryParams,omitempty"`
4165
4166	// ForceSendFields is a list of field names (e.g. "QueryInput") to
4167	// unconditionally include in API requests. By default, fields with
4168	// empty or default values are omitted from API requests. However, any
4169	// non-pointer, non-interface field appearing in ForceSendFields will be
4170	// sent to the server regardless of whether the field is empty or not.
4171	// This may be used to include empty fields in Patch requests.
4172	ForceSendFields []string `json:"-"`
4173
4174	// NullFields is a list of field names (e.g. "QueryInput") to include in
4175	// API requests with the JSON null value. By default, fields with empty
4176	// values are omitted from API requests. However, any field with an
4177	// empty value appearing in NullFields will be sent to the server as
4178	// null. It is an error if a field in this list has a non-empty value.
4179	// This may be used to include null fields in Patch requests.
4180	NullFields []string `json:"-"`
4181}
4182
4183func (s *GoogleCloudDialogflowCxV3MatchIntentRequest) MarshalJSON() ([]byte, error) {
4184	type NoMethod GoogleCloudDialogflowCxV3MatchIntentRequest
4185	raw := NoMethod(*s)
4186	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4187}
4188
4189// GoogleCloudDialogflowCxV3MatchIntentResponse: Response of
4190// MatchIntent.
4191type GoogleCloudDialogflowCxV3MatchIntentResponse struct {
4192	// CurrentPage: The current Page. Some, not all fields are filled in
4193	// this message, including but not limited to `name` and `display_name`.
4194	CurrentPage *GoogleCloudDialogflowCxV3Page `json:"currentPage,omitempty"`
4195
4196	// Matches: Match results, if more than one, ordered descendingly by the
4197	// confidence we have that the particular intent matches the query.
4198	Matches []*GoogleCloudDialogflowCxV3Match `json:"matches,omitempty"`
4199
4200	// Text: If natural language text was provided as input, this field will
4201	// contain a copy of the text.
4202	Text string `json:"text,omitempty"`
4203
4204	// Transcript: If natural language speech audio was provided as input,
4205	// this field will contain the transcript for the audio.
4206	Transcript string `json:"transcript,omitempty"`
4207
4208	// TriggerEvent: If an event was provided as input, this field will
4209	// contain a copy of the event name.
4210	TriggerEvent string `json:"triggerEvent,omitempty"`
4211
4212	// TriggerIntent: If an intent was provided as input, this field will
4213	// contain a copy of the intent identifier. Format:
4214	// `projects//locations//agents//intents/`.
4215	TriggerIntent string `json:"triggerIntent,omitempty"`
4216
4217	// ServerResponse contains the HTTP response code and headers from the
4218	// server.
4219	googleapi.ServerResponse `json:"-"`
4220
4221	// ForceSendFields is a list of field names (e.g. "CurrentPage") to
4222	// unconditionally include in API requests. By default, fields with
4223	// empty or default values are omitted from API requests. However, any
4224	// non-pointer, non-interface field appearing in ForceSendFields will be
4225	// sent to the server regardless of whether the field is empty or not.
4226	// This may be used to include empty fields in Patch requests.
4227	ForceSendFields []string `json:"-"`
4228
4229	// NullFields is a list of field names (e.g. "CurrentPage") to include
4230	// in API requests with the JSON null value. By default, fields with
4231	// empty values are omitted from API requests. However, any field with
4232	// an empty value appearing in NullFields will be sent to the server as
4233	// null. It is an error if a field in this list has a non-empty value.
4234	// This may be used to include null fields in Patch requests.
4235	NullFields []string `json:"-"`
4236}
4237
4238func (s *GoogleCloudDialogflowCxV3MatchIntentResponse) MarshalJSON() ([]byte, error) {
4239	type NoMethod GoogleCloudDialogflowCxV3MatchIntentResponse
4240	raw := NoMethod(*s)
4241	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4242}
4243
4244// GoogleCloudDialogflowCxV3NluSettings: Settings related to NLU.
4245type GoogleCloudDialogflowCxV3NluSettings struct {
4246	// ClassificationThreshold: To filter out false positive results and
4247	// still get variety in matched natural language inputs for your agent,
4248	// you can tune the machine learning classification threshold. If the
4249	// returned score value is less than the threshold value, then a
4250	// no-match event will be triggered. The score values range from 0.0
4251	// (completely uncertain) to 1.0 (completely certain). If set to 0.0,
4252	// the default of 0.3 is used.
4253	ClassificationThreshold float64 `json:"classificationThreshold,omitempty"`
4254
4255	// ModelTrainingMode: Indicates NLU model training mode.
4256	//
4257	// Possible values:
4258	//   "MODEL_TRAINING_MODE_UNSPECIFIED" - Not specified.
4259	// `MODEL_TRAINING_MODE_AUTOMATIC` will be used.
4260	//   "MODEL_TRAINING_MODE_AUTOMATIC" - NLU model training is
4261	// automatically triggered when a flow gets modified. User can also
4262	// manually trigger model training in this mode.
4263	//   "MODEL_TRAINING_MODE_MANUAL" - User needs to manually trigger NLU
4264	// model training. Best for large flows whose models take long time to
4265	// train.
4266	ModelTrainingMode string `json:"modelTrainingMode,omitempty"`
4267
4268	// ModelType: Indicates the type of NLU model.
4269	//
4270	// Possible values:
4271	//   "MODEL_TYPE_UNSPECIFIED" - Not specified. `MODEL_TYPE_STANDARD`
4272	// will be used.
4273	//   "MODEL_TYPE_STANDARD" - Use standard NLU model.
4274	//   "MODEL_TYPE_ADVANCED" - Use advanced NLU model.
4275	ModelType string `json:"modelType,omitempty"`
4276
4277	// ForceSendFields is a list of field names (e.g.
4278	// "ClassificationThreshold") to unconditionally include in API
4279	// requests. By default, fields with empty or default values are omitted
4280	// from API requests. However, any non-pointer, non-interface field
4281	// appearing in ForceSendFields will be sent to the server regardless of
4282	// whether the field is empty or not. This may be used to include empty
4283	// fields in Patch requests.
4284	ForceSendFields []string `json:"-"`
4285
4286	// NullFields is a list of field names (e.g. "ClassificationThreshold")
4287	// to include in API requests with the JSON null value. By default,
4288	// fields with empty values are omitted from API requests. However, any
4289	// field with an empty value appearing in NullFields will be sent to the
4290	// server as null. It is an error if a field in this list has a
4291	// non-empty value. This may be used to include null fields in Patch
4292	// requests.
4293	NullFields []string `json:"-"`
4294}
4295
4296func (s *GoogleCloudDialogflowCxV3NluSettings) MarshalJSON() ([]byte, error) {
4297	type NoMethod GoogleCloudDialogflowCxV3NluSettings
4298	raw := NoMethod(*s)
4299	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4300}
4301
4302func (s *GoogleCloudDialogflowCxV3NluSettings) UnmarshalJSON(data []byte) error {
4303	type NoMethod GoogleCloudDialogflowCxV3NluSettings
4304	var s1 struct {
4305		ClassificationThreshold gensupport.JSONFloat64 `json:"classificationThreshold"`
4306		*NoMethod
4307	}
4308	s1.NoMethod = (*NoMethod)(s)
4309	if err := json.Unmarshal(data, &s1); err != nil {
4310		return err
4311	}
4312	s.ClassificationThreshold = float64(s1.ClassificationThreshold)
4313	return nil
4314}
4315
4316// GoogleCloudDialogflowCxV3OutputAudioConfig: Instructs the speech
4317// synthesizer how to generate the output audio content.
4318type GoogleCloudDialogflowCxV3OutputAudioConfig struct {
4319	// AudioEncoding: Required. Audio encoding of the synthesized audio
4320	// content.
4321	//
4322	// Possible values:
4323	//   "OUTPUT_AUDIO_ENCODING_UNSPECIFIED" - Not specified.
4324	//   "OUTPUT_AUDIO_ENCODING_LINEAR_16" - Uncompressed 16-bit signed
4325	// little-endian samples (Linear PCM). Audio content returned as
4326	// LINEAR16 also contains a WAV header.
4327	//   "OUTPUT_AUDIO_ENCODING_MP3" - MP3 audio at 32kbps.
4328	//   "OUTPUT_AUDIO_ENCODING_MP3_64_KBPS" - MP3 audio at 64kbps.
4329	//   "OUTPUT_AUDIO_ENCODING_OGG_OPUS" - Opus encoded audio wrapped in an
4330	// ogg container. The result will be a file which can be played natively
4331	// on Android, and in browsers (at least Chrome and Firefox). The
4332	// quality of the encoding is considerably higher than MP3 while using
4333	// approximately the same bitrate.
4334	//   "OUTPUT_AUDIO_ENCODING_MULAW" - 8-bit samples that compand 14-bit
4335	// audio samples using G.711 PCMU/mu-law.
4336	AudioEncoding string `json:"audioEncoding,omitempty"`
4337
4338	// SampleRateHertz: Optional. The synthesis sample rate (in hertz) for
4339	// this audio. If not provided, then the synthesizer will use the
4340	// default sample rate based on the audio encoding. If this is different
4341	// from the voice's natural sample rate, then the synthesizer will honor
4342	// this request by converting to the desired sample rate (which might
4343	// result in worse audio quality).
4344	SampleRateHertz int64 `json:"sampleRateHertz,omitempty"`
4345
4346	// SynthesizeSpeechConfig: Optional. Configuration of how speech should
4347	// be synthesized.
4348	SynthesizeSpeechConfig *GoogleCloudDialogflowCxV3SynthesizeSpeechConfig `json:"synthesizeSpeechConfig,omitempty"`
4349
4350	// ForceSendFields is a list of field names (e.g. "AudioEncoding") to
4351	// unconditionally include in API requests. By default, fields with
4352	// empty or default values are omitted from API requests. However, any
4353	// non-pointer, non-interface field appearing in ForceSendFields will be
4354	// sent to the server regardless of whether the field is empty or not.
4355	// This may be used to include empty fields in Patch requests.
4356	ForceSendFields []string `json:"-"`
4357
4358	// NullFields is a list of field names (e.g. "AudioEncoding") to include
4359	// in API requests with the JSON null value. By default, fields with
4360	// empty values are omitted from API requests. However, any field with
4361	// an empty value appearing in NullFields will be sent to the server as
4362	// null. It is an error if a field in this list has a non-empty value.
4363	// This may be used to include null fields in Patch requests.
4364	NullFields []string `json:"-"`
4365}
4366
4367func (s *GoogleCloudDialogflowCxV3OutputAudioConfig) MarshalJSON() ([]byte, error) {
4368	type NoMethod GoogleCloudDialogflowCxV3OutputAudioConfig
4369	raw := NoMethod(*s)
4370	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4371}
4372
4373// GoogleCloudDialogflowCxV3Page: A Dialogflow CX conversation (session)
4374// can be described and visualized as a state machine. The states of a
4375// CX session are represented by pages. For each flow, you define many
4376// pages, where your combined pages can handle a complete conversation
4377// on the topics the flow is designed for. At any given moment, exactly
4378// one page is the current page, the current page is considered active,
4379// and the flow associated with that page is considered active. Every
4380// flow has a special start page. When a flow initially becomes active,
4381// the start page page becomes the current page. For each conversational
4382// turn, the current page will either stay the same or transition to
4383// another page. You configure each page to collect information from the
4384// end-user that is relevant for the conversational state represented by
4385// the page. For more information, see the Page guide
4386// (https://cloud.google.com/dialogflow/cx/docs/concept/page).
4387type GoogleCloudDialogflowCxV3Page struct {
4388	// DisplayName: Required. The human-readable name of the page, unique
4389	// within the agent.
4390	DisplayName string `json:"displayName,omitempty"`
4391
4392	// EntryFulfillment: The fulfillment to call when the session is
4393	// entering the page.
4394	EntryFulfillment *GoogleCloudDialogflowCxV3Fulfillment `json:"entryFulfillment,omitempty"`
4395
4396	// EventHandlers: Handlers associated with the page to handle events
4397	// such as webhook errors, no match or no input.
4398	EventHandlers []*GoogleCloudDialogflowCxV3EventHandler `json:"eventHandlers,omitempty"`
4399
4400	// Form: The form associated with the page, used for collecting
4401	// parameters relevant to the page.
4402	Form *GoogleCloudDialogflowCxV3Form `json:"form,omitempty"`
4403
4404	// Name: The unique identifier of the page. Required for the
4405	// Pages.UpdatePage method. Pages.CreatePage populates the name
4406	// automatically. Format: `projects//locations//agents//flows//pages/`.
4407	Name string `json:"name,omitempty"`
4408
4409	// TransitionRouteGroups: Ordered list of `TransitionRouteGroups`
4410	// associated with the page. Transition route groups must be unique
4411	// within a page. * If multiple transition routes within a page scope
4412	// refer to the same intent, then the precedence order is: page's
4413	// transition route -> page's transition route group -> flow's
4414	// transition routes. * If multiple transition route groups within a
4415	// page contain the same intent, then the first group in the ordered
4416	// list takes precedence.
4417	// Format:`projects//locations//agents//flows//transitionRouteGroups/`.
4418	TransitionRouteGroups []string `json:"transitionRouteGroups,omitempty"`
4419
4420	// TransitionRoutes: A list of transitions for the transition rules of
4421	// this page. They route the conversation to another page in the same
4422	// flow, or another flow. When we are in a certain page, the
4423	// TransitionRoutes are evalauted in the following order: *
4424	// TransitionRoutes defined in the page with intent specified. *
4425	// TransitionRoutes defined in the transition route groups with intent
4426	// specified. * TransitionRoutes defined in flow with intent specified.
4427	// * TransitionRoutes defined in the transition route groups with intent
4428	// specified. * TransitionRoutes defined in the page with only condition
4429	// specified. * TransitionRoutes defined in the transition route groups
4430	// with only condition specified.
4431	TransitionRoutes []*GoogleCloudDialogflowCxV3TransitionRoute `json:"transitionRoutes,omitempty"`
4432
4433	// ServerResponse contains the HTTP response code and headers from the
4434	// server.
4435	googleapi.ServerResponse `json:"-"`
4436
4437	// ForceSendFields is a list of field names (e.g. "DisplayName") to
4438	// unconditionally include in API requests. By default, fields with
4439	// empty or default values are omitted from API requests. However, any
4440	// non-pointer, non-interface field appearing in ForceSendFields will be
4441	// sent to the server regardless of whether the field is empty or not.
4442	// This may be used to include empty fields in Patch requests.
4443	ForceSendFields []string `json:"-"`
4444
4445	// NullFields is a list of field names (e.g. "DisplayName") to include
4446	// in API requests with the JSON null value. By default, fields with
4447	// empty values are omitted from API requests. However, any field with
4448	// an empty value appearing in NullFields will be sent to the server as
4449	// null. It is an error if a field in this list has a non-empty value.
4450	// This may be used to include null fields in Patch requests.
4451	NullFields []string `json:"-"`
4452}
4453
4454func (s *GoogleCloudDialogflowCxV3Page) MarshalJSON() ([]byte, error) {
4455	type NoMethod GoogleCloudDialogflowCxV3Page
4456	raw := NoMethod(*s)
4457	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4458}
4459
4460// GoogleCloudDialogflowCxV3PageInfo: Represents page information
4461// communicated to and from the webhook.
4462type GoogleCloudDialogflowCxV3PageInfo struct {
4463	// CurrentPage: Always present for WebhookRequest. Ignored for
4464	// WebhookResponse. The unique identifier of the current page. Format:
4465	// `projects//locations//agents//flows//pages/`.
4466	CurrentPage string `json:"currentPage,omitempty"`
4467
4468	// FormInfo: Optional for both WebhookRequest and WebhookResponse.
4469	// Information about the form.
4470	FormInfo *GoogleCloudDialogflowCxV3PageInfoFormInfo `json:"formInfo,omitempty"`
4471
4472	// ForceSendFields is a list of field names (e.g. "CurrentPage") to
4473	// unconditionally include in API requests. By default, fields with
4474	// empty or default values are omitted from API requests. However, any
4475	// non-pointer, non-interface field appearing in ForceSendFields will be
4476	// sent to the server regardless of whether the field is empty or not.
4477	// This may be used to include empty fields in Patch requests.
4478	ForceSendFields []string `json:"-"`
4479
4480	// NullFields is a list of field names (e.g. "CurrentPage") to include
4481	// in API requests with the JSON null value. By default, fields with
4482	// empty values are omitted from API requests. However, any field with
4483	// an empty value appearing in NullFields will be sent to the server as
4484	// null. It is an error if a field in this list has a non-empty value.
4485	// This may be used to include null fields in Patch requests.
4486	NullFields []string `json:"-"`
4487}
4488
4489func (s *GoogleCloudDialogflowCxV3PageInfo) MarshalJSON() ([]byte, error) {
4490	type NoMethod GoogleCloudDialogflowCxV3PageInfo
4491	raw := NoMethod(*s)
4492	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4493}
4494
4495// GoogleCloudDialogflowCxV3PageInfoFormInfo: Represents form
4496// information.
4497type GoogleCloudDialogflowCxV3PageInfoFormInfo struct {
4498	// ParameterInfo: Optional for both WebhookRequest and WebhookResponse.
4499	// The parameters contained in the form. Note that the webhook cannot
4500	// add or remove any form parameter.
4501	ParameterInfo []*GoogleCloudDialogflowCxV3PageInfoFormInfoParameterInfo `json:"parameterInfo,omitempty"`
4502
4503	// ForceSendFields is a list of field names (e.g. "ParameterInfo") to
4504	// unconditionally include in API requests. By default, fields with
4505	// empty or default values are omitted from API requests. However, any
4506	// non-pointer, non-interface field appearing in ForceSendFields will be
4507	// sent to the server regardless of whether the field is empty or not.
4508	// This may be used to include empty fields in Patch requests.
4509	ForceSendFields []string `json:"-"`
4510
4511	// NullFields is a list of field names (e.g. "ParameterInfo") to include
4512	// in API requests with the JSON null value. By default, fields with
4513	// empty values are omitted from API requests. However, any field with
4514	// an empty value appearing in NullFields will be sent to the server as
4515	// null. It is an error if a field in this list has a non-empty value.
4516	// This may be used to include null fields in Patch requests.
4517	NullFields []string `json:"-"`
4518}
4519
4520func (s *GoogleCloudDialogflowCxV3PageInfoFormInfo) MarshalJSON() ([]byte, error) {
4521	type NoMethod GoogleCloudDialogflowCxV3PageInfoFormInfo
4522	raw := NoMethod(*s)
4523	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4524}
4525
4526// GoogleCloudDialogflowCxV3PageInfoFormInfoParameterInfo: Represents
4527// parameter information.
4528type GoogleCloudDialogflowCxV3PageInfoFormInfoParameterInfo struct {
4529	// DisplayName: Always present for WebhookRequest. Required for
4530	// WebhookResponse. The human-readable name of the parameter, unique
4531	// within the form. This field cannot be modified by the webhook.
4532	DisplayName string `json:"displayName,omitempty"`
4533
4534	// JustCollected: Optional for WebhookRequest. Ignored for
4535	// WebhookResponse. Indicates if the parameter value was just collected
4536	// on the last conversation turn.
4537	JustCollected bool `json:"justCollected,omitempty"`
4538
4539	// Required: Optional for both WebhookRequest and WebhookResponse.
4540	// Indicates whether the parameter is required. Optional parameters will
4541	// not trigger prompts; however, they are filled if the user specifies
4542	// them. Required parameters must be filled before form filling
4543	// concludes.
4544	Required bool `json:"required,omitempty"`
4545
4546	// State: Always present for WebhookRequest. Required for
4547	// WebhookResponse. The state of the parameter. This field can be set to
4548	// INVALID by the webhook to invalidate the parameter; other values set
4549	// by the webhook will be ignored.
4550	//
4551	// Possible values:
4552	//   "PARAMETER_STATE_UNSPECIFIED" - Not specified. This value should be
4553	// never used.
4554	//   "EMPTY" - Indicates that the parameter does not have a value.
4555	//   "INVALID" - Indicates that the parameter value is invalid. This
4556	// field can be used by the webhook to invalidate the parameter and ask
4557	// the server to collect it from the user again.
4558	//   "FILLED" - Indicates that the parameter has a value.
4559	State string `json:"state,omitempty"`
4560
4561	// Value: Optional for both WebhookRequest and WebhookResponse. The
4562	// value of the parameter. This field can be set by the webhook to
4563	// change the parameter value.
4564	Value interface{} `json:"value,omitempty"`
4565
4566	// ForceSendFields is a list of field names (e.g. "DisplayName") to
4567	// unconditionally include in API requests. By default, fields with
4568	// empty or default values are omitted from API requests. However, any
4569	// non-pointer, non-interface field appearing in ForceSendFields will be
4570	// sent to the server regardless of whether the field is empty or not.
4571	// This may be used to include empty fields in Patch requests.
4572	ForceSendFields []string `json:"-"`
4573
4574	// NullFields is a list of field names (e.g. "DisplayName") to include
4575	// in API requests with the JSON null value. By default, fields with
4576	// empty values are omitted from API requests. However, any field with
4577	// an empty value appearing in NullFields will be sent to the server as
4578	// null. It is an error if a field in this list has a non-empty value.
4579	// This may be used to include null fields in Patch requests.
4580	NullFields []string `json:"-"`
4581}
4582
4583func (s *GoogleCloudDialogflowCxV3PageInfoFormInfoParameterInfo) MarshalJSON() ([]byte, error) {
4584	type NoMethod GoogleCloudDialogflowCxV3PageInfoFormInfoParameterInfo
4585	raw := NoMethod(*s)
4586	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4587}
4588
4589// GoogleCloudDialogflowCxV3QueryInput: Represents the query input. It
4590// can contain one of: 1. A conversational query in the form of text. 2.
4591// An intent query that specifies which intent to trigger. 3. Natural
4592// language speech audio to be processed. 4. An event to be triggered.
4593type GoogleCloudDialogflowCxV3QueryInput struct {
4594	// Audio: The natural language speech audio to be processed.
4595	Audio *GoogleCloudDialogflowCxV3AudioInput `json:"audio,omitempty"`
4596
4597	// Dtmf: The DTMF event to be handled.
4598	Dtmf *GoogleCloudDialogflowCxV3DtmfInput `json:"dtmf,omitempty"`
4599
4600	// Event: The event to be triggered.
4601	Event *GoogleCloudDialogflowCxV3EventInput `json:"event,omitempty"`
4602
4603	// Intent: The intent to be triggered.
4604	Intent *GoogleCloudDialogflowCxV3IntentInput `json:"intent,omitempty"`
4605
4606	// LanguageCode: Required. The language of the input. See Language
4607	// Support
4608	// (https://cloud.google.com/dialogflow/cx/docs/reference/language) for
4609	// a list of the currently supported language codes. Note that queries
4610	// in the same session do not necessarily need to specify the same
4611	// language.
4612	LanguageCode string `json:"languageCode,omitempty"`
4613
4614	// Text: The natural language text to be processed.
4615	Text *GoogleCloudDialogflowCxV3TextInput `json:"text,omitempty"`
4616
4617	// ForceSendFields is a list of field names (e.g. "Audio") to
4618	// unconditionally include in API requests. By default, fields with
4619	// empty or default values are omitted from API requests. However, any
4620	// non-pointer, non-interface field appearing in ForceSendFields will be
4621	// sent to the server regardless of whether the field is empty or not.
4622	// This may be used to include empty fields in Patch requests.
4623	ForceSendFields []string `json:"-"`
4624
4625	// NullFields is a list of field names (e.g. "Audio") to include in API
4626	// requests with the JSON null value. By default, fields with empty
4627	// values are omitted from API requests. However, any field with an
4628	// empty value appearing in NullFields will be sent to the server as
4629	// null. It is an error if a field in this list has a non-empty value.
4630	// This may be used to include null fields in Patch requests.
4631	NullFields []string `json:"-"`
4632}
4633
4634func (s *GoogleCloudDialogflowCxV3QueryInput) MarshalJSON() ([]byte, error) {
4635	type NoMethod GoogleCloudDialogflowCxV3QueryInput
4636	raw := NoMethod(*s)
4637	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4638}
4639
4640// GoogleCloudDialogflowCxV3QueryParameters: Represents the parameters
4641// of a conversational query.
4642type GoogleCloudDialogflowCxV3QueryParameters struct {
4643	// AnalyzeQueryTextSentiment: Configures whether sentiment analysis
4644	// should be performed. If not provided, sentiment analysis is not
4645	// performed.
4646	AnalyzeQueryTextSentiment bool `json:"analyzeQueryTextSentiment,omitempty"`
4647
4648	// CurrentPage: The unique identifier of the page to override the
4649	// current page in the session. Format:
4650	// `projects//locations//agents//flows//pages/`. If `current_page` is
4651	// specified, the previous state of the session will be ignored by
4652	// Dialogflow, including the previous page and the previous session
4653	// parameters. In most cases, current_page and parameters should be
4654	// configured together to direct a session to a specific state.
4655	CurrentPage string `json:"currentPage,omitempty"`
4656
4657	// DisableWebhook: Whether to disable webhook calls for this request.
4658	DisableWebhook bool `json:"disableWebhook,omitempty"`
4659
4660	// FlowVersions: A list of flow versions to override for the request.
4661	// Format: `projects//locations//agents//flows//versions/`. If version 1
4662	// of flow X is included in this list, the traffic of flow X will go
4663	// through version 1 regardless of the version configuration in the
4664	// environment. Each flow can have at most one version specified in this
4665	// list.
4666	FlowVersions []string `json:"flowVersions,omitempty"`
4667
4668	// GeoLocation: The geo location of this conversational query.
4669	GeoLocation *GoogleTypeLatLng `json:"geoLocation,omitempty"`
4670
4671	// Parameters: Additional parameters to be put into session parameters.
4672	// To remove a parameter from the session, clients should explicitly set
4673	// the parameter value to null. You can reference the session parameters
4674	// in the agent with the following format: $session.params.parameter-id.
4675	// Depending on your protocol or client library language, this is a map,
4676	// associative array, symbol table, dictionary, or JSON object composed
4677	// of a collection of (MapKey, MapValue) pairs: - MapKey type: string -
4678	// MapKey value: parameter name - MapValue type: - If parameter's entity
4679	// type is a composite entity: map - Else: depending on parameter value
4680	// type, could be one of string, number, boolean, null, list or map -
4681	// MapValue value: - If parameter's entity type is a composite entity:
4682	// map from composite entity property names to property values - Else:
4683	// parameter value
4684	Parameters googleapi.RawMessage `json:"parameters,omitempty"`
4685
4686	// Payload: This field can be used to pass custom data into the webhook
4687	// associated with the agent. Arbitrary JSON objects are supported. Some
4688	// integrations that query a Dialogflow agent may provide additional
4689	// information in the payload. In particular, for the Dialogflow Phone
4690	// Gateway integration, this field has the form: ``` { "telephony": {
4691	// "caller_id": "+18558363987" } } ```
4692	Payload googleapi.RawMessage `json:"payload,omitempty"`
4693
4694	// SessionEntityTypes: Additional session entity types to replace or
4695	// extend developer entity types with. The entity synonyms apply to all
4696	// languages and persist for the session of this query.
4697	SessionEntityTypes []*GoogleCloudDialogflowCxV3SessionEntityType `json:"sessionEntityTypes,omitempty"`
4698
4699	// TimeZone: The time zone of this conversational query from the time
4700	// zone database (https://www.iana.org/time-zones), e.g.,
4701	// America/New_York, Europe/Paris. If not provided, the time zone
4702	// specified in the agent is used.
4703	TimeZone string `json:"timeZone,omitempty"`
4704
4705	// WebhookHeaders: This field can be used to pass HTTP headers for a
4706	// webhook call. These headers will be sent to webhook along with the
4707	// headers that have been configured through Dialogflow web console. The
4708	// headers defined within this field will overwrite the headers
4709	// configured through Dialogflow console if there is a conflict. Header
4710	// names are case-insensitive. Google's specified headers are not
4711	// allowed. Including: "Host", "Content-Length", "Connection", "From",
4712	// "User-Agent", "Accept-Encoding", "If-Modified-Since",
4713	// "If-None-Match", "X-Forwarded-For", etc.
4714	WebhookHeaders map[string]string `json:"webhookHeaders,omitempty"`
4715
4716	// ForceSendFields is a list of field names (e.g.
4717	// "AnalyzeQueryTextSentiment") to unconditionally include in API
4718	// requests. By default, fields with empty or default values are omitted
4719	// from API requests. However, any non-pointer, non-interface field
4720	// appearing in ForceSendFields will be sent to the server regardless of
4721	// whether the field is empty or not. This may be used to include empty
4722	// fields in Patch requests.
4723	ForceSendFields []string `json:"-"`
4724
4725	// NullFields is a list of field names (e.g.
4726	// "AnalyzeQueryTextSentiment") to include in API requests with the JSON
4727	// null value. By default, fields with empty values are omitted from API
4728	// requests. However, any field with an empty value appearing in
4729	// NullFields will be sent to the server as null. It is an error if a
4730	// field in this list has a non-empty value. This may be used to include
4731	// null fields in Patch requests.
4732	NullFields []string `json:"-"`
4733}
4734
4735func (s *GoogleCloudDialogflowCxV3QueryParameters) MarshalJSON() ([]byte, error) {
4736	type NoMethod GoogleCloudDialogflowCxV3QueryParameters
4737	raw := NoMethod(*s)
4738	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4739}
4740
4741// GoogleCloudDialogflowCxV3QueryResult: Represents the result of a
4742// conversational query.
4743type GoogleCloudDialogflowCxV3QueryResult struct {
4744	// CurrentPage: The current Page. Some, not all fields are filled in
4745	// this message, including but not limited to `name` and `display_name`.
4746	CurrentPage *GoogleCloudDialogflowCxV3Page `json:"currentPage,omitempty"`
4747
4748	// DiagnosticInfo: The free-form diagnostic info. For example, this
4749	// field could contain webhook call latency. The string keys of the
4750	// Struct's fields map can change without notice.
4751	DiagnosticInfo googleapi.RawMessage `json:"diagnosticInfo,omitempty"`
4752
4753	// Intent: The Intent that matched the conversational query. Some, not
4754	// all fields are filled in this message, including but not limited to:
4755	// `name` and `display_name`. This field is deprecated, please use
4756	// QueryResult.match instead.
4757	Intent *GoogleCloudDialogflowCxV3Intent `json:"intent,omitempty"`
4758
4759	// IntentDetectionConfidence: The intent detection confidence. Values
4760	// range from 0.0 (completely uncertain) to 1.0 (completely certain).
4761	// This value is for informational purpose only and is only used to help
4762	// match the best intent within the classification threshold. This value
4763	// may change for the same end-user expression at any time due to a
4764	// model retraining or change in implementation. This field is
4765	// deprecated, please use QueryResult.match instead.
4766	IntentDetectionConfidence float64 `json:"intentDetectionConfidence,omitempty"`
4767
4768	// LanguageCode: The language that was triggered during intent
4769	// detection. See Language Support
4770	// (https://cloud.google.com/dialogflow/cx/docs/reference/language) for
4771	// a list of the currently supported language codes.
4772	LanguageCode string `json:"languageCode,omitempty"`
4773
4774	// Match: Intent match result, could be an intent or an event.
4775	Match *GoogleCloudDialogflowCxV3Match `json:"match,omitempty"`
4776
4777	// Parameters: The collected session parameters. Depending on your
4778	// protocol or client library language, this is a map, associative
4779	// array, symbol table, dictionary, or JSON object composed of a
4780	// collection of (MapKey, MapValue) pairs: - MapKey type: string -
4781	// MapKey value: parameter name - MapValue type: - If parameter's entity
4782	// type is a composite entity: map - Else: depending on parameter value
4783	// type, could be one of string, number, boolean, null, list or map -
4784	// MapValue value: - If parameter's entity type is a composite entity:
4785	// map from composite entity property names to property values - Else:
4786	// parameter value
4787	Parameters googleapi.RawMessage `json:"parameters,omitempty"`
4788
4789	// ResponseMessages: The list of rich messages returned to the client.
4790	// Responses vary from simple text messages to more sophisticated,
4791	// structured payloads used to drive complex logic.
4792	ResponseMessages []*GoogleCloudDialogflowCxV3ResponseMessage `json:"responseMessages,omitempty"`
4793
4794	// SentimentAnalysisResult: The sentiment analyss result, which depends
4795	// on `analyze_query_text_sentiment`, specified in the request.
4796	SentimentAnalysisResult *GoogleCloudDialogflowCxV3SentimentAnalysisResult `json:"sentimentAnalysisResult,omitempty"`
4797
4798	// Text: If natural language text was provided as input, this field will
4799	// contain a copy of the text.
4800	Text string `json:"text,omitempty"`
4801
4802	// Transcript: If natural language speech audio was provided as input,
4803	// this field will contain the transcript for the audio.
4804	Transcript string `json:"transcript,omitempty"`
4805
4806	// TriggerEvent: If an event was provided as input, this field will
4807	// contain the name of the event.
4808	TriggerEvent string `json:"triggerEvent,omitempty"`
4809
4810	// TriggerIntent: If an intent was provided as input, this field will
4811	// contain a copy of the intent identifier. Format:
4812	// `projects//locations//agents//intents/`.
4813	TriggerIntent string `json:"triggerIntent,omitempty"`
4814
4815	// WebhookPayloads: The list of webhook payload in
4816	// WebhookResponse.payload, in the order of call sequence. If some
4817	// webhook call fails or doesn't return any payload, an empty `Struct`
4818	// would be used instead.
4819	WebhookPayloads []googleapi.RawMessage `json:"webhookPayloads,omitempty"`
4820
4821	// WebhookStatuses: The list of webhook call status in the order of call
4822	// sequence.
4823	WebhookStatuses []*GoogleRpcStatus `json:"webhookStatuses,omitempty"`
4824
4825	// ForceSendFields is a list of field names (e.g. "CurrentPage") to
4826	// unconditionally include in API requests. By default, fields with
4827	// empty or default values are omitted from API requests. However, any
4828	// non-pointer, non-interface field appearing in ForceSendFields will be
4829	// sent to the server regardless of whether the field is empty or not.
4830	// This may be used to include empty fields in Patch requests.
4831	ForceSendFields []string `json:"-"`
4832
4833	// NullFields is a list of field names (e.g. "CurrentPage") to include
4834	// in API requests with the JSON null value. By default, fields with
4835	// empty values are omitted from API requests. However, any field with
4836	// an empty value appearing in NullFields will be sent to the server as
4837	// null. It is an error if a field in this list has a non-empty value.
4838	// This may be used to include null fields in Patch requests.
4839	NullFields []string `json:"-"`
4840}
4841
4842func (s *GoogleCloudDialogflowCxV3QueryResult) MarshalJSON() ([]byte, error) {
4843	type NoMethod GoogleCloudDialogflowCxV3QueryResult
4844	raw := NoMethod(*s)
4845	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4846}
4847
4848func (s *GoogleCloudDialogflowCxV3QueryResult) UnmarshalJSON(data []byte) error {
4849	type NoMethod GoogleCloudDialogflowCxV3QueryResult
4850	var s1 struct {
4851		IntentDetectionConfidence gensupport.JSONFloat64 `json:"intentDetectionConfidence"`
4852		*NoMethod
4853	}
4854	s1.NoMethod = (*NoMethod)(s)
4855	if err := json.Unmarshal(data, &s1); err != nil {
4856		return err
4857	}
4858	s.IntentDetectionConfidence = float64(s1.IntentDetectionConfidence)
4859	return nil
4860}
4861
4862// GoogleCloudDialogflowCxV3ReloadDocumentOperationMetadata: Metadata
4863// for ReloadDocument operation.
4864type GoogleCloudDialogflowCxV3ReloadDocumentOperationMetadata struct {
4865	// GenericMetadata: The generic information of the operation.
4866	GenericMetadata *GoogleCloudDialogflowCxV3GenericKnowledgeOperationMetadata `json:"genericMetadata,omitempty"`
4867
4868	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
4869	// unconditionally include in API requests. By default, fields with
4870	// empty or default values are omitted from API requests. However, any
4871	// non-pointer, non-interface field appearing in ForceSendFields will be
4872	// sent to the server regardless of whether the field is empty or not.
4873	// This may be used to include empty fields in Patch requests.
4874	ForceSendFields []string `json:"-"`
4875
4876	// NullFields is a list of field names (e.g. "GenericMetadata") to
4877	// include in API requests with the JSON null value. By default, fields
4878	// with empty values are omitted from API requests. However, any field
4879	// with an empty value appearing in NullFields will be sent to the
4880	// server as null. It is an error if a field in this list has a
4881	// non-empty value. This may be used to include null fields in Patch
4882	// requests.
4883	NullFields []string `json:"-"`
4884}
4885
4886func (s *GoogleCloudDialogflowCxV3ReloadDocumentOperationMetadata) MarshalJSON() ([]byte, error) {
4887	type NoMethod GoogleCloudDialogflowCxV3ReloadDocumentOperationMetadata
4888	raw := NoMethod(*s)
4889	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4890}
4891
4892// GoogleCloudDialogflowCxV3ResourceName: Resource name and display
4893// name.
4894type GoogleCloudDialogflowCxV3ResourceName struct {
4895	// DisplayName: Display name.
4896	DisplayName string `json:"displayName,omitempty"`
4897
4898	// Name: Name.
4899	Name string `json:"name,omitempty"`
4900
4901	// ForceSendFields is a list of field names (e.g. "DisplayName") to
4902	// unconditionally include in API requests. By default, fields with
4903	// empty or default values are omitted from API requests. However, any
4904	// non-pointer, non-interface field appearing in ForceSendFields will be
4905	// sent to the server regardless of whether the field is empty or not.
4906	// This may be used to include empty fields in Patch requests.
4907	ForceSendFields []string `json:"-"`
4908
4909	// NullFields is a list of field names (e.g. "DisplayName") to include
4910	// in API requests with the JSON null value. By default, fields with
4911	// empty values are omitted from API requests. However, any field with
4912	// an empty value appearing in NullFields will be sent to the server as
4913	// null. It is an error if a field in this list has a non-empty value.
4914	// This may be used to include null fields in Patch requests.
4915	NullFields []string `json:"-"`
4916}
4917
4918func (s *GoogleCloudDialogflowCxV3ResourceName) MarshalJSON() ([]byte, error) {
4919	type NoMethod GoogleCloudDialogflowCxV3ResourceName
4920	raw := NoMethod(*s)
4921	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4922}
4923
4924// GoogleCloudDialogflowCxV3ResponseMessage: Represents a response
4925// message that can be returned by a conversational agent. Response
4926// messages are also used for output audio synthesis. The approach is as
4927// follows: * If at least one OutputAudioText response is present, then
4928// all OutputAudioText responses are linearly concatenated, and the
4929// result is used for output audio synthesis. * If the OutputAudioText
4930// responses are a mixture of text and SSML, then the concatenated
4931// result is treated as SSML; otherwise, the result is treated as either
4932// text or SSML as appropriate. The agent designer should ideally use
4933// either text or SSML consistently throughout the bot design. *
4934// Otherwise, all Text responses are linearly concatenated, and the
4935// result is used for output audio synthesis. This approach allows for
4936// more sophisticated user experience scenarios, where the text
4937// displayed to the user may differ from what is heard.
4938type GoogleCloudDialogflowCxV3ResponseMessage struct {
4939	// ConversationSuccess: Indicates that the conversation succeeded.
4940	ConversationSuccess *GoogleCloudDialogflowCxV3ResponseMessageConversationSuccess `json:"conversationSuccess,omitempty"`
4941
4942	// EndInteraction: Output only. A signal that indicates the interaction
4943	// with the Dialogflow agent has ended. This message is generated by
4944	// Dialogflow only when the conversation reaches `END_SESSION` page. It
4945	// is not supposed to be defined by the user. It's guaranteed that there
4946	// is at most one such message in each response.
4947	EndInteraction *GoogleCloudDialogflowCxV3ResponseMessageEndInteraction `json:"endInteraction,omitempty"`
4948
4949	// LiveAgentHandoff: Hands off conversation to a human agent.
4950	LiveAgentHandoff *GoogleCloudDialogflowCxV3ResponseMessageLiveAgentHandoff `json:"liveAgentHandoff,omitempty"`
4951
4952	// MixedAudio: Output only. An audio response message composed of both
4953	// the synthesized Dialogflow agent responses and responses defined via
4954	// play_audio. This message is generated by Dialogflow only and not
4955	// supposed to be defined by the user.
4956	MixedAudio *GoogleCloudDialogflowCxV3ResponseMessageMixedAudio `json:"mixedAudio,omitempty"`
4957
4958	// OutputAudioText: A text or ssml response that is preferentially used
4959	// for TTS output audio synthesis, as described in the comment on the
4960	// ResponseMessage message.
4961	OutputAudioText *GoogleCloudDialogflowCxV3ResponseMessageOutputAudioText `json:"outputAudioText,omitempty"`
4962
4963	// Payload: Returns a response containing a custom, platform-specific
4964	// payload.
4965	Payload googleapi.RawMessage `json:"payload,omitempty"`
4966
4967	// PlayAudio: Signal that the client should play an audio clip hosted at
4968	// a client-specific URI. Dialogflow uses this to construct mixed_audio.
4969	// However, Dialogflow itself does not try to read or process the URI in
4970	// any way.
4971	PlayAudio *GoogleCloudDialogflowCxV3ResponseMessagePlayAudio `json:"playAudio,omitempty"`
4972
4973	// Text: Returns a text response.
4974	Text *GoogleCloudDialogflowCxV3ResponseMessageText `json:"text,omitempty"`
4975
4976	// ForceSendFields is a list of field names (e.g. "ConversationSuccess")
4977	// to unconditionally include in API requests. By default, fields with
4978	// empty or default values are omitted from API requests. However, any
4979	// non-pointer, non-interface field appearing in ForceSendFields will be
4980	// sent to the server regardless of whether the field is empty or not.
4981	// This may be used to include empty fields in Patch requests.
4982	ForceSendFields []string `json:"-"`
4983
4984	// NullFields is a list of field names (e.g. "ConversationSuccess") to
4985	// include in API requests with the JSON null value. By default, fields
4986	// with empty values are omitted from API requests. However, any field
4987	// with an empty value appearing in NullFields will be sent to the
4988	// server as null. It is an error if a field in this list has a
4989	// non-empty value. This may be used to include null fields in Patch
4990	// requests.
4991	NullFields []string `json:"-"`
4992}
4993
4994func (s *GoogleCloudDialogflowCxV3ResponseMessage) MarshalJSON() ([]byte, error) {
4995	type NoMethod GoogleCloudDialogflowCxV3ResponseMessage
4996	raw := NoMethod(*s)
4997	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4998}
4999
5000// GoogleCloudDialogflowCxV3ResponseMessageConversationSuccess:
5001// Indicates that the conversation succeeded, i.e., the bot handled the
5002// issue that the customer talked to it about. Dialogflow only uses this
5003// to determine which conversations should be counted as successful and
5004// doesn't process the metadata in this message in any way. Note that
5005// Dialogflow also considers conversations that get to the conversation
5006// end page as successful even if they don't return ConversationSuccess.
5007// You may set this, for example: * In the entry_fulfillment of a Page
5008// if entering the page indicates that the conversation succeeded. * In
5009// a webhook response when you determine that you handled the customer
5010// issue.
5011type GoogleCloudDialogflowCxV3ResponseMessageConversationSuccess struct {
5012	// Metadata: Custom metadata. Dialogflow doesn't impose any structure on
5013	// this.
5014	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
5015
5016	// ForceSendFields is a list of field names (e.g. "Metadata") to
5017	// unconditionally include in API requests. By default, fields with
5018	// empty or default values are omitted from API requests. However, any
5019	// non-pointer, non-interface field appearing in ForceSendFields will be
5020	// sent to the server regardless of whether the field is empty or not.
5021	// This may be used to include empty fields in Patch requests.
5022	ForceSendFields []string `json:"-"`
5023
5024	// NullFields is a list of field names (e.g. "Metadata") to include in
5025	// API requests with the JSON null value. By default, fields with empty
5026	// values are omitted from API requests. However, any field with an
5027	// empty value appearing in NullFields will be sent to the server as
5028	// null. It is an error if a field in this list has a non-empty value.
5029	// This may be used to include null fields in Patch requests.
5030	NullFields []string `json:"-"`
5031}
5032
5033func (s *GoogleCloudDialogflowCxV3ResponseMessageConversationSuccess) MarshalJSON() ([]byte, error) {
5034	type NoMethod GoogleCloudDialogflowCxV3ResponseMessageConversationSuccess
5035	raw := NoMethod(*s)
5036	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5037}
5038
5039// GoogleCloudDialogflowCxV3ResponseMessageEndInteraction: Indicates
5040// that interaction with the Dialogflow agent has ended. This message is
5041// generated by Dialogflow only and not supposed to be defined by the
5042// user.
5043type GoogleCloudDialogflowCxV3ResponseMessageEndInteraction struct {
5044}
5045
5046// GoogleCloudDialogflowCxV3ResponseMessageLiveAgentHandoff: Indicates
5047// that the conversation should be handed off to a live agent.
5048// Dialogflow only uses this to determine which conversations were
5049// handed off to a human agent for measurement purposes. What else to do
5050// with this signal is up to you and your handoff procedures. You may
5051// set this, for example: * In the entry_fulfillment of a Page if
5052// entering the page indicates something went extremely wrong in the
5053// conversation. * In a webhook response when you determine that the
5054// customer issue can only be handled by a human.
5055type GoogleCloudDialogflowCxV3ResponseMessageLiveAgentHandoff struct {
5056	// Metadata: Custom metadata for your handoff procedure. Dialogflow
5057	// doesn't impose any structure on this.
5058	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
5059
5060	// ForceSendFields is a list of field names (e.g. "Metadata") to
5061	// unconditionally include in API requests. By default, fields with
5062	// empty or default values are omitted from API requests. However, any
5063	// non-pointer, non-interface field appearing in ForceSendFields will be
5064	// sent to the server regardless of whether the field is empty or not.
5065	// This may be used to include empty fields in Patch requests.
5066	ForceSendFields []string `json:"-"`
5067
5068	// NullFields is a list of field names (e.g. "Metadata") to include in
5069	// API requests with the JSON null value. By default, fields with empty
5070	// values are omitted from API requests. However, any field with an
5071	// empty value appearing in NullFields will be sent to the server as
5072	// null. It is an error if a field in this list has a non-empty value.
5073	// This may be used to include null fields in Patch requests.
5074	NullFields []string `json:"-"`
5075}
5076
5077func (s *GoogleCloudDialogflowCxV3ResponseMessageLiveAgentHandoff) MarshalJSON() ([]byte, error) {
5078	type NoMethod GoogleCloudDialogflowCxV3ResponseMessageLiveAgentHandoff
5079	raw := NoMethod(*s)
5080	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5081}
5082
5083// GoogleCloudDialogflowCxV3ResponseMessageMixedAudio: Represents an
5084// audio message that is composed of both segments synthesized from the
5085// Dialogflow agent prompts and ones hosted externally at the specified
5086// URIs. The external URIs are specified via play_audio. This message is
5087// generated by Dialogflow only and not supposed to be defined by the
5088// user.
5089type GoogleCloudDialogflowCxV3ResponseMessageMixedAudio struct {
5090	// Segments: Segments this audio response is composed of.
5091	Segments []*GoogleCloudDialogflowCxV3ResponseMessageMixedAudioSegment `json:"segments,omitempty"`
5092
5093	// ForceSendFields is a list of field names (e.g. "Segments") to
5094	// unconditionally include in API requests. By default, fields with
5095	// empty or default values are omitted from API requests. However, any
5096	// non-pointer, non-interface field appearing in ForceSendFields will be
5097	// sent to the server regardless of whether the field is empty or not.
5098	// This may be used to include empty fields in Patch requests.
5099	ForceSendFields []string `json:"-"`
5100
5101	// NullFields is a list of field names (e.g. "Segments") to include in
5102	// API requests with the JSON null value. By default, fields with empty
5103	// values are omitted from API requests. However, any field with an
5104	// empty value appearing in NullFields will be sent to the server as
5105	// null. It is an error if a field in this list has a non-empty value.
5106	// This may be used to include null fields in Patch requests.
5107	NullFields []string `json:"-"`
5108}
5109
5110func (s *GoogleCloudDialogflowCxV3ResponseMessageMixedAudio) MarshalJSON() ([]byte, error) {
5111	type NoMethod GoogleCloudDialogflowCxV3ResponseMessageMixedAudio
5112	raw := NoMethod(*s)
5113	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5114}
5115
5116// GoogleCloudDialogflowCxV3ResponseMessageMixedAudioSegment: Represents
5117// one segment of audio.
5118type GoogleCloudDialogflowCxV3ResponseMessageMixedAudioSegment struct {
5119	// AllowPlaybackInterruption: Output only. Whether the playback of this
5120	// segment can be interrupted by the end user's speech and the client
5121	// should then start the next Dialogflow request.
5122	AllowPlaybackInterruption bool `json:"allowPlaybackInterruption,omitempty"`
5123
5124	// Audio: Raw audio synthesized from the Dialogflow agent's response
5125	// using the output config specified in the request.
5126	Audio string `json:"audio,omitempty"`
5127
5128	// Uri: Client-specific URI that points to an audio clip accessible to
5129	// the client. Dialogflow does not impose any validation on it.
5130	Uri string `json:"uri,omitempty"`
5131
5132	// ForceSendFields is a list of field names (e.g.
5133	// "AllowPlaybackInterruption") to unconditionally include in API
5134	// requests. By default, fields with empty or default values are omitted
5135	// from API requests. However, any non-pointer, non-interface field
5136	// appearing in ForceSendFields will be sent to the server regardless of
5137	// whether the field is empty or not. This may be used to include empty
5138	// fields in Patch requests.
5139	ForceSendFields []string `json:"-"`
5140
5141	// NullFields is a list of field names (e.g.
5142	// "AllowPlaybackInterruption") to include in API requests with the JSON
5143	// null value. By default, fields with empty values are omitted from API
5144	// requests. However, any field with an empty value appearing in
5145	// NullFields will be sent to the server as null. It is an error if a
5146	// field in this list has a non-empty value. This may be used to include
5147	// null fields in Patch requests.
5148	NullFields []string `json:"-"`
5149}
5150
5151func (s *GoogleCloudDialogflowCxV3ResponseMessageMixedAudioSegment) MarshalJSON() ([]byte, error) {
5152	type NoMethod GoogleCloudDialogflowCxV3ResponseMessageMixedAudioSegment
5153	raw := NoMethod(*s)
5154	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5155}
5156
5157// GoogleCloudDialogflowCxV3ResponseMessageOutputAudioText: A text or
5158// ssml response that is preferentially used for TTS output audio
5159// synthesis, as described in the comment on the ResponseMessage
5160// message.
5161type GoogleCloudDialogflowCxV3ResponseMessageOutputAudioText struct {
5162	// AllowPlaybackInterruption: Output only. Whether the playback of this
5163	// message can be interrupted by the end user's speech and the client
5164	// can then starts the next Dialogflow request.
5165	AllowPlaybackInterruption bool `json:"allowPlaybackInterruption,omitempty"`
5166
5167	// Ssml: The SSML text to be synthesized. For more information, see SSML
5168	// (/speech/text-to-speech/docs/ssml).
5169	Ssml string `json:"ssml,omitempty"`
5170
5171	// Text: The raw text to be synthesized.
5172	Text string `json:"text,omitempty"`
5173
5174	// ForceSendFields is a list of field names (e.g.
5175	// "AllowPlaybackInterruption") to unconditionally include in API
5176	// requests. By default, fields with empty or default values are omitted
5177	// from API requests. However, any non-pointer, non-interface field
5178	// appearing in ForceSendFields will be sent to the server regardless of
5179	// whether the field is empty or not. This may be used to include empty
5180	// fields in Patch requests.
5181	ForceSendFields []string `json:"-"`
5182
5183	// NullFields is a list of field names (e.g.
5184	// "AllowPlaybackInterruption") to include in API requests with the JSON
5185	// null value. By default, fields with empty values are omitted from API
5186	// requests. However, any field with an empty value appearing in
5187	// NullFields will be sent to the server as null. It is an error if a
5188	// field in this list has a non-empty value. This may be used to include
5189	// null fields in Patch requests.
5190	NullFields []string `json:"-"`
5191}
5192
5193func (s *GoogleCloudDialogflowCxV3ResponseMessageOutputAudioText) MarshalJSON() ([]byte, error) {
5194	type NoMethod GoogleCloudDialogflowCxV3ResponseMessageOutputAudioText
5195	raw := NoMethod(*s)
5196	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5197}
5198
5199// GoogleCloudDialogflowCxV3ResponseMessagePlayAudio: Specifies an audio
5200// clip to be played by the client as part of the response.
5201type GoogleCloudDialogflowCxV3ResponseMessagePlayAudio struct {
5202	// AllowPlaybackInterruption: Output only. Whether the playback of this
5203	// message can be interrupted by the end user's speech and the client
5204	// can then starts the next Dialogflow request.
5205	AllowPlaybackInterruption bool `json:"allowPlaybackInterruption,omitempty"`
5206
5207	// AudioUri: Required. URI of the audio clip. Dialogflow does not impose
5208	// any validation on this value. It is specific to the client that reads
5209	// it.
5210	AudioUri string `json:"audioUri,omitempty"`
5211
5212	// ForceSendFields is a list of field names (e.g.
5213	// "AllowPlaybackInterruption") to unconditionally include in API
5214	// requests. By default, fields with empty or default values are omitted
5215	// from API requests. However, any non-pointer, non-interface field
5216	// appearing in ForceSendFields will be sent to the server regardless of
5217	// whether the field is empty or not. This may be used to include empty
5218	// fields in Patch requests.
5219	ForceSendFields []string `json:"-"`
5220
5221	// NullFields is a list of field names (e.g.
5222	// "AllowPlaybackInterruption") to include in API requests with the JSON
5223	// null value. By default, fields with empty values are omitted from API
5224	// requests. However, any field with an empty value appearing in
5225	// NullFields will be sent to the server as null. It is an error if a
5226	// field in this list has a non-empty value. This may be used to include
5227	// null fields in Patch requests.
5228	NullFields []string `json:"-"`
5229}
5230
5231func (s *GoogleCloudDialogflowCxV3ResponseMessagePlayAudio) MarshalJSON() ([]byte, error) {
5232	type NoMethod GoogleCloudDialogflowCxV3ResponseMessagePlayAudio
5233	raw := NoMethod(*s)
5234	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5235}
5236
5237// GoogleCloudDialogflowCxV3ResponseMessageText: The text response
5238// message.
5239type GoogleCloudDialogflowCxV3ResponseMessageText struct {
5240	// AllowPlaybackInterruption: Output only. Whether the playback of this
5241	// message can be interrupted by the end user's speech and the client
5242	// can then starts the next Dialogflow request.
5243	AllowPlaybackInterruption bool `json:"allowPlaybackInterruption,omitempty"`
5244
5245	// Text: Required. A collection of text responses.
5246	Text []string `json:"text,omitempty"`
5247
5248	// ForceSendFields is a list of field names (e.g.
5249	// "AllowPlaybackInterruption") to unconditionally include in API
5250	// requests. By default, fields with empty or default values are omitted
5251	// from API requests. However, any non-pointer, non-interface field
5252	// appearing in ForceSendFields will be sent to the server regardless of
5253	// whether the field is empty or not. This may be used to include empty
5254	// fields in Patch requests.
5255	ForceSendFields []string `json:"-"`
5256
5257	// NullFields is a list of field names (e.g.
5258	// "AllowPlaybackInterruption") to include in API requests with the JSON
5259	// null value. By default, fields with empty values are omitted from API
5260	// requests. However, any field with an empty value appearing in
5261	// NullFields will be sent to the server as null. It is an error if a
5262	// field in this list has a non-empty value. This may be used to include
5263	// null fields in Patch requests.
5264	NullFields []string `json:"-"`
5265}
5266
5267func (s *GoogleCloudDialogflowCxV3ResponseMessageText) MarshalJSON() ([]byte, error) {
5268	type NoMethod GoogleCloudDialogflowCxV3ResponseMessageText
5269	raw := NoMethod(*s)
5270	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5271}
5272
5273// GoogleCloudDialogflowCxV3RestoreAgentRequest: The request message for
5274// Agents.RestoreAgent.
5275type GoogleCloudDialogflowCxV3RestoreAgentRequest struct {
5276	// AgentContent: Uncompressed raw byte content for agent.
5277	AgentContent string `json:"agentContent,omitempty"`
5278
5279	// AgentUri: The Google Cloud Storage
5280	// (https://cloud.google.com/storage/docs/) URI to restore agent from.
5281	// The format of this URI must be `gs:///`.
5282	AgentUri string `json:"agentUri,omitempty"`
5283
5284	// RestoreOption: Agent restore mode. If not specified, `KEEP` is
5285	// assumed.
5286	//
5287	// Possible values:
5288	//   "RESTORE_OPTION_UNSPECIFIED" - Unspecified. Treated as KEEP.
5289	//   "KEEP" - Always respect the settings from the exported agent file.
5290	// It may cause a restoration failure if some settings (e.g. model type)
5291	// are not supported in the target agent.
5292	//   "FALLBACK" - Fallback to default settings if some settings are not
5293	// supported in the target agent.
5294	RestoreOption string `json:"restoreOption,omitempty"`
5295
5296	// ForceSendFields is a list of field names (e.g. "AgentContent") to
5297	// unconditionally include in API requests. By default, fields with
5298	// empty or default values are omitted from API requests. However, any
5299	// non-pointer, non-interface field appearing in ForceSendFields will be
5300	// sent to the server regardless of whether the field is empty or not.
5301	// This may be used to include empty fields in Patch requests.
5302	ForceSendFields []string `json:"-"`
5303
5304	// NullFields is a list of field names (e.g. "AgentContent") to include
5305	// in API requests with the JSON null value. By default, fields with
5306	// empty values are omitted from API requests. However, any field with
5307	// an empty value appearing in NullFields will be sent to the server as
5308	// null. It is an error if a field in this list has a non-empty value.
5309	// This may be used to include null fields in Patch requests.
5310	NullFields []string `json:"-"`
5311}
5312
5313func (s *GoogleCloudDialogflowCxV3RestoreAgentRequest) MarshalJSON() ([]byte, error) {
5314	type NoMethod GoogleCloudDialogflowCxV3RestoreAgentRequest
5315	raw := NoMethod(*s)
5316	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5317}
5318
5319// GoogleCloudDialogflowCxV3RolloutConfig: The configuration for auto
5320// rollout.
5321type GoogleCloudDialogflowCxV3RolloutConfig struct {
5322	// FailureCondition: The conditions that are used to evaluate the
5323	// failure of a rollout step. If not specified, no rollout steps will
5324	// fail. E.g. "containment_rate < 10% OR average_turn_count < 3". See
5325	// the conditions reference
5326	// (https://cloud.google.com/dialogflow/cx/docs/reference/condition).
5327	FailureCondition string `json:"failureCondition,omitempty"`
5328
5329	// RolloutCondition: The conditions that are used to evaluate the
5330	// success of a rollout step. If not specified, all rollout steps will
5331	// proceed to the next one unless failure conditions are met. E.g.
5332	// "containment_rate > 60% AND callback_rate < 20%". See the conditions
5333	// reference
5334	// (https://cloud.google.com/dialogflow/cx/docs/reference/condition).
5335	RolloutCondition string `json:"rolloutCondition,omitempty"`
5336
5337	// RolloutSteps: Steps to roll out a flow version. Steps should be
5338	// sorted by percentage in ascending order.
5339	RolloutSteps []*GoogleCloudDialogflowCxV3RolloutConfigRolloutStep `json:"rolloutSteps,omitempty"`
5340
5341	// ForceSendFields is a list of field names (e.g. "FailureCondition") to
5342	// unconditionally include in API requests. By default, fields with
5343	// empty or default values are omitted from API requests. However, any
5344	// non-pointer, non-interface field appearing in ForceSendFields will be
5345	// sent to the server regardless of whether the field is empty or not.
5346	// This may be used to include empty fields in Patch requests.
5347	ForceSendFields []string `json:"-"`
5348
5349	// NullFields is a list of field names (e.g. "FailureCondition") to
5350	// include in API requests with the JSON null value. By default, fields
5351	// with empty values are omitted from API requests. However, any field
5352	// with an empty value appearing in NullFields will be sent to the
5353	// server as null. It is an error if a field in this list has a
5354	// non-empty value. This may be used to include null fields in Patch
5355	// requests.
5356	NullFields []string `json:"-"`
5357}
5358
5359func (s *GoogleCloudDialogflowCxV3RolloutConfig) MarshalJSON() ([]byte, error) {
5360	type NoMethod GoogleCloudDialogflowCxV3RolloutConfig
5361	raw := NoMethod(*s)
5362	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5363}
5364
5365// GoogleCloudDialogflowCxV3RolloutConfigRolloutStep: A single rollout
5366// step with specified traffic allocation.
5367type GoogleCloudDialogflowCxV3RolloutConfigRolloutStep struct {
5368	// DisplayName: The name of the rollout step;
5369	DisplayName string `json:"displayName,omitempty"`
5370
5371	// MinDuration: The minimum time that this step should last. Should be
5372	// longer than 1 hour. If not set, the default minimum duration for each
5373	// step will be 1 hour.
5374	MinDuration string `json:"minDuration,omitempty"`
5375
5376	// TrafficPercent: The percentage of traffic allocated to the flow
5377	// version of this rollout step. (0%, 100%].
5378	TrafficPercent int64 `json:"trafficPercent,omitempty"`
5379
5380	// ForceSendFields is a list of field names (e.g. "DisplayName") to
5381	// unconditionally include in API requests. By default, fields with
5382	// empty or default values are omitted from API requests. However, any
5383	// non-pointer, non-interface field appearing in ForceSendFields will be
5384	// sent to the server regardless of whether the field is empty or not.
5385	// This may be used to include empty fields in Patch requests.
5386	ForceSendFields []string `json:"-"`
5387
5388	// NullFields is a list of field names (e.g. "DisplayName") to include
5389	// in API requests with the JSON null value. By default, fields with
5390	// empty values are omitted from API requests. However, any field with
5391	// an empty value appearing in NullFields will be sent to the server as
5392	// null. It is an error if a field in this list has a non-empty value.
5393	// This may be used to include null fields in Patch requests.
5394	NullFields []string `json:"-"`
5395}
5396
5397func (s *GoogleCloudDialogflowCxV3RolloutConfigRolloutStep) MarshalJSON() ([]byte, error) {
5398	type NoMethod GoogleCloudDialogflowCxV3RolloutConfigRolloutStep
5399	raw := NoMethod(*s)
5400	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5401}
5402
5403// GoogleCloudDialogflowCxV3RolloutState: State of the auto-rollout
5404// process.
5405type GoogleCloudDialogflowCxV3RolloutState struct {
5406	// StartTime: Start time of the current step.
5407	StartTime string `json:"startTime,omitempty"`
5408
5409	// Step: Display name of the current auto rollout step.
5410	Step string `json:"step,omitempty"`
5411
5412	// StepIndex: Index of the current step in the auto rollout steps list.
5413	StepIndex int64 `json:"stepIndex,omitempty"`
5414
5415	// ForceSendFields is a list of field names (e.g. "StartTime") to
5416	// unconditionally include in API requests. By default, fields with
5417	// empty or default values are omitted from API requests. However, any
5418	// non-pointer, non-interface field appearing in ForceSendFields will be
5419	// sent to the server regardless of whether the field is empty or not.
5420	// This may be used to include empty fields in Patch requests.
5421	ForceSendFields []string `json:"-"`
5422
5423	// NullFields is a list of field names (e.g. "StartTime") to include in
5424	// API requests with the JSON null value. By default, fields with empty
5425	// values are omitted from API requests. However, any field with an
5426	// empty value appearing in NullFields will be sent to the server as
5427	// null. It is an error if a field in this list has a non-empty value.
5428	// This may be used to include null fields in Patch requests.
5429	NullFields []string `json:"-"`
5430}
5431
5432func (s *GoogleCloudDialogflowCxV3RolloutState) MarshalJSON() ([]byte, error) {
5433	type NoMethod GoogleCloudDialogflowCxV3RolloutState
5434	raw := NoMethod(*s)
5435	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5436}
5437
5438// GoogleCloudDialogflowCxV3RunContinuousTestMetadata: Metadata returned
5439// for the Environments.RunContinuousTest long running operation.
5440type GoogleCloudDialogflowCxV3RunContinuousTestMetadata struct {
5441	// Errors: The test errors.
5442	Errors []*GoogleCloudDialogflowCxV3TestError `json:"errors,omitempty"`
5443
5444	// ForceSendFields is a list of field names (e.g. "Errors") to
5445	// unconditionally include in API requests. By default, fields with
5446	// empty or default values are omitted from API requests. However, any
5447	// non-pointer, non-interface field appearing in ForceSendFields will be
5448	// sent to the server regardless of whether the field is empty or not.
5449	// This may be used to include empty fields in Patch requests.
5450	ForceSendFields []string `json:"-"`
5451
5452	// NullFields is a list of field names (e.g. "Errors") to include in API
5453	// requests with the JSON null value. By default, fields with empty
5454	// values are omitted from API requests. However, any field with an
5455	// empty value appearing in NullFields will be sent to the server as
5456	// null. It is an error if a field in this list has a non-empty value.
5457	// This may be used to include null fields in Patch requests.
5458	NullFields []string `json:"-"`
5459}
5460
5461func (s *GoogleCloudDialogflowCxV3RunContinuousTestMetadata) MarshalJSON() ([]byte, error) {
5462	type NoMethod GoogleCloudDialogflowCxV3RunContinuousTestMetadata
5463	raw := NoMethod(*s)
5464	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5465}
5466
5467// GoogleCloudDialogflowCxV3RunContinuousTestRequest: The request
5468// message for Environments.RunContinuousTest.
5469type GoogleCloudDialogflowCxV3RunContinuousTestRequest struct {
5470}
5471
5472// GoogleCloudDialogflowCxV3RunContinuousTestResponse: The response
5473// message for Environments.RunContinuousTest.
5474type GoogleCloudDialogflowCxV3RunContinuousTestResponse struct {
5475	// ContinuousTestResult: The result for a continuous test run.
5476	ContinuousTestResult *GoogleCloudDialogflowCxV3ContinuousTestResult `json:"continuousTestResult,omitempty"`
5477
5478	// ForceSendFields is a list of field names (e.g.
5479	// "ContinuousTestResult") to unconditionally include in API requests.
5480	// By default, fields with empty or default values are omitted from API
5481	// requests. However, any non-pointer, non-interface field appearing in
5482	// ForceSendFields will be sent to the server regardless of whether the
5483	// field is empty or not. This may be used to include empty fields in
5484	// Patch requests.
5485	ForceSendFields []string `json:"-"`
5486
5487	// NullFields is a list of field names (e.g. "ContinuousTestResult") to
5488	// include in API requests with the JSON null value. By default, fields
5489	// with empty values are omitted from API requests. However, any field
5490	// with an empty value appearing in NullFields will be sent to the
5491	// server as null. It is an error if a field in this list has a
5492	// non-empty value. This may be used to include null fields in Patch
5493	// requests.
5494	NullFields []string `json:"-"`
5495}
5496
5497func (s *GoogleCloudDialogflowCxV3RunContinuousTestResponse) MarshalJSON() ([]byte, error) {
5498	type NoMethod GoogleCloudDialogflowCxV3RunContinuousTestResponse
5499	raw := NoMethod(*s)
5500	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5501}
5502
5503// GoogleCloudDialogflowCxV3RunTestCaseMetadata: Metadata returned for
5504// the TestCases.RunTestCase long running operation.
5505type GoogleCloudDialogflowCxV3RunTestCaseMetadata struct {
5506}
5507
5508// GoogleCloudDialogflowCxV3RunTestCaseRequest: The request message for
5509// TestCases.RunTestCase.
5510type GoogleCloudDialogflowCxV3RunTestCaseRequest struct {
5511	// Environment: Optional. Environment name. If not set, draft
5512	// environment is assumed. Format:
5513	// `projects//locations//agents//environments/`.
5514	Environment string `json:"environment,omitempty"`
5515
5516	// ForceSendFields is a list of field names (e.g. "Environment") to
5517	// unconditionally include in API requests. By default, fields with
5518	// empty or default values are omitted from API requests. However, any
5519	// non-pointer, non-interface field appearing in ForceSendFields will be
5520	// sent to the server regardless of whether the field is empty or not.
5521	// This may be used to include empty fields in Patch requests.
5522	ForceSendFields []string `json:"-"`
5523
5524	// NullFields is a list of field names (e.g. "Environment") to include
5525	// in API requests with the JSON null value. By default, fields with
5526	// empty values are omitted from API requests. However, any field with
5527	// an empty value appearing in NullFields will be sent to the server as
5528	// null. It is an error if a field in this list has a non-empty value.
5529	// This may be used to include null fields in Patch requests.
5530	NullFields []string `json:"-"`
5531}
5532
5533func (s *GoogleCloudDialogflowCxV3RunTestCaseRequest) MarshalJSON() ([]byte, error) {
5534	type NoMethod GoogleCloudDialogflowCxV3RunTestCaseRequest
5535	raw := NoMethod(*s)
5536	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5537}
5538
5539// GoogleCloudDialogflowCxV3RunTestCaseResponse: The response message
5540// for TestCases.RunTestCase.
5541type GoogleCloudDialogflowCxV3RunTestCaseResponse struct {
5542	// Result: The result.
5543	Result *GoogleCloudDialogflowCxV3TestCaseResult `json:"result,omitempty"`
5544
5545	// ForceSendFields is a list of field names (e.g. "Result") to
5546	// unconditionally include in API requests. By default, fields with
5547	// empty or default values are omitted from API requests. However, any
5548	// non-pointer, non-interface field appearing in ForceSendFields will be
5549	// sent to the server regardless of whether the field is empty or not.
5550	// This may be used to include empty fields in Patch requests.
5551	ForceSendFields []string `json:"-"`
5552
5553	// NullFields is a list of field names (e.g. "Result") to include in API
5554	// requests with the JSON null value. By default, fields with empty
5555	// values are omitted from API requests. However, any field with an
5556	// empty value appearing in NullFields will be sent to the server as
5557	// null. It is an error if a field in this list has a non-empty value.
5558	// This may be used to include null fields in Patch requests.
5559	NullFields []string `json:"-"`
5560}
5561
5562func (s *GoogleCloudDialogflowCxV3RunTestCaseResponse) MarshalJSON() ([]byte, error) {
5563	type NoMethod GoogleCloudDialogflowCxV3RunTestCaseResponse
5564	raw := NoMethod(*s)
5565	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5566}
5567
5568// GoogleCloudDialogflowCxV3SecuritySettings: Represents the settings
5569// related to security issues, such as data redaction and data
5570// retention. It may take hours for updates on the settings to propagate
5571// to all the related components and take effect.
5572type GoogleCloudDialogflowCxV3SecuritySettings struct {
5573	// DeidentifyTemplate: DLP (https://cloud.google.com/dlp/docs)
5574	// deidentify template name. Use this template to define
5575	// de-identification configuration for the content. If empty, Dialogflow
5576	// replaces sensitive info with `[redacted]` text. The template name
5577	// will have one of the following formats:
5578	// `projects//locations//deidentifyTemplates/` OR
5579	// `organizations//locations//deidentifyTemplates/` Note:
5580	// `deidentify_template` must be located in the same region as the
5581	// `SecuritySettings`.
5582	DeidentifyTemplate string `json:"deidentifyTemplate,omitempty"`
5583
5584	// DisplayName: Required. The human-readable name of the security
5585	// settings, unique within the location.
5586	DisplayName string `json:"displayName,omitempty"`
5587
5588	// InsightsExportSettings: Controls conversation exporting settings to
5589	// Insights after conversation is completed. If retention_strategy is
5590	// set to REMOVE_AFTER_CONVERSATION, Insights export is disabled no
5591	// matter what you configure here.
5592	InsightsExportSettings *GoogleCloudDialogflowCxV3SecuritySettingsInsightsExportSettings `json:"insightsExportSettings,omitempty"`
5593
5594	// InspectTemplate: DLP (https://cloud.google.com/dlp/docs) inspect
5595	// template name. Use this template to define inspect base settings. If
5596	// empty, we use the default DLP inspect config. The template name will
5597	// have one of the following formats:
5598	// `projects//locations//inspectTemplates/` OR
5599	// `organizations//locations//inspectTemplates/` Note:
5600	// `inspect_template` must be located in the same region as the
5601	// `SecuritySettings`.
5602	InspectTemplate string `json:"inspectTemplate,omitempty"`
5603
5604	// Name: Required. Resource name of the settings. Format:
5605	// `projects//locations//securitySettings/`.
5606	Name string `json:"name,omitempty"`
5607
5608	// PurgeDataTypes: List of types of data to remove when retention
5609	// settings triggers purge.
5610	//
5611	// Possible values:
5612	//   "PURGE_DATA_TYPE_UNSPECIFIED" - Unspecified. Do not use.
5613	//   "DIALOGFLOW_HISTORY" - Dialogflow history. This does not include
5614	// Cloud logging, which is owned by the user - not Dialogflow.
5615	PurgeDataTypes []string `json:"purgeDataTypes,omitempty"`
5616
5617	// RedactionScope: Defines the data for which Dialogflow applies
5618	// redaction. Dialogflow does not redact data that it does not have
5619	// access to – for example, Cloud logging.
5620	//
5621	// Possible values:
5622	//   "REDACTION_SCOPE_UNSPECIFIED" - Don't redact any kind of data.
5623	//   "REDACT_DISK_STORAGE" - On data to be written to disk or similar
5624	// devices that are capable of holding data even if power is
5625	// disconnected. This includes data that are temporarily saved on disk.
5626	RedactionScope string `json:"redactionScope,omitempty"`
5627
5628	// RedactionStrategy: Strategy that defines how we do redaction.
5629	//
5630	// Possible values:
5631	//   "REDACTION_STRATEGY_UNSPECIFIED" - Do not redact.
5632	//   "REDACT_WITH_SERVICE" - Call redaction service to clean up the data
5633	// to be persisted.
5634	RedactionStrategy string `json:"redactionStrategy,omitempty"`
5635
5636	// RetentionWindowDays: Retains data in interaction logging for the
5637	// specified number of days. This does not apply to Cloud logging, which
5638	// is owned by the user - not Dialogflow. User must Set a value lower
5639	// than Dialogflow's default 30d TTL. Setting a value higher than that
5640	// has no effect. A missing value or setting to 0 also means we use
5641	// Dialogflow's default TTL. Note: Interaction logging is a limited
5642	// access feature. Talk to your Google representative to check
5643	// availability for you.
5644	RetentionWindowDays int64 `json:"retentionWindowDays,omitempty"`
5645
5646	// ServerResponse contains the HTTP response code and headers from the
5647	// server.
5648	googleapi.ServerResponse `json:"-"`
5649
5650	// ForceSendFields is a list of field names (e.g. "DeidentifyTemplate")
5651	// to unconditionally include in API requests. By default, fields with
5652	// empty or default values are omitted from API requests. However, any
5653	// non-pointer, non-interface field appearing in ForceSendFields will be
5654	// sent to the server regardless of whether the field is empty or not.
5655	// This may be used to include empty fields in Patch requests.
5656	ForceSendFields []string `json:"-"`
5657
5658	// NullFields is a list of field names (e.g. "DeidentifyTemplate") to
5659	// include in API requests with the JSON null value. By default, fields
5660	// with empty values are omitted from API requests. However, any field
5661	// with an empty value appearing in NullFields will be sent to the
5662	// server as null. It is an error if a field in this list has a
5663	// non-empty value. This may be used to include null fields in Patch
5664	// requests.
5665	NullFields []string `json:"-"`
5666}
5667
5668func (s *GoogleCloudDialogflowCxV3SecuritySettings) MarshalJSON() ([]byte, error) {
5669	type NoMethod GoogleCloudDialogflowCxV3SecuritySettings
5670	raw := NoMethod(*s)
5671	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5672}
5673
5674// GoogleCloudDialogflowCxV3SecuritySettingsInsightsExportSettings:
5675// Settings for exporting conversations to Insights
5676// (https://cloud.google.com/dialogflow/priv/docs/insights).
5677type GoogleCloudDialogflowCxV3SecuritySettingsInsightsExportSettings struct {
5678	// EnableInsightsExport: If enabled, we will automatically exports
5679	// conversations to Insights and Insights runs its analyzers.
5680	EnableInsightsExport bool `json:"enableInsightsExport,omitempty"`
5681
5682	// ForceSendFields is a list of field names (e.g.
5683	// "EnableInsightsExport") to unconditionally include in API requests.
5684	// By default, fields with empty or default values are omitted from API
5685	// requests. However, any non-pointer, non-interface field appearing in
5686	// ForceSendFields will be sent to the server regardless of whether the
5687	// field is empty or not. This may be used to include empty fields in
5688	// Patch requests.
5689	ForceSendFields []string `json:"-"`
5690
5691	// NullFields is a list of field names (e.g. "EnableInsightsExport") to
5692	// include in API requests with the JSON null value. By default, fields
5693	// with empty values are omitted from API requests. However, any field
5694	// with an empty value appearing in NullFields will be sent to the
5695	// server as null. It is an error if a field in this list has a
5696	// non-empty value. This may be used to include null fields in Patch
5697	// requests.
5698	NullFields []string `json:"-"`
5699}
5700
5701func (s *GoogleCloudDialogflowCxV3SecuritySettingsInsightsExportSettings) MarshalJSON() ([]byte, error) {
5702	type NoMethod GoogleCloudDialogflowCxV3SecuritySettingsInsightsExportSettings
5703	raw := NoMethod(*s)
5704	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5705}
5706
5707// GoogleCloudDialogflowCxV3SentimentAnalysisResult: The result of
5708// sentiment analysis. Sentiment analysis inspects user input and
5709// identifies the prevailing subjective opinion, especially to determine
5710// a user's attitude as positive, negative, or neutral.
5711type GoogleCloudDialogflowCxV3SentimentAnalysisResult struct {
5712	// Magnitude: A non-negative number in the [0, +inf) range, which
5713	// represents the absolute magnitude of sentiment, regardless of score
5714	// (positive or negative).
5715	Magnitude float64 `json:"magnitude,omitempty"`
5716
5717	// Score: Sentiment score between -1.0 (negative sentiment) and 1.0
5718	// (positive sentiment).
5719	Score float64 `json:"score,omitempty"`
5720
5721	// ForceSendFields is a list of field names (e.g. "Magnitude") to
5722	// unconditionally include in API requests. By default, fields with
5723	// empty or default values are omitted from API requests. However, any
5724	// non-pointer, non-interface field appearing in ForceSendFields will be
5725	// sent to the server regardless of whether the field is empty or not.
5726	// This may be used to include empty fields in Patch requests.
5727	ForceSendFields []string `json:"-"`
5728
5729	// NullFields is a list of field names (e.g. "Magnitude") 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 *GoogleCloudDialogflowCxV3SentimentAnalysisResult) MarshalJSON() ([]byte, error) {
5739	type NoMethod GoogleCloudDialogflowCxV3SentimentAnalysisResult
5740	raw := NoMethod(*s)
5741	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5742}
5743
5744func (s *GoogleCloudDialogflowCxV3SentimentAnalysisResult) UnmarshalJSON(data []byte) error {
5745	type NoMethod GoogleCloudDialogflowCxV3SentimentAnalysisResult
5746	var s1 struct {
5747		Magnitude gensupport.JSONFloat64 `json:"magnitude"`
5748		Score     gensupport.JSONFloat64 `json:"score"`
5749		*NoMethod
5750	}
5751	s1.NoMethod = (*NoMethod)(s)
5752	if err := json.Unmarshal(data, &s1); err != nil {
5753		return err
5754	}
5755	s.Magnitude = float64(s1.Magnitude)
5756	s.Score = float64(s1.Score)
5757	return nil
5758}
5759
5760// GoogleCloudDialogflowCxV3SessionEntityType: Session entity types are
5761// referred to as **User** entity types and are entities that are built
5762// for an individual user such as favorites, preferences, playlists, and
5763// so on. You can redefine a session entity type at the session level to
5764// extend or replace a custom entity type at the user session level (we
5765// refer to the entity types defined at the agent level as "custom
5766// entity types"). Note: session entity types apply to all queries,
5767// regardless of the language. For more information about entity types,
5768// see the Dialogflow documentation
5769// (https://cloud.google.com/dialogflow/docs/entities-overview).
5770type GoogleCloudDialogflowCxV3SessionEntityType struct {
5771	// Entities: Required. The collection of entities to override or
5772	// supplement the custom entity type.
5773	Entities []*GoogleCloudDialogflowCxV3EntityTypeEntity `json:"entities,omitempty"`
5774
5775	// EntityOverrideMode: Required. Indicates whether the additional data
5776	// should override or supplement the custom entity type definition.
5777	//
5778	// Possible values:
5779	//   "ENTITY_OVERRIDE_MODE_UNSPECIFIED" - Not specified. This value
5780	// should be never used.
5781	//   "ENTITY_OVERRIDE_MODE_OVERRIDE" - The collection of session
5782	// entities overrides the collection of entities in the corresponding
5783	// custom entity type.
5784	//   "ENTITY_OVERRIDE_MODE_SUPPLEMENT" - The collection of session
5785	// entities extends the collection of entities in the corresponding
5786	// custom entity type. Note: Even in this override mode calls to
5787	// `ListSessionEntityTypes`, `GetSessionEntityType`,
5788	// `CreateSessionEntityType` and `UpdateSessionEntityType` only return
5789	// the additional entities added in this session entity type. If you
5790	// want to get the supplemented list, please call
5791	// EntityTypes.GetEntityType on the custom entity type and merge.
5792	EntityOverrideMode string `json:"entityOverrideMode,omitempty"`
5793
5794	// Name: Required. The unique identifier of the session entity type.
5795	// Format: `projects//locations//agents//sessions//entityTypes/` or
5796	// `projects//locations//agents//environments//sessions//entityTypes/`.
5797	// If `Environment ID` is not specified, we assume default 'draft'
5798	// environment.
5799	Name string `json:"name,omitempty"`
5800
5801	// ServerResponse contains the HTTP response code and headers from the
5802	// server.
5803	googleapi.ServerResponse `json:"-"`
5804
5805	// ForceSendFields is a list of field names (e.g. "Entities") to
5806	// unconditionally include in API requests. By default, fields with
5807	// empty or default values are omitted from API requests. However, any
5808	// non-pointer, non-interface field appearing in ForceSendFields will be
5809	// sent to the server regardless of whether the field is empty or not.
5810	// This may be used to include empty fields in Patch requests.
5811	ForceSendFields []string `json:"-"`
5812
5813	// NullFields is a list of field names (e.g. "Entities") to include in
5814	// API requests with the JSON null value. By default, fields with empty
5815	// values are omitted from API requests. However, any field with an
5816	// empty value appearing in NullFields will be sent to the server as
5817	// null. It is an error if a field in this list has a non-empty value.
5818	// This may be used to include null fields in Patch requests.
5819	NullFields []string `json:"-"`
5820}
5821
5822func (s *GoogleCloudDialogflowCxV3SessionEntityType) MarshalJSON() ([]byte, error) {
5823	type NoMethod GoogleCloudDialogflowCxV3SessionEntityType
5824	raw := NoMethod(*s)
5825	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5826}
5827
5828// GoogleCloudDialogflowCxV3SessionInfo: Represents session information
5829// communicated to and from the webhook.
5830type GoogleCloudDialogflowCxV3SessionInfo struct {
5831	// Parameters: Optional for WebhookRequest. Optional for
5832	// WebhookResponse. All parameters collected from forms and intents
5833	// during the session. Parameters can be created, updated, or removed by
5834	// the webhook. To remove a parameter from the session, the webhook
5835	// should explicitly set the parameter value to null in WebhookResponse.
5836	// The map is keyed by parameters' display names.
5837	Parameters googleapi.RawMessage `json:"parameters,omitempty"`
5838
5839	// Session: Always present for WebhookRequest. Ignored for
5840	// WebhookResponse. The unique identifier of the session. This field can
5841	// be used by the webhook to identify a session. Format:
5842	// `projects//locations//agents//sessions/` or
5843	// `projects//locations//agents//environments//sessions/` if environment
5844	// is specified.
5845	Session string `json:"session,omitempty"`
5846
5847	// ForceSendFields is a list of field names (e.g. "Parameters") to
5848	// unconditionally include in API requests. By default, fields with
5849	// empty or default values are omitted from API requests. However, any
5850	// non-pointer, non-interface field appearing in ForceSendFields will be
5851	// sent to the server regardless of whether the field is empty or not.
5852	// This may be used to include empty fields in Patch requests.
5853	ForceSendFields []string `json:"-"`
5854
5855	// NullFields is a list of field names (e.g. "Parameters") to include in
5856	// API requests with the JSON null value. By default, fields with empty
5857	// values are omitted from API requests. However, any field with an
5858	// empty value appearing in NullFields will be sent to the server as
5859	// null. It is an error if a field in this list has a non-empty value.
5860	// This may be used to include null fields in Patch requests.
5861	NullFields []string `json:"-"`
5862}
5863
5864func (s *GoogleCloudDialogflowCxV3SessionInfo) MarshalJSON() ([]byte, error) {
5865	type NoMethod GoogleCloudDialogflowCxV3SessionInfo
5866	raw := NoMethod(*s)
5867	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5868}
5869
5870// GoogleCloudDialogflowCxV3SpeechToTextSettings: Settings related to
5871// speech recognition.
5872type GoogleCloudDialogflowCxV3SpeechToTextSettings struct {
5873	// EnableSpeechAdaptation: Whether to use speech adaptation for speech
5874	// recognition.
5875	EnableSpeechAdaptation bool `json:"enableSpeechAdaptation,omitempty"`
5876
5877	// ForceSendFields is a list of field names (e.g.
5878	// "EnableSpeechAdaptation") to unconditionally include in API requests.
5879	// By default, fields with empty or default values are omitted from API
5880	// requests. However, any non-pointer, non-interface field appearing in
5881	// ForceSendFields will be sent to the server regardless of whether the
5882	// field is empty or not. This may be used to include empty fields in
5883	// Patch requests.
5884	ForceSendFields []string `json:"-"`
5885
5886	// NullFields is a list of field names (e.g. "EnableSpeechAdaptation")
5887	// to include in API requests with the JSON null value. By default,
5888	// fields with empty values are omitted from API requests. However, any
5889	// field with an empty value appearing in NullFields will be sent to the
5890	// server as null. It is an error if a field in this list has a
5891	// non-empty value. This may be used to include null fields in Patch
5892	// requests.
5893	NullFields []string `json:"-"`
5894}
5895
5896func (s *GoogleCloudDialogflowCxV3SpeechToTextSettings) MarshalJSON() ([]byte, error) {
5897	type NoMethod GoogleCloudDialogflowCxV3SpeechToTextSettings
5898	raw := NoMethod(*s)
5899	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5900}
5901
5902// GoogleCloudDialogflowCxV3StartExperimentRequest: The request message
5903// for Experiments.StartExperiment.
5904type GoogleCloudDialogflowCxV3StartExperimentRequest struct {
5905}
5906
5907// GoogleCloudDialogflowCxV3StopExperimentRequest: The request message
5908// for Experiments.StopExperiment.
5909type GoogleCloudDialogflowCxV3StopExperimentRequest struct {
5910}
5911
5912// GoogleCloudDialogflowCxV3SynthesizeSpeechConfig: Configuration of how
5913// speech should be synthesized.
5914type GoogleCloudDialogflowCxV3SynthesizeSpeechConfig struct {
5915	// EffectsProfileId: Optional. An identifier which selects 'audio
5916	// effects' profiles that are applied on (post synthesized) text to
5917	// speech. Effects are applied on top of each other in the order they
5918	// are given.
5919	EffectsProfileId []string `json:"effectsProfileId,omitempty"`
5920
5921	// Pitch: Optional. Speaking pitch, in the range [-20.0, 20.0]. 20 means
5922	// increase 20 semitones from the original pitch. -20 means decrease 20
5923	// semitones from the original pitch.
5924	Pitch float64 `json:"pitch,omitempty"`
5925
5926	// SpeakingRate: Optional. Speaking rate/speed, in the range [0.25,
5927	// 4.0]. 1.0 is the normal native speed supported by the specific voice.
5928	// 2.0 is twice as fast, and 0.5 is half as fast. If unset(0.0),
5929	// defaults to the native 1.0 speed. Any other values < 0.25 or > 4.0
5930	// will return an error.
5931	SpeakingRate float64 `json:"speakingRate,omitempty"`
5932
5933	// Voice: Optional. The desired voice of the synthesized audio.
5934	Voice *GoogleCloudDialogflowCxV3VoiceSelectionParams `json:"voice,omitempty"`
5935
5936	// VolumeGainDb: Optional. Volume gain (in dB) of the normal native
5937	// volume supported by the specific voice, in the range [-96.0, 16.0].
5938	// If unset, or set to a value of 0.0 (dB), will play at normal native
5939	// signal amplitude. A value of -6.0 (dB) will play at approximately
5940	// half the amplitude of the normal native signal amplitude. A value of
5941	// +6.0 (dB) will play at approximately twice the amplitude of the
5942	// normal native signal amplitude. We strongly recommend not to exceed
5943	// +10 (dB) as there's usually no effective increase in loudness for any
5944	// value greater than that.
5945	VolumeGainDb float64 `json:"volumeGainDb,omitempty"`
5946
5947	// ForceSendFields is a list of field names (e.g. "EffectsProfileId") to
5948	// unconditionally include in API requests. By default, fields with
5949	// empty or default values are omitted from API requests. However, any
5950	// non-pointer, non-interface field appearing in ForceSendFields will be
5951	// sent to the server regardless of whether the field is empty or not.
5952	// This may be used to include empty fields in Patch requests.
5953	ForceSendFields []string `json:"-"`
5954
5955	// NullFields is a list of field names (e.g. "EffectsProfileId") to
5956	// include in API requests with the JSON null value. By default, fields
5957	// with empty values are omitted from API requests. However, any field
5958	// with an empty value appearing in NullFields will be sent to the
5959	// server as null. It is an error if a field in this list has a
5960	// non-empty value. This may be used to include null fields in Patch
5961	// requests.
5962	NullFields []string `json:"-"`
5963}
5964
5965func (s *GoogleCloudDialogflowCxV3SynthesizeSpeechConfig) MarshalJSON() ([]byte, error) {
5966	type NoMethod GoogleCloudDialogflowCxV3SynthesizeSpeechConfig
5967	raw := NoMethod(*s)
5968	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5969}
5970
5971func (s *GoogleCloudDialogflowCxV3SynthesizeSpeechConfig) UnmarshalJSON(data []byte) error {
5972	type NoMethod GoogleCloudDialogflowCxV3SynthesizeSpeechConfig
5973	var s1 struct {
5974		Pitch        gensupport.JSONFloat64 `json:"pitch"`
5975		SpeakingRate gensupport.JSONFloat64 `json:"speakingRate"`
5976		VolumeGainDb gensupport.JSONFloat64 `json:"volumeGainDb"`
5977		*NoMethod
5978	}
5979	s1.NoMethod = (*NoMethod)(s)
5980	if err := json.Unmarshal(data, &s1); err != nil {
5981		return err
5982	}
5983	s.Pitch = float64(s1.Pitch)
5984	s.SpeakingRate = float64(s1.SpeakingRate)
5985	s.VolumeGainDb = float64(s1.VolumeGainDb)
5986	return nil
5987}
5988
5989// GoogleCloudDialogflowCxV3TestCase: Represents a test case.
5990type GoogleCloudDialogflowCxV3TestCase struct {
5991	// CreationTime: Output only. When the test was created.
5992	CreationTime string `json:"creationTime,omitempty"`
5993
5994	// DisplayName: Required. The human-readable name of the test case,
5995	// unique within the agent. Limit of 200 characters.
5996	DisplayName string `json:"displayName,omitempty"`
5997
5998	// LastTestResult: The latest test result.
5999	LastTestResult *GoogleCloudDialogflowCxV3TestCaseResult `json:"lastTestResult,omitempty"`
6000
6001	// Name: The unique identifier of the test case.
6002	// TestCases.CreateTestCase will populate the name automatically.
6003	// Otherwise use format: `projects//locations//agents/ /testCases/`.
6004	Name string `json:"name,omitempty"`
6005
6006	// Notes: Additional freeform notes about the test case. Limit of 400
6007	// characters.
6008	Notes string `json:"notes,omitempty"`
6009
6010	// Tags: Tags are short descriptions that users may apply to test cases
6011	// for organizational and filtering purposes. Each tag should start with
6012	// "#" and has a limit of 30 characters.
6013	Tags []string `json:"tags,omitempty"`
6014
6015	// TestCaseConversationTurns: The conversation turns uttered when the
6016	// test case was created, in chronological order. These include the
6017	// canonical set of agent utterances that should occur when the agent is
6018	// working properly.
6019	TestCaseConversationTurns []*GoogleCloudDialogflowCxV3ConversationTurn `json:"testCaseConversationTurns,omitempty"`
6020
6021	// TestConfig: Config for the test case.
6022	TestConfig *GoogleCloudDialogflowCxV3TestConfig `json:"testConfig,omitempty"`
6023
6024	// ServerResponse contains the HTTP response code and headers from the
6025	// server.
6026	googleapi.ServerResponse `json:"-"`
6027
6028	// ForceSendFields is a list of field names (e.g. "CreationTime") to
6029	// unconditionally include in API requests. By default, fields with
6030	// empty or default values are omitted from API requests. However, any
6031	// non-pointer, non-interface field appearing in ForceSendFields will be
6032	// sent to the server regardless of whether the field is empty or not.
6033	// This may be used to include empty fields in Patch requests.
6034	ForceSendFields []string `json:"-"`
6035
6036	// NullFields is a list of field names (e.g. "CreationTime") to include
6037	// in API requests with the JSON null value. By default, fields with
6038	// empty values are omitted from API requests. However, any field with
6039	// an empty value appearing in NullFields will be sent to the server as
6040	// null. It is an error if a field in this list has a non-empty value.
6041	// This may be used to include null fields in Patch requests.
6042	NullFields []string `json:"-"`
6043}
6044
6045func (s *GoogleCloudDialogflowCxV3TestCase) MarshalJSON() ([]byte, error) {
6046	type NoMethod GoogleCloudDialogflowCxV3TestCase
6047	raw := NoMethod(*s)
6048	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6049}
6050
6051// GoogleCloudDialogflowCxV3TestCaseError: Error info for importing a
6052// test.
6053type GoogleCloudDialogflowCxV3TestCaseError struct {
6054	// Status: The status associated with the test case.
6055	Status *GoogleRpcStatus `json:"status,omitempty"`
6056
6057	// TestCase: The test case.
6058	TestCase *GoogleCloudDialogflowCxV3TestCase `json:"testCase,omitempty"`
6059
6060	// ForceSendFields is a list of field names (e.g. "Status") to
6061	// unconditionally include in API requests. By default, fields with
6062	// empty or default values are omitted from API requests. However, any
6063	// non-pointer, non-interface field appearing in ForceSendFields will be
6064	// sent to the server regardless of whether the field is empty or not.
6065	// This may be used to include empty fields in Patch requests.
6066	ForceSendFields []string `json:"-"`
6067
6068	// NullFields is a list of field names (e.g. "Status") to include in API
6069	// requests with the JSON null value. By default, fields with empty
6070	// values are omitted from API requests. However, any field with an
6071	// 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 *GoogleCloudDialogflowCxV3TestCaseError) MarshalJSON() ([]byte, error) {
6078	type NoMethod GoogleCloudDialogflowCxV3TestCaseError
6079	raw := NoMethod(*s)
6080	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6081}
6082
6083// GoogleCloudDialogflowCxV3TestCaseResult: Represents a result from
6084// running a test case in an agent environment.
6085type GoogleCloudDialogflowCxV3TestCaseResult struct {
6086	// ConversationTurns: The conversation turns uttered during the test
6087	// case replay in chronological order.
6088	ConversationTurns []*GoogleCloudDialogflowCxV3ConversationTurn `json:"conversationTurns,omitempty"`
6089
6090	// Environment: Environment where the test was run. If not set, it
6091	// indicates the draft environment.
6092	Environment string `json:"environment,omitempty"`
6093
6094	// Name: The resource name for the test case result. Format:
6095	// `projects//locations//agents//testCases/ /results/`.
6096	Name string `json:"name,omitempty"`
6097
6098	// TestResult: Whether the test case passed in the agent environment.
6099	//
6100	// Possible values:
6101	//   "TEST_RESULT_UNSPECIFIED" - Not specified. Should never be used.
6102	//   "PASSED" - The test passed.
6103	//   "FAILED" - The test did not pass.
6104	TestResult string `json:"testResult,omitempty"`
6105
6106	// TestTime: The time that the test was run.
6107	TestTime string `json:"testTime,omitempty"`
6108
6109	// ServerResponse contains the HTTP response code and headers from the
6110	// server.
6111	googleapi.ServerResponse `json:"-"`
6112
6113	// ForceSendFields is a list of field names (e.g. "ConversationTurns")
6114	// to unconditionally include in API requests. By default, fields with
6115	// empty or default values are omitted from API requests. However, any
6116	// non-pointer, non-interface field appearing in ForceSendFields will be
6117	// sent to the server regardless of whether the field is empty or not.
6118	// This may be used to include empty fields in Patch requests.
6119	ForceSendFields []string `json:"-"`
6120
6121	// NullFields is a list of field names (e.g. "ConversationTurns") to
6122	// include in API requests with the JSON null value. By default, fields
6123	// with empty values are omitted from API requests. However, any field
6124	// with an empty value appearing in NullFields will be sent to the
6125	// server as null. It is an error if a field in this list has a
6126	// non-empty value. This may be used to include null fields in Patch
6127	// requests.
6128	NullFields []string `json:"-"`
6129}
6130
6131func (s *GoogleCloudDialogflowCxV3TestCaseResult) MarshalJSON() ([]byte, error) {
6132	type NoMethod GoogleCloudDialogflowCxV3TestCaseResult
6133	raw := NoMethod(*s)
6134	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6135}
6136
6137// GoogleCloudDialogflowCxV3TestConfig: Represents configurations for a
6138// test case.
6139type GoogleCloudDialogflowCxV3TestConfig struct {
6140	// Flow: Flow name. If not set, default start flow is assumed. Format:
6141	// `projects//locations//agents//flows/`.
6142	Flow string `json:"flow,omitempty"`
6143
6144	// TrackingParameters: Session parameters to be compared when
6145	// calculating differences.
6146	TrackingParameters []string `json:"trackingParameters,omitempty"`
6147
6148	// ForceSendFields is a list of field names (e.g. "Flow") to
6149	// unconditionally include in API requests. By default, fields with
6150	// empty or default values are omitted from API requests. However, any
6151	// non-pointer, non-interface field appearing in ForceSendFields will be
6152	// sent to the server regardless of whether the field is empty or not.
6153	// This may be used to include empty fields in Patch requests.
6154	ForceSendFields []string `json:"-"`
6155
6156	// NullFields is a list of field names (e.g. "Flow") to include in API
6157	// requests with the JSON null value. By default, fields with empty
6158	// values are omitted from API requests. However, any field with an
6159	// empty value appearing in NullFields will be sent to the server as
6160	// null. It is an error if a field in this list has a non-empty value.
6161	// This may be used to include null fields in Patch requests.
6162	NullFields []string `json:"-"`
6163}
6164
6165func (s *GoogleCloudDialogflowCxV3TestConfig) MarshalJSON() ([]byte, error) {
6166	type NoMethod GoogleCloudDialogflowCxV3TestConfig
6167	raw := NoMethod(*s)
6168	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6169}
6170
6171// GoogleCloudDialogflowCxV3TestError: Error info for running a test.
6172type GoogleCloudDialogflowCxV3TestError struct {
6173	// Status: The status associated with the test.
6174	Status *GoogleRpcStatus `json:"status,omitempty"`
6175
6176	// TestCase: The test case resource name.
6177	TestCase string `json:"testCase,omitempty"`
6178
6179	// TestTime: The timestamp when the test was completed.
6180	TestTime string `json:"testTime,omitempty"`
6181
6182	// ForceSendFields is a list of field names (e.g. "Status") to
6183	// unconditionally include in API requests. By default, fields with
6184	// empty or default values are omitted from API requests. However, any
6185	// non-pointer, non-interface field appearing in ForceSendFields will be
6186	// sent to the server regardless of whether the field is empty or not.
6187	// This may be used to include empty fields in Patch requests.
6188	ForceSendFields []string `json:"-"`
6189
6190	// NullFields is a list of field names (e.g. "Status") to include in API
6191	// requests with the JSON null value. By default, fields with empty
6192	// values are omitted from API requests. However, any field with an
6193	// empty value appearing in NullFields will be sent to the server as
6194	// null. It is an error if a field in this list has a non-empty value.
6195	// This may be used to include null fields in Patch requests.
6196	NullFields []string `json:"-"`
6197}
6198
6199func (s *GoogleCloudDialogflowCxV3TestError) MarshalJSON() ([]byte, error) {
6200	type NoMethod GoogleCloudDialogflowCxV3TestError
6201	raw := NoMethod(*s)
6202	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6203}
6204
6205// GoogleCloudDialogflowCxV3TestRunDifference: The description of
6206// differences between original and replayed agent output.
6207type GoogleCloudDialogflowCxV3TestRunDifference struct {
6208	// Description: A description of the diff, showing the actual output vs
6209	// expected output.
6210	Description string `json:"description,omitempty"`
6211
6212	// Type: The type of diff.
6213	//
6214	// Possible values:
6215	//   "DIFF_TYPE_UNSPECIFIED" - Should never be used.
6216	//   "INTENT" - The intent.
6217	//   "PAGE" - The page.
6218	//   "PARAMETERS" - The parameters.
6219	//   "UTTERANCE" - The message utterance.
6220	Type string `json:"type,omitempty"`
6221
6222	// ForceSendFields is a list of field names (e.g. "Description") to
6223	// unconditionally include in API requests. By default, fields with
6224	// empty or default values are omitted from API requests. However, any
6225	// non-pointer, non-interface field appearing in ForceSendFields will be
6226	// sent to the server regardless of whether the field is empty or not.
6227	// This may be used to include empty fields in Patch requests.
6228	ForceSendFields []string `json:"-"`
6229
6230	// NullFields is a list of field names (e.g. "Description") to include
6231	// in API requests with the JSON null value. By default, fields with
6232	// empty values are omitted from API requests. However, any field with
6233	// an empty value appearing in NullFields will be sent to the server as
6234	// null. It is an error if a field in this list has a non-empty value.
6235	// This may be used to include null fields in Patch requests.
6236	NullFields []string `json:"-"`
6237}
6238
6239func (s *GoogleCloudDialogflowCxV3TestRunDifference) MarshalJSON() ([]byte, error) {
6240	type NoMethod GoogleCloudDialogflowCxV3TestRunDifference
6241	raw := NoMethod(*s)
6242	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6243}
6244
6245// GoogleCloudDialogflowCxV3TextInput: Represents the natural language
6246// text to be processed.
6247type GoogleCloudDialogflowCxV3TextInput struct {
6248	// Text: Required. The UTF-8 encoded natural language text to be
6249	// processed. Text length must not exceed 256 characters.
6250	Text string `json:"text,omitempty"`
6251
6252	// ForceSendFields is a list of field names (e.g. "Text") to
6253	// unconditionally include in API requests. By default, fields with
6254	// empty or default values are omitted from API requests. However, any
6255	// non-pointer, non-interface field appearing in ForceSendFields will be
6256	// sent to the server regardless of whether the field is empty or not.
6257	// This may be used to include empty fields in Patch requests.
6258	ForceSendFields []string `json:"-"`
6259
6260	// NullFields is a list of field names (e.g. "Text") to include in API
6261	// requests with the JSON null value. By default, fields with empty
6262	// values are omitted from API requests. However, any field with an
6263	// empty value appearing in NullFields will be sent to the server as
6264	// null. It is an error if a field in this list has a non-empty value.
6265	// This may be used to include null fields in Patch requests.
6266	NullFields []string `json:"-"`
6267}
6268
6269func (s *GoogleCloudDialogflowCxV3TextInput) MarshalJSON() ([]byte, error) {
6270	type NoMethod GoogleCloudDialogflowCxV3TextInput
6271	raw := NoMethod(*s)
6272	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6273}
6274
6275// GoogleCloudDialogflowCxV3TrainFlowRequest: The request message for
6276// Flows.TrainFlow.
6277type GoogleCloudDialogflowCxV3TrainFlowRequest struct {
6278}
6279
6280// GoogleCloudDialogflowCxV3TransitionCoverage: Transition coverage
6281// represents the percentage of all possible page transitions
6282// (page-level transition routes and event handlers, excluding
6283// transition route groups) present within any of a parent's test cases.
6284type GoogleCloudDialogflowCxV3TransitionCoverage struct {
6285	// CoverageScore: The percent of transitions in the agent that are
6286	// covered.
6287	CoverageScore float64 `json:"coverageScore,omitempty"`
6288
6289	// Transitions: The list of Transitions present in the agent.
6290	Transitions []*GoogleCloudDialogflowCxV3TransitionCoverageTransition `json:"transitions,omitempty"`
6291
6292	// ForceSendFields is a list of field names (e.g. "CoverageScore") to
6293	// unconditionally include in API requests. By default, fields with
6294	// empty or default values are omitted from API requests. However, any
6295	// non-pointer, non-interface field appearing in ForceSendFields will be
6296	// sent to the server regardless of whether the field is empty or not.
6297	// This may be used to include empty fields in Patch requests.
6298	ForceSendFields []string `json:"-"`
6299
6300	// NullFields is a list of field names (e.g. "CoverageScore") to include
6301	// in API requests with the JSON null value. By default, fields with
6302	// empty values are omitted from API requests. However, any field with
6303	// an empty value appearing in NullFields will be sent to the server as
6304	// null. It is an error if a field in this list has a non-empty value.
6305	// This may be used to include null fields in Patch requests.
6306	NullFields []string `json:"-"`
6307}
6308
6309func (s *GoogleCloudDialogflowCxV3TransitionCoverage) MarshalJSON() ([]byte, error) {
6310	type NoMethod GoogleCloudDialogflowCxV3TransitionCoverage
6311	raw := NoMethod(*s)
6312	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6313}
6314
6315func (s *GoogleCloudDialogflowCxV3TransitionCoverage) UnmarshalJSON(data []byte) error {
6316	type NoMethod GoogleCloudDialogflowCxV3TransitionCoverage
6317	var s1 struct {
6318		CoverageScore gensupport.JSONFloat64 `json:"coverageScore"`
6319		*NoMethod
6320	}
6321	s1.NoMethod = (*NoMethod)(s)
6322	if err := json.Unmarshal(data, &s1); err != nil {
6323		return err
6324	}
6325	s.CoverageScore = float64(s1.CoverageScore)
6326	return nil
6327}
6328
6329// GoogleCloudDialogflowCxV3TransitionCoverageTransition: A transition
6330// in a page.
6331type GoogleCloudDialogflowCxV3TransitionCoverageTransition struct {
6332	// Covered: Whether or not the transition is covered by at least one of
6333	// the agent's test cases.
6334	Covered bool `json:"covered,omitempty"`
6335
6336	// EventHandler: Event handler.
6337	EventHandler *GoogleCloudDialogflowCxV3EventHandler `json:"eventHandler,omitempty"`
6338
6339	// Index: The index of a transition in the transition list. Starting
6340	// from 0.
6341	Index int64 `json:"index,omitempty"`
6342
6343	// Source: The start node of a transition.
6344	Source *GoogleCloudDialogflowCxV3TransitionCoverageTransitionNode `json:"source,omitempty"`
6345
6346	// Target: The end node of a transition.
6347	Target *GoogleCloudDialogflowCxV3TransitionCoverageTransitionNode `json:"target,omitempty"`
6348
6349	// TransitionRoute: Intent route or condition route.
6350	TransitionRoute *GoogleCloudDialogflowCxV3TransitionRoute `json:"transitionRoute,omitempty"`
6351
6352	// ForceSendFields is a list of field names (e.g. "Covered") to
6353	// unconditionally include in API requests. By default, fields with
6354	// empty or default values are omitted from API requests. However, any
6355	// non-pointer, non-interface field appearing in ForceSendFields will be
6356	// sent to the server regardless of whether the field is empty or not.
6357	// This may be used to include empty fields in Patch requests.
6358	ForceSendFields []string `json:"-"`
6359
6360	// NullFields is a list of field names (e.g. "Covered") to include in
6361	// API requests with the JSON null value. By default, fields with empty
6362	// values are omitted from API requests. However, any field with an
6363	// empty value appearing in NullFields will be sent to the server as
6364	// null. It is an error if a field in this list has a non-empty value.
6365	// This may be used to include null fields in Patch requests.
6366	NullFields []string `json:"-"`
6367}
6368
6369func (s *GoogleCloudDialogflowCxV3TransitionCoverageTransition) MarshalJSON() ([]byte, error) {
6370	type NoMethod GoogleCloudDialogflowCxV3TransitionCoverageTransition
6371	raw := NoMethod(*s)
6372	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6373}
6374
6375// GoogleCloudDialogflowCxV3TransitionCoverageTransitionNode: The source
6376// or target of a transition.
6377type GoogleCloudDialogflowCxV3TransitionCoverageTransitionNode struct {
6378	// Flow: Indicates a transition to a Flow. Only some fields such as name
6379	// and displayname will be set.
6380	Flow *GoogleCloudDialogflowCxV3Flow `json:"flow,omitempty"`
6381
6382	// Page: Indicates a transition to a Page. Only some fields such as name
6383	// and displayname will be set.
6384	Page *GoogleCloudDialogflowCxV3Page `json:"page,omitempty"`
6385
6386	// ForceSendFields is a list of field names (e.g. "Flow") to
6387	// unconditionally include in API requests. By default, fields with
6388	// empty or default values are omitted from API requests. However, any
6389	// non-pointer, non-interface field appearing in ForceSendFields will be
6390	// sent to the server regardless of whether the field is empty or not.
6391	// This may be used to include empty fields in Patch requests.
6392	ForceSendFields []string `json:"-"`
6393
6394	// NullFields is a list of field names (e.g. "Flow") to include in API
6395	// requests with the JSON null value. By default, fields with empty
6396	// values are omitted from API requests. However, any field with an
6397	// empty value appearing in NullFields will be sent to the server as
6398	// null. It is an error if a field in this list has a non-empty value.
6399	// This may be used to include null fields in Patch requests.
6400	NullFields []string `json:"-"`
6401}
6402
6403func (s *GoogleCloudDialogflowCxV3TransitionCoverageTransitionNode) MarshalJSON() ([]byte, error) {
6404	type NoMethod GoogleCloudDialogflowCxV3TransitionCoverageTransitionNode
6405	raw := NoMethod(*s)
6406	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6407}
6408
6409// GoogleCloudDialogflowCxV3TransitionRoute: A transition route
6410// specifies a intent that can be matched and/or a data condition that
6411// can be evaluated during a session. When a specified transition is
6412// matched, the following actions are taken in order: * If there is a
6413// `trigger_fulfillment` associated with the transition, it will be
6414// called. * If there is a `target_page` associated with the transition,
6415// the session will transition into the specified page. * If there is a
6416// `target_flow` associated with the transition, the session will
6417// transition into the specified flow.
6418type GoogleCloudDialogflowCxV3TransitionRoute struct {
6419	// Condition: The condition to evaluate against form parameters or
6420	// session parameters. See the conditions reference
6421	// (https://cloud.google.com/dialogflow/cx/docs/reference/condition). At
6422	// least one of `intent` or `condition` must be specified. When both
6423	// `intent` and `condition` are specified, the transition can only
6424	// happen when both are fulfilled.
6425	Condition string `json:"condition,omitempty"`
6426
6427	// Intent: The unique identifier of an Intent. Format:
6428	// `projects//locations//agents//intents/`. Indicates that the
6429	// transition can only happen when the given intent is matched. At least
6430	// one of `intent` or `condition` must be specified. When both `intent`
6431	// and `condition` are specified, the transition can only happen when
6432	// both are fulfilled.
6433	Intent string `json:"intent,omitempty"`
6434
6435	// Name: Output only. The unique identifier of this transition route.
6436	Name string `json:"name,omitempty"`
6437
6438	// TargetFlow: The target flow to transition to. Format:
6439	// `projects//locations//agents//flows/`.
6440	TargetFlow string `json:"targetFlow,omitempty"`
6441
6442	// TargetPage: The target page to transition to. Format:
6443	// `projects//locations//agents//flows//pages/`.
6444	TargetPage string `json:"targetPage,omitempty"`
6445
6446	// TriggerFulfillment: The fulfillment to call when the condition is
6447	// satisfied. At least one of `trigger_fulfillment` and `target` must be
6448	// specified. When both are defined, `trigger_fulfillment` is executed
6449	// first.
6450	TriggerFulfillment *GoogleCloudDialogflowCxV3Fulfillment `json:"triggerFulfillment,omitempty"`
6451
6452	// ForceSendFields is a list of field names (e.g. "Condition") to
6453	// unconditionally include in API requests. By default, fields with
6454	// empty or default values are omitted from API requests. However, any
6455	// non-pointer, non-interface field appearing in ForceSendFields will be
6456	// sent to the server regardless of whether the field is empty or not.
6457	// This may be used to include empty fields in Patch requests.
6458	ForceSendFields []string `json:"-"`
6459
6460	// NullFields is a list of field names (e.g. "Condition") to include in
6461	// API requests with the JSON null value. By default, fields with empty
6462	// values are omitted from API requests. However, any field with an
6463	// empty value appearing in NullFields will be sent to the server as
6464	// null. It is an error if a field in this list has a non-empty value.
6465	// This may be used to include null fields in Patch requests.
6466	NullFields []string `json:"-"`
6467}
6468
6469func (s *GoogleCloudDialogflowCxV3TransitionRoute) MarshalJSON() ([]byte, error) {
6470	type NoMethod GoogleCloudDialogflowCxV3TransitionRoute
6471	raw := NoMethod(*s)
6472	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6473}
6474
6475// GoogleCloudDialogflowCxV3TransitionRouteGroup: An
6476// TransitionRouteGroup represents a group of `TransitionRoutes` to be
6477// used by a Page.
6478type GoogleCloudDialogflowCxV3TransitionRouteGroup struct {
6479	// DisplayName: Required. The human-readable name of the transition
6480	// route group, unique within the Agent. The display name can be no
6481	// longer than 30 characters.
6482	DisplayName string `json:"displayName,omitempty"`
6483
6484	// Name: The unique identifier of the transition route group.
6485	// TransitionRouteGroups.CreateTransitionRouteGroup populates the name
6486	// automatically. Format:
6487	// `projects//locations//agents//flows//transitionRouteGroups/`.
6488	Name string `json:"name,omitempty"`
6489
6490	// TransitionRoutes: Transition routes associated with the
6491	// TransitionRouteGroup.
6492	TransitionRoutes []*GoogleCloudDialogflowCxV3TransitionRoute `json:"transitionRoutes,omitempty"`
6493
6494	// ServerResponse contains the HTTP response code and headers from the
6495	// server.
6496	googleapi.ServerResponse `json:"-"`
6497
6498	// ForceSendFields is a list of field names (e.g. "DisplayName") to
6499	// unconditionally include in API requests. By default, fields with
6500	// empty or default values are omitted from API requests. However, any
6501	// non-pointer, non-interface field appearing in ForceSendFields will be
6502	// sent to the server regardless of whether the field is empty or not.
6503	// This may be used to include empty fields in Patch requests.
6504	ForceSendFields []string `json:"-"`
6505
6506	// NullFields is a list of field names (e.g. "DisplayName") to include
6507	// in API requests with the JSON null value. By default, fields with
6508	// empty values are omitted from API requests. However, any field with
6509	// an empty value appearing in NullFields will be sent to the server as
6510	// null. It is an error if a field in this list has a non-empty value.
6511	// This may be used to include null fields in Patch requests.
6512	NullFields []string `json:"-"`
6513}
6514
6515func (s *GoogleCloudDialogflowCxV3TransitionRouteGroup) MarshalJSON() ([]byte, error) {
6516	type NoMethod GoogleCloudDialogflowCxV3TransitionRouteGroup
6517	raw := NoMethod(*s)
6518	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6519}
6520
6521// GoogleCloudDialogflowCxV3TransitionRouteGroupCoverage: Transition
6522// route group coverage represents the percentage of all possible
6523// transition routes present within any of a parent's test cases. The
6524// results are grouped by the transition route group.
6525type GoogleCloudDialogflowCxV3TransitionRouteGroupCoverage struct {
6526	// CoverageScore: The percent of transition routes in all the transition
6527	// route groups that are covered.
6528	CoverageScore float64 `json:"coverageScore,omitempty"`
6529
6530	// Coverages: Transition route group coverages.
6531	Coverages []*GoogleCloudDialogflowCxV3TransitionRouteGroupCoverageCoverage `json:"coverages,omitempty"`
6532
6533	// ForceSendFields is a list of field names (e.g. "CoverageScore") to
6534	// unconditionally include in API requests. By default, fields with
6535	// empty or default values are omitted from API requests. However, any
6536	// non-pointer, non-interface field appearing in ForceSendFields will be
6537	// sent to the server regardless of whether the field is empty or not.
6538	// This may be used to include empty fields in Patch requests.
6539	ForceSendFields []string `json:"-"`
6540
6541	// NullFields is a list of field names (e.g. "CoverageScore") to include
6542	// in API requests with the JSON null value. By default, fields with
6543	// empty values are omitted from API requests. However, any field with
6544	// an empty value appearing in NullFields will be sent to the server as
6545	// null. It is an error if a field in this list has a non-empty value.
6546	// This may be used to include null fields in Patch requests.
6547	NullFields []string `json:"-"`
6548}
6549
6550func (s *GoogleCloudDialogflowCxV3TransitionRouteGroupCoverage) MarshalJSON() ([]byte, error) {
6551	type NoMethod GoogleCloudDialogflowCxV3TransitionRouteGroupCoverage
6552	raw := NoMethod(*s)
6553	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6554}
6555
6556func (s *GoogleCloudDialogflowCxV3TransitionRouteGroupCoverage) UnmarshalJSON(data []byte) error {
6557	type NoMethod GoogleCloudDialogflowCxV3TransitionRouteGroupCoverage
6558	var s1 struct {
6559		CoverageScore gensupport.JSONFloat64 `json:"coverageScore"`
6560		*NoMethod
6561	}
6562	s1.NoMethod = (*NoMethod)(s)
6563	if err := json.Unmarshal(data, &s1); err != nil {
6564		return err
6565	}
6566	s.CoverageScore = float64(s1.CoverageScore)
6567	return nil
6568}
6569
6570// GoogleCloudDialogflowCxV3TransitionRouteGroupCoverageCoverage:
6571// Coverage result message for one transition route group.
6572type GoogleCloudDialogflowCxV3TransitionRouteGroupCoverageCoverage struct {
6573	// CoverageScore: The percent of transition routes in the transition
6574	// route group that are covered.
6575	CoverageScore float64 `json:"coverageScore,omitempty"`
6576
6577	// RouteGroup: Transition route group metadata. Only name and
6578	// displayName will be set.
6579	RouteGroup *GoogleCloudDialogflowCxV3TransitionRouteGroup `json:"routeGroup,omitempty"`
6580
6581	// Transitions: The list of transition routes and coverage in the
6582	// transition route group.
6583	Transitions []*GoogleCloudDialogflowCxV3TransitionRouteGroupCoverageCoverageTransition `json:"transitions,omitempty"`
6584
6585	// ForceSendFields is a list of field names (e.g. "CoverageScore") to
6586	// unconditionally include in API requests. By default, fields with
6587	// empty or default values are omitted from API requests. However, any
6588	// non-pointer, non-interface field appearing in ForceSendFields will be
6589	// sent to the server regardless of whether the field is empty or not.
6590	// This may be used to include empty fields in Patch requests.
6591	ForceSendFields []string `json:"-"`
6592
6593	// NullFields is a list of field names (e.g. "CoverageScore") to include
6594	// in API requests with the JSON null value. By default, fields with
6595	// empty values are omitted from API requests. However, any field with
6596	// an empty value appearing in NullFields will be sent to the server as
6597	// null. It is an error if a field in this list has a non-empty value.
6598	// This may be used to include null fields in Patch requests.
6599	NullFields []string `json:"-"`
6600}
6601
6602func (s *GoogleCloudDialogflowCxV3TransitionRouteGroupCoverageCoverage) MarshalJSON() ([]byte, error) {
6603	type NoMethod GoogleCloudDialogflowCxV3TransitionRouteGroupCoverageCoverage
6604	raw := NoMethod(*s)
6605	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6606}
6607
6608func (s *GoogleCloudDialogflowCxV3TransitionRouteGroupCoverageCoverage) UnmarshalJSON(data []byte) error {
6609	type NoMethod GoogleCloudDialogflowCxV3TransitionRouteGroupCoverageCoverage
6610	var s1 struct {
6611		CoverageScore gensupport.JSONFloat64 `json:"coverageScore"`
6612		*NoMethod
6613	}
6614	s1.NoMethod = (*NoMethod)(s)
6615	if err := json.Unmarshal(data, &s1); err != nil {
6616		return err
6617	}
6618	s.CoverageScore = float64(s1.CoverageScore)
6619	return nil
6620}
6621
6622// GoogleCloudDialogflowCxV3TransitionRouteGroupCoverageCoverageTransitio
6623// n: A transition coverage in a transition route group.
6624type GoogleCloudDialogflowCxV3TransitionRouteGroupCoverageCoverageTransition struct {
6625	// Covered: Whether or not the transition route is covered by at least
6626	// one of the agent's test cases.
6627	Covered bool `json:"covered,omitempty"`
6628
6629	// TransitionRoute: Intent route or condition route.
6630	TransitionRoute *GoogleCloudDialogflowCxV3TransitionRoute `json:"transitionRoute,omitempty"`
6631
6632	// ForceSendFields is a list of field names (e.g. "Covered") to
6633	// unconditionally include in API requests. By default, fields with
6634	// empty or default values are omitted from API requests. However, any
6635	// non-pointer, non-interface field appearing in ForceSendFields will be
6636	// sent to the server regardless of whether the field is empty or not.
6637	// This may be used to include empty fields in Patch requests.
6638	ForceSendFields []string `json:"-"`
6639
6640	// NullFields is a list of field names (e.g. "Covered") to include in
6641	// API requests with the JSON null value. By default, fields with empty
6642	// values are omitted from API requests. However, any field with an
6643	// empty value appearing in NullFields will be sent to the server as
6644	// null. It is an error if a field in this list has a non-empty value.
6645	// This may be used to include null fields in Patch requests.
6646	NullFields []string `json:"-"`
6647}
6648
6649func (s *GoogleCloudDialogflowCxV3TransitionRouteGroupCoverageCoverageTransition) MarshalJSON() ([]byte, error) {
6650	type NoMethod GoogleCloudDialogflowCxV3TransitionRouteGroupCoverageCoverageTransition
6651	raw := NoMethod(*s)
6652	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6653}
6654
6655// GoogleCloudDialogflowCxV3UpdateDocumentOperationMetadata: Metadata
6656// for UpdateDocument operation.
6657type GoogleCloudDialogflowCxV3UpdateDocumentOperationMetadata struct {
6658	// GenericMetadata: The generic information of the operation.
6659	GenericMetadata *GoogleCloudDialogflowCxV3GenericKnowledgeOperationMetadata `json:"genericMetadata,omitempty"`
6660
6661	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
6662	// unconditionally include in API requests. By default, fields with
6663	// empty or default values are omitted from API requests. However, any
6664	// non-pointer, non-interface field appearing in ForceSendFields will be
6665	// sent to the server regardless of whether the field is empty or not.
6666	// This may be used to include empty fields in Patch requests.
6667	ForceSendFields []string `json:"-"`
6668
6669	// NullFields is a list of field names (e.g. "GenericMetadata") to
6670	// include in API requests with the JSON null value. By default, fields
6671	// with empty values are omitted from API requests. However, any field
6672	// with an empty value appearing in NullFields will be sent to the
6673	// server as null. It is an error if a field in this list has a
6674	// non-empty value. This may be used to include null fields in Patch
6675	// requests.
6676	NullFields []string `json:"-"`
6677}
6678
6679func (s *GoogleCloudDialogflowCxV3UpdateDocumentOperationMetadata) MarshalJSON() ([]byte, error) {
6680	type NoMethod GoogleCloudDialogflowCxV3UpdateDocumentOperationMetadata
6681	raw := NoMethod(*s)
6682	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6683}
6684
6685// GoogleCloudDialogflowCxV3ValidateAgentRequest: The request message
6686// for Agents.ValidateAgent.
6687type GoogleCloudDialogflowCxV3ValidateAgentRequest struct {
6688	// LanguageCode: If not specified, the agent's default language is used.
6689	LanguageCode string `json:"languageCode,omitempty"`
6690
6691	// ForceSendFields is a list of field names (e.g. "LanguageCode") to
6692	// unconditionally include in API requests. By default, fields with
6693	// empty or default values are omitted from API requests. However, any
6694	// non-pointer, non-interface field appearing in ForceSendFields will be
6695	// sent to the server regardless of whether the field is empty or not.
6696	// This may be used to include empty fields in Patch requests.
6697	ForceSendFields []string `json:"-"`
6698
6699	// NullFields is a list of field names (e.g. "LanguageCode") to include
6700	// in API requests with the JSON null value. By default, fields with
6701	// empty values are omitted from API requests. However, any field with
6702	// an empty value appearing in NullFields will be sent to the server as
6703	// null. It is an error if a field in this list has a non-empty value.
6704	// This may be used to include null fields in Patch requests.
6705	NullFields []string `json:"-"`
6706}
6707
6708func (s *GoogleCloudDialogflowCxV3ValidateAgentRequest) MarshalJSON() ([]byte, error) {
6709	type NoMethod GoogleCloudDialogflowCxV3ValidateAgentRequest
6710	raw := NoMethod(*s)
6711	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6712}
6713
6714// GoogleCloudDialogflowCxV3ValidateFlowRequest: The request message for
6715// Flows.ValidateFlow.
6716type GoogleCloudDialogflowCxV3ValidateFlowRequest struct {
6717	// LanguageCode: If not specified, the agent's default language is used.
6718	LanguageCode string `json:"languageCode,omitempty"`
6719
6720	// ForceSendFields is a list of field names (e.g. "LanguageCode") to
6721	// unconditionally include in API requests. By default, fields with
6722	// empty or default values are omitted from API requests. However, any
6723	// non-pointer, non-interface field appearing in ForceSendFields will be
6724	// sent to the server regardless of whether the field is empty or not.
6725	// This may be used to include empty fields in Patch requests.
6726	ForceSendFields []string `json:"-"`
6727
6728	// NullFields is a list of field names (e.g. "LanguageCode") to include
6729	// in API requests with the JSON null value. By default, fields with
6730	// empty values are omitted from API requests. However, any field with
6731	// an empty value appearing in NullFields will be sent to the server as
6732	// null. It is an error if a field in this list has a non-empty value.
6733	// This may be used to include null fields in Patch requests.
6734	NullFields []string `json:"-"`
6735}
6736
6737func (s *GoogleCloudDialogflowCxV3ValidateFlowRequest) MarshalJSON() ([]byte, error) {
6738	type NoMethod GoogleCloudDialogflowCxV3ValidateFlowRequest
6739	raw := NoMethod(*s)
6740	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6741}
6742
6743// GoogleCloudDialogflowCxV3ValidationMessage: Agent/flow validation
6744// message.
6745type GoogleCloudDialogflowCxV3ValidationMessage struct {
6746	// Detail: The message detail.
6747	Detail string `json:"detail,omitempty"`
6748
6749	// ResourceNames: The resource names of the resources where the message
6750	// is found.
6751	ResourceNames []*GoogleCloudDialogflowCxV3ResourceName `json:"resourceNames,omitempty"`
6752
6753	// ResourceType: The type of the resources where the message is found.
6754	//
6755	// Possible values:
6756	//   "RESOURCE_TYPE_UNSPECIFIED" - Unspecified.
6757	//   "AGENT" - Agent.
6758	//   "INTENT" - Intent.
6759	//   "INTENT_TRAINING_PHRASE" - Intent training phrase.
6760	//   "INTENT_PARAMETER" - Intent parameter.
6761	//   "INTENTS" - Multiple intents.
6762	//   "INTENT_TRAINING_PHRASES" - Multiple training phrases.
6763	//   "ENTITY_TYPE" - Entity type.
6764	//   "ENTITY_TYPES" - Multiple entity types.
6765	//   "WEBHOOK" - Webhook.
6766	//   "FLOW" - Flow.
6767	//   "PAGE" - Page.
6768	//   "PAGES" - Multiple pages.
6769	//   "TRANSITION_ROUTE_GROUP" - Transition route group.
6770	ResourceType string `json:"resourceType,omitempty"`
6771
6772	// Resources: The names of the resources where the message is found.
6773	Resources []string `json:"resources,omitempty"`
6774
6775	// Severity: Indicates the severity of the message.
6776	//
6777	// Possible values:
6778	//   "SEVERITY_UNSPECIFIED" - Unspecified.
6779	//   "INFO" - The agent doesn't follow Dialogflow best practices.
6780	//   "WARNING" - The agent may not behave as expected.
6781	//   "ERROR" - The agent may experience failures.
6782	Severity string `json:"severity,omitempty"`
6783
6784	// ForceSendFields is a list of field names (e.g. "Detail") to
6785	// unconditionally include in API requests. By default, fields with
6786	// empty or default values are omitted from API requests. However, any
6787	// non-pointer, non-interface field appearing in ForceSendFields will be
6788	// sent to the server regardless of whether the field is empty or not.
6789	// This may be used to include empty fields in Patch requests.
6790	ForceSendFields []string `json:"-"`
6791
6792	// NullFields is a list of field names (e.g. "Detail") to include in API
6793	// requests with the JSON null value. By default, fields with empty
6794	// values are omitted from API requests. However, any field with an
6795	// empty value appearing in NullFields will be sent to the server as
6796	// null. It is an error if a field in this list has a non-empty value.
6797	// This may be used to include null fields in Patch requests.
6798	NullFields []string `json:"-"`
6799}
6800
6801func (s *GoogleCloudDialogflowCxV3ValidationMessage) MarshalJSON() ([]byte, error) {
6802	type NoMethod GoogleCloudDialogflowCxV3ValidationMessage
6803	raw := NoMethod(*s)
6804	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6805}
6806
6807// GoogleCloudDialogflowCxV3VariantsHistory: The history of variants
6808// update.
6809type GoogleCloudDialogflowCxV3VariantsHistory struct {
6810	// UpdateTime: Update time of the variants.
6811	UpdateTime string `json:"updateTime,omitempty"`
6812
6813	// VersionVariants: The flow versions as the variants.
6814	VersionVariants *GoogleCloudDialogflowCxV3VersionVariants `json:"versionVariants,omitempty"`
6815
6816	// ForceSendFields is a list of field names (e.g. "UpdateTime") to
6817	// unconditionally include in API requests. By default, fields with
6818	// empty or default values are omitted from API requests. However, any
6819	// non-pointer, non-interface field appearing in ForceSendFields will be
6820	// sent to the server regardless of whether the field is empty or not.
6821	// This may be used to include empty fields in Patch requests.
6822	ForceSendFields []string `json:"-"`
6823
6824	// NullFields is a list of field names (e.g. "UpdateTime") to include in
6825	// API requests with the JSON null value. By default, fields with empty
6826	// values are omitted from API requests. However, any field with an
6827	// empty value appearing in NullFields will be sent to the server as
6828	// null. It is an error if a field in this list has a non-empty value.
6829	// This may be used to include null fields in Patch requests.
6830	NullFields []string `json:"-"`
6831}
6832
6833func (s *GoogleCloudDialogflowCxV3VariantsHistory) MarshalJSON() ([]byte, error) {
6834	type NoMethod GoogleCloudDialogflowCxV3VariantsHistory
6835	raw := NoMethod(*s)
6836	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6837}
6838
6839// GoogleCloudDialogflowCxV3Version: Represents a version of a flow.
6840type GoogleCloudDialogflowCxV3Version struct {
6841	// CreateTime: Output only. Create time of the version.
6842	CreateTime string `json:"createTime,omitempty"`
6843
6844	// Description: The description of the version. The maximum length is
6845	// 500 characters. If exceeded, the request is rejected.
6846	Description string `json:"description,omitempty"`
6847
6848	// DisplayName: Required. The human-readable name of the version. Limit
6849	// of 64 characters.
6850	DisplayName string `json:"displayName,omitempty"`
6851
6852	// Name: Format: projects//locations//agents//flows//versions/. Version
6853	// ID is a self-increasing number generated by Dialogflow upon version
6854	// creation.
6855	Name string `json:"name,omitempty"`
6856
6857	// NluSettings: Output only. The NLU settings of the flow at version
6858	// creation.
6859	NluSettings *GoogleCloudDialogflowCxV3NluSettings `json:"nluSettings,omitempty"`
6860
6861	// State: Output only. The state of this version. This field is
6862	// read-only and cannot be set by create and update methods.
6863	//
6864	// Possible values:
6865	//   "STATE_UNSPECIFIED" - Not specified. This value is not used.
6866	//   "RUNNING" - Version is not ready to serve (e.g. training is
6867	// running).
6868	//   "SUCCEEDED" - Training has succeeded and this version is ready to
6869	// serve.
6870	//   "FAILED" - Version training failed.
6871	State string `json:"state,omitempty"`
6872
6873	// ServerResponse contains the HTTP response code and headers from the
6874	// server.
6875	googleapi.ServerResponse `json:"-"`
6876
6877	// ForceSendFields is a list of field names (e.g. "CreateTime") to
6878	// unconditionally include in API requests. By default, fields with
6879	// empty or default values are omitted from API requests. However, any
6880	// non-pointer, non-interface field appearing in ForceSendFields will be
6881	// sent to the server regardless of whether the field is empty or not.
6882	// This may be used to include empty fields in Patch requests.
6883	ForceSendFields []string `json:"-"`
6884
6885	// NullFields is a list of field names (e.g. "CreateTime") to include in
6886	// API requests with the JSON null value. By default, fields with empty
6887	// values are omitted from API requests. However, any field with an
6888	// empty value appearing in NullFields will be sent to the server as
6889	// null. It is an error if a field in this list has a non-empty value.
6890	// This may be used to include null fields in Patch requests.
6891	NullFields []string `json:"-"`
6892}
6893
6894func (s *GoogleCloudDialogflowCxV3Version) MarshalJSON() ([]byte, error) {
6895	type NoMethod GoogleCloudDialogflowCxV3Version
6896	raw := NoMethod(*s)
6897	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6898}
6899
6900// GoogleCloudDialogflowCxV3VersionVariants: A list of flow version
6901// variants.
6902type GoogleCloudDialogflowCxV3VersionVariants struct {
6903	// Variants: A list of flow version variants.
6904	Variants []*GoogleCloudDialogflowCxV3VersionVariantsVariant `json:"variants,omitempty"`
6905
6906	// ForceSendFields is a list of field names (e.g. "Variants") to
6907	// unconditionally include in API requests. By default, fields with
6908	// empty or default values are omitted from API requests. However, any
6909	// non-pointer, non-interface field appearing in ForceSendFields will be
6910	// sent to the server regardless of whether the field is empty or not.
6911	// This may be used to include empty fields in Patch requests.
6912	ForceSendFields []string `json:"-"`
6913
6914	// NullFields is a list of field names (e.g. "Variants") to include in
6915	// API requests with the JSON null value. By default, fields with empty
6916	// values are omitted from API requests. However, any field with an
6917	// empty value appearing in NullFields will be sent to the server as
6918	// null. It is an error if a field in this list has a non-empty value.
6919	// This may be used to include null fields in Patch requests.
6920	NullFields []string `json:"-"`
6921}
6922
6923func (s *GoogleCloudDialogflowCxV3VersionVariants) MarshalJSON() ([]byte, error) {
6924	type NoMethod GoogleCloudDialogflowCxV3VersionVariants
6925	raw := NoMethod(*s)
6926	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6927}
6928
6929// GoogleCloudDialogflowCxV3VersionVariantsVariant: A single flow
6930// version with specified traffic allocation.
6931type GoogleCloudDialogflowCxV3VersionVariantsVariant struct {
6932	// IsControlGroup: Whether the variant is for the control group.
6933	IsControlGroup bool `json:"isControlGroup,omitempty"`
6934
6935	// TrafficAllocation: Percentage of the traffic which should be routed
6936	// to this version of flow. Traffic allocation for a single flow must
6937	// sum up to 1.0.
6938	TrafficAllocation float64 `json:"trafficAllocation,omitempty"`
6939
6940	// Version: The name of the flow version. Format:
6941	// `projects//locations//agents//flows//versions/`.
6942	Version string `json:"version,omitempty"`
6943
6944	// ForceSendFields is a list of field names (e.g. "IsControlGroup") to
6945	// unconditionally include in API requests. By default, fields with
6946	// empty or default values are omitted from API requests. However, any
6947	// non-pointer, non-interface field appearing in ForceSendFields will be
6948	// sent to the server regardless of whether the field is empty or not.
6949	// This may be used to include empty fields in Patch requests.
6950	ForceSendFields []string `json:"-"`
6951
6952	// NullFields is a list of field names (e.g. "IsControlGroup") to
6953	// include in API requests with the JSON null value. By default, fields
6954	// with empty values are omitted from API requests. However, any field
6955	// with an empty value appearing in NullFields will be sent to the
6956	// server as null. It is an error if a field in this list has a
6957	// non-empty value. This may be used to include null fields in Patch
6958	// requests.
6959	NullFields []string `json:"-"`
6960}
6961
6962func (s *GoogleCloudDialogflowCxV3VersionVariantsVariant) MarshalJSON() ([]byte, error) {
6963	type NoMethod GoogleCloudDialogflowCxV3VersionVariantsVariant
6964	raw := NoMethod(*s)
6965	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6966}
6967
6968func (s *GoogleCloudDialogflowCxV3VersionVariantsVariant) UnmarshalJSON(data []byte) error {
6969	type NoMethod GoogleCloudDialogflowCxV3VersionVariantsVariant
6970	var s1 struct {
6971		TrafficAllocation gensupport.JSONFloat64 `json:"trafficAllocation"`
6972		*NoMethod
6973	}
6974	s1.NoMethod = (*NoMethod)(s)
6975	if err := json.Unmarshal(data, &s1); err != nil {
6976		return err
6977	}
6978	s.TrafficAllocation = float64(s1.TrafficAllocation)
6979	return nil
6980}
6981
6982// GoogleCloudDialogflowCxV3VoiceSelectionParams: Description of which
6983// voice to use for speech synthesis.
6984type GoogleCloudDialogflowCxV3VoiceSelectionParams struct {
6985	// Name: Optional. The name of the voice. If not set, the service will
6986	// choose a voice based on the other parameters such as language_code
6987	// and ssml_gender. For the list of available voices, please refer to
6988	// Supported voices and languages
6989	// (https://cloud.google.com/text-to-speech/docs/voices).
6990	Name string `json:"name,omitempty"`
6991
6992	// SsmlGender: Optional. The preferred gender of the voice. If not set,
6993	// the service will choose a voice based on the other parameters such as
6994	// language_code and name. Note that this is only a preference, not
6995	// requirement. If a voice of the appropriate gender is not available,
6996	// the synthesizer substitutes a voice with a different gender rather
6997	// than failing the request.
6998	//
6999	// Possible values:
7000	//   "SSML_VOICE_GENDER_UNSPECIFIED" - An unspecified gender, which
7001	// means that the client doesn't care which gender the selected voice
7002	// will have.
7003	//   "SSML_VOICE_GENDER_MALE" - A male voice.
7004	//   "SSML_VOICE_GENDER_FEMALE" - A female voice.
7005	//   "SSML_VOICE_GENDER_NEUTRAL" - A gender-neutral voice.
7006	SsmlGender string `json:"ssmlGender,omitempty"`
7007
7008	// ForceSendFields is a list of field names (e.g. "Name") to
7009	// unconditionally include in API requests. By default, fields with
7010	// empty or default values are omitted from API requests. However, any
7011	// non-pointer, non-interface field appearing in ForceSendFields will be
7012	// sent to the server regardless of whether the field is empty or not.
7013	// This may be used to include empty fields in Patch requests.
7014	ForceSendFields []string `json:"-"`
7015
7016	// NullFields is a list of field names (e.g. "Name") to include in API
7017	// requests with the JSON null value. By default, fields with empty
7018	// values are omitted from API requests. However, any field with an
7019	// empty value appearing in NullFields will be sent to the server as
7020	// null. It is an error if a field in this list has a non-empty value.
7021	// This may be used to include null fields in Patch requests.
7022	NullFields []string `json:"-"`
7023}
7024
7025func (s *GoogleCloudDialogflowCxV3VoiceSelectionParams) MarshalJSON() ([]byte, error) {
7026	type NoMethod GoogleCloudDialogflowCxV3VoiceSelectionParams
7027	raw := NoMethod(*s)
7028	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7029}
7030
7031// GoogleCloudDialogflowCxV3Webhook: Webhooks host the developer's
7032// business logic. During a session, webhooks allow the developer to use
7033// the data extracted by Dialogflow's natural language processing to
7034// generate dynamic responses, validate collected data, or trigger
7035// actions on the backend.
7036type GoogleCloudDialogflowCxV3Webhook struct {
7037	// Disabled: Indicates whether the webhook is disabled.
7038	Disabled bool `json:"disabled,omitempty"`
7039
7040	// DisplayName: Required. The human-readable name of the webhook, unique
7041	// within the agent.
7042	DisplayName string `json:"displayName,omitempty"`
7043
7044	// GenericWebService: Configuration for a generic web service.
7045	GenericWebService *GoogleCloudDialogflowCxV3WebhookGenericWebService `json:"genericWebService,omitempty"`
7046
7047	// Name: The unique identifier of the webhook. Required for the
7048	// Webhooks.UpdateWebhook method. Webhooks.CreateWebhook populates the
7049	// name automatically. Format: `projects//locations//agents//webhooks/`.
7050	Name string `json:"name,omitempty"`
7051
7052	// ServiceDirectory: Configuration for a Service Directory
7053	// (https://cloud.google.com/service-directory) service.
7054	ServiceDirectory *GoogleCloudDialogflowCxV3WebhookServiceDirectoryConfig `json:"serviceDirectory,omitempty"`
7055
7056	// Timeout: Webhook execution timeout. Execution is considered failed if
7057	// Dialogflow doesn't receive a response from webhook at the end of the
7058	// timeout period. Defaults to 5 seconds, maximum allowed timeout is 30
7059	// seconds.
7060	Timeout string `json:"timeout,omitempty"`
7061
7062	// ServerResponse contains the HTTP response code and headers from the
7063	// server.
7064	googleapi.ServerResponse `json:"-"`
7065
7066	// ForceSendFields is a list of field names (e.g. "Disabled") to
7067	// unconditionally include in API requests. By default, fields with
7068	// empty or default values are omitted from API requests. However, any
7069	// non-pointer, non-interface field appearing in ForceSendFields will be
7070	// sent to the server regardless of whether the field is empty or not.
7071	// This may be used to include empty fields in Patch requests.
7072	ForceSendFields []string `json:"-"`
7073
7074	// NullFields is a list of field names (e.g. "Disabled") to include in
7075	// API requests with the JSON null value. By default, fields with empty
7076	// values are omitted from API requests. However, any field with an
7077	// empty value appearing in NullFields will be sent to the server as
7078	// null. It is an error if a field in this list has a non-empty value.
7079	// This may be used to include null fields in Patch requests.
7080	NullFields []string `json:"-"`
7081}
7082
7083func (s *GoogleCloudDialogflowCxV3Webhook) MarshalJSON() ([]byte, error) {
7084	type NoMethod GoogleCloudDialogflowCxV3Webhook
7085	raw := NoMethod(*s)
7086	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7087}
7088
7089// GoogleCloudDialogflowCxV3WebhookGenericWebService: Represents
7090// configuration for a generic web service.
7091type GoogleCloudDialogflowCxV3WebhookGenericWebService struct {
7092	// Password: The password for HTTP Basic authentication.
7093	Password string `json:"password,omitempty"`
7094
7095	// RequestHeaders: The HTTP request headers to send together with
7096	// webhook requests.
7097	RequestHeaders map[string]string `json:"requestHeaders,omitempty"`
7098
7099	// Uri: Required. The webhook URI for receiving POST requests. It must
7100	// use https protocol.
7101	Uri string `json:"uri,omitempty"`
7102
7103	// Username: The user name for HTTP Basic authentication.
7104	Username string `json:"username,omitempty"`
7105
7106	// ForceSendFields is a list of field names (e.g. "Password") to
7107	// unconditionally include in API requests. By default, fields with
7108	// empty or default values are omitted from API requests. However, any
7109	// non-pointer, non-interface field appearing in ForceSendFields will be
7110	// sent to the server regardless of whether the field is empty or not.
7111	// This may be used to include empty fields in Patch requests.
7112	ForceSendFields []string `json:"-"`
7113
7114	// NullFields is a list of field names (e.g. "Password") to include in
7115	// API requests with the JSON null value. By default, fields with empty
7116	// values are omitted from API requests. However, any field with an
7117	// empty value appearing in NullFields will be sent to the server as
7118	// null. It is an error if a field in this list has a non-empty value.
7119	// This may be used to include null fields in Patch requests.
7120	NullFields []string `json:"-"`
7121}
7122
7123func (s *GoogleCloudDialogflowCxV3WebhookGenericWebService) MarshalJSON() ([]byte, error) {
7124	type NoMethod GoogleCloudDialogflowCxV3WebhookGenericWebService
7125	raw := NoMethod(*s)
7126	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7127}
7128
7129// GoogleCloudDialogflowCxV3WebhookRequest: The request message for a
7130// webhook call. The request is sent as a JSON object and the field
7131// names will be presented in camel cases.
7132type GoogleCloudDialogflowCxV3WebhookRequest struct {
7133	// DetectIntentResponseId: Always present. The unique identifier of the
7134	// DetectIntentResponse that will be returned to the API caller.
7135	DetectIntentResponseId string `json:"detectIntentResponseId,omitempty"`
7136
7137	// FulfillmentInfo: Always present. Information about the fulfillment
7138	// that triggered this webhook call.
7139	FulfillmentInfo *GoogleCloudDialogflowCxV3WebhookRequestFulfillmentInfo `json:"fulfillmentInfo,omitempty"`
7140
7141	// IntentInfo: Information about the last matched intent.
7142	IntentInfo *GoogleCloudDialogflowCxV3WebhookRequestIntentInfo `json:"intentInfo,omitempty"`
7143
7144	// LanguageCode: The language code specified in the original request.
7145	LanguageCode string `json:"languageCode,omitempty"`
7146
7147	// Messages: The list of rich message responses to present to the user.
7148	// Webhook can choose to append or replace this list in
7149	// WebhookResponse.fulfillment_response;
7150	Messages []*GoogleCloudDialogflowCxV3ResponseMessage `json:"messages,omitempty"`
7151
7152	// PageInfo: Information about page status.
7153	PageInfo *GoogleCloudDialogflowCxV3PageInfo `json:"pageInfo,omitempty"`
7154
7155	// Payload: Custom data set in QueryParameters.payload.
7156	Payload googleapi.RawMessage `json:"payload,omitempty"`
7157
7158	// SentimentAnalysisResult: The sentiment analysis result of the current
7159	// user request. The field is filled when sentiment analysis is
7160	// configured to be enabled for the request.
7161	SentimentAnalysisResult *GoogleCloudDialogflowCxV3WebhookRequestSentimentAnalysisResult `json:"sentimentAnalysisResult,omitempty"`
7162
7163	// SessionInfo: Information about session status.
7164	SessionInfo *GoogleCloudDialogflowCxV3SessionInfo `json:"sessionInfo,omitempty"`
7165
7166	// Text: If natural language text was provided as input, this field will
7167	// contain a copy of the text.
7168	Text string `json:"text,omitempty"`
7169
7170	// Transcript: If natural language speech audio was provided as input,
7171	// this field will contain the transcript for the audio.
7172	Transcript string `json:"transcript,omitempty"`
7173
7174	// TriggerEvent: If an event was provided as input, this field will
7175	// contain the name of the event.
7176	TriggerEvent string `json:"triggerEvent,omitempty"`
7177
7178	// TriggerIntent: If an intent was provided as input, this field will
7179	// contain a copy of the intent identifier. Format:
7180	// `projects//locations//agents//intents/`.
7181	TriggerIntent string `json:"triggerIntent,omitempty"`
7182
7183	// ForceSendFields is a list of field names (e.g.
7184	// "DetectIntentResponseId") to unconditionally include in API requests.
7185	// By default, fields with empty or default values are omitted from API
7186	// requests. However, any non-pointer, non-interface field appearing in
7187	// ForceSendFields will be sent to the server regardless of whether the
7188	// field is empty or not. This may be used to include empty fields in
7189	// Patch requests.
7190	ForceSendFields []string `json:"-"`
7191
7192	// NullFields is a list of field names (e.g. "DetectIntentResponseId")
7193	// to include in API requests with the JSON null value. By default,
7194	// fields with empty values are omitted from API requests. However, any
7195	// field with an empty value appearing in NullFields will be sent to the
7196	// server as null. It is an error if a field in this list has a
7197	// non-empty value. This may be used to include null fields in Patch
7198	// requests.
7199	NullFields []string `json:"-"`
7200}
7201
7202func (s *GoogleCloudDialogflowCxV3WebhookRequest) MarshalJSON() ([]byte, error) {
7203	type NoMethod GoogleCloudDialogflowCxV3WebhookRequest
7204	raw := NoMethod(*s)
7205	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7206}
7207
7208// GoogleCloudDialogflowCxV3WebhookRequestFulfillmentInfo: Represents
7209// fulfillment information communicated to the webhook.
7210type GoogleCloudDialogflowCxV3WebhookRequestFulfillmentInfo struct {
7211	// Tag: Always present. The tag used to identify which fulfillment is
7212	// being called.
7213	Tag string `json:"tag,omitempty"`
7214
7215	// ForceSendFields is a list of field names (e.g. "Tag") to
7216	// unconditionally include in API requests. By default, fields with
7217	// empty or default values are omitted from API requests. However, any
7218	// non-pointer, non-interface field appearing in ForceSendFields will be
7219	// sent to the server regardless of whether the field is empty or not.
7220	// This may be used to include empty fields in Patch requests.
7221	ForceSendFields []string `json:"-"`
7222
7223	// NullFields is a list of field names (e.g. "Tag") to include in API
7224	// requests with the JSON null value. By default, fields with empty
7225	// values are omitted from API requests. However, any field with an
7226	// empty value appearing in NullFields will be sent to the server as
7227	// null. It is an error if a field in this list has a non-empty value.
7228	// This may be used to include null fields in Patch requests.
7229	NullFields []string `json:"-"`
7230}
7231
7232func (s *GoogleCloudDialogflowCxV3WebhookRequestFulfillmentInfo) MarshalJSON() ([]byte, error) {
7233	type NoMethod GoogleCloudDialogflowCxV3WebhookRequestFulfillmentInfo
7234	raw := NoMethod(*s)
7235	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7236}
7237
7238// GoogleCloudDialogflowCxV3WebhookRequestIntentInfo: Represents intent
7239// information communicated to the webhook.
7240type GoogleCloudDialogflowCxV3WebhookRequestIntentInfo struct {
7241	// Confidence: The confidence of the matched intent. Values range from
7242	// 0.0 (completely uncertain) to 1.0 (completely certain).
7243	Confidence float64 `json:"confidence,omitempty"`
7244
7245	// DisplayName: Always present. The display name of the last matched
7246	// intent.
7247	DisplayName string `json:"displayName,omitempty"`
7248
7249	// LastMatchedIntent: Always present. The unique identifier of the last
7250	// matched intent. Format: `projects//locations//agents//intents/`.
7251	LastMatchedIntent string `json:"lastMatchedIntent,omitempty"`
7252
7253	// Parameters: Parameters identified as a result of intent matching.
7254	// This is a map of the name of the identified parameter to the value of
7255	// the parameter identified from the user's utterance. All parameters
7256	// defined in the matched intent that are identified will be surfaced
7257	// here.
7258	Parameters map[string]GoogleCloudDialogflowCxV3WebhookRequestIntentInfoIntentParameterValue `json:"parameters,omitempty"`
7259
7260	// ForceSendFields is a list of field names (e.g. "Confidence") to
7261	// unconditionally include in API requests. By default, fields with
7262	// empty or default values are omitted from API requests. However, any
7263	// non-pointer, non-interface field appearing in ForceSendFields will be
7264	// sent to the server regardless of whether the field is empty or not.
7265	// This may be used to include empty fields in Patch requests.
7266	ForceSendFields []string `json:"-"`
7267
7268	// NullFields is a list of field names (e.g. "Confidence") to include in
7269	// API requests with the JSON null value. By default, fields with empty
7270	// values are omitted from API requests. However, any field with an
7271	// empty value appearing in NullFields will be sent to the server as
7272	// null. It is an error if a field in this list has a non-empty value.
7273	// This may be used to include null fields in Patch requests.
7274	NullFields []string `json:"-"`
7275}
7276
7277func (s *GoogleCloudDialogflowCxV3WebhookRequestIntentInfo) MarshalJSON() ([]byte, error) {
7278	type NoMethod GoogleCloudDialogflowCxV3WebhookRequestIntentInfo
7279	raw := NoMethod(*s)
7280	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7281}
7282
7283func (s *GoogleCloudDialogflowCxV3WebhookRequestIntentInfo) UnmarshalJSON(data []byte) error {
7284	type NoMethod GoogleCloudDialogflowCxV3WebhookRequestIntentInfo
7285	var s1 struct {
7286		Confidence gensupport.JSONFloat64 `json:"confidence"`
7287		*NoMethod
7288	}
7289	s1.NoMethod = (*NoMethod)(s)
7290	if err := json.Unmarshal(data, &s1); err != nil {
7291		return err
7292	}
7293	s.Confidence = float64(s1.Confidence)
7294	return nil
7295}
7296
7297// GoogleCloudDialogflowCxV3WebhookRequestIntentInfoIntentParameterValue:
7298//  Represents a value for an intent parameter.
7299type GoogleCloudDialogflowCxV3WebhookRequestIntentInfoIntentParameterValue struct {
7300	// OriginalValue: Always present. Original text value extracted from
7301	// user utterance.
7302	OriginalValue string `json:"originalValue,omitempty"`
7303
7304	// ResolvedValue: Always present. Structured value for the parameter
7305	// extracted from user utterance.
7306	ResolvedValue interface{} `json:"resolvedValue,omitempty"`
7307
7308	// ForceSendFields is a list of field names (e.g. "OriginalValue") to
7309	// unconditionally include in API requests. By default, fields with
7310	// empty or default values are omitted from API requests. However, any
7311	// non-pointer, non-interface field appearing in ForceSendFields will be
7312	// sent to the server regardless of whether the field is empty or not.
7313	// This may be used to include empty fields in Patch requests.
7314	ForceSendFields []string `json:"-"`
7315
7316	// NullFields is a list of field names (e.g. "OriginalValue") to include
7317	// in API requests with the JSON null value. By default, fields with
7318	// empty values are omitted from API requests. However, any field with
7319	// an empty value appearing in NullFields will be sent to the server as
7320	// null. It is an error if a field in this list has a non-empty value.
7321	// This may be used to include null fields in Patch requests.
7322	NullFields []string `json:"-"`
7323}
7324
7325func (s *GoogleCloudDialogflowCxV3WebhookRequestIntentInfoIntentParameterValue) MarshalJSON() ([]byte, error) {
7326	type NoMethod GoogleCloudDialogflowCxV3WebhookRequestIntentInfoIntentParameterValue
7327	raw := NoMethod(*s)
7328	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7329}
7330
7331// GoogleCloudDialogflowCxV3WebhookRequestSentimentAnalysisResult:
7332// Represents the result of sentiment analysis.
7333type GoogleCloudDialogflowCxV3WebhookRequestSentimentAnalysisResult struct {
7334	// Magnitude: A non-negative number in the [0, +inf) range, which
7335	// represents the absolute magnitude of sentiment, regardless of score
7336	// (positive or negative).
7337	Magnitude float64 `json:"magnitude,omitempty"`
7338
7339	// Score: Sentiment score between -1.0 (negative sentiment) and 1.0
7340	// (positive sentiment).
7341	Score float64 `json:"score,omitempty"`
7342
7343	// ForceSendFields is a list of field names (e.g. "Magnitude") to
7344	// unconditionally include in API requests. By default, fields with
7345	// empty or default values are omitted from API requests. However, any
7346	// non-pointer, non-interface field appearing in ForceSendFields will be
7347	// sent to the server regardless of whether the field is empty or not.
7348	// This may be used to include empty fields in Patch requests.
7349	ForceSendFields []string `json:"-"`
7350
7351	// NullFields is a list of field names (e.g. "Magnitude") to include in
7352	// API requests with the JSON null value. By default, fields with empty
7353	// values are omitted from API requests. However, any field with an
7354	// empty value appearing in NullFields will be sent to the server as
7355	// null. It is an error if a field in this list has a non-empty value.
7356	// This may be used to include null fields in Patch requests.
7357	NullFields []string `json:"-"`
7358}
7359
7360func (s *GoogleCloudDialogflowCxV3WebhookRequestSentimentAnalysisResult) MarshalJSON() ([]byte, error) {
7361	type NoMethod GoogleCloudDialogflowCxV3WebhookRequestSentimentAnalysisResult
7362	raw := NoMethod(*s)
7363	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7364}
7365
7366func (s *GoogleCloudDialogflowCxV3WebhookRequestSentimentAnalysisResult) UnmarshalJSON(data []byte) error {
7367	type NoMethod GoogleCloudDialogflowCxV3WebhookRequestSentimentAnalysisResult
7368	var s1 struct {
7369		Magnitude gensupport.JSONFloat64 `json:"magnitude"`
7370		Score     gensupport.JSONFloat64 `json:"score"`
7371		*NoMethod
7372	}
7373	s1.NoMethod = (*NoMethod)(s)
7374	if err := json.Unmarshal(data, &s1); err != nil {
7375		return err
7376	}
7377	s.Magnitude = float64(s1.Magnitude)
7378	s.Score = float64(s1.Score)
7379	return nil
7380}
7381
7382// GoogleCloudDialogflowCxV3WebhookResponse: The response message for a
7383// webhook call.
7384type GoogleCloudDialogflowCxV3WebhookResponse struct {
7385	// FulfillmentResponse: The fulfillment response to send to the user.
7386	// This field can be omitted by the webhook if it does not intend to
7387	// send any response to the user.
7388	FulfillmentResponse *GoogleCloudDialogflowCxV3WebhookResponseFulfillmentResponse `json:"fulfillmentResponse,omitempty"`
7389
7390	// PageInfo: Information about page status. This field can be omitted by
7391	// the webhook if it does not intend to modify page status.
7392	PageInfo *GoogleCloudDialogflowCxV3PageInfo `json:"pageInfo,omitempty"`
7393
7394	// Payload: Value to append directly to QueryResult.webhook_payloads.
7395	Payload googleapi.RawMessage `json:"payload,omitempty"`
7396
7397	// SessionInfo: Information about session status. This field can be
7398	// omitted by the webhook if it does not intend to modify session
7399	// status.
7400	SessionInfo *GoogleCloudDialogflowCxV3SessionInfo `json:"sessionInfo,omitempty"`
7401
7402	// TargetFlow: The target flow to transition to. Format:
7403	// `projects//locations//agents//flows/`.
7404	TargetFlow string `json:"targetFlow,omitempty"`
7405
7406	// TargetPage: The target page to transition to. Format:
7407	// `projects//locations//agents//flows//pages/`.
7408	TargetPage string `json:"targetPage,omitempty"`
7409
7410	// ForceSendFields is a list of field names (e.g. "FulfillmentResponse")
7411	// to unconditionally include in API requests. By default, fields with
7412	// empty or default values are omitted from API requests. However, any
7413	// non-pointer, non-interface field appearing in ForceSendFields will be
7414	// sent to the server regardless of whether the field is empty or not.
7415	// This may be used to include empty fields in Patch requests.
7416	ForceSendFields []string `json:"-"`
7417
7418	// NullFields is a list of field names (e.g. "FulfillmentResponse") to
7419	// include in API requests with the JSON null value. By default, fields
7420	// with empty values are omitted from API requests. However, any field
7421	// with an empty value appearing in NullFields will be sent to the
7422	// server as null. It is an error if a field in this list has a
7423	// non-empty value. This may be used to include null fields in Patch
7424	// requests.
7425	NullFields []string `json:"-"`
7426}
7427
7428func (s *GoogleCloudDialogflowCxV3WebhookResponse) MarshalJSON() ([]byte, error) {
7429	type NoMethod GoogleCloudDialogflowCxV3WebhookResponse
7430	raw := NoMethod(*s)
7431	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7432}
7433
7434// GoogleCloudDialogflowCxV3WebhookResponseFulfillmentResponse:
7435// Represents a fulfillment response to the user.
7436type GoogleCloudDialogflowCxV3WebhookResponseFulfillmentResponse struct {
7437	// MergeBehavior: Merge behavior for `messages`.
7438	//
7439	// Possible values:
7440	//   "MERGE_BEHAVIOR_UNSPECIFIED" - Not specified. `APPEND` will be
7441	// used.
7442	//   "APPEND" - `messages` will be appended to the list of messages
7443	// waiting to be sent to the user.
7444	//   "REPLACE" - `messages` will replace the list of messages waiting to
7445	// be sent to the user.
7446	MergeBehavior string `json:"mergeBehavior,omitempty"`
7447
7448	// Messages: The list of rich message responses to present to the user.
7449	Messages []*GoogleCloudDialogflowCxV3ResponseMessage `json:"messages,omitempty"`
7450
7451	// ForceSendFields is a list of field names (e.g. "MergeBehavior") to
7452	// unconditionally include in API requests. By default, fields with
7453	// empty or default values are omitted from API requests. However, any
7454	// non-pointer, non-interface field appearing in ForceSendFields will be
7455	// sent to the server regardless of whether the field is empty or not.
7456	// This may be used to include empty fields in Patch requests.
7457	ForceSendFields []string `json:"-"`
7458
7459	// NullFields is a list of field names (e.g. "MergeBehavior") to include
7460	// in API requests with the JSON null value. By default, fields with
7461	// empty values are omitted from API requests. However, any field with
7462	// an empty value appearing in NullFields will be sent to the server as
7463	// null. It is an error if a field in this list has a non-empty value.
7464	// This may be used to include null fields in Patch requests.
7465	NullFields []string `json:"-"`
7466}
7467
7468func (s *GoogleCloudDialogflowCxV3WebhookResponseFulfillmentResponse) MarshalJSON() ([]byte, error) {
7469	type NoMethod GoogleCloudDialogflowCxV3WebhookResponseFulfillmentResponse
7470	raw := NoMethod(*s)
7471	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7472}
7473
7474// GoogleCloudDialogflowCxV3WebhookServiceDirectoryConfig: Represents
7475// configuration for a Service Directory
7476// (https://cloud.google.com/service-directory) service.
7477type GoogleCloudDialogflowCxV3WebhookServiceDirectoryConfig struct {
7478	// GenericWebService: Generic Service configuration of this webhook.
7479	GenericWebService *GoogleCloudDialogflowCxV3WebhookGenericWebService `json:"genericWebService,omitempty"`
7480
7481	// Service: Required. The name of Service Directory
7482	// (https://cloud.google.com/service-directory) service. Format:
7483	// `projects//locations//namespaces//services/`. `Location ID` of the
7484	// service directory must be the same as the location of the agent.
7485	Service string `json:"service,omitempty"`
7486
7487	// ForceSendFields is a list of field names (e.g. "GenericWebService")
7488	// to unconditionally include in API requests. By default, fields with
7489	// empty or default values are omitted from API requests. However, any
7490	// non-pointer, non-interface field appearing in ForceSendFields will be
7491	// sent to the server regardless of whether the field is empty or not.
7492	// This may be used to include empty fields in Patch requests.
7493	ForceSendFields []string `json:"-"`
7494
7495	// NullFields is a list of field names (e.g. "GenericWebService") to
7496	// include in API requests with the JSON null value. By default, fields
7497	// with empty values are omitted from API requests. However, any field
7498	// with an empty value appearing in NullFields will be sent to the
7499	// server as null. It is an error if a field in this list has a
7500	// non-empty value. This may be used to include null fields in Patch
7501	// requests.
7502	NullFields []string `json:"-"`
7503}
7504
7505func (s *GoogleCloudDialogflowCxV3WebhookServiceDirectoryConfig) MarshalJSON() ([]byte, error) {
7506	type NoMethod GoogleCloudDialogflowCxV3WebhookServiceDirectoryConfig
7507	raw := NoMethod(*s)
7508	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7509}
7510
7511// GoogleCloudDialogflowCxV3beta1AudioInput: Represents the natural
7512// speech audio to be processed.
7513type GoogleCloudDialogflowCxV3beta1AudioInput struct {
7514	// Audio: The natural language speech audio to be processed. A single
7515	// request can contain up to 1 minute of speech audio data. The
7516	// transcribed text cannot contain more than 256 bytes. For
7517	// non-streaming audio detect intent, both `config` and `audio` must be
7518	// provided. For streaming audio detect intent, `config` must be
7519	// provided in the first request and `audio` must be provided in all
7520	// following requests.
7521	Audio string `json:"audio,omitempty"`
7522
7523	// Config: Required. Instructs the speech recognizer how to process the
7524	// speech audio.
7525	Config *GoogleCloudDialogflowCxV3beta1InputAudioConfig `json:"config,omitempty"`
7526
7527	// ForceSendFields is a list of field names (e.g. "Audio") to
7528	// unconditionally include in API requests. By default, fields with
7529	// empty or default values are omitted from API requests. However, any
7530	// non-pointer, non-interface field appearing in ForceSendFields will be
7531	// sent to the server regardless of whether the field is empty or not.
7532	// This may be used to include empty fields in Patch requests.
7533	ForceSendFields []string `json:"-"`
7534
7535	// NullFields is a list of field names (e.g. "Audio") to include in API
7536	// requests with the JSON null value. By default, fields with empty
7537	// values are omitted from API requests. However, any field with an
7538	// empty value appearing in NullFields will be sent to the server as
7539	// null. It is an error if a field in this list has a non-empty value.
7540	// This may be used to include null fields in Patch requests.
7541	NullFields []string `json:"-"`
7542}
7543
7544func (s *GoogleCloudDialogflowCxV3beta1AudioInput) MarshalJSON() ([]byte, error) {
7545	type NoMethod GoogleCloudDialogflowCxV3beta1AudioInput
7546	raw := NoMethod(*s)
7547	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7548}
7549
7550// GoogleCloudDialogflowCxV3beta1BatchRunTestCasesMetadata: Metadata
7551// returned for the TestCases.BatchRunTestCases long running operation.
7552type GoogleCloudDialogflowCxV3beta1BatchRunTestCasesMetadata struct {
7553	// Errors: The test errors.
7554	Errors []*GoogleCloudDialogflowCxV3beta1TestError `json:"errors,omitempty"`
7555
7556	// ForceSendFields is a list of field names (e.g. "Errors") to
7557	// unconditionally include in API requests. By default, fields with
7558	// empty or default values are omitted from API requests. However, any
7559	// non-pointer, non-interface field appearing in ForceSendFields will be
7560	// sent to the server regardless of whether the field is empty or not.
7561	// This may be used to include empty fields in Patch requests.
7562	ForceSendFields []string `json:"-"`
7563
7564	// NullFields is a list of field names (e.g. "Errors") to include in API
7565	// requests with the JSON null value. By default, fields with empty
7566	// values are omitted from API requests. However, any field with an
7567	// empty value appearing in NullFields will be sent to the server as
7568	// null. It is an error if a field in this list has a non-empty value.
7569	// This may be used to include null fields in Patch requests.
7570	NullFields []string `json:"-"`
7571}
7572
7573func (s *GoogleCloudDialogflowCxV3beta1BatchRunTestCasesMetadata) MarshalJSON() ([]byte, error) {
7574	type NoMethod GoogleCloudDialogflowCxV3beta1BatchRunTestCasesMetadata
7575	raw := NoMethod(*s)
7576	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7577}
7578
7579// GoogleCloudDialogflowCxV3beta1BatchRunTestCasesResponse: The response
7580// message for TestCases.BatchRunTestCases.
7581type GoogleCloudDialogflowCxV3beta1BatchRunTestCasesResponse struct {
7582	// Results: The test case results. The detailed conversation turns are
7583	// empty in this response.
7584	Results []*GoogleCloudDialogflowCxV3beta1TestCaseResult `json:"results,omitempty"`
7585
7586	// ForceSendFields is a list of field names (e.g. "Results") to
7587	// unconditionally include in API requests. By default, fields with
7588	// empty or default values are omitted from API requests. However, any
7589	// non-pointer, non-interface field appearing in ForceSendFields will be
7590	// sent to the server regardless of whether the field is empty or not.
7591	// This may be used to include empty fields in Patch requests.
7592	ForceSendFields []string `json:"-"`
7593
7594	// NullFields is a list of field names (e.g. "Results") to include in
7595	// API requests with the JSON null value. By default, fields with empty
7596	// values are omitted from API requests. However, any field with an
7597	// empty value appearing in NullFields will be sent to the server as
7598	// null. It is an error if a field in this list has a non-empty value.
7599	// This may be used to include null fields in Patch requests.
7600	NullFields []string `json:"-"`
7601}
7602
7603func (s *GoogleCloudDialogflowCxV3beta1BatchRunTestCasesResponse) MarshalJSON() ([]byte, error) {
7604	type NoMethod GoogleCloudDialogflowCxV3beta1BatchRunTestCasesResponse
7605	raw := NoMethod(*s)
7606	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7607}
7608
7609// GoogleCloudDialogflowCxV3beta1ContinuousTestResult: Represents a
7610// result from running a test case in an agent environment.
7611type GoogleCloudDialogflowCxV3beta1ContinuousTestResult struct {
7612	// Name: The resource name for the continuous test result. Format:
7613	// `projects//locations//agents//environments//continuousTestResults/`.
7614	Name string `json:"name,omitempty"`
7615
7616	// Result: The result of this continuous test run, i.e. whether all the
7617	// tests in this continuous test run pass or not.
7618	//
7619	// Possible values:
7620	//   "AGGREGATED_TEST_RESULT_UNSPECIFIED" - Not specified. Should never
7621	// be used.
7622	//   "PASSED" - All the tests passed.
7623	//   "FAILED" - At least one test did not pass.
7624	Result string `json:"result,omitempty"`
7625
7626	// RunTime: Time when the continuous testing run starts.
7627	RunTime string `json:"runTime,omitempty"`
7628
7629	// TestCaseResults: A list of individual test case results names in this
7630	// continuous test run.
7631	TestCaseResults []string `json:"testCaseResults,omitempty"`
7632
7633	// ForceSendFields is a list of field names (e.g. "Name") to
7634	// unconditionally include in API requests. By default, fields with
7635	// empty or default values are omitted from API requests. However, any
7636	// non-pointer, non-interface field appearing in ForceSendFields will be
7637	// sent to the server regardless of whether the field is empty or not.
7638	// This may be used to include empty fields in Patch requests.
7639	ForceSendFields []string `json:"-"`
7640
7641	// NullFields is a list of field names (e.g. "Name") to include in API
7642	// requests with the JSON null value. By default, fields with empty
7643	// values are omitted from API requests. However, any field with an
7644	// empty value appearing in NullFields will be sent to the server as
7645	// null. It is an error if a field in this list has a non-empty value.
7646	// This may be used to include null fields in Patch requests.
7647	NullFields []string `json:"-"`
7648}
7649
7650func (s *GoogleCloudDialogflowCxV3beta1ContinuousTestResult) MarshalJSON() ([]byte, error) {
7651	type NoMethod GoogleCloudDialogflowCxV3beta1ContinuousTestResult
7652	raw := NoMethod(*s)
7653	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7654}
7655
7656// GoogleCloudDialogflowCxV3beta1ConversationTurn: One interaction
7657// between a human and virtual agent. The human provides some input and
7658// the virtual agent provides a response.
7659type GoogleCloudDialogflowCxV3beta1ConversationTurn struct {
7660	// UserInput: The user input.
7661	UserInput *GoogleCloudDialogflowCxV3beta1ConversationTurnUserInput `json:"userInput,omitempty"`
7662
7663	// VirtualAgentOutput: The virtual agent output.
7664	VirtualAgentOutput *GoogleCloudDialogflowCxV3beta1ConversationTurnVirtualAgentOutput `json:"virtualAgentOutput,omitempty"`
7665
7666	// ForceSendFields is a list of field names (e.g. "UserInput") to
7667	// unconditionally include in API requests. By default, fields with
7668	// empty or default values are omitted from API requests. However, any
7669	// non-pointer, non-interface field appearing in ForceSendFields will be
7670	// sent to the server regardless of whether the field is empty or not.
7671	// This may be used to include empty fields in Patch requests.
7672	ForceSendFields []string `json:"-"`
7673
7674	// NullFields is a list of field names (e.g. "UserInput") to include in
7675	// API requests with the JSON null value. By default, fields with empty
7676	// values are omitted from API requests. However, any field with an
7677	// empty value appearing in NullFields will be sent to the server as
7678	// null. It is an error if a field in this list has a non-empty value.
7679	// This may be used to include null fields in Patch requests.
7680	NullFields []string `json:"-"`
7681}
7682
7683func (s *GoogleCloudDialogflowCxV3beta1ConversationTurn) MarshalJSON() ([]byte, error) {
7684	type NoMethod GoogleCloudDialogflowCxV3beta1ConversationTurn
7685	raw := NoMethod(*s)
7686	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7687}
7688
7689// GoogleCloudDialogflowCxV3beta1ConversationTurnUserInput: The input
7690// from the human user.
7691type GoogleCloudDialogflowCxV3beta1ConversationTurnUserInput struct {
7692	// EnableSentimentAnalysis: Whether sentiment analysis is enabled.
7693	EnableSentimentAnalysis bool `json:"enableSentimentAnalysis,omitempty"`
7694
7695	// InjectedParameters: Parameters that need to be injected into the
7696	// conversation during intent detection.
7697	InjectedParameters googleapi.RawMessage `json:"injectedParameters,omitempty"`
7698
7699	// Input: Supports text input, event input, dtmf input in the test case.
7700	Input *GoogleCloudDialogflowCxV3beta1QueryInput `json:"input,omitempty"`
7701
7702	// IsWebhookEnabled: If webhooks should be allowed to trigger in
7703	// response to the user utterance. Often if parameters are injected,
7704	// webhooks should not be enabled.
7705	IsWebhookEnabled bool `json:"isWebhookEnabled,omitempty"`
7706
7707	// ForceSendFields is a list of field names (e.g.
7708	// "EnableSentimentAnalysis") to unconditionally include in API
7709	// requests. By default, fields with empty or default values are omitted
7710	// from API requests. However, any non-pointer, non-interface field
7711	// appearing in ForceSendFields will be sent to the server regardless of
7712	// whether the field is empty or not. This may be used to include empty
7713	// fields in Patch requests.
7714	ForceSendFields []string `json:"-"`
7715
7716	// NullFields is a list of field names (e.g. "EnableSentimentAnalysis")
7717	// to include in API requests with the JSON null value. By default,
7718	// fields with empty values are omitted from API requests. However, any
7719	// field with an empty value appearing in NullFields will be sent to the
7720	// server as null. It is an error if a field in this list has a
7721	// non-empty value. This may be used to include null fields in Patch
7722	// requests.
7723	NullFields []string `json:"-"`
7724}
7725
7726func (s *GoogleCloudDialogflowCxV3beta1ConversationTurnUserInput) MarshalJSON() ([]byte, error) {
7727	type NoMethod GoogleCloudDialogflowCxV3beta1ConversationTurnUserInput
7728	raw := NoMethod(*s)
7729	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7730}
7731
7732// GoogleCloudDialogflowCxV3beta1ConversationTurnVirtualAgentOutput: The
7733// output from the virtual agent.
7734type GoogleCloudDialogflowCxV3beta1ConversationTurnVirtualAgentOutput struct {
7735	// CurrentPage: The Page on which the utterance was spoken. Only name
7736	// and displayName will be set.
7737	CurrentPage *GoogleCloudDialogflowCxV3beta1Page `json:"currentPage,omitempty"`
7738
7739	// DiagnosticInfo: Required. Input only. The diagnostic info output for
7740	// the turn.
7741	DiagnosticInfo googleapi.RawMessage `json:"diagnosticInfo,omitempty"`
7742
7743	// Differences: Output only. If this is part of a result conversation
7744	// turn, the list of differences between the original run and the replay
7745	// for this output, if any.
7746	Differences []*GoogleCloudDialogflowCxV3beta1TestRunDifference `json:"differences,omitempty"`
7747
7748	// SessionParameters: The session parameters available to the bot at
7749	// this point.
7750	SessionParameters googleapi.RawMessage `json:"sessionParameters,omitempty"`
7751
7752	// Status: Response error from the agent in the test result. If set,
7753	// other output is empty.
7754	Status *GoogleRpcStatus `json:"status,omitempty"`
7755
7756	// TextResponses: The text responses from the agent for the turn.
7757	TextResponses []*GoogleCloudDialogflowCxV3beta1ResponseMessageText `json:"textResponses,omitempty"`
7758
7759	// TriggeredIntent: The Intent that triggered the response. Only name
7760	// and displayName will be set.
7761	TriggeredIntent *GoogleCloudDialogflowCxV3beta1Intent `json:"triggeredIntent,omitempty"`
7762
7763	// ForceSendFields is a list of field names (e.g. "CurrentPage") to
7764	// unconditionally include in API requests. By default, fields with
7765	// empty or default values are omitted from API requests. However, any
7766	// non-pointer, non-interface field appearing in ForceSendFields will be
7767	// sent to the server regardless of whether the field is empty or not.
7768	// This may be used to include empty fields in Patch requests.
7769	ForceSendFields []string `json:"-"`
7770
7771	// NullFields is a list of field names (e.g. "CurrentPage") to include
7772	// in API requests with the JSON null value. By default, fields with
7773	// empty values are omitted from API requests. However, any field with
7774	// an empty value appearing in NullFields will be sent to the server as
7775	// null. It is an error if a field in this list has a non-empty value.
7776	// This may be used to include null fields in Patch requests.
7777	NullFields []string `json:"-"`
7778}
7779
7780func (s *GoogleCloudDialogflowCxV3beta1ConversationTurnVirtualAgentOutput) MarshalJSON() ([]byte, error) {
7781	type NoMethod GoogleCloudDialogflowCxV3beta1ConversationTurnVirtualAgentOutput
7782	raw := NoMethod(*s)
7783	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7784}
7785
7786// GoogleCloudDialogflowCxV3beta1CreateDocumentOperationMetadata:
7787// Metadata for CreateDocument operation.
7788type GoogleCloudDialogflowCxV3beta1CreateDocumentOperationMetadata struct {
7789	// GenericMetadata: The generic information of the operation.
7790	GenericMetadata *GoogleCloudDialogflowCxV3beta1GenericKnowledgeOperationMetadata `json:"genericMetadata,omitempty"`
7791
7792	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
7793	// unconditionally include in API requests. By default, fields with
7794	// empty or default values are omitted from API requests. However, any
7795	// non-pointer, non-interface field appearing in ForceSendFields will be
7796	// sent to the server regardless of whether the field is empty or not.
7797	// This may be used to include empty fields in Patch requests.
7798	ForceSendFields []string `json:"-"`
7799
7800	// NullFields is a list of field names (e.g. "GenericMetadata") to
7801	// include in API requests with the JSON null value. By default, fields
7802	// with empty values are omitted from API requests. However, any field
7803	// with an empty value appearing in NullFields will be sent to the
7804	// server as null. It is an error if a field in this list has a
7805	// non-empty value. This may be used to include null fields in Patch
7806	// requests.
7807	NullFields []string `json:"-"`
7808}
7809
7810func (s *GoogleCloudDialogflowCxV3beta1CreateDocumentOperationMetadata) MarshalJSON() ([]byte, error) {
7811	type NoMethod GoogleCloudDialogflowCxV3beta1CreateDocumentOperationMetadata
7812	raw := NoMethod(*s)
7813	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7814}
7815
7816// GoogleCloudDialogflowCxV3beta1CreateVersionOperationMetadata:
7817// Metadata associated with the long running operation for
7818// Versions.CreateVersion.
7819type GoogleCloudDialogflowCxV3beta1CreateVersionOperationMetadata struct {
7820	// Version: Name of the created version. Format:
7821	// `projects//locations//agents//flows//versions/`.
7822	Version string `json:"version,omitempty"`
7823
7824	// ForceSendFields is a list of field names (e.g. "Version") to
7825	// unconditionally include in API requests. By default, fields with
7826	// empty or default values are omitted from API requests. However, any
7827	// non-pointer, non-interface field appearing in ForceSendFields will be
7828	// sent to the server regardless of whether the field is empty or not.
7829	// This may be used to include empty fields in Patch requests.
7830	ForceSendFields []string `json:"-"`
7831
7832	// NullFields is a list of field names (e.g. "Version") to include in
7833	// API requests with the JSON null value. By default, fields with empty
7834	// values are omitted from API requests. However, any field with an
7835	// empty value appearing in NullFields will be sent to the server as
7836	// null. It is an error if a field in this list has a non-empty value.
7837	// This may be used to include null fields in Patch requests.
7838	NullFields []string `json:"-"`
7839}
7840
7841func (s *GoogleCloudDialogflowCxV3beta1CreateVersionOperationMetadata) MarshalJSON() ([]byte, error) {
7842	type NoMethod GoogleCloudDialogflowCxV3beta1CreateVersionOperationMetadata
7843	raw := NoMethod(*s)
7844	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7845}
7846
7847// GoogleCloudDialogflowCxV3beta1DeleteDocumentOperationMetadata:
7848// Metadata for DeleteDocument operation.
7849type GoogleCloudDialogflowCxV3beta1DeleteDocumentOperationMetadata struct {
7850	// GenericMetadata: The generic information of the operation.
7851	GenericMetadata *GoogleCloudDialogflowCxV3beta1GenericKnowledgeOperationMetadata `json:"genericMetadata,omitempty"`
7852
7853	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
7854	// unconditionally include in API requests. By default, fields with
7855	// empty or default values are omitted from API requests. However, any
7856	// non-pointer, non-interface field appearing in ForceSendFields will be
7857	// sent to the server regardless of whether the field is empty or not.
7858	// This may be used to include empty fields in Patch requests.
7859	ForceSendFields []string `json:"-"`
7860
7861	// NullFields is a list of field names (e.g. "GenericMetadata") to
7862	// include in API requests with the JSON null value. By default, fields
7863	// with empty values are omitted from API requests. However, any field
7864	// with an empty value appearing in NullFields will be sent to the
7865	// server as null. It is an error if a field in this list has a
7866	// non-empty value. This may be used to include null fields in Patch
7867	// requests.
7868	NullFields []string `json:"-"`
7869}
7870
7871func (s *GoogleCloudDialogflowCxV3beta1DeleteDocumentOperationMetadata) MarshalJSON() ([]byte, error) {
7872	type NoMethod GoogleCloudDialogflowCxV3beta1DeleteDocumentOperationMetadata
7873	raw := NoMethod(*s)
7874	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7875}
7876
7877// GoogleCloudDialogflowCxV3beta1DtmfInput: Represents the input for
7878// dtmf event.
7879type GoogleCloudDialogflowCxV3beta1DtmfInput struct {
7880	// Digits: The dtmf digits.
7881	Digits string `json:"digits,omitempty"`
7882
7883	// FinishDigit: The finish digit (if any).
7884	FinishDigit string `json:"finishDigit,omitempty"`
7885
7886	// ForceSendFields is a list of field names (e.g. "Digits") to
7887	// unconditionally include in API requests. By default, fields with
7888	// empty or default values are omitted from API requests. However, any
7889	// non-pointer, non-interface field appearing in ForceSendFields will be
7890	// sent to the server regardless of whether the field is empty or not.
7891	// This may be used to include empty fields in Patch requests.
7892	ForceSendFields []string `json:"-"`
7893
7894	// NullFields is a list of field names (e.g. "Digits") to include in API
7895	// requests with the JSON null value. By default, fields with empty
7896	// values are omitted from API requests. However, any field with an
7897	// empty value appearing in NullFields will be sent to the server as
7898	// null. It is an error if a field in this list has a non-empty value.
7899	// This may be used to include null fields in Patch requests.
7900	NullFields []string `json:"-"`
7901}
7902
7903func (s *GoogleCloudDialogflowCxV3beta1DtmfInput) MarshalJSON() ([]byte, error) {
7904	type NoMethod GoogleCloudDialogflowCxV3beta1DtmfInput
7905	raw := NoMethod(*s)
7906	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7907}
7908
7909// GoogleCloudDialogflowCxV3beta1EventHandler: An event handler
7910// specifies an event that can be handled during a session. When the
7911// specified event happens, the following actions are taken in order: *
7912// If there is a `trigger_fulfillment` associated with the event, it
7913// will be called. * If there is a `target_page` associated with the
7914// event, the session will transition into the specified page. * If
7915// there is a `target_flow` associated with the event, the session will
7916// transition into the specified flow.
7917type GoogleCloudDialogflowCxV3beta1EventHandler struct {
7918	// Event: Required. The name of the event to handle.
7919	Event string `json:"event,omitempty"`
7920
7921	// Name: Output only. The unique identifier of this event handler.
7922	Name string `json:"name,omitempty"`
7923
7924	// TargetFlow: The target flow to transition to. Format:
7925	// `projects//locations//agents//flows/`.
7926	TargetFlow string `json:"targetFlow,omitempty"`
7927
7928	// TargetPage: The target page to transition to. Format:
7929	// `projects//locations//agents//flows//pages/`.
7930	TargetPage string `json:"targetPage,omitempty"`
7931
7932	// TriggerFulfillment: The fulfillment to call when the event occurs.
7933	// Handling webhook errors with a fulfillment enabled with webhook could
7934	// cause infinite loop. It is invalid to specify such fulfillment for a
7935	// handler handling webhooks.
7936	TriggerFulfillment *GoogleCloudDialogflowCxV3beta1Fulfillment `json:"triggerFulfillment,omitempty"`
7937
7938	// ForceSendFields is a list of field names (e.g. "Event") to
7939	// unconditionally include in API requests. By default, fields with
7940	// empty or default values are omitted from API requests. However, any
7941	// non-pointer, non-interface field appearing in ForceSendFields will be
7942	// sent to the server regardless of whether the field is empty or not.
7943	// This may be used to include empty fields in Patch requests.
7944	ForceSendFields []string `json:"-"`
7945
7946	// NullFields is a list of field names (e.g. "Event") to include in API
7947	// requests with the JSON null value. By default, fields with empty
7948	// values are omitted from API requests. However, any field with an
7949	// empty value appearing in NullFields will be sent to the server as
7950	// null. It is an error if a field in this list has a non-empty value.
7951	// This may be used to include null fields in Patch requests.
7952	NullFields []string `json:"-"`
7953}
7954
7955func (s *GoogleCloudDialogflowCxV3beta1EventHandler) MarshalJSON() ([]byte, error) {
7956	type NoMethod GoogleCloudDialogflowCxV3beta1EventHandler
7957	raw := NoMethod(*s)
7958	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7959}
7960
7961// GoogleCloudDialogflowCxV3beta1EventInput: Represents the event to
7962// trigger.
7963type GoogleCloudDialogflowCxV3beta1EventInput struct {
7964	// Event: Name of the event.
7965	Event string `json:"event,omitempty"`
7966
7967	// ForceSendFields is a list of field names (e.g. "Event") to
7968	// unconditionally include in API requests. By default, fields with
7969	// empty or default values are omitted from API requests. However, any
7970	// non-pointer, non-interface field appearing in ForceSendFields will be
7971	// sent to the server regardless of whether the field is empty or not.
7972	// This may be used to include empty fields in Patch requests.
7973	ForceSendFields []string `json:"-"`
7974
7975	// NullFields is a list of field names (e.g. "Event") to include in API
7976	// requests with the JSON null value. By default, fields with empty
7977	// values are omitted from API requests. However, any field with an
7978	// empty value appearing in NullFields will be sent to the server as
7979	// null. It is an error if a field in this list has a non-empty value.
7980	// This may be used to include null fields in Patch requests.
7981	NullFields []string `json:"-"`
7982}
7983
7984func (s *GoogleCloudDialogflowCxV3beta1EventInput) MarshalJSON() ([]byte, error) {
7985	type NoMethod GoogleCloudDialogflowCxV3beta1EventInput
7986	raw := NoMethod(*s)
7987	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7988}
7989
7990// GoogleCloudDialogflowCxV3beta1ExportAgentResponse: The response
7991// message for Agents.ExportAgent.
7992type GoogleCloudDialogflowCxV3beta1ExportAgentResponse struct {
7993	// AgentContent: Uncompressed raw byte content for agent.
7994	AgentContent string `json:"agentContent,omitempty"`
7995
7996	// AgentUri: The URI to a file containing the exported agent. This field
7997	// is populated only if `agent_uri` is specified in ExportAgentRequest.
7998	AgentUri string `json:"agentUri,omitempty"`
7999
8000	// ForceSendFields is a list of field names (e.g. "AgentContent") to
8001	// unconditionally include in API requests. By default, fields with
8002	// empty or default values are omitted from API requests. However, any
8003	// non-pointer, non-interface field appearing in ForceSendFields will be
8004	// sent to the server regardless of whether the field is empty or not.
8005	// This may be used to include empty fields in Patch requests.
8006	ForceSendFields []string `json:"-"`
8007
8008	// NullFields is a list of field names (e.g. "AgentContent") to include
8009	// in API requests with the JSON null value. By default, fields with
8010	// empty values are omitted from API requests. However, any field with
8011	// an empty value appearing in NullFields will be sent to the server as
8012	// null. It is an error if a field in this list has a non-empty value.
8013	// This may be used to include null fields in Patch requests.
8014	NullFields []string `json:"-"`
8015}
8016
8017func (s *GoogleCloudDialogflowCxV3beta1ExportAgentResponse) MarshalJSON() ([]byte, error) {
8018	type NoMethod GoogleCloudDialogflowCxV3beta1ExportAgentResponse
8019	raw := NoMethod(*s)
8020	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8021}
8022
8023// GoogleCloudDialogflowCxV3beta1ExportFlowResponse: The response
8024// message for Flows.ExportFlow.
8025type GoogleCloudDialogflowCxV3beta1ExportFlowResponse struct {
8026	// FlowContent: Uncompressed raw byte content for flow.
8027	FlowContent string `json:"flowContent,omitempty"`
8028
8029	// FlowUri: The URI to a file containing the exported flow. This field
8030	// is populated only if `flow_uri` is specified in ExportFlowRequest.
8031	FlowUri string `json:"flowUri,omitempty"`
8032
8033	// ForceSendFields is a list of field names (e.g. "FlowContent") to
8034	// unconditionally include in API requests. By default, fields with
8035	// empty or default values are omitted from API requests. However, any
8036	// non-pointer, non-interface field appearing in ForceSendFields will be
8037	// sent to the server regardless of whether the field is empty or not.
8038	// This may be used to include empty fields in Patch requests.
8039	ForceSendFields []string `json:"-"`
8040
8041	// NullFields is a list of field names (e.g. "FlowContent") to include
8042	// in API requests with the JSON null value. By default, fields with
8043	// empty values are omitted from API requests. However, any field with
8044	// an empty value appearing in NullFields will be sent to the server as
8045	// null. It is an error if a field in this list has a non-empty value.
8046	// This may be used to include null fields in Patch requests.
8047	NullFields []string `json:"-"`
8048}
8049
8050func (s *GoogleCloudDialogflowCxV3beta1ExportFlowResponse) MarshalJSON() ([]byte, error) {
8051	type NoMethod GoogleCloudDialogflowCxV3beta1ExportFlowResponse
8052	raw := NoMethod(*s)
8053	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8054}
8055
8056// GoogleCloudDialogflowCxV3beta1ExportTestCasesMetadata: Metadata
8057// returned for the TestCases.ExportTestCases long running operation.
8058type GoogleCloudDialogflowCxV3beta1ExportTestCasesMetadata struct {
8059}
8060
8061// GoogleCloudDialogflowCxV3beta1ExportTestCasesResponse: The response
8062// message for TestCases.ExportTestCases.
8063type GoogleCloudDialogflowCxV3beta1ExportTestCasesResponse struct {
8064	// Content: Uncompressed raw byte content for test cases.
8065	Content string `json:"content,omitempty"`
8066
8067	// GcsUri: The URI to a file containing the exported test cases. This
8068	// field is populated only if `gcs_uri` is specified in
8069	// ExportTestCasesRequest.
8070	GcsUri string `json:"gcsUri,omitempty"`
8071
8072	// ForceSendFields is a list of field names (e.g. "Content") to
8073	// unconditionally include in API requests. By default, fields with
8074	// empty or default values are omitted from API requests. However, any
8075	// non-pointer, non-interface field appearing in ForceSendFields will be
8076	// sent to the server regardless of whether the field is empty or not.
8077	// This may be used to include empty fields in Patch requests.
8078	ForceSendFields []string `json:"-"`
8079
8080	// NullFields is a list of field names (e.g. "Content") to include in
8081	// API requests with the JSON null value. By default, fields with empty
8082	// values are omitted from API requests. However, any field with an
8083	// empty value appearing in NullFields will be sent to the server as
8084	// null. It is an error if a field in this list has a non-empty value.
8085	// This may be used to include null fields in Patch requests.
8086	NullFields []string `json:"-"`
8087}
8088
8089func (s *GoogleCloudDialogflowCxV3beta1ExportTestCasesResponse) MarshalJSON() ([]byte, error) {
8090	type NoMethod GoogleCloudDialogflowCxV3beta1ExportTestCasesResponse
8091	raw := NoMethod(*s)
8092	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8093}
8094
8095// GoogleCloudDialogflowCxV3beta1Form: A form is a data model that
8096// groups related parameters that can be collected from the user. The
8097// process in which the agent prompts the user and collects parameter
8098// values from the user is called form filling. A form can be added to a
8099// page. When form filling is done, the filled parameters will be
8100// written to the session.
8101type GoogleCloudDialogflowCxV3beta1Form struct {
8102	// Parameters: Parameters to collect from the user.
8103	Parameters []*GoogleCloudDialogflowCxV3beta1FormParameter `json:"parameters,omitempty"`
8104
8105	// ForceSendFields is a list of field names (e.g. "Parameters") to
8106	// unconditionally include in API requests. By default, fields with
8107	// empty or default values are omitted from API requests. However, any
8108	// non-pointer, non-interface field appearing in ForceSendFields will be
8109	// sent to the server regardless of whether the field is empty or not.
8110	// This may be used to include empty fields in Patch requests.
8111	ForceSendFields []string `json:"-"`
8112
8113	// NullFields is a list of field names (e.g. "Parameters") to include in
8114	// API requests with the JSON null value. By default, fields with empty
8115	// values are omitted from API requests. However, any field with an
8116	// empty value appearing in NullFields will be sent to the server as
8117	// null. It is an error if a field in this list has a non-empty value.
8118	// This may be used to include null fields in Patch requests.
8119	NullFields []string `json:"-"`
8120}
8121
8122func (s *GoogleCloudDialogflowCxV3beta1Form) MarshalJSON() ([]byte, error) {
8123	type NoMethod GoogleCloudDialogflowCxV3beta1Form
8124	raw := NoMethod(*s)
8125	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8126}
8127
8128// GoogleCloudDialogflowCxV3beta1FormParameter: Represents a form
8129// parameter.
8130type GoogleCloudDialogflowCxV3beta1FormParameter struct {
8131	// DefaultValue: The default value of an optional parameter. If the
8132	// parameter is required, the default value will be ignored.
8133	DefaultValue interface{} `json:"defaultValue,omitempty"`
8134
8135	// DisplayName: Required. The human-readable name of the parameter,
8136	// unique within the form.
8137	DisplayName string `json:"displayName,omitempty"`
8138
8139	// EntityType: Required. The entity type of the parameter. Format:
8140	// `projects/-/locations/-/agents/-/entityTypes/` for system entity
8141	// types (for example,
8142	// `projects/-/locations/-/agents/-/entityTypes/sys.date`), or
8143	// `projects//locations//agents//entityTypes/` for developer entity
8144	// types.
8145	EntityType string `json:"entityType,omitempty"`
8146
8147	// FillBehavior: Required. Defines fill behavior for the parameter.
8148	FillBehavior *GoogleCloudDialogflowCxV3beta1FormParameterFillBehavior `json:"fillBehavior,omitempty"`
8149
8150	// IsList: Indicates whether the parameter represents a list of values.
8151	IsList bool `json:"isList,omitempty"`
8152
8153	// Redact: Indicates whether the parameter content should be redacted in
8154	// log. If redaction is enabled, the parameter content will be replaced
8155	// by parameter name during logging. Note: the parameter content is
8156	// subject to redaction if either parameter level redaction or entity
8157	// type level redaction is enabled.
8158	Redact bool `json:"redact,omitempty"`
8159
8160	// Required: Indicates whether the parameter is required. Optional
8161	// parameters will not trigger prompts; however, they are filled if the
8162	// user specifies them. Required parameters must be filled before form
8163	// filling concludes.
8164	Required bool `json:"required,omitempty"`
8165
8166	// ForceSendFields is a list of field names (e.g. "DefaultValue") to
8167	// unconditionally include in API requests. By default, fields with
8168	// empty or default values are omitted from API requests. However, any
8169	// non-pointer, non-interface field appearing in ForceSendFields will be
8170	// sent to the server regardless of whether the field is empty or not.
8171	// This may be used to include empty fields in Patch requests.
8172	ForceSendFields []string `json:"-"`
8173
8174	// NullFields is a list of field names (e.g. "DefaultValue") to include
8175	// in API requests with the JSON null value. By default, fields with
8176	// empty values are omitted from API requests. However, any field with
8177	// an empty value appearing in NullFields will be sent to the server as
8178	// null. It is an error if a field in this list has a non-empty value.
8179	// This may be used to include null fields in Patch requests.
8180	NullFields []string `json:"-"`
8181}
8182
8183func (s *GoogleCloudDialogflowCxV3beta1FormParameter) MarshalJSON() ([]byte, error) {
8184	type NoMethod GoogleCloudDialogflowCxV3beta1FormParameter
8185	raw := NoMethod(*s)
8186	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8187}
8188
8189// GoogleCloudDialogflowCxV3beta1FormParameterFillBehavior:
8190// Configuration for how the filling of a parameter should be handled.
8191type GoogleCloudDialogflowCxV3beta1FormParameterFillBehavior struct {
8192	// InitialPromptFulfillment: Required. The fulfillment to provide the
8193	// initial prompt that the agent can present to the user in order to
8194	// fill the parameter.
8195	InitialPromptFulfillment *GoogleCloudDialogflowCxV3beta1Fulfillment `json:"initialPromptFulfillment,omitempty"`
8196
8197	// RepromptEventHandlers: The handlers for parameter-level events, used
8198	// to provide reprompt for the parameter or transition to a different
8199	// page/flow. The supported events are: * `sys.no-match-`, where N can
8200	// be from 1 to 6 * `sys.no-match-default` * `sys.no-input-`, where N
8201	// can be from 1 to 6 * `sys.no-input-default` * `sys.invalid-parameter`
8202	// `initial_prompt_fulfillment` provides the first prompt for the
8203	// parameter. If the user's response does not fill the parameter, a
8204	// no-match/no-input event will be triggered, and the fulfillment
8205	// associated with the `sys.no-match-1`/`sys.no-input-1` handler (if
8206	// defined) will be called to provide a prompt. The
8207	// `sys.no-match-2`/`sys.no-input-2` handler (if defined) will respond
8208	// to the next no-match/no-input event, and so on. A
8209	// `sys.no-match-default` or `sys.no-input-default` handler will be used
8210	// to handle all following no-match/no-input events after all numbered
8211	// no-match/no-input handlers for the parameter are consumed. A
8212	// `sys.invalid-parameter` handler can be defined to handle the case
8213	// where the parameter values have been `invalidated` by webhook. For
8214	// example, if the user's response fill the parameter, however the
8215	// parameter was invalidated by webhook, the fulfillment associated with
8216	// the `sys.invalid-parameter` handler (if defined) will be called to
8217	// provide a prompt. If the event handler for the corresponding event
8218	// can't be found on the parameter, `initial_prompt_fulfillment` will be
8219	// re-prompted.
8220	RepromptEventHandlers []*GoogleCloudDialogflowCxV3beta1EventHandler `json:"repromptEventHandlers,omitempty"`
8221
8222	// ForceSendFields is a list of field names (e.g.
8223	// "InitialPromptFulfillment") to unconditionally include in API
8224	// requests. By default, fields with empty or default values are omitted
8225	// from API requests. However, any non-pointer, non-interface field
8226	// appearing in ForceSendFields will be sent to the server regardless of
8227	// whether the field is empty or not. This may be used to include empty
8228	// fields in Patch requests.
8229	ForceSendFields []string `json:"-"`
8230
8231	// NullFields is a list of field names (e.g. "InitialPromptFulfillment")
8232	// to include in API requests with the JSON null value. By default,
8233	// fields with empty values are omitted from API requests. However, any
8234	// field with an empty value appearing in NullFields will be sent to the
8235	// server as null. It is an error if a field in this list has a
8236	// non-empty value. This may be used to include null fields in Patch
8237	// requests.
8238	NullFields []string `json:"-"`
8239}
8240
8241func (s *GoogleCloudDialogflowCxV3beta1FormParameterFillBehavior) MarshalJSON() ([]byte, error) {
8242	type NoMethod GoogleCloudDialogflowCxV3beta1FormParameterFillBehavior
8243	raw := NoMethod(*s)
8244	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8245}
8246
8247// GoogleCloudDialogflowCxV3beta1Fulfillment: A fulfillment can do one
8248// or more of the following actions at the same time: * Generate rich
8249// message responses. * Set parameter values. * Call the webhook.
8250// Fulfillments can be called at various stages in the Page or Form
8251// lifecycle. For example, when a DetectIntentRequest drives a session
8252// to enter a new page, the page's entry fulfillment can add a static
8253// response to the QueryResult in the returning DetectIntentResponse,
8254// call the webhook (for example, to load user data from a database), or
8255// both.
8256type GoogleCloudDialogflowCxV3beta1Fulfillment struct {
8257	// ConditionalCases: Conditional cases for this fulfillment.
8258	ConditionalCases []*GoogleCloudDialogflowCxV3beta1FulfillmentConditionalCases `json:"conditionalCases,omitempty"`
8259
8260	// Messages: The list of rich message responses to present to the user.
8261	Messages []*GoogleCloudDialogflowCxV3beta1ResponseMessage `json:"messages,omitempty"`
8262
8263	// ReturnPartialResponses: Whether Dialogflow should return currently
8264	// queued fulfillment response messages in streaming APIs. If a webhook
8265	// is specified, it happens before Dialogflow invokes webhook. Warning:
8266	// 1) This flag only affects streaming API. Responses are still queued
8267	// and returned once in non-streaming API. 2) The flag can be enabled in
8268	// any fulfillment but only the first 3 partial responses will be
8269	// returned. You may only want to apply it to fulfillments that have
8270	// slow webhooks.
8271	ReturnPartialResponses bool `json:"returnPartialResponses,omitempty"`
8272
8273	// SetParameterActions: Set parameter values before executing the
8274	// webhook.
8275	SetParameterActions []*GoogleCloudDialogflowCxV3beta1FulfillmentSetParameterAction `json:"setParameterActions,omitempty"`
8276
8277	// Tag: The tag used by the webhook to identify which fulfillment is
8278	// being called. This field is required if `webhook` is specified.
8279	Tag string `json:"tag,omitempty"`
8280
8281	// Webhook: The webhook to call. Format:
8282	// `projects//locations//agents//webhooks/`.
8283	Webhook string `json:"webhook,omitempty"`
8284
8285	// ForceSendFields is a list of field names (e.g. "ConditionalCases") to
8286	// unconditionally include in API requests. By default, fields with
8287	// empty or default values are omitted from API requests. However, any
8288	// non-pointer, non-interface field appearing in ForceSendFields will be
8289	// sent to the server regardless of whether the field is empty or not.
8290	// This may be used to include empty fields in Patch requests.
8291	ForceSendFields []string `json:"-"`
8292
8293	// NullFields is a list of field names (e.g. "ConditionalCases") to
8294	// include in API requests with the JSON null value. By default, fields
8295	// with empty values are omitted from API requests. However, any field
8296	// with an empty value appearing in NullFields will be sent to the
8297	// server as null. It is an error if a field in this list has a
8298	// non-empty value. This may be used to include null fields in Patch
8299	// requests.
8300	NullFields []string `json:"-"`
8301}
8302
8303func (s *GoogleCloudDialogflowCxV3beta1Fulfillment) MarshalJSON() ([]byte, error) {
8304	type NoMethod GoogleCloudDialogflowCxV3beta1Fulfillment
8305	raw := NoMethod(*s)
8306	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8307}
8308
8309// GoogleCloudDialogflowCxV3beta1FulfillmentConditionalCases: A list of
8310// cascading if-else conditions. Cases are mutually exclusive. The first
8311// one with a matching condition is selected, all the rest ignored.
8312type GoogleCloudDialogflowCxV3beta1FulfillmentConditionalCases struct {
8313	// Cases: A list of cascading if-else conditions.
8314	Cases []*GoogleCloudDialogflowCxV3beta1FulfillmentConditionalCasesCase `json:"cases,omitempty"`
8315
8316	// ForceSendFields is a list of field names (e.g. "Cases") to
8317	// unconditionally include in API requests. By default, fields with
8318	// empty or default values are omitted from API requests. However, any
8319	// non-pointer, non-interface field appearing in ForceSendFields will be
8320	// sent to the server regardless of whether the field is empty or not.
8321	// This may be used to include empty fields in Patch requests.
8322	ForceSendFields []string `json:"-"`
8323
8324	// NullFields is a list of field names (e.g. "Cases") to include in API
8325	// requests with the JSON null value. By default, fields with empty
8326	// values are omitted from API requests. However, any field with an
8327	// empty value appearing in NullFields will be sent to the server as
8328	// null. It is an error if a field in this list has a non-empty value.
8329	// This may be used to include null fields in Patch requests.
8330	NullFields []string `json:"-"`
8331}
8332
8333func (s *GoogleCloudDialogflowCxV3beta1FulfillmentConditionalCases) MarshalJSON() ([]byte, error) {
8334	type NoMethod GoogleCloudDialogflowCxV3beta1FulfillmentConditionalCases
8335	raw := NoMethod(*s)
8336	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8337}
8338
8339// GoogleCloudDialogflowCxV3beta1FulfillmentConditionalCasesCase: Each
8340// case has a Boolean condition. When it is evaluated to be True, the
8341// corresponding messages will be selected and evaluated recursively.
8342type GoogleCloudDialogflowCxV3beta1FulfillmentConditionalCasesCase struct {
8343	// CaseContent: A list of case content.
8344	CaseContent []*GoogleCloudDialogflowCxV3beta1FulfillmentConditionalCasesCaseCaseContent `json:"caseContent,omitempty"`
8345
8346	// Condition: The condition to activate and select this case. Empty
8347	// means the condition is always true. The condition is evaluated
8348	// against form parameters or session parameters. See the conditions
8349	// reference
8350	// (https://cloud.google.com/dialogflow/cx/docs/reference/condition).
8351	Condition string `json:"condition,omitempty"`
8352
8353	// ForceSendFields is a list of field names (e.g. "CaseContent") to
8354	// unconditionally include in API requests. By default, fields with
8355	// empty or default values are omitted from API requests. However, any
8356	// non-pointer, non-interface field appearing in ForceSendFields will be
8357	// sent to the server regardless of whether the field is empty or not.
8358	// This may be used to include empty fields in Patch requests.
8359	ForceSendFields []string `json:"-"`
8360
8361	// NullFields is a list of field names (e.g. "CaseContent") to include
8362	// in API requests with the JSON null value. By default, fields with
8363	// empty values are omitted from API requests. However, any field with
8364	// an empty value appearing in NullFields will be sent to the server as
8365	// null. It is an error if a field in this list has a non-empty value.
8366	// This may be used to include null fields in Patch requests.
8367	NullFields []string `json:"-"`
8368}
8369
8370func (s *GoogleCloudDialogflowCxV3beta1FulfillmentConditionalCasesCase) MarshalJSON() ([]byte, error) {
8371	type NoMethod GoogleCloudDialogflowCxV3beta1FulfillmentConditionalCasesCase
8372	raw := NoMethod(*s)
8373	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8374}
8375
8376// GoogleCloudDialogflowCxV3beta1FulfillmentConditionalCasesCaseCaseConte
8377// nt: The list of messages or conditional cases to activate for this
8378// case.
8379type GoogleCloudDialogflowCxV3beta1FulfillmentConditionalCasesCaseCaseContent struct {
8380	// AdditionalCases: Additional cases to be evaluated.
8381	AdditionalCases *GoogleCloudDialogflowCxV3beta1FulfillmentConditionalCases `json:"additionalCases,omitempty"`
8382
8383	// Message: Returned message.
8384	Message *GoogleCloudDialogflowCxV3beta1ResponseMessage `json:"message,omitempty"`
8385
8386	// ForceSendFields is a list of field names (e.g. "AdditionalCases") to
8387	// unconditionally include in API requests. By default, fields with
8388	// empty or default values are omitted from API requests. However, any
8389	// non-pointer, non-interface field appearing in ForceSendFields will be
8390	// sent to the server regardless of whether the field is empty or not.
8391	// This may be used to include empty fields in Patch requests.
8392	ForceSendFields []string `json:"-"`
8393
8394	// NullFields is a list of field names (e.g. "AdditionalCases") to
8395	// include in API requests with the JSON null value. By default, fields
8396	// with empty values are omitted from API requests. However, any field
8397	// with an empty value appearing in NullFields will be sent to the
8398	// server as null. It is an error if a field in this list has a
8399	// non-empty value. This may be used to include null fields in Patch
8400	// requests.
8401	NullFields []string `json:"-"`
8402}
8403
8404func (s *GoogleCloudDialogflowCxV3beta1FulfillmentConditionalCasesCaseCaseContent) MarshalJSON() ([]byte, error) {
8405	type NoMethod GoogleCloudDialogflowCxV3beta1FulfillmentConditionalCasesCaseCaseContent
8406	raw := NoMethod(*s)
8407	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8408}
8409
8410// GoogleCloudDialogflowCxV3beta1FulfillmentSetParameterAction: Setting
8411// a parameter value.
8412type GoogleCloudDialogflowCxV3beta1FulfillmentSetParameterAction struct {
8413	// Parameter: Display name of the parameter.
8414	Parameter string `json:"parameter,omitempty"`
8415
8416	// Value: The new value of the parameter. A null value clears the
8417	// parameter.
8418	Value interface{} `json:"value,omitempty"`
8419
8420	// ForceSendFields is a list of field names (e.g. "Parameter") to
8421	// unconditionally include in API requests. By default, fields with
8422	// empty or default values are omitted from API requests. However, any
8423	// non-pointer, non-interface field appearing in ForceSendFields will be
8424	// sent to the server regardless of whether the field is empty or not.
8425	// This may be used to include empty fields in Patch requests.
8426	ForceSendFields []string `json:"-"`
8427
8428	// NullFields is a list of field names (e.g. "Parameter") to include in
8429	// API requests with the JSON null value. By default, fields with empty
8430	// values are omitted from API requests. However, any field with an
8431	// empty value appearing in NullFields will be sent to the server as
8432	// null. It is an error if a field in this list has a non-empty value.
8433	// This may be used to include null fields in Patch requests.
8434	NullFields []string `json:"-"`
8435}
8436
8437func (s *GoogleCloudDialogflowCxV3beta1FulfillmentSetParameterAction) MarshalJSON() ([]byte, error) {
8438	type NoMethod GoogleCloudDialogflowCxV3beta1FulfillmentSetParameterAction
8439	raw := NoMethod(*s)
8440	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8441}
8442
8443// GoogleCloudDialogflowCxV3beta1GenericKnowledgeOperationMetadata:
8444// Metadata in google::longrunning::Operation for Knowledge operations.
8445type GoogleCloudDialogflowCxV3beta1GenericKnowledgeOperationMetadata struct {
8446	// State: Required. Output only. The current state of this operation.
8447	//
8448	// Possible values:
8449	//   "STATE_UNSPECIFIED" - State unspecified.
8450	//   "PENDING" - The operation has been created.
8451	//   "RUNNING" - The operation is currently running.
8452	//   "DONE" - The operation is done, either cancelled or completed.
8453	State string `json:"state,omitempty"`
8454
8455	// ForceSendFields is a list of field names (e.g. "State") to
8456	// unconditionally include in API requests. By default, fields with
8457	// empty or default values are omitted from API requests. However, any
8458	// non-pointer, non-interface field appearing in ForceSendFields will be
8459	// sent to the server regardless of whether the field is empty or not.
8460	// This may be used to include empty fields in Patch requests.
8461	ForceSendFields []string `json:"-"`
8462
8463	// NullFields is a list of field names (e.g. "State") to include in API
8464	// requests with the JSON null value. By default, fields with empty
8465	// values are omitted from API requests. However, any field with an
8466	// empty value appearing in NullFields will be sent to the server as
8467	// null. It is an error if a field in this list has a non-empty value.
8468	// This may be used to include null fields in Patch requests.
8469	NullFields []string `json:"-"`
8470}
8471
8472func (s *GoogleCloudDialogflowCxV3beta1GenericKnowledgeOperationMetadata) MarshalJSON() ([]byte, error) {
8473	type NoMethod GoogleCloudDialogflowCxV3beta1GenericKnowledgeOperationMetadata
8474	raw := NoMethod(*s)
8475	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8476}
8477
8478// GoogleCloudDialogflowCxV3beta1ImportDocumentsOperationMetadata:
8479// Metadata for ImportDocuments operation.
8480type GoogleCloudDialogflowCxV3beta1ImportDocumentsOperationMetadata struct {
8481	// GenericMetadata: The generic information of the operation.
8482	GenericMetadata *GoogleCloudDialogflowCxV3beta1GenericKnowledgeOperationMetadata `json:"genericMetadata,omitempty"`
8483
8484	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
8485	// unconditionally include in API requests. By default, fields with
8486	// empty or default values are omitted from API requests. However, any
8487	// non-pointer, non-interface field appearing in ForceSendFields will be
8488	// sent to the server regardless of whether the field is empty or not.
8489	// This may be used to include empty fields in Patch requests.
8490	ForceSendFields []string `json:"-"`
8491
8492	// NullFields is a list of field names (e.g. "GenericMetadata") to
8493	// include in API requests with the JSON null value. By default, fields
8494	// with empty values are omitted from API requests. However, any field
8495	// with an empty value appearing in NullFields will be sent to the
8496	// server as null. It is an error if a field in this list has a
8497	// non-empty value. This may be used to include null fields in Patch
8498	// requests.
8499	NullFields []string `json:"-"`
8500}
8501
8502func (s *GoogleCloudDialogflowCxV3beta1ImportDocumentsOperationMetadata) MarshalJSON() ([]byte, error) {
8503	type NoMethod GoogleCloudDialogflowCxV3beta1ImportDocumentsOperationMetadata
8504	raw := NoMethod(*s)
8505	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8506}
8507
8508// GoogleCloudDialogflowCxV3beta1ImportDocumentsResponse: Response
8509// message for Documents.ImportDocuments.
8510type GoogleCloudDialogflowCxV3beta1ImportDocumentsResponse struct {
8511	// Warnings: Includes details about skipped documents or any other
8512	// warnings.
8513	Warnings []*GoogleRpcStatus `json:"warnings,omitempty"`
8514
8515	// ForceSendFields is a list of field names (e.g. "Warnings") to
8516	// unconditionally include in API requests. By default, fields with
8517	// empty or default values are omitted from API requests. However, any
8518	// non-pointer, non-interface field appearing in ForceSendFields will be
8519	// sent to the server regardless of whether the field is empty or not.
8520	// This may be used to include empty fields in Patch requests.
8521	ForceSendFields []string `json:"-"`
8522
8523	// NullFields is a list of field names (e.g. "Warnings") to include in
8524	// API requests with the JSON null value. By default, fields with empty
8525	// values are omitted from API requests. However, any field with an
8526	// empty value appearing in NullFields will be sent to the server as
8527	// null. It is an error if a field in this list has a non-empty value.
8528	// This may be used to include null fields in Patch requests.
8529	NullFields []string `json:"-"`
8530}
8531
8532func (s *GoogleCloudDialogflowCxV3beta1ImportDocumentsResponse) MarshalJSON() ([]byte, error) {
8533	type NoMethod GoogleCloudDialogflowCxV3beta1ImportDocumentsResponse
8534	raw := NoMethod(*s)
8535	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8536}
8537
8538// GoogleCloudDialogflowCxV3beta1ImportFlowResponse: The response
8539// message for Flows.ImportFlow.
8540type GoogleCloudDialogflowCxV3beta1ImportFlowResponse struct {
8541	// Flow: The unique identifier of the new flow. Format:
8542	// `projects//locations//agents//flows/`.
8543	Flow string `json:"flow,omitempty"`
8544
8545	// ForceSendFields is a list of field names (e.g. "Flow") to
8546	// unconditionally include in API requests. By default, fields with
8547	// empty or default values are omitted from API requests. However, any
8548	// non-pointer, non-interface field appearing in ForceSendFields will be
8549	// sent to the server regardless of whether the field is empty or not.
8550	// This may be used to include empty fields in Patch requests.
8551	ForceSendFields []string `json:"-"`
8552
8553	// NullFields is a list of field names (e.g. "Flow") to include in API
8554	// requests with the JSON null value. By default, fields with empty
8555	// values are omitted from API requests. However, any field with an
8556	// empty value appearing in NullFields will be sent to the server as
8557	// null. It is an error if a field in this list has a non-empty value.
8558	// This may be used to include null fields in Patch requests.
8559	NullFields []string `json:"-"`
8560}
8561
8562func (s *GoogleCloudDialogflowCxV3beta1ImportFlowResponse) MarshalJSON() ([]byte, error) {
8563	type NoMethod GoogleCloudDialogflowCxV3beta1ImportFlowResponse
8564	raw := NoMethod(*s)
8565	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8566}
8567
8568// GoogleCloudDialogflowCxV3beta1ImportTestCasesMetadata: Metadata
8569// returned for the TestCases.ImportTestCases long running operation.
8570type GoogleCloudDialogflowCxV3beta1ImportTestCasesMetadata struct {
8571	// Errors: Errors for failed test cases.
8572	Errors []*GoogleCloudDialogflowCxV3beta1TestCaseError `json:"errors,omitempty"`
8573
8574	// ForceSendFields is a list of field names (e.g. "Errors") to
8575	// unconditionally include in API requests. By default, fields with
8576	// empty or default values are omitted from API requests. However, any
8577	// non-pointer, non-interface field appearing in ForceSendFields will be
8578	// sent to the server regardless of whether the field is empty or not.
8579	// This may be used to include empty fields in Patch requests.
8580	ForceSendFields []string `json:"-"`
8581
8582	// NullFields is a list of field names (e.g. "Errors") to include in API
8583	// requests with the JSON null value. By default, fields with empty
8584	// values are omitted from API requests. However, any field with an
8585	// empty value appearing in NullFields will be sent to the server as
8586	// null. It is an error if a field in this list has a non-empty value.
8587	// This may be used to include null fields in Patch requests.
8588	NullFields []string `json:"-"`
8589}
8590
8591func (s *GoogleCloudDialogflowCxV3beta1ImportTestCasesMetadata) MarshalJSON() ([]byte, error) {
8592	type NoMethod GoogleCloudDialogflowCxV3beta1ImportTestCasesMetadata
8593	raw := NoMethod(*s)
8594	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8595}
8596
8597// GoogleCloudDialogflowCxV3beta1ImportTestCasesResponse: The response
8598// message for TestCases.ImportTestCases.
8599type GoogleCloudDialogflowCxV3beta1ImportTestCasesResponse struct {
8600	// Names: The unique identifiers of the new test cases. Format:
8601	// `projects//locations//agents//testCases/`.
8602	Names []string `json:"names,omitempty"`
8603
8604	// ForceSendFields is a list of field names (e.g. "Names") to
8605	// unconditionally include in API requests. By default, fields with
8606	// empty or default values are omitted from API requests. However, any
8607	// non-pointer, non-interface field appearing in ForceSendFields will be
8608	// sent to the server regardless of whether the field is empty or not.
8609	// This may be used to include empty fields in Patch requests.
8610	ForceSendFields []string `json:"-"`
8611
8612	// NullFields is a list of field names (e.g. "Names") to include in API
8613	// requests with the JSON null value. By default, fields with empty
8614	// values are omitted from API requests. However, any field with an
8615	// empty value appearing in NullFields will be sent to the server as
8616	// null. It is an error if a field in this list has a non-empty value.
8617	// This may be used to include null fields in Patch requests.
8618	NullFields []string `json:"-"`
8619}
8620
8621func (s *GoogleCloudDialogflowCxV3beta1ImportTestCasesResponse) MarshalJSON() ([]byte, error) {
8622	type NoMethod GoogleCloudDialogflowCxV3beta1ImportTestCasesResponse
8623	raw := NoMethod(*s)
8624	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8625}
8626
8627// GoogleCloudDialogflowCxV3beta1InputAudioConfig: Instructs the speech
8628// recognizer on how to process the audio content.
8629type GoogleCloudDialogflowCxV3beta1InputAudioConfig struct {
8630	// AudioEncoding: Required. Audio encoding of the audio content to
8631	// process.
8632	//
8633	// Possible values:
8634	//   "AUDIO_ENCODING_UNSPECIFIED" - Not specified.
8635	//   "AUDIO_ENCODING_LINEAR_16" - Uncompressed 16-bit signed
8636	// little-endian samples (Linear PCM).
8637	//   "AUDIO_ENCODING_FLAC" -
8638	// [`FLAC`](https://xiph.org/flac/documentation.html) (Free Lossless
8639	// Audio Codec) is the recommended encoding because it is lossless
8640	// (therefore recognition is not compromised) and requires only about
8641	// half the bandwidth of `LINEAR16`. `FLAC` stream encoding supports
8642	// 16-bit and 24-bit samples, however, not all fields in `STREAMINFO`
8643	// are supported.
8644	//   "AUDIO_ENCODING_MULAW" - 8-bit samples that compand 14-bit audio
8645	// samples using G.711 PCMU/mu-law.
8646	//   "AUDIO_ENCODING_AMR" - Adaptive Multi-Rate Narrowband codec.
8647	// `sample_rate_hertz` must be 8000.
8648	//   "AUDIO_ENCODING_AMR_WB" - Adaptive Multi-Rate Wideband codec.
8649	// `sample_rate_hertz` must be 16000.
8650	//   "AUDIO_ENCODING_OGG_OPUS" - Opus encoded audio frames in Ogg
8651	// container ([OggOpus](https://wiki.xiph.org/OggOpus)).
8652	// `sample_rate_hertz` must be 16000.
8653	//   "AUDIO_ENCODING_SPEEX_WITH_HEADER_BYTE" - Although the use of lossy
8654	// encodings is not recommended, if a very low bitrate encoding is
8655	// required, `OGG_OPUS` is highly preferred over Speex encoding. The
8656	// [Speex](https://speex.org/) encoding supported by Dialogflow API has
8657	// a header byte in each block, as in MIME type
8658	// `audio/x-speex-with-header-byte`. It is a variant of the RTP Speex
8659	// encoding defined in [RFC 5574](https://tools.ietf.org/html/rfc5574).
8660	// The stream is a sequence of blocks, one block per RTP packet. Each
8661	// block starts with a byte containing the length of the block, in
8662	// bytes, followed by one or more frames of Speex data, padded to an
8663	// integral number of bytes (octets) as specified in RFC 5574. In other
8664	// words, each RTP header is replaced with a single byte containing the
8665	// block length. Only Speex wideband is supported. `sample_rate_hertz`
8666	// must be 16000.
8667	AudioEncoding string `json:"audioEncoding,omitempty"`
8668
8669	// EnableWordInfo: Optional. If `true`, Dialogflow returns
8670	// SpeechWordInfo in StreamingRecognitionResult with information about
8671	// the recognized speech words, e.g. start and end time offsets. If
8672	// false or unspecified, Speech doesn't return any word-level
8673	// information.
8674	EnableWordInfo bool `json:"enableWordInfo,omitempty"`
8675
8676	// Model: Optional. Which Speech model to select for the given request.
8677	// Select the model best suited to your domain to get best results. If a
8678	// model is not explicitly specified, then we auto-select a model based
8679	// on the parameters in the InputAudioConfig. If enhanced speech model
8680	// is enabled for the agent and an enhanced version of the specified
8681	// model for the language does not exist, then the speech is recognized
8682	// using the standard version of the specified model. Refer to Cloud
8683	// Speech API documentation
8684	// (https://cloud.google.com/speech-to-text/docs/basics#select-model)
8685	// for more details.
8686	Model string `json:"model,omitempty"`
8687
8688	// ModelVariant: Optional. Which variant of the Speech model to use.
8689	//
8690	// Possible values:
8691	//   "SPEECH_MODEL_VARIANT_UNSPECIFIED" - No model variant specified. In
8692	// this case Dialogflow defaults to USE_BEST_AVAILABLE.
8693	//   "USE_BEST_AVAILABLE" - Use the best available variant of the Speech
8694	// model that the caller is eligible for. Please see the [Dialogflow
8695	// docs](https://cloud.google.com/dialogflow/docs/data-logging) for how
8696	// to make your project eligible for enhanced models.
8697	//   "USE_STANDARD" - Use standard model variant even if an enhanced
8698	// model is available. See the [Cloud Speech
8699	// documentation](https://cloud.google.com/speech-to-text/docs/enhanced-m
8700	// odels) for details about enhanced models.
8701	//   "USE_ENHANCED" - Use an enhanced model variant: * If an enhanced
8702	// variant does not exist for the given model and request language,
8703	// Dialogflow falls back to the standard variant. The [Cloud Speech
8704	// documentation](https://cloud.google.com/speech-to-text/docs/enhanced-m
8705	// odels) describes which models have enhanced variants. * If the API
8706	// caller isn't eligible for enhanced models, Dialogflow returns an
8707	// error. Please see the [Dialogflow
8708	// docs](https://cloud.google.com/dialogflow/docs/data-logging) for how
8709	// to make your project eligible.
8710	ModelVariant string `json:"modelVariant,omitempty"`
8711
8712	// PhraseHints: Optional. A list of strings containing words and phrases
8713	// that the speech recognizer should recognize with higher likelihood.
8714	// See the Cloud Speech documentation
8715	// (https://cloud.google.com/speech-to-text/docs/basics#phrase-hints)
8716	// for more details.
8717	PhraseHints []string `json:"phraseHints,omitempty"`
8718
8719	// SampleRateHertz: Sample rate (in Hertz) of the audio content sent in
8720	// the query. Refer to Cloud Speech API documentation
8721	// (https://cloud.google.com/speech-to-text/docs/basics) for more
8722	// details.
8723	SampleRateHertz int64 `json:"sampleRateHertz,omitempty"`
8724
8725	// SingleUtterance: Optional. If `false` (default), recognition does not
8726	// cease until the client closes the stream. If `true`, the recognizer
8727	// will detect a single spoken utterance in input audio. Recognition
8728	// ceases when it detects the audio's voice has stopped or paused. In
8729	// this case, once a detected intent is received, the client should
8730	// close the stream and start a new request with a new stream as needed.
8731	// Note: This setting is relevant only for streaming methods.
8732	SingleUtterance bool `json:"singleUtterance,omitempty"`
8733
8734	// ForceSendFields is a list of field names (e.g. "AudioEncoding") to
8735	// unconditionally include in API requests. By default, fields with
8736	// empty or default values are omitted from API requests. However, any
8737	// non-pointer, non-interface field appearing in ForceSendFields will be
8738	// sent to the server regardless of whether the field is empty or not.
8739	// This may be used to include empty fields in Patch requests.
8740	ForceSendFields []string `json:"-"`
8741
8742	// NullFields is a list of field names (e.g. "AudioEncoding") to include
8743	// in API requests with the JSON null value. By default, fields with
8744	// empty values are omitted from API requests. However, any field with
8745	// an empty value appearing in NullFields will be sent to the server as
8746	// null. It is an error if a field in this list has a non-empty value.
8747	// This may be used to include null fields in Patch requests.
8748	NullFields []string `json:"-"`
8749}
8750
8751func (s *GoogleCloudDialogflowCxV3beta1InputAudioConfig) MarshalJSON() ([]byte, error) {
8752	type NoMethod GoogleCloudDialogflowCxV3beta1InputAudioConfig
8753	raw := NoMethod(*s)
8754	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8755}
8756
8757// GoogleCloudDialogflowCxV3beta1Intent: An intent represents a user's
8758// intent to interact with a conversational agent. You can provide
8759// information for the Dialogflow API to use to match user input to an
8760// intent by adding training phrases (i.e., examples of user input) to
8761// your intent.
8762type GoogleCloudDialogflowCxV3beta1Intent struct {
8763	// Description: Human readable description for better understanding an
8764	// intent like its scope, content, result etc. Maximum character limit:
8765	// 140 characters.
8766	Description string `json:"description,omitempty"`
8767
8768	// DisplayName: Required. The human-readable name of the intent, unique
8769	// within the agent.
8770	DisplayName string `json:"displayName,omitempty"`
8771
8772	// IsFallback: Indicates whether this is a fallback intent. Currently
8773	// only default fallback intent is allowed in the agent, which is added
8774	// upon agent creation. Adding training phrases to fallback intent is
8775	// useful in the case of requests that are mistakenly matched, since
8776	// training phrases assigned to fallback intents act as negative
8777	// examples that triggers no-match event.
8778	IsFallback bool `json:"isFallback,omitempty"`
8779
8780	// Labels: The key/value metadata to label an intent. Labels can contain
8781	// lowercase letters, digits and the symbols '-' and '_'. International
8782	// characters are allowed, including letters from unicase alphabets.
8783	// Keys must start with a letter. Keys and values can be no longer than
8784	// 63 characters and no more than 128 bytes. Prefix "sys-" is reserved
8785	// for Dialogflow defined labels. Currently allowed Dialogflow defined
8786	// labels include: * sys-head * sys-contextual The above labels do not
8787	// require value. "sys-head" means the intent is a head intent.
8788	// "sys-contextual" means the intent is a contextual intent.
8789	Labels map[string]string `json:"labels,omitempty"`
8790
8791	// Name: The unique identifier of the intent. Required for the
8792	// Intents.UpdateIntent method. Intents.CreateIntent populates the name
8793	// automatically. Format: `projects//locations//agents//intents/`.
8794	Name string `json:"name,omitempty"`
8795
8796	// Parameters: The collection of parameters associated with the intent.
8797	Parameters []*GoogleCloudDialogflowCxV3beta1IntentParameter `json:"parameters,omitempty"`
8798
8799	// Priority: The priority of this intent. Higher numbers represent
8800	// higher priorities. - If the supplied value is unspecified or 0, the
8801	// service translates the value to 500,000, which corresponds to the
8802	// `Normal` priority in the console. - If the supplied value is
8803	// negative, the intent is ignored in runtime detect intent requests.
8804	Priority int64 `json:"priority,omitempty"`
8805
8806	// TrainingPhrases: The collection of training phrases the agent is
8807	// trained on to identify the intent.
8808	TrainingPhrases []*GoogleCloudDialogflowCxV3beta1IntentTrainingPhrase `json:"trainingPhrases,omitempty"`
8809
8810	// ForceSendFields is a list of field names (e.g. "Description") to
8811	// unconditionally include in API requests. By default, fields with
8812	// empty or default values are omitted from API requests. However, any
8813	// non-pointer, non-interface field appearing in ForceSendFields will be
8814	// sent to the server regardless of whether the field is empty or not.
8815	// This may be used to include empty fields in Patch requests.
8816	ForceSendFields []string `json:"-"`
8817
8818	// NullFields is a list of field names (e.g. "Description") to include
8819	// in API requests with the JSON null value. By default, fields with
8820	// empty values are omitted from API requests. However, any field with
8821	// an empty value appearing in NullFields will be sent to the server as
8822	// null. It is an error if a field in this list has a non-empty value.
8823	// This may be used to include null fields in Patch requests.
8824	NullFields []string `json:"-"`
8825}
8826
8827func (s *GoogleCloudDialogflowCxV3beta1Intent) MarshalJSON() ([]byte, error) {
8828	type NoMethod GoogleCloudDialogflowCxV3beta1Intent
8829	raw := NoMethod(*s)
8830	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8831}
8832
8833// GoogleCloudDialogflowCxV3beta1IntentInput: Represents the intent to
8834// trigger programmatically rather than as a result of natural language
8835// processing.
8836type GoogleCloudDialogflowCxV3beta1IntentInput struct {
8837	// Intent: Required. The unique identifier of the intent. Format:
8838	// `projects//locations//agents//intents/`.
8839	Intent string `json:"intent,omitempty"`
8840
8841	// ForceSendFields is a list of field names (e.g. "Intent") to
8842	// unconditionally include in API requests. By default, fields with
8843	// empty or default values are omitted from API requests. However, any
8844	// non-pointer, non-interface field appearing in ForceSendFields will be
8845	// sent to the server regardless of whether the field is empty or not.
8846	// This may be used to include empty fields in Patch requests.
8847	ForceSendFields []string `json:"-"`
8848
8849	// NullFields is a list of field names (e.g. "Intent") to include in API
8850	// requests with the JSON null value. By default, fields with empty
8851	// values are omitted from API requests. However, any field with an
8852	// empty value appearing in NullFields will be sent to the server as
8853	// null. It is an error if a field in this list has a non-empty value.
8854	// This may be used to include null fields in Patch requests.
8855	NullFields []string `json:"-"`
8856}
8857
8858func (s *GoogleCloudDialogflowCxV3beta1IntentInput) MarshalJSON() ([]byte, error) {
8859	type NoMethod GoogleCloudDialogflowCxV3beta1IntentInput
8860	raw := NoMethod(*s)
8861	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8862}
8863
8864// GoogleCloudDialogflowCxV3beta1IntentParameter: Represents an intent
8865// parameter.
8866type GoogleCloudDialogflowCxV3beta1IntentParameter struct {
8867	// EntityType: Required. The entity type of the parameter. Format:
8868	// `projects/-/locations/-/agents/-/entityTypes/` for system entity
8869	// types (for example,
8870	// `projects/-/locations/-/agents/-/entityTypes/sys.date`), or
8871	// `projects//locations//agents//entityTypes/` for developer entity
8872	// types.
8873	EntityType string `json:"entityType,omitempty"`
8874
8875	// Id: Required. The unique identifier of the parameter. This field is
8876	// used by training phrases to annotate their parts.
8877	Id string `json:"id,omitempty"`
8878
8879	// IsList: Indicates whether the parameter represents a list of values.
8880	IsList bool `json:"isList,omitempty"`
8881
8882	// Redact: Indicates whether the parameter content should be redacted in
8883	// log. If redaction is enabled, the parameter content will be replaced
8884	// by parameter name during logging. Note: the parameter content is
8885	// subject to redaction if either parameter level redaction or entity
8886	// type level redaction is enabled.
8887	Redact bool `json:"redact,omitempty"`
8888
8889	// ForceSendFields is a list of field names (e.g. "EntityType") to
8890	// unconditionally include in API requests. By default, fields with
8891	// empty or default values are omitted from API requests. However, any
8892	// non-pointer, non-interface field appearing in ForceSendFields will be
8893	// sent to the server regardless of whether the field is empty or not.
8894	// This may be used to include empty fields in Patch requests.
8895	ForceSendFields []string `json:"-"`
8896
8897	// NullFields is a list of field names (e.g. "EntityType") to include in
8898	// API requests with the JSON null value. By default, fields with empty
8899	// values are omitted from API requests. However, any field with an
8900	// empty value appearing in NullFields will be sent to the server as
8901	// null. It is an error if a field in this list has a non-empty value.
8902	// This may be used to include null fields in Patch requests.
8903	NullFields []string `json:"-"`
8904}
8905
8906func (s *GoogleCloudDialogflowCxV3beta1IntentParameter) MarshalJSON() ([]byte, error) {
8907	type NoMethod GoogleCloudDialogflowCxV3beta1IntentParameter
8908	raw := NoMethod(*s)
8909	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8910}
8911
8912// GoogleCloudDialogflowCxV3beta1IntentTrainingPhrase: Represents an
8913// example that the agent is trained on to identify the intent.
8914type GoogleCloudDialogflowCxV3beta1IntentTrainingPhrase struct {
8915	// Id: Output only. The unique identifier of the training phrase.
8916	Id string `json:"id,omitempty"`
8917
8918	// Parts: Required. The ordered list of training phrase parts. The parts
8919	// are concatenated in order to form the training phrase. Note: The API
8920	// does not automatically annotate training phrases like the Dialogflow
8921	// Console does. Note: Do not forget to include whitespace at part
8922	// boundaries, so the training phrase is well formatted when the parts
8923	// are concatenated. If the training phrase does not need to be
8924	// annotated with parameters, you just need a single part with only the
8925	// Part.text field set. If you want to annotate the training phrase, you
8926	// must create multiple parts, where the fields of each part are
8927	// populated in one of two ways: - `Part.text` is set to a part of the
8928	// phrase that has no parameters. - `Part.text` is set to a part of the
8929	// phrase that you want to annotate, and the `parameter_id` field is
8930	// set.
8931	Parts []*GoogleCloudDialogflowCxV3beta1IntentTrainingPhrasePart `json:"parts,omitempty"`
8932
8933	// RepeatCount: Indicates how many times this example was added to the
8934	// intent.
8935	RepeatCount int64 `json:"repeatCount,omitempty"`
8936
8937	// ForceSendFields is a list of field names (e.g. "Id") to
8938	// unconditionally include in API requests. By default, fields with
8939	// empty or default values are omitted from API requests. However, any
8940	// non-pointer, non-interface field appearing in ForceSendFields will be
8941	// sent to the server regardless of whether the field is empty or not.
8942	// This may be used to include empty fields in Patch requests.
8943	ForceSendFields []string `json:"-"`
8944
8945	// NullFields is a list of field names (e.g. "Id") to include in API
8946	// requests with the JSON null value. By default, fields with empty
8947	// values are omitted from API requests. However, any field with an
8948	// empty value appearing in NullFields will be sent to the server as
8949	// null. It is an error if a field in this list has a non-empty value.
8950	// This may be used to include null fields in Patch requests.
8951	NullFields []string `json:"-"`
8952}
8953
8954func (s *GoogleCloudDialogflowCxV3beta1IntentTrainingPhrase) MarshalJSON() ([]byte, error) {
8955	type NoMethod GoogleCloudDialogflowCxV3beta1IntentTrainingPhrase
8956	raw := NoMethod(*s)
8957	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8958}
8959
8960// GoogleCloudDialogflowCxV3beta1IntentTrainingPhrasePart: Represents a
8961// part of a training phrase.
8962type GoogleCloudDialogflowCxV3beta1IntentTrainingPhrasePart struct {
8963	// ParameterId: The parameter used to annotate this part of the training
8964	// phrase. This field is required for annotated parts of the training
8965	// phrase.
8966	ParameterId string `json:"parameterId,omitempty"`
8967
8968	// Text: Required. The text for this part.
8969	Text string `json:"text,omitempty"`
8970
8971	// ForceSendFields is a list of field names (e.g. "ParameterId") to
8972	// unconditionally include in API requests. By default, fields with
8973	// empty or default values are omitted from API requests. However, any
8974	// non-pointer, non-interface field appearing in ForceSendFields will be
8975	// sent to the server regardless of whether the field is empty or not.
8976	// This may be used to include empty fields in Patch requests.
8977	ForceSendFields []string `json:"-"`
8978
8979	// NullFields is a list of field names (e.g. "ParameterId") to include
8980	// in API requests with the JSON null value. By default, fields with
8981	// empty values are omitted from API requests. However, any field with
8982	// an empty value appearing in NullFields will be sent to the server as
8983	// null. It is an error if a field in this list has a non-empty value.
8984	// This may be used to include null fields in Patch requests.
8985	NullFields []string `json:"-"`
8986}
8987
8988func (s *GoogleCloudDialogflowCxV3beta1IntentTrainingPhrasePart) MarshalJSON() ([]byte, error) {
8989	type NoMethod GoogleCloudDialogflowCxV3beta1IntentTrainingPhrasePart
8990	raw := NoMethod(*s)
8991	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8992}
8993
8994// GoogleCloudDialogflowCxV3beta1Page: A Dialogflow CX conversation
8995// (session) can be described and visualized as a state machine. The
8996// states of a CX session are represented by pages. For each flow, you
8997// define many pages, where your combined pages can handle a complete
8998// conversation on the topics the flow is designed for. At any given
8999// moment, exactly one page is the current page, the current page is
9000// considered active, and the flow associated with that page is
9001// considered active. Every flow has a special start page. When a flow
9002// initially becomes active, the start page page becomes the current
9003// page. For each conversational turn, the current page will either stay
9004// the same or transition to another page. You configure each page to
9005// collect information from the end-user that is relevant for the
9006// conversational state represented by the page. For more information,
9007// see the Page guide
9008// (https://cloud.google.com/dialogflow/cx/docs/concept/page).
9009type GoogleCloudDialogflowCxV3beta1Page struct {
9010	// DisplayName: Required. The human-readable name of the page, unique
9011	// within the agent.
9012	DisplayName string `json:"displayName,omitempty"`
9013
9014	// EntryFulfillment: The fulfillment to call when the session is
9015	// entering the page.
9016	EntryFulfillment *GoogleCloudDialogflowCxV3beta1Fulfillment `json:"entryFulfillment,omitempty"`
9017
9018	// EventHandlers: Handlers associated with the page to handle events
9019	// such as webhook errors, no match or no input.
9020	EventHandlers []*GoogleCloudDialogflowCxV3beta1EventHandler `json:"eventHandlers,omitempty"`
9021
9022	// Form: The form associated with the page, used for collecting
9023	// parameters relevant to the page.
9024	Form *GoogleCloudDialogflowCxV3beta1Form `json:"form,omitempty"`
9025
9026	// Name: The unique identifier of the page. Required for the
9027	// Pages.UpdatePage method. Pages.CreatePage populates the name
9028	// automatically. Format: `projects//locations//agents//flows//pages/`.
9029	Name string `json:"name,omitempty"`
9030
9031	// TransitionRouteGroups: Ordered list of `TransitionRouteGroups`
9032	// associated with the page. Transition route groups must be unique
9033	// within a page. * If multiple transition routes within a page scope
9034	// refer to the same intent, then the precedence order is: page's
9035	// transition route -> page's transition route group -> flow's
9036	// transition routes. * If multiple transition route groups within a
9037	// page contain the same intent, then the first group in the ordered
9038	// list takes precedence.
9039	// Format:`projects//locations//agents//flows//transitionRouteGroups/`.
9040	TransitionRouteGroups []string `json:"transitionRouteGroups,omitempty"`
9041
9042	// TransitionRoutes: A list of transitions for the transition rules of
9043	// this page. They route the conversation to another page in the same
9044	// flow, or another flow. When we are in a certain page, the
9045	// TransitionRoutes are evalauted in the following order: *
9046	// TransitionRoutes defined in the page with intent specified. *
9047	// TransitionRoutes defined in the transition route groups with intent
9048	// specified. * TransitionRoutes defined in flow with intent specified.
9049	// * TransitionRoutes defined in the transition route groups with intent
9050	// specified. * TransitionRoutes defined in the page with only condition
9051	// specified. * TransitionRoutes defined in the transition route groups
9052	// with only condition specified.
9053	TransitionRoutes []*GoogleCloudDialogflowCxV3beta1TransitionRoute `json:"transitionRoutes,omitempty"`
9054
9055	// ForceSendFields is a list of field names (e.g. "DisplayName") to
9056	// unconditionally include in API requests. By default, fields with
9057	// empty or default values are omitted from API requests. However, any
9058	// non-pointer, non-interface field appearing in ForceSendFields will be
9059	// sent to the server regardless of whether the field is empty or not.
9060	// This may be used to include empty fields in Patch requests.
9061	ForceSendFields []string `json:"-"`
9062
9063	// NullFields is a list of field names (e.g. "DisplayName") to include
9064	// in API requests with the JSON null value. By default, fields with
9065	// empty values are omitted from API requests. However, any field with
9066	// an empty value appearing in NullFields will be sent to the server as
9067	// null. It is an error if a field in this list has a non-empty value.
9068	// This may be used to include null fields in Patch requests.
9069	NullFields []string `json:"-"`
9070}
9071
9072func (s *GoogleCloudDialogflowCxV3beta1Page) MarshalJSON() ([]byte, error) {
9073	type NoMethod GoogleCloudDialogflowCxV3beta1Page
9074	raw := NoMethod(*s)
9075	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9076}
9077
9078// GoogleCloudDialogflowCxV3beta1PageInfo: Represents page information
9079// communicated to and from the webhook.
9080type GoogleCloudDialogflowCxV3beta1PageInfo struct {
9081	// CurrentPage: Always present for WebhookRequest. Ignored for
9082	// WebhookResponse. The unique identifier of the current page. Format:
9083	// `projects//locations//agents//flows//pages/`.
9084	CurrentPage string `json:"currentPage,omitempty"`
9085
9086	// FormInfo: Optional for both WebhookRequest and WebhookResponse.
9087	// Information about the form.
9088	FormInfo *GoogleCloudDialogflowCxV3beta1PageInfoFormInfo `json:"formInfo,omitempty"`
9089
9090	// ForceSendFields is a list of field names (e.g. "CurrentPage") to
9091	// unconditionally include in API requests. By default, fields with
9092	// empty or default values are omitted from API requests. However, any
9093	// non-pointer, non-interface field appearing in ForceSendFields will be
9094	// sent to the server regardless of whether the field is empty or not.
9095	// This may be used to include empty fields in Patch requests.
9096	ForceSendFields []string `json:"-"`
9097
9098	// NullFields is a list of field names (e.g. "CurrentPage") to include
9099	// in API requests with the JSON null value. By default, fields with
9100	// empty values are omitted from API requests. However, any field with
9101	// an empty value appearing in NullFields will be sent to the server as
9102	// null. It is an error if a field in this list has a non-empty value.
9103	// This may be used to include null fields in Patch requests.
9104	NullFields []string `json:"-"`
9105}
9106
9107func (s *GoogleCloudDialogflowCxV3beta1PageInfo) MarshalJSON() ([]byte, error) {
9108	type NoMethod GoogleCloudDialogflowCxV3beta1PageInfo
9109	raw := NoMethod(*s)
9110	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9111}
9112
9113// GoogleCloudDialogflowCxV3beta1PageInfoFormInfo: Represents form
9114// information.
9115type GoogleCloudDialogflowCxV3beta1PageInfoFormInfo struct {
9116	// ParameterInfo: Optional for both WebhookRequest and WebhookResponse.
9117	// The parameters contained in the form. Note that the webhook cannot
9118	// add or remove any form parameter.
9119	ParameterInfo []*GoogleCloudDialogflowCxV3beta1PageInfoFormInfoParameterInfo `json:"parameterInfo,omitempty"`
9120
9121	// ForceSendFields is a list of field names (e.g. "ParameterInfo") to
9122	// unconditionally include in API requests. By default, fields with
9123	// empty or default values are omitted from API requests. However, any
9124	// non-pointer, non-interface field appearing in ForceSendFields will be
9125	// sent to the server regardless of whether the field is empty or not.
9126	// This may be used to include empty fields in Patch requests.
9127	ForceSendFields []string `json:"-"`
9128
9129	// NullFields is a list of field names (e.g. "ParameterInfo") to include
9130	// in API requests with the JSON null value. By default, fields with
9131	// empty values are omitted from API requests. However, any field with
9132	// an empty value appearing in NullFields will be sent to the server as
9133	// null. It is an error if a field in this list has a non-empty value.
9134	// This may be used to include null fields in Patch requests.
9135	NullFields []string `json:"-"`
9136}
9137
9138func (s *GoogleCloudDialogflowCxV3beta1PageInfoFormInfo) MarshalJSON() ([]byte, error) {
9139	type NoMethod GoogleCloudDialogflowCxV3beta1PageInfoFormInfo
9140	raw := NoMethod(*s)
9141	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9142}
9143
9144// GoogleCloudDialogflowCxV3beta1PageInfoFormInfoParameterInfo:
9145// Represents parameter information.
9146type GoogleCloudDialogflowCxV3beta1PageInfoFormInfoParameterInfo struct {
9147	// DisplayName: Always present for WebhookRequest. Required for
9148	// WebhookResponse. The human-readable name of the parameter, unique
9149	// within the form. This field cannot be modified by the webhook.
9150	DisplayName string `json:"displayName,omitempty"`
9151
9152	// JustCollected: Optional for WebhookRequest. Ignored for
9153	// WebhookResponse. Indicates if the parameter value was just collected
9154	// on the last conversation turn.
9155	JustCollected bool `json:"justCollected,omitempty"`
9156
9157	// Required: Optional for both WebhookRequest and WebhookResponse.
9158	// Indicates whether the parameter is required. Optional parameters will
9159	// not trigger prompts; however, they are filled if the user specifies
9160	// them. Required parameters must be filled before form filling
9161	// concludes.
9162	Required bool `json:"required,omitempty"`
9163
9164	// State: Always present for WebhookRequest. Required for
9165	// WebhookResponse. The state of the parameter. This field can be set to
9166	// INVALID by the webhook to invalidate the parameter; other values set
9167	// by the webhook will be ignored.
9168	//
9169	// Possible values:
9170	//   "PARAMETER_STATE_UNSPECIFIED" - Not specified. This value should be
9171	// never used.
9172	//   "EMPTY" - Indicates that the parameter does not have a value.
9173	//   "INVALID" - Indicates that the parameter value is invalid. This
9174	// field can be used by the webhook to invalidate the parameter and ask
9175	// the server to collect it from the user again.
9176	//   "FILLED" - Indicates that the parameter has a value.
9177	State string `json:"state,omitempty"`
9178
9179	// Value: Optional for both WebhookRequest and WebhookResponse. The
9180	// value of the parameter. This field can be set by the webhook to
9181	// change the parameter value.
9182	Value interface{} `json:"value,omitempty"`
9183
9184	// ForceSendFields is a list of field names (e.g. "DisplayName") to
9185	// unconditionally include in API requests. By default, fields with
9186	// empty or default values are omitted from API requests. However, any
9187	// non-pointer, non-interface field appearing in ForceSendFields will be
9188	// sent to the server regardless of whether the field is empty or not.
9189	// This may be used to include empty fields in Patch requests.
9190	ForceSendFields []string `json:"-"`
9191
9192	// NullFields is a list of field names (e.g. "DisplayName") to include
9193	// in API requests with the JSON null value. By default, fields with
9194	// empty values are omitted from API requests. However, any field with
9195	// an empty value appearing in NullFields will be sent to the server as
9196	// null. It is an error if a field in this list has a non-empty value.
9197	// This may be used to include null fields in Patch requests.
9198	NullFields []string `json:"-"`
9199}
9200
9201func (s *GoogleCloudDialogflowCxV3beta1PageInfoFormInfoParameterInfo) MarshalJSON() ([]byte, error) {
9202	type NoMethod GoogleCloudDialogflowCxV3beta1PageInfoFormInfoParameterInfo
9203	raw := NoMethod(*s)
9204	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9205}
9206
9207// GoogleCloudDialogflowCxV3beta1QueryInput: Represents the query input.
9208// It can contain one of: 1. A conversational query in the form of text.
9209// 2. An intent query that specifies which intent to trigger. 3. Natural
9210// language speech audio to be processed. 4. An event to be triggered.
9211type GoogleCloudDialogflowCxV3beta1QueryInput struct {
9212	// Audio: The natural language speech audio to be processed.
9213	Audio *GoogleCloudDialogflowCxV3beta1AudioInput `json:"audio,omitempty"`
9214
9215	// Dtmf: The DTMF event to be handled.
9216	Dtmf *GoogleCloudDialogflowCxV3beta1DtmfInput `json:"dtmf,omitempty"`
9217
9218	// Event: The event to be triggered.
9219	Event *GoogleCloudDialogflowCxV3beta1EventInput `json:"event,omitempty"`
9220
9221	// Intent: The intent to be triggered.
9222	Intent *GoogleCloudDialogflowCxV3beta1IntentInput `json:"intent,omitempty"`
9223
9224	// LanguageCode: Required. The language of the input. See Language
9225	// Support
9226	// (https://cloud.google.com/dialogflow/cx/docs/reference/language) for
9227	// a list of the currently supported language codes. Note that queries
9228	// in the same session do not necessarily need to specify the same
9229	// language.
9230	LanguageCode string `json:"languageCode,omitempty"`
9231
9232	// Text: The natural language text to be processed.
9233	Text *GoogleCloudDialogflowCxV3beta1TextInput `json:"text,omitempty"`
9234
9235	// ForceSendFields is a list of field names (e.g. "Audio") to
9236	// unconditionally include in API requests. By default, fields with
9237	// empty or default values are omitted from API requests. However, any
9238	// non-pointer, non-interface field appearing in ForceSendFields will be
9239	// sent to the server regardless of whether the field is empty or not.
9240	// This may be used to include empty fields in Patch requests.
9241	ForceSendFields []string `json:"-"`
9242
9243	// NullFields is a list of field names (e.g. "Audio") to include in API
9244	// requests with the JSON null value. By default, fields with empty
9245	// values are omitted from API requests. However, any field with an
9246	// empty value appearing in NullFields will be sent to the server as
9247	// null. It is an error if a field in this list has a non-empty value.
9248	// This may be used to include null fields in Patch requests.
9249	NullFields []string `json:"-"`
9250}
9251
9252func (s *GoogleCloudDialogflowCxV3beta1QueryInput) MarshalJSON() ([]byte, error) {
9253	type NoMethod GoogleCloudDialogflowCxV3beta1QueryInput
9254	raw := NoMethod(*s)
9255	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9256}
9257
9258// GoogleCloudDialogflowCxV3beta1ReloadDocumentOperationMetadata:
9259// Metadata for ReloadDocument operation.
9260type GoogleCloudDialogflowCxV3beta1ReloadDocumentOperationMetadata struct {
9261	// GenericMetadata: The generic information of the operation.
9262	GenericMetadata *GoogleCloudDialogflowCxV3beta1GenericKnowledgeOperationMetadata `json:"genericMetadata,omitempty"`
9263
9264	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
9265	// unconditionally include in API requests. By default, fields with
9266	// empty or default values are omitted from API requests. However, any
9267	// non-pointer, non-interface field appearing in ForceSendFields will be
9268	// sent to the server regardless of whether the field is empty or not.
9269	// This may be used to include empty fields in Patch requests.
9270	ForceSendFields []string `json:"-"`
9271
9272	// NullFields is a list of field names (e.g. "GenericMetadata") to
9273	// include in API requests with the JSON null value. By default, fields
9274	// with empty values are omitted from API requests. However, any field
9275	// with an empty value appearing in NullFields will be sent to the
9276	// server as null. It is an error if a field in this list has a
9277	// non-empty value. This may be used to include null fields in Patch
9278	// requests.
9279	NullFields []string `json:"-"`
9280}
9281
9282func (s *GoogleCloudDialogflowCxV3beta1ReloadDocumentOperationMetadata) MarshalJSON() ([]byte, error) {
9283	type NoMethod GoogleCloudDialogflowCxV3beta1ReloadDocumentOperationMetadata
9284	raw := NoMethod(*s)
9285	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9286}
9287
9288// GoogleCloudDialogflowCxV3beta1ResponseMessage: Represents a response
9289// message that can be returned by a conversational agent. Response
9290// messages are also used for output audio synthesis. The approach is as
9291// follows: * If at least one OutputAudioText response is present, then
9292// all OutputAudioText responses are linearly concatenated, and the
9293// result is used for output audio synthesis. * If the OutputAudioText
9294// responses are a mixture of text and SSML, then the concatenated
9295// result is treated as SSML; otherwise, the result is treated as either
9296// text or SSML as appropriate. The agent designer should ideally use
9297// either text or SSML consistently throughout the bot design. *
9298// Otherwise, all Text responses are linearly concatenated, and the
9299// result is used for output audio synthesis. This approach allows for
9300// more sophisticated user experience scenarios, where the text
9301// displayed to the user may differ from what is heard.
9302type GoogleCloudDialogflowCxV3beta1ResponseMessage struct {
9303	// ConversationSuccess: Indicates that the conversation succeeded.
9304	ConversationSuccess *GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccess `json:"conversationSuccess,omitempty"`
9305
9306	// EndInteraction: Output only. A signal that indicates the interaction
9307	// with the Dialogflow agent has ended. This message is generated by
9308	// Dialogflow only when the conversation reaches `END_SESSION` page. It
9309	// is not supposed to be defined by the user. It's guaranteed that there
9310	// is at most one such message in each response.
9311	EndInteraction *GoogleCloudDialogflowCxV3beta1ResponseMessageEndInteraction `json:"endInteraction,omitempty"`
9312
9313	// LiveAgentHandoff: Hands off conversation to a human agent.
9314	LiveAgentHandoff *GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoff `json:"liveAgentHandoff,omitempty"`
9315
9316	// MixedAudio: Output only. An audio response message composed of both
9317	// the synthesized Dialogflow agent responses and responses defined via
9318	// play_audio. This message is generated by Dialogflow only and not
9319	// supposed to be defined by the user.
9320	MixedAudio *GoogleCloudDialogflowCxV3beta1ResponseMessageMixedAudio `json:"mixedAudio,omitempty"`
9321
9322	// OutputAudioText: A text or ssml response that is preferentially used
9323	// for TTS output audio synthesis, as described in the comment on the
9324	// ResponseMessage message.
9325	OutputAudioText *GoogleCloudDialogflowCxV3beta1ResponseMessageOutputAudioText `json:"outputAudioText,omitempty"`
9326
9327	// Payload: Returns a response containing a custom, platform-specific
9328	// payload.
9329	Payload googleapi.RawMessage `json:"payload,omitempty"`
9330
9331	// PlayAudio: Signal that the client should play an audio clip hosted at
9332	// a client-specific URI. Dialogflow uses this to construct mixed_audio.
9333	// However, Dialogflow itself does not try to read or process the URI in
9334	// any way.
9335	PlayAudio *GoogleCloudDialogflowCxV3beta1ResponseMessagePlayAudio `json:"playAudio,omitempty"`
9336
9337	// Text: Returns a text response.
9338	Text *GoogleCloudDialogflowCxV3beta1ResponseMessageText `json:"text,omitempty"`
9339
9340	// ForceSendFields is a list of field names (e.g. "ConversationSuccess")
9341	// to unconditionally include in API requests. By default, fields with
9342	// empty or default values are omitted from API requests. However, any
9343	// non-pointer, non-interface field appearing in ForceSendFields will be
9344	// sent to the server regardless of whether the field is empty or not.
9345	// This may be used to include empty fields in Patch requests.
9346	ForceSendFields []string `json:"-"`
9347
9348	// NullFields is a list of field names (e.g. "ConversationSuccess") to
9349	// include in API requests with the JSON null value. By default, fields
9350	// with empty values are omitted from API requests. However, any field
9351	// with an empty value appearing in NullFields will be sent to the
9352	// server as null. It is an error if a field in this list has a
9353	// non-empty value. This may be used to include null fields in Patch
9354	// requests.
9355	NullFields []string `json:"-"`
9356}
9357
9358func (s *GoogleCloudDialogflowCxV3beta1ResponseMessage) MarshalJSON() ([]byte, error) {
9359	type NoMethod GoogleCloudDialogflowCxV3beta1ResponseMessage
9360	raw := NoMethod(*s)
9361	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9362}
9363
9364// GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccess:
9365// Indicates that the conversation succeeded, i.e., the bot handled the
9366// issue that the customer talked to it about. Dialogflow only uses this
9367// to determine which conversations should be counted as successful and
9368// doesn't process the metadata in this message in any way. Note that
9369// Dialogflow also considers conversations that get to the conversation
9370// end page as successful even if they don't return ConversationSuccess.
9371// You may set this, for example: * In the entry_fulfillment of a Page
9372// if entering the page indicates that the conversation succeeded. * In
9373// a webhook response when you determine that you handled the customer
9374// issue.
9375type GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccess struct {
9376	// Metadata: Custom metadata. Dialogflow doesn't impose any structure on
9377	// this.
9378	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
9379
9380	// ForceSendFields is a list of field names (e.g. "Metadata") to
9381	// unconditionally include in API requests. By default, fields with
9382	// empty or default values are omitted from API requests. However, any
9383	// non-pointer, non-interface field appearing in ForceSendFields will be
9384	// sent to the server regardless of whether the field is empty or not.
9385	// This may be used to include empty fields in Patch requests.
9386	ForceSendFields []string `json:"-"`
9387
9388	// NullFields is a list of field names (e.g. "Metadata") to include in
9389	// API requests with the JSON null value. By default, fields with empty
9390	// values are omitted from API requests. However, any field with an
9391	// empty value appearing in NullFields will be sent to the server as
9392	// null. It is an error if a field in this list has a non-empty value.
9393	// This may be used to include null fields in Patch requests.
9394	NullFields []string `json:"-"`
9395}
9396
9397func (s *GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccess) MarshalJSON() ([]byte, error) {
9398	type NoMethod GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccess
9399	raw := NoMethod(*s)
9400	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9401}
9402
9403// GoogleCloudDialogflowCxV3beta1ResponseMessageEndInteraction:
9404// Indicates that interaction with the Dialogflow agent has ended. This
9405// message is generated by Dialogflow only and not supposed to be
9406// defined by the user.
9407type GoogleCloudDialogflowCxV3beta1ResponseMessageEndInteraction struct {
9408}
9409
9410// GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoff:
9411// Indicates that the conversation should be handed off to a live agent.
9412// Dialogflow only uses this to determine which conversations were
9413// handed off to a human agent for measurement purposes. What else to do
9414// with this signal is up to you and your handoff procedures. You may
9415// set this, for example: * In the entry_fulfillment of a Page if
9416// entering the page indicates something went extremely wrong in the
9417// conversation. * In a webhook response when you determine that the
9418// customer issue can only be handled by a human.
9419type GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoff struct {
9420	// Metadata: Custom metadata for your handoff procedure. Dialogflow
9421	// doesn't impose any structure on this.
9422	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
9423
9424	// ForceSendFields is a list of field names (e.g. "Metadata") to
9425	// unconditionally include in API requests. By default, fields with
9426	// empty or default values are omitted from API requests. However, any
9427	// non-pointer, non-interface field appearing in ForceSendFields will be
9428	// sent to the server regardless of whether the field is empty or not.
9429	// This may be used to include empty fields in Patch requests.
9430	ForceSendFields []string `json:"-"`
9431
9432	// NullFields is a list of field names (e.g. "Metadata") to include in
9433	// API requests with the JSON null value. By default, fields with empty
9434	// values are omitted from API requests. However, any field with an
9435	// empty value appearing in NullFields will be sent to the server as
9436	// null. It is an error if a field in this list has a non-empty value.
9437	// This may be used to include null fields in Patch requests.
9438	NullFields []string `json:"-"`
9439}
9440
9441func (s *GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoff) MarshalJSON() ([]byte, error) {
9442	type NoMethod GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoff
9443	raw := NoMethod(*s)
9444	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9445}
9446
9447// GoogleCloudDialogflowCxV3beta1ResponseMessageMixedAudio: Represents
9448// an audio message that is composed of both segments synthesized from
9449// the Dialogflow agent prompts and ones hosted externally at the
9450// specified URIs. The external URIs are specified via play_audio. This
9451// message is generated by Dialogflow only and not supposed to be
9452// defined by the user.
9453type GoogleCloudDialogflowCxV3beta1ResponseMessageMixedAudio struct {
9454	// Segments: Segments this audio response is composed of.
9455	Segments []*GoogleCloudDialogflowCxV3beta1ResponseMessageMixedAudioSegment `json:"segments,omitempty"`
9456
9457	// ForceSendFields is a list of field names (e.g. "Segments") to
9458	// unconditionally include in API requests. By default, fields with
9459	// empty or default values are omitted from API requests. However, any
9460	// non-pointer, non-interface field appearing in ForceSendFields will be
9461	// sent to the server regardless of whether the field is empty or not.
9462	// This may be used to include empty fields in Patch requests.
9463	ForceSendFields []string `json:"-"`
9464
9465	// NullFields is a list of field names (e.g. "Segments") to include in
9466	// API requests with the JSON null value. By default, fields with empty
9467	// values are omitted from API requests. However, any field with an
9468	// empty value appearing in NullFields will be sent to the server as
9469	// null. It is an error if a field in this list has a non-empty value.
9470	// This may be used to include null fields in Patch requests.
9471	NullFields []string `json:"-"`
9472}
9473
9474func (s *GoogleCloudDialogflowCxV3beta1ResponseMessageMixedAudio) MarshalJSON() ([]byte, error) {
9475	type NoMethod GoogleCloudDialogflowCxV3beta1ResponseMessageMixedAudio
9476	raw := NoMethod(*s)
9477	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9478}
9479
9480// GoogleCloudDialogflowCxV3beta1ResponseMessageMixedAudioSegment:
9481// Represents one segment of audio.
9482type GoogleCloudDialogflowCxV3beta1ResponseMessageMixedAudioSegment struct {
9483	// AllowPlaybackInterruption: Output only. Whether the playback of this
9484	// segment can be interrupted by the end user's speech and the client
9485	// should then start the next Dialogflow request.
9486	AllowPlaybackInterruption bool `json:"allowPlaybackInterruption,omitempty"`
9487
9488	// Audio: Raw audio synthesized from the Dialogflow agent's response
9489	// using the output config specified in the request.
9490	Audio string `json:"audio,omitempty"`
9491
9492	// Uri: Client-specific URI that points to an audio clip accessible to
9493	// the client. Dialogflow does not impose any validation on it.
9494	Uri string `json:"uri,omitempty"`
9495
9496	// ForceSendFields is a list of field names (e.g.
9497	// "AllowPlaybackInterruption") to unconditionally include in API
9498	// requests. By default, fields with empty or default values are omitted
9499	// from API requests. However, any non-pointer, non-interface field
9500	// appearing in ForceSendFields will be sent to the server regardless of
9501	// whether the field is empty or not. This may be used to include empty
9502	// fields in Patch requests.
9503	ForceSendFields []string `json:"-"`
9504
9505	// NullFields is a list of field names (e.g.
9506	// "AllowPlaybackInterruption") to include in API requests with the JSON
9507	// null value. By default, fields with empty values are omitted from API
9508	// requests. However, any field with an empty value appearing in
9509	// NullFields will be sent to the server as null. It is an error if a
9510	// field in this list has a non-empty value. This may be used to include
9511	// null fields in Patch requests.
9512	NullFields []string `json:"-"`
9513}
9514
9515func (s *GoogleCloudDialogflowCxV3beta1ResponseMessageMixedAudioSegment) MarshalJSON() ([]byte, error) {
9516	type NoMethod GoogleCloudDialogflowCxV3beta1ResponseMessageMixedAudioSegment
9517	raw := NoMethod(*s)
9518	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9519}
9520
9521// GoogleCloudDialogflowCxV3beta1ResponseMessageOutputAudioText: A text
9522// or ssml response that is preferentially used for TTS output audio
9523// synthesis, as described in the comment on the ResponseMessage
9524// message.
9525type GoogleCloudDialogflowCxV3beta1ResponseMessageOutputAudioText struct {
9526	// AllowPlaybackInterruption: Output only. Whether the playback of this
9527	// message can be interrupted by the end user's speech and the client
9528	// can then starts the next Dialogflow request.
9529	AllowPlaybackInterruption bool `json:"allowPlaybackInterruption,omitempty"`
9530
9531	// Ssml: The SSML text to be synthesized. For more information, see SSML
9532	// (/speech/text-to-speech/docs/ssml).
9533	Ssml string `json:"ssml,omitempty"`
9534
9535	// Text: The raw text to be synthesized.
9536	Text string `json:"text,omitempty"`
9537
9538	// ForceSendFields is a list of field names (e.g.
9539	// "AllowPlaybackInterruption") to unconditionally include in API
9540	// requests. By default, fields with empty or default values are omitted
9541	// from API requests. However, any non-pointer, non-interface field
9542	// appearing in ForceSendFields will be sent to the server regardless of
9543	// whether the field is empty or not. This may be used to include empty
9544	// fields in Patch requests.
9545	ForceSendFields []string `json:"-"`
9546
9547	// NullFields is a list of field names (e.g.
9548	// "AllowPlaybackInterruption") to include in API requests with the JSON
9549	// null value. By default, fields with empty values are omitted from API
9550	// requests. However, any field with an empty value appearing in
9551	// NullFields will be sent to the server as null. It is an error if a
9552	// field in this list has a non-empty value. This may be used to include
9553	// null fields in Patch requests.
9554	NullFields []string `json:"-"`
9555}
9556
9557func (s *GoogleCloudDialogflowCxV3beta1ResponseMessageOutputAudioText) MarshalJSON() ([]byte, error) {
9558	type NoMethod GoogleCloudDialogflowCxV3beta1ResponseMessageOutputAudioText
9559	raw := NoMethod(*s)
9560	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9561}
9562
9563// GoogleCloudDialogflowCxV3beta1ResponseMessagePlayAudio: Specifies an
9564// audio clip to be played by the client as part of the response.
9565type GoogleCloudDialogflowCxV3beta1ResponseMessagePlayAudio struct {
9566	// AllowPlaybackInterruption: Output only. Whether the playback of this
9567	// message can be interrupted by the end user's speech and the client
9568	// can then starts the next Dialogflow request.
9569	AllowPlaybackInterruption bool `json:"allowPlaybackInterruption,omitempty"`
9570
9571	// AudioUri: Required. URI of the audio clip. Dialogflow does not impose
9572	// any validation on this value. It is specific to the client that reads
9573	// it.
9574	AudioUri string `json:"audioUri,omitempty"`
9575
9576	// ForceSendFields is a list of field names (e.g.
9577	// "AllowPlaybackInterruption") to unconditionally include in API
9578	// requests. By default, fields with empty or default values are omitted
9579	// from API requests. However, any non-pointer, non-interface field
9580	// appearing in ForceSendFields will be sent to the server regardless of
9581	// whether the field is empty or not. This may be used to include empty
9582	// fields in Patch requests.
9583	ForceSendFields []string `json:"-"`
9584
9585	// NullFields is a list of field names (e.g.
9586	// "AllowPlaybackInterruption") to include in API requests with the JSON
9587	// null value. By default, fields with empty values are omitted from API
9588	// requests. However, any field with an empty value appearing in
9589	// NullFields will be sent to the server as null. It is an error if a
9590	// field in this list has a non-empty value. This may be used to include
9591	// null fields in Patch requests.
9592	NullFields []string `json:"-"`
9593}
9594
9595func (s *GoogleCloudDialogflowCxV3beta1ResponseMessagePlayAudio) MarshalJSON() ([]byte, error) {
9596	type NoMethod GoogleCloudDialogflowCxV3beta1ResponseMessagePlayAudio
9597	raw := NoMethod(*s)
9598	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9599}
9600
9601// GoogleCloudDialogflowCxV3beta1ResponseMessageText: The text response
9602// message.
9603type GoogleCloudDialogflowCxV3beta1ResponseMessageText struct {
9604	// AllowPlaybackInterruption: Output only. Whether the playback of this
9605	// message can be interrupted by the end user's speech and the client
9606	// can then starts the next Dialogflow request.
9607	AllowPlaybackInterruption bool `json:"allowPlaybackInterruption,omitempty"`
9608
9609	// Text: Required. A collection of text responses.
9610	Text []string `json:"text,omitempty"`
9611
9612	// ForceSendFields is a list of field names (e.g.
9613	// "AllowPlaybackInterruption") to unconditionally include in API
9614	// requests. By default, fields with empty or default values are omitted
9615	// from API requests. However, any non-pointer, non-interface field
9616	// appearing in ForceSendFields will be sent to the server regardless of
9617	// whether the field is empty or not. This may be used to include empty
9618	// fields in Patch requests.
9619	ForceSendFields []string `json:"-"`
9620
9621	// NullFields is a list of field names (e.g.
9622	// "AllowPlaybackInterruption") to include in API requests with the JSON
9623	// null value. By default, fields with empty values are omitted from API
9624	// requests. However, any field with an empty value appearing in
9625	// NullFields will be sent to the server as null. It is an error if a
9626	// field in this list has a non-empty value. This may be used to include
9627	// null fields in Patch requests.
9628	NullFields []string `json:"-"`
9629}
9630
9631func (s *GoogleCloudDialogflowCxV3beta1ResponseMessageText) MarshalJSON() ([]byte, error) {
9632	type NoMethod GoogleCloudDialogflowCxV3beta1ResponseMessageText
9633	raw := NoMethod(*s)
9634	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9635}
9636
9637// GoogleCloudDialogflowCxV3beta1RunContinuousTestMetadata: Metadata
9638// returned for the Environments.RunContinuousTest long running
9639// operation.
9640type GoogleCloudDialogflowCxV3beta1RunContinuousTestMetadata struct {
9641	// Errors: The test errors.
9642	Errors []*GoogleCloudDialogflowCxV3beta1TestError `json:"errors,omitempty"`
9643
9644	// ForceSendFields is a list of field names (e.g. "Errors") to
9645	// unconditionally include in API requests. By default, fields with
9646	// empty or default values are omitted from API requests. However, any
9647	// non-pointer, non-interface field appearing in ForceSendFields will be
9648	// sent to the server regardless of whether the field is empty or not.
9649	// This may be used to include empty fields in Patch requests.
9650	ForceSendFields []string `json:"-"`
9651
9652	// NullFields is a list of field names (e.g. "Errors") to include in API
9653	// requests with the JSON null value. By default, fields with empty
9654	// values are omitted from API requests. However, any field with an
9655	// empty value appearing in NullFields will be sent to the server as
9656	// null. It is an error if a field in this list has a non-empty value.
9657	// This may be used to include null fields in Patch requests.
9658	NullFields []string `json:"-"`
9659}
9660
9661func (s *GoogleCloudDialogflowCxV3beta1RunContinuousTestMetadata) MarshalJSON() ([]byte, error) {
9662	type NoMethod GoogleCloudDialogflowCxV3beta1RunContinuousTestMetadata
9663	raw := NoMethod(*s)
9664	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9665}
9666
9667// GoogleCloudDialogflowCxV3beta1RunContinuousTestResponse: The response
9668// message for Environments.RunContinuousTest.
9669type GoogleCloudDialogflowCxV3beta1RunContinuousTestResponse struct {
9670	// ContinuousTestResult: The result for a continuous test run.
9671	ContinuousTestResult *GoogleCloudDialogflowCxV3beta1ContinuousTestResult `json:"continuousTestResult,omitempty"`
9672
9673	// ForceSendFields is a list of field names (e.g.
9674	// "ContinuousTestResult") to unconditionally include in API requests.
9675	// By default, fields with empty or default values are omitted from API
9676	// requests. However, any non-pointer, non-interface field appearing in
9677	// ForceSendFields will be sent to the server regardless of whether the
9678	// field is empty or not. This may be used to include empty fields in
9679	// Patch requests.
9680	ForceSendFields []string `json:"-"`
9681
9682	// NullFields is a list of field names (e.g. "ContinuousTestResult") to
9683	// include in API requests with the JSON null value. By default, fields
9684	// with empty values are omitted from API requests. However, any field
9685	// with an empty value appearing in NullFields will be sent to the
9686	// server as null. It is an error if a field in this list has a
9687	// non-empty value. This may be used to include null fields in Patch
9688	// requests.
9689	NullFields []string `json:"-"`
9690}
9691
9692func (s *GoogleCloudDialogflowCxV3beta1RunContinuousTestResponse) MarshalJSON() ([]byte, error) {
9693	type NoMethod GoogleCloudDialogflowCxV3beta1RunContinuousTestResponse
9694	raw := NoMethod(*s)
9695	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9696}
9697
9698// GoogleCloudDialogflowCxV3beta1RunTestCaseMetadata: Metadata returned
9699// for the TestCases.RunTestCase long running operation.
9700type GoogleCloudDialogflowCxV3beta1RunTestCaseMetadata struct {
9701}
9702
9703// GoogleCloudDialogflowCxV3beta1RunTestCaseResponse: The response
9704// message for TestCases.RunTestCase.
9705type GoogleCloudDialogflowCxV3beta1RunTestCaseResponse struct {
9706	// Result: The result.
9707	Result *GoogleCloudDialogflowCxV3beta1TestCaseResult `json:"result,omitempty"`
9708
9709	// ForceSendFields is a list of field names (e.g. "Result") to
9710	// unconditionally include in API requests. By default, fields with
9711	// empty or default values are omitted from API requests. However, any
9712	// non-pointer, non-interface field appearing in ForceSendFields will be
9713	// sent to the server regardless of whether the field is empty or not.
9714	// This may be used to include empty fields in Patch requests.
9715	ForceSendFields []string `json:"-"`
9716
9717	// NullFields is a list of field names (e.g. "Result") to include in API
9718	// requests with the JSON null value. By default, fields with empty
9719	// values are omitted from API requests. However, any field with an
9720	// empty value appearing in NullFields will be sent to the server as
9721	// null. It is an error if a field in this list has a non-empty value.
9722	// This may be used to include null fields in Patch requests.
9723	NullFields []string `json:"-"`
9724}
9725
9726func (s *GoogleCloudDialogflowCxV3beta1RunTestCaseResponse) MarshalJSON() ([]byte, error) {
9727	type NoMethod GoogleCloudDialogflowCxV3beta1RunTestCaseResponse
9728	raw := NoMethod(*s)
9729	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9730}
9731
9732// GoogleCloudDialogflowCxV3beta1SessionInfo: Represents session
9733// information communicated to and from the webhook.
9734type GoogleCloudDialogflowCxV3beta1SessionInfo struct {
9735	// Parameters: Optional for WebhookRequest. Optional for
9736	// WebhookResponse. All parameters collected from forms and intents
9737	// during the session. Parameters can be created, updated, or removed by
9738	// the webhook. To remove a parameter from the session, the webhook
9739	// should explicitly set the parameter value to null in WebhookResponse.
9740	// The map is keyed by parameters' display names.
9741	Parameters googleapi.RawMessage `json:"parameters,omitempty"`
9742
9743	// Session: Always present for WebhookRequest. Ignored for
9744	// WebhookResponse. The unique identifier of the session. This field can
9745	// be used by the webhook to identify a session. Format:
9746	// `projects//locations//agents//sessions/` or
9747	// `projects//locations//agents//environments//sessions/` if environment
9748	// is specified.
9749	Session string `json:"session,omitempty"`
9750
9751	// ForceSendFields is a list of field names (e.g. "Parameters") to
9752	// unconditionally include in API requests. By default, fields with
9753	// empty or default values are omitted from API requests. However, any
9754	// non-pointer, non-interface field appearing in ForceSendFields will be
9755	// sent to the server regardless of whether the field is empty or not.
9756	// This may be used to include empty fields in Patch requests.
9757	ForceSendFields []string `json:"-"`
9758
9759	// NullFields is a list of field names (e.g. "Parameters") to include in
9760	// API requests with the JSON null value. By default, fields with empty
9761	// values are omitted from API requests. However, any field with an
9762	// empty value appearing in NullFields will be sent to the server as
9763	// null. It is an error if a field in this list has a non-empty value.
9764	// This may be used to include null fields in Patch requests.
9765	NullFields []string `json:"-"`
9766}
9767
9768func (s *GoogleCloudDialogflowCxV3beta1SessionInfo) MarshalJSON() ([]byte, error) {
9769	type NoMethod GoogleCloudDialogflowCxV3beta1SessionInfo
9770	raw := NoMethod(*s)
9771	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9772}
9773
9774// GoogleCloudDialogflowCxV3beta1TestCase: Represents a test case.
9775type GoogleCloudDialogflowCxV3beta1TestCase struct {
9776	// CreationTime: Output only. When the test was created.
9777	CreationTime string `json:"creationTime,omitempty"`
9778
9779	// DisplayName: Required. The human-readable name of the test case,
9780	// unique within the agent. Limit of 200 characters.
9781	DisplayName string `json:"displayName,omitempty"`
9782
9783	// LastTestResult: The latest test result.
9784	LastTestResult *GoogleCloudDialogflowCxV3beta1TestCaseResult `json:"lastTestResult,omitempty"`
9785
9786	// Name: The unique identifier of the test case.
9787	// TestCases.CreateTestCase will populate the name automatically.
9788	// Otherwise use format: `projects//locations//agents/ /testCases/`.
9789	Name string `json:"name,omitempty"`
9790
9791	// Notes: Additional freeform notes about the test case. Limit of 400
9792	// characters.
9793	Notes string `json:"notes,omitempty"`
9794
9795	// Tags: Tags are short descriptions that users may apply to test cases
9796	// for organizational and filtering purposes. Each tag should start with
9797	// "#" and has a limit of 30 characters.
9798	Tags []string `json:"tags,omitempty"`
9799
9800	// TestCaseConversationTurns: The conversation turns uttered when the
9801	// test case was created, in chronological order. These include the
9802	// canonical set of agent utterances that should occur when the agent is
9803	// working properly.
9804	TestCaseConversationTurns []*GoogleCloudDialogflowCxV3beta1ConversationTurn `json:"testCaseConversationTurns,omitempty"`
9805
9806	// TestConfig: Config for the test case.
9807	TestConfig *GoogleCloudDialogflowCxV3beta1TestConfig `json:"testConfig,omitempty"`
9808
9809	// ForceSendFields is a list of field names (e.g. "CreationTime") to
9810	// unconditionally include in API requests. By default, fields with
9811	// empty or default values are omitted from API requests. However, any
9812	// non-pointer, non-interface field appearing in ForceSendFields will be
9813	// sent to the server regardless of whether the field is empty or not.
9814	// This may be used to include empty fields in Patch requests.
9815	ForceSendFields []string `json:"-"`
9816
9817	// NullFields is a list of field names (e.g. "CreationTime") to include
9818	// in API requests with the JSON null value. By default, fields with
9819	// empty values are omitted from API requests. However, any field with
9820	// an empty value appearing in NullFields will be sent to the server as
9821	// null. It is an error if a field in this list has a non-empty value.
9822	// This may be used to include null fields in Patch requests.
9823	NullFields []string `json:"-"`
9824}
9825
9826func (s *GoogleCloudDialogflowCxV3beta1TestCase) MarshalJSON() ([]byte, error) {
9827	type NoMethod GoogleCloudDialogflowCxV3beta1TestCase
9828	raw := NoMethod(*s)
9829	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9830}
9831
9832// GoogleCloudDialogflowCxV3beta1TestCaseError: Error info for importing
9833// a test.
9834type GoogleCloudDialogflowCxV3beta1TestCaseError struct {
9835	// Status: The status associated with the test case.
9836	Status *GoogleRpcStatus `json:"status,omitempty"`
9837
9838	// TestCase: The test case.
9839	TestCase *GoogleCloudDialogflowCxV3beta1TestCase `json:"testCase,omitempty"`
9840
9841	// ForceSendFields is a list of field names (e.g. "Status") to
9842	// unconditionally include in API requests. By default, fields with
9843	// empty or default values are omitted from API requests. However, any
9844	// non-pointer, non-interface field appearing in ForceSendFields will be
9845	// sent to the server regardless of whether the field is empty or not.
9846	// This may be used to include empty fields in Patch requests.
9847	ForceSendFields []string `json:"-"`
9848
9849	// NullFields is a list of field names (e.g. "Status") to include in API
9850	// requests with the JSON null value. By default, fields with empty
9851	// values are omitted from API requests. However, any field with an
9852	// 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 *GoogleCloudDialogflowCxV3beta1TestCaseError) MarshalJSON() ([]byte, error) {
9859	type NoMethod GoogleCloudDialogflowCxV3beta1TestCaseError
9860	raw := NoMethod(*s)
9861	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9862}
9863
9864// GoogleCloudDialogflowCxV3beta1TestCaseResult: Represents a result
9865// from running a test case in an agent environment.
9866type GoogleCloudDialogflowCxV3beta1TestCaseResult struct {
9867	// ConversationTurns: The conversation turns uttered during the test
9868	// case replay in chronological order.
9869	ConversationTurns []*GoogleCloudDialogflowCxV3beta1ConversationTurn `json:"conversationTurns,omitempty"`
9870
9871	// Environment: Environment where the test was run. If not set, it
9872	// indicates the draft environment.
9873	Environment string `json:"environment,omitempty"`
9874
9875	// Name: The resource name for the test case result. Format:
9876	// `projects//locations//agents//testCases/ /results/`.
9877	Name string `json:"name,omitempty"`
9878
9879	// TestResult: Whether the test case passed in the agent environment.
9880	//
9881	// Possible values:
9882	//   "TEST_RESULT_UNSPECIFIED" - Not specified. Should never be used.
9883	//   "PASSED" - The test passed.
9884	//   "FAILED" - The test did not pass.
9885	TestResult string `json:"testResult,omitempty"`
9886
9887	// TestTime: The time that the test was run.
9888	TestTime string `json:"testTime,omitempty"`
9889
9890	// ForceSendFields is a list of field names (e.g. "ConversationTurns")
9891	// to unconditionally include in API requests. By default, fields with
9892	// empty or default values are omitted from API requests. However, any
9893	// non-pointer, non-interface field appearing in ForceSendFields will be
9894	// sent to the server regardless of whether the field is empty or not.
9895	// This may be used to include empty fields in Patch requests.
9896	ForceSendFields []string `json:"-"`
9897
9898	// NullFields is a list of field names (e.g. "ConversationTurns") to
9899	// include in API requests with the JSON null value. By default, fields
9900	// with empty values are omitted from API requests. However, any field
9901	// with an empty value appearing in NullFields will be sent to the
9902	// server as null. It is an error if a field in this list has a
9903	// non-empty value. This may be used to include null fields in Patch
9904	// requests.
9905	NullFields []string `json:"-"`
9906}
9907
9908func (s *GoogleCloudDialogflowCxV3beta1TestCaseResult) MarshalJSON() ([]byte, error) {
9909	type NoMethod GoogleCloudDialogflowCxV3beta1TestCaseResult
9910	raw := NoMethod(*s)
9911	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9912}
9913
9914// GoogleCloudDialogflowCxV3beta1TestConfig: Represents configurations
9915// for a test case.
9916type GoogleCloudDialogflowCxV3beta1TestConfig struct {
9917	// Flow: Flow name. If not set, default start flow is assumed. Format:
9918	// `projects//locations//agents//flows/`.
9919	Flow string `json:"flow,omitempty"`
9920
9921	// TrackingParameters: Session parameters to be compared when
9922	// calculating differences.
9923	TrackingParameters []string `json:"trackingParameters,omitempty"`
9924
9925	// ForceSendFields is a list of field names (e.g. "Flow") to
9926	// unconditionally include in API requests. By default, fields with
9927	// empty or default values are omitted from API requests. However, any
9928	// non-pointer, non-interface field appearing in ForceSendFields will be
9929	// sent to the server regardless of whether the field is empty or not.
9930	// This may be used to include empty fields in Patch requests.
9931	ForceSendFields []string `json:"-"`
9932
9933	// NullFields is a list of field names (e.g. "Flow") to include in API
9934	// requests with the JSON null value. By default, fields with empty
9935	// values are omitted from API requests. However, any field with an
9936	// empty value appearing in NullFields will be sent to the server as
9937	// null. It is an error if a field in this list has a non-empty value.
9938	// This may be used to include null fields in Patch requests.
9939	NullFields []string `json:"-"`
9940}
9941
9942func (s *GoogleCloudDialogflowCxV3beta1TestConfig) MarshalJSON() ([]byte, error) {
9943	type NoMethod GoogleCloudDialogflowCxV3beta1TestConfig
9944	raw := NoMethod(*s)
9945	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9946}
9947
9948// GoogleCloudDialogflowCxV3beta1TestError: Error info for running a
9949// test.
9950type GoogleCloudDialogflowCxV3beta1TestError struct {
9951	// Status: The status associated with the test.
9952	Status *GoogleRpcStatus `json:"status,omitempty"`
9953
9954	// TestCase: The test case resource name.
9955	TestCase string `json:"testCase,omitempty"`
9956
9957	// TestTime: The timestamp when the test was completed.
9958	TestTime string `json:"testTime,omitempty"`
9959
9960	// ForceSendFields is a list of field names (e.g. "Status") to
9961	// unconditionally include in API requests. By default, fields with
9962	// empty or default values are omitted from API requests. However, any
9963	// non-pointer, non-interface field appearing in ForceSendFields will be
9964	// sent to the server regardless of whether the field is empty or not.
9965	// This may be used to include empty fields in Patch requests.
9966	ForceSendFields []string `json:"-"`
9967
9968	// NullFields is a list of field names (e.g. "Status") to include in API
9969	// requests with the JSON null value. By default, fields with empty
9970	// values are omitted from API requests. However, any field with an
9971	// empty value appearing in NullFields will be sent to the server as
9972	// null. It is an error if a field in this list has a non-empty value.
9973	// This may be used to include null fields in Patch requests.
9974	NullFields []string `json:"-"`
9975}
9976
9977func (s *GoogleCloudDialogflowCxV3beta1TestError) MarshalJSON() ([]byte, error) {
9978	type NoMethod GoogleCloudDialogflowCxV3beta1TestError
9979	raw := NoMethod(*s)
9980	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9981}
9982
9983// GoogleCloudDialogflowCxV3beta1TestRunDifference: The description of
9984// differences between original and replayed agent output.
9985type GoogleCloudDialogflowCxV3beta1TestRunDifference struct {
9986	// Description: A description of the diff, showing the actual output vs
9987	// expected output.
9988	Description string `json:"description,omitempty"`
9989
9990	// Type: The type of diff.
9991	//
9992	// Possible values:
9993	//   "DIFF_TYPE_UNSPECIFIED" - Should never be used.
9994	//   "INTENT" - The intent.
9995	//   "PAGE" - The page.
9996	//   "PARAMETERS" - The parameters.
9997	//   "UTTERANCE" - The message utterance.
9998	Type string `json:"type,omitempty"`
9999
10000	// ForceSendFields is a list of field names (e.g. "Description") to
10001	// unconditionally include in API requests. By default, fields with
10002	// empty or default values are omitted from API requests. However, any
10003	// non-pointer, non-interface field appearing in ForceSendFields will be
10004	// sent to the server regardless of whether the field is empty or not.
10005	// This may be used to include empty fields in Patch requests.
10006	ForceSendFields []string `json:"-"`
10007
10008	// NullFields is a list of field names (e.g. "Description") to include
10009	// in API requests with the JSON null value. By default, fields with
10010	// empty values are omitted from API requests. However, any field with
10011	// an empty value appearing in NullFields will be sent to the server as
10012	// null. It is an error if a field in this list has a non-empty value.
10013	// This may be used to include null fields in Patch requests.
10014	NullFields []string `json:"-"`
10015}
10016
10017func (s *GoogleCloudDialogflowCxV3beta1TestRunDifference) MarshalJSON() ([]byte, error) {
10018	type NoMethod GoogleCloudDialogflowCxV3beta1TestRunDifference
10019	raw := NoMethod(*s)
10020	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10021}
10022
10023// GoogleCloudDialogflowCxV3beta1TextInput: Represents the natural
10024// language text to be processed.
10025type GoogleCloudDialogflowCxV3beta1TextInput struct {
10026	// Text: Required. The UTF-8 encoded natural language text to be
10027	// processed. Text length must not exceed 256 characters.
10028	Text string `json:"text,omitempty"`
10029
10030	// ForceSendFields is a list of field names (e.g. "Text") to
10031	// unconditionally include in API requests. By default, fields with
10032	// empty or default values are omitted from API requests. However, any
10033	// non-pointer, non-interface field appearing in ForceSendFields will be
10034	// sent to the server regardless of whether the field is empty or not.
10035	// This may be used to include empty fields in Patch requests.
10036	ForceSendFields []string `json:"-"`
10037
10038	// NullFields is a list of field names (e.g. "Text") to include in API
10039	// requests with the JSON null value. By default, fields with empty
10040	// values are omitted from API requests. However, any field with an
10041	// empty value appearing in NullFields will be sent to the server as
10042	// null. It is an error if a field in this list has a non-empty value.
10043	// This may be used to include null fields in Patch requests.
10044	NullFields []string `json:"-"`
10045}
10046
10047func (s *GoogleCloudDialogflowCxV3beta1TextInput) MarshalJSON() ([]byte, error) {
10048	type NoMethod GoogleCloudDialogflowCxV3beta1TextInput
10049	raw := NoMethod(*s)
10050	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10051}
10052
10053// GoogleCloudDialogflowCxV3beta1TransitionRoute: A transition route
10054// specifies a intent that can be matched and/or a data condition that
10055// can be evaluated during a session. When a specified transition is
10056// matched, the following actions are taken in order: * If there is a
10057// `trigger_fulfillment` associated with the transition, it will be
10058// called. * If there is a `target_page` associated with the transition,
10059// the session will transition into the specified page. * If there is a
10060// `target_flow` associated with the transition, the session will
10061// transition into the specified flow.
10062type GoogleCloudDialogflowCxV3beta1TransitionRoute struct {
10063	// Condition: The condition to evaluate against form parameters or
10064	// session parameters. See the conditions reference
10065	// (https://cloud.google.com/dialogflow/cx/docs/reference/condition). At
10066	// least one of `intent` or `condition` must be specified. When both
10067	// `intent` and `condition` are specified, the transition can only
10068	// happen when both are fulfilled.
10069	Condition string `json:"condition,omitempty"`
10070
10071	// Intent: The unique identifier of an Intent. Format:
10072	// `projects//locations//agents//intents/`. Indicates that the
10073	// transition can only happen when the given intent is matched. At least
10074	// one of `intent` or `condition` must be specified. When both `intent`
10075	// and `condition` are specified, the transition can only happen when
10076	// both are fulfilled.
10077	Intent string `json:"intent,omitempty"`
10078
10079	// Name: Output only. The unique identifier of this transition route.
10080	Name string `json:"name,omitempty"`
10081
10082	// TargetFlow: The target flow to transition to. Format:
10083	// `projects//locations//agents//flows/`.
10084	TargetFlow string `json:"targetFlow,omitempty"`
10085
10086	// TargetPage: The target page to transition to. Format:
10087	// `projects//locations//agents//flows//pages/`.
10088	TargetPage string `json:"targetPage,omitempty"`
10089
10090	// TriggerFulfillment: The fulfillment to call when the condition is
10091	// satisfied. At least one of `trigger_fulfillment` and `target` must be
10092	// specified. When both are defined, `trigger_fulfillment` is executed
10093	// first.
10094	TriggerFulfillment *GoogleCloudDialogflowCxV3beta1Fulfillment `json:"triggerFulfillment,omitempty"`
10095
10096	// ForceSendFields is a list of field names (e.g. "Condition") to
10097	// unconditionally include in API requests. By default, fields with
10098	// empty or default values are omitted from API requests. However, any
10099	// non-pointer, non-interface field appearing in ForceSendFields will be
10100	// sent to the server regardless of whether the field is empty or not.
10101	// This may be used to include empty fields in Patch requests.
10102	ForceSendFields []string `json:"-"`
10103
10104	// NullFields is a list of field names (e.g. "Condition") to include in
10105	// API requests with the JSON null value. By default, fields with empty
10106	// values are omitted from API requests. However, any field with an
10107	// empty value appearing in NullFields will be sent to the server as
10108	// null. It is an error if a field in this list has a non-empty value.
10109	// This may be used to include null fields in Patch requests.
10110	NullFields []string `json:"-"`
10111}
10112
10113func (s *GoogleCloudDialogflowCxV3beta1TransitionRoute) MarshalJSON() ([]byte, error) {
10114	type NoMethod GoogleCloudDialogflowCxV3beta1TransitionRoute
10115	raw := NoMethod(*s)
10116	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10117}
10118
10119// GoogleCloudDialogflowCxV3beta1UpdateDocumentOperationMetadata:
10120// Metadata for UpdateDocument operation.
10121type GoogleCloudDialogflowCxV3beta1UpdateDocumentOperationMetadata struct {
10122	// GenericMetadata: The generic information of the operation.
10123	GenericMetadata *GoogleCloudDialogflowCxV3beta1GenericKnowledgeOperationMetadata `json:"genericMetadata,omitempty"`
10124
10125	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
10126	// unconditionally include in API requests. By default, fields with
10127	// empty or default values are omitted from API requests. However, any
10128	// non-pointer, non-interface field appearing in ForceSendFields will be
10129	// sent to the server regardless of whether the field is empty or not.
10130	// This may be used to include empty fields in Patch requests.
10131	ForceSendFields []string `json:"-"`
10132
10133	// NullFields is a list of field names (e.g. "GenericMetadata") to
10134	// include in API requests with the JSON null value. By default, fields
10135	// with empty values are omitted from API requests. However, any field
10136	// with an empty value appearing in NullFields will be sent to the
10137	// server as null. It is an error if a field in this list has a
10138	// non-empty value. This may be used to include null fields in Patch
10139	// requests.
10140	NullFields []string `json:"-"`
10141}
10142
10143func (s *GoogleCloudDialogflowCxV3beta1UpdateDocumentOperationMetadata) MarshalJSON() ([]byte, error) {
10144	type NoMethod GoogleCloudDialogflowCxV3beta1UpdateDocumentOperationMetadata
10145	raw := NoMethod(*s)
10146	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10147}
10148
10149// GoogleCloudDialogflowCxV3beta1WebhookRequest: The request message for
10150// a webhook call. The request is sent as a JSON object and the field
10151// names will be presented in camel cases.
10152type GoogleCloudDialogflowCxV3beta1WebhookRequest struct {
10153	// DetectIntentResponseId: Always present. The unique identifier of the
10154	// DetectIntentResponse that will be returned to the API caller.
10155	DetectIntentResponseId string `json:"detectIntentResponseId,omitempty"`
10156
10157	// FulfillmentInfo: Always present. Information about the fulfillment
10158	// that triggered this webhook call.
10159	FulfillmentInfo *GoogleCloudDialogflowCxV3beta1WebhookRequestFulfillmentInfo `json:"fulfillmentInfo,omitempty"`
10160
10161	// IntentInfo: Information about the last matched intent.
10162	IntentInfo *GoogleCloudDialogflowCxV3beta1WebhookRequestIntentInfo `json:"intentInfo,omitempty"`
10163
10164	// LanguageCode: The language code specified in the original request.
10165	LanguageCode string `json:"languageCode,omitempty"`
10166
10167	// Messages: The list of rich message responses to present to the user.
10168	// Webhook can choose to append or replace this list in
10169	// WebhookResponse.fulfillment_response;
10170	Messages []*GoogleCloudDialogflowCxV3beta1ResponseMessage `json:"messages,omitempty"`
10171
10172	// PageInfo: Information about page status.
10173	PageInfo *GoogleCloudDialogflowCxV3beta1PageInfo `json:"pageInfo,omitempty"`
10174
10175	// Payload: Custom data set in QueryParameters.payload.
10176	Payload googleapi.RawMessage `json:"payload,omitempty"`
10177
10178	// SentimentAnalysisResult: The sentiment analysis result of the current
10179	// user request. The field is filled when sentiment analysis is
10180	// configured to be enabled for the request.
10181	SentimentAnalysisResult *GoogleCloudDialogflowCxV3beta1WebhookRequestSentimentAnalysisResult `json:"sentimentAnalysisResult,omitempty"`
10182
10183	// SessionInfo: Information about session status.
10184	SessionInfo *GoogleCloudDialogflowCxV3beta1SessionInfo `json:"sessionInfo,omitempty"`
10185
10186	// Text: If natural language text was provided as input, this field will
10187	// contain a copy of the text.
10188	Text string `json:"text,omitempty"`
10189
10190	// Transcript: If natural language speech audio was provided as input,
10191	// this field will contain the transcript for the audio.
10192	Transcript string `json:"transcript,omitempty"`
10193
10194	// TriggerEvent: If an event was provided as input, this field will
10195	// contain the name of the event.
10196	TriggerEvent string `json:"triggerEvent,omitempty"`
10197
10198	// TriggerIntent: If an intent was provided as input, this field will
10199	// contain a copy of the intent identifier. Format:
10200	// `projects//locations//agents//intents/`.
10201	TriggerIntent string `json:"triggerIntent,omitempty"`
10202
10203	// ForceSendFields is a list of field names (e.g.
10204	// "DetectIntentResponseId") to unconditionally include in API requests.
10205	// By default, fields with empty or default values are omitted from API
10206	// requests. However, any non-pointer, non-interface field appearing in
10207	// ForceSendFields will be sent to the server regardless of whether the
10208	// field is empty or not. This may be used to include empty fields in
10209	// Patch requests.
10210	ForceSendFields []string `json:"-"`
10211
10212	// NullFields is a list of field names (e.g. "DetectIntentResponseId")
10213	// to include in API requests with the JSON null value. By default,
10214	// fields with empty values are omitted from API requests. However, any
10215	// field with an empty value appearing in NullFields will be sent to the
10216	// server as null. It is an error if a field in this list has a
10217	// non-empty value. This may be used to include null fields in Patch
10218	// requests.
10219	NullFields []string `json:"-"`
10220}
10221
10222func (s *GoogleCloudDialogflowCxV3beta1WebhookRequest) MarshalJSON() ([]byte, error) {
10223	type NoMethod GoogleCloudDialogflowCxV3beta1WebhookRequest
10224	raw := NoMethod(*s)
10225	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10226}
10227
10228// GoogleCloudDialogflowCxV3beta1WebhookRequestFulfillmentInfo:
10229// Represents fulfillment information communicated to the webhook.
10230type GoogleCloudDialogflowCxV3beta1WebhookRequestFulfillmentInfo struct {
10231	// Tag: Always present. The tag used to identify which fulfillment is
10232	// being called.
10233	Tag string `json:"tag,omitempty"`
10234
10235	// ForceSendFields is a list of field names (e.g. "Tag") to
10236	// unconditionally include in API requests. By default, fields with
10237	// empty or default values are omitted from API requests. However, any
10238	// non-pointer, non-interface field appearing in ForceSendFields will be
10239	// sent to the server regardless of whether the field is empty or not.
10240	// This may be used to include empty fields in Patch requests.
10241	ForceSendFields []string `json:"-"`
10242
10243	// NullFields is a list of field names (e.g. "Tag") to include in API
10244	// requests with the JSON null value. By default, fields with empty
10245	// values are omitted from API requests. However, any field with an
10246	// empty value appearing in NullFields will be sent to the server as
10247	// null. It is an error if a field in this list has a non-empty value.
10248	// This may be used to include null fields in Patch requests.
10249	NullFields []string `json:"-"`
10250}
10251
10252func (s *GoogleCloudDialogflowCxV3beta1WebhookRequestFulfillmentInfo) MarshalJSON() ([]byte, error) {
10253	type NoMethod GoogleCloudDialogflowCxV3beta1WebhookRequestFulfillmentInfo
10254	raw := NoMethod(*s)
10255	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10256}
10257
10258// GoogleCloudDialogflowCxV3beta1WebhookRequestIntentInfo: Represents
10259// intent information communicated to the webhook.
10260type GoogleCloudDialogflowCxV3beta1WebhookRequestIntentInfo struct {
10261	// Confidence: The confidence of the matched intent. Values range from
10262	// 0.0 (completely uncertain) to 1.0 (completely certain).
10263	Confidence float64 `json:"confidence,omitempty"`
10264
10265	// DisplayName: Always present. The display name of the last matched
10266	// intent.
10267	DisplayName string `json:"displayName,omitempty"`
10268
10269	// LastMatchedIntent: Always present. The unique identifier of the last
10270	// matched intent. Format: `projects//locations//agents//intents/`.
10271	LastMatchedIntent string `json:"lastMatchedIntent,omitempty"`
10272
10273	// Parameters: Parameters identified as a result of intent matching.
10274	// This is a map of the name of the identified parameter to the value of
10275	// the parameter identified from the user's utterance. All parameters
10276	// defined in the matched intent that are identified will be surfaced
10277	// here.
10278	Parameters map[string]GoogleCloudDialogflowCxV3beta1WebhookRequestIntentInfoIntentParameterValue `json:"parameters,omitempty"`
10279
10280	// ForceSendFields is a list of field names (e.g. "Confidence") to
10281	// unconditionally include in API requests. By default, fields with
10282	// empty or default values are omitted from API requests. However, any
10283	// non-pointer, non-interface field appearing in ForceSendFields will be
10284	// sent to the server regardless of whether the field is empty or not.
10285	// This may be used to include empty fields in Patch requests.
10286	ForceSendFields []string `json:"-"`
10287
10288	// NullFields is a list of field names (e.g. "Confidence") to include in
10289	// API requests with the JSON null value. By default, fields with empty
10290	// values are omitted from API requests. However, any field with an
10291	// empty value appearing in NullFields will be sent to the server as
10292	// null. It is an error if a field in this list has a non-empty value.
10293	// This may be used to include null fields in Patch requests.
10294	NullFields []string `json:"-"`
10295}
10296
10297func (s *GoogleCloudDialogflowCxV3beta1WebhookRequestIntentInfo) MarshalJSON() ([]byte, error) {
10298	type NoMethod GoogleCloudDialogflowCxV3beta1WebhookRequestIntentInfo
10299	raw := NoMethod(*s)
10300	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10301}
10302
10303func (s *GoogleCloudDialogflowCxV3beta1WebhookRequestIntentInfo) UnmarshalJSON(data []byte) error {
10304	type NoMethod GoogleCloudDialogflowCxV3beta1WebhookRequestIntentInfo
10305	var s1 struct {
10306		Confidence gensupport.JSONFloat64 `json:"confidence"`
10307		*NoMethod
10308	}
10309	s1.NoMethod = (*NoMethod)(s)
10310	if err := json.Unmarshal(data, &s1); err != nil {
10311		return err
10312	}
10313	s.Confidence = float64(s1.Confidence)
10314	return nil
10315}
10316
10317// GoogleCloudDialogflowCxV3beta1WebhookRequestIntentInfoIntentParameterV
10318// alue: Represents a value for an intent parameter.
10319type GoogleCloudDialogflowCxV3beta1WebhookRequestIntentInfoIntentParameterValue struct {
10320	// OriginalValue: Always present. Original text value extracted from
10321	// user utterance.
10322	OriginalValue string `json:"originalValue,omitempty"`
10323
10324	// ResolvedValue: Always present. Structured value for the parameter
10325	// extracted from user utterance.
10326	ResolvedValue interface{} `json:"resolvedValue,omitempty"`
10327
10328	// ForceSendFields is a list of field names (e.g. "OriginalValue") to
10329	// unconditionally include in API requests. By default, fields with
10330	// empty or default values are omitted from API requests. However, any
10331	// non-pointer, non-interface field appearing in ForceSendFields will be
10332	// sent to the server regardless of whether the field is empty or not.
10333	// This may be used to include empty fields in Patch requests.
10334	ForceSendFields []string `json:"-"`
10335
10336	// NullFields is a list of field names (e.g. "OriginalValue") to include
10337	// in API requests with the JSON null value. By default, fields with
10338	// empty values are omitted from API requests. However, any field with
10339	// an empty value appearing in NullFields will be sent to the server as
10340	// null. It is an error if a field in this list has a non-empty value.
10341	// This may be used to include null fields in Patch requests.
10342	NullFields []string `json:"-"`
10343}
10344
10345func (s *GoogleCloudDialogflowCxV3beta1WebhookRequestIntentInfoIntentParameterValue) MarshalJSON() ([]byte, error) {
10346	type NoMethod GoogleCloudDialogflowCxV3beta1WebhookRequestIntentInfoIntentParameterValue
10347	raw := NoMethod(*s)
10348	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10349}
10350
10351// GoogleCloudDialogflowCxV3beta1WebhookRequestSentimentAnalysisResult:
10352// Represents the result of sentiment analysis.
10353type GoogleCloudDialogflowCxV3beta1WebhookRequestSentimentAnalysisResult struct {
10354	// Magnitude: A non-negative number in the [0, +inf) range, which
10355	// represents the absolute magnitude of sentiment, regardless of score
10356	// (positive or negative).
10357	Magnitude float64 `json:"magnitude,omitempty"`
10358
10359	// Score: Sentiment score between -1.0 (negative sentiment) and 1.0
10360	// (positive sentiment).
10361	Score float64 `json:"score,omitempty"`
10362
10363	// ForceSendFields is a list of field names (e.g. "Magnitude") to
10364	// unconditionally include in API requests. By default, fields with
10365	// empty or default values are omitted from API requests. However, any
10366	// non-pointer, non-interface field appearing in ForceSendFields will be
10367	// sent to the server regardless of whether the field is empty or not.
10368	// This may be used to include empty fields in Patch requests.
10369	ForceSendFields []string `json:"-"`
10370
10371	// NullFields is a list of field names (e.g. "Magnitude") to include in
10372	// API requests with the JSON null value. By default, fields with empty
10373	// values are omitted from API requests. However, any field with an
10374	// empty value appearing in NullFields will be sent to the server as
10375	// null. It is an error if a field in this list has a non-empty value.
10376	// This may be used to include null fields in Patch requests.
10377	NullFields []string `json:"-"`
10378}
10379
10380func (s *GoogleCloudDialogflowCxV3beta1WebhookRequestSentimentAnalysisResult) MarshalJSON() ([]byte, error) {
10381	type NoMethod GoogleCloudDialogflowCxV3beta1WebhookRequestSentimentAnalysisResult
10382	raw := NoMethod(*s)
10383	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10384}
10385
10386func (s *GoogleCloudDialogflowCxV3beta1WebhookRequestSentimentAnalysisResult) UnmarshalJSON(data []byte) error {
10387	type NoMethod GoogleCloudDialogflowCxV3beta1WebhookRequestSentimentAnalysisResult
10388	var s1 struct {
10389		Magnitude gensupport.JSONFloat64 `json:"magnitude"`
10390		Score     gensupport.JSONFloat64 `json:"score"`
10391		*NoMethod
10392	}
10393	s1.NoMethod = (*NoMethod)(s)
10394	if err := json.Unmarshal(data, &s1); err != nil {
10395		return err
10396	}
10397	s.Magnitude = float64(s1.Magnitude)
10398	s.Score = float64(s1.Score)
10399	return nil
10400}
10401
10402// GoogleCloudDialogflowCxV3beta1WebhookResponse: The response message
10403// for a webhook call.
10404type GoogleCloudDialogflowCxV3beta1WebhookResponse struct {
10405	// FulfillmentResponse: The fulfillment response to send to the user.
10406	// This field can be omitted by the webhook if it does not intend to
10407	// send any response to the user.
10408	FulfillmentResponse *GoogleCloudDialogflowCxV3beta1WebhookResponseFulfillmentResponse `json:"fulfillmentResponse,omitempty"`
10409
10410	// PageInfo: Information about page status. This field can be omitted by
10411	// the webhook if it does not intend to modify page status.
10412	PageInfo *GoogleCloudDialogflowCxV3beta1PageInfo `json:"pageInfo,omitempty"`
10413
10414	// Payload: Value to append directly to QueryResult.webhook_payloads.
10415	Payload googleapi.RawMessage `json:"payload,omitempty"`
10416
10417	// SessionInfo: Information about session status. This field can be
10418	// omitted by the webhook if it does not intend to modify session
10419	// status.
10420	SessionInfo *GoogleCloudDialogflowCxV3beta1SessionInfo `json:"sessionInfo,omitempty"`
10421
10422	// TargetFlow: The target flow to transition to. Format:
10423	// `projects//locations//agents//flows/`.
10424	TargetFlow string `json:"targetFlow,omitempty"`
10425
10426	// TargetPage: The target page to transition to. Format:
10427	// `projects//locations//agents//flows//pages/`.
10428	TargetPage string `json:"targetPage,omitempty"`
10429
10430	// ForceSendFields is a list of field names (e.g. "FulfillmentResponse")
10431	// to unconditionally include in API requests. By default, fields with
10432	// empty or default values are omitted from API requests. However, any
10433	// non-pointer, non-interface field appearing in ForceSendFields will be
10434	// sent to the server regardless of whether the field is empty or not.
10435	// This may be used to include empty fields in Patch requests.
10436	ForceSendFields []string `json:"-"`
10437
10438	// NullFields is a list of field names (e.g. "FulfillmentResponse") to
10439	// include in API requests with the JSON null value. By default, fields
10440	// with empty values are omitted from API requests. However, any field
10441	// with an empty value appearing in NullFields will be sent to the
10442	// server as null. It is an error if a field in this list has a
10443	// non-empty value. This may be used to include null fields in Patch
10444	// requests.
10445	NullFields []string `json:"-"`
10446}
10447
10448func (s *GoogleCloudDialogflowCxV3beta1WebhookResponse) MarshalJSON() ([]byte, error) {
10449	type NoMethod GoogleCloudDialogflowCxV3beta1WebhookResponse
10450	raw := NoMethod(*s)
10451	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10452}
10453
10454// GoogleCloudDialogflowCxV3beta1WebhookResponseFulfillmentResponse:
10455// Represents a fulfillment response to the user.
10456type GoogleCloudDialogflowCxV3beta1WebhookResponseFulfillmentResponse struct {
10457	// MergeBehavior: Merge behavior for `messages`.
10458	//
10459	// Possible values:
10460	//   "MERGE_BEHAVIOR_UNSPECIFIED" - Not specified. `APPEND` will be
10461	// used.
10462	//   "APPEND" - `messages` will be appended to the list of messages
10463	// waiting to be sent to the user.
10464	//   "REPLACE" - `messages` will replace the list of messages waiting to
10465	// be sent to the user.
10466	MergeBehavior string `json:"mergeBehavior,omitempty"`
10467
10468	// Messages: The list of rich message responses to present to the user.
10469	Messages []*GoogleCloudDialogflowCxV3beta1ResponseMessage `json:"messages,omitempty"`
10470
10471	// ForceSendFields is a list of field names (e.g. "MergeBehavior") to
10472	// unconditionally include in API requests. By default, fields with
10473	// empty or default values are omitted from API requests. However, any
10474	// non-pointer, non-interface field appearing in ForceSendFields will be
10475	// sent to the server regardless of whether the field is empty or not.
10476	// This may be used to include empty fields in Patch requests.
10477	ForceSendFields []string `json:"-"`
10478
10479	// NullFields is a list of field names (e.g. "MergeBehavior") to include
10480	// in API requests with the JSON null value. By default, fields with
10481	// empty values are omitted from API requests. However, any field with
10482	// an empty value appearing in NullFields will be sent to the server as
10483	// null. It is an error if a field in this list has a non-empty value.
10484	// This may be used to include null fields in Patch requests.
10485	NullFields []string `json:"-"`
10486}
10487
10488func (s *GoogleCloudDialogflowCxV3beta1WebhookResponseFulfillmentResponse) MarshalJSON() ([]byte, error) {
10489	type NoMethod GoogleCloudDialogflowCxV3beta1WebhookResponseFulfillmentResponse
10490	raw := NoMethod(*s)
10491	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10492}
10493
10494// GoogleCloudDialogflowV2AnnotatedMessagePart: Represents a part of a
10495// message possibly annotated with an entity. The part can be an entity
10496// or purely a part of the message between two entities or message
10497// start/end.
10498type GoogleCloudDialogflowV2AnnotatedMessagePart struct {
10499	// EntityType: The Dialogflow system entity type
10500	// (https://cloud.google.com/dialogflow/docs/reference/system-entities)
10501	// of this message part. If this is empty, Dialogflow could not annotate
10502	// the phrase part with a system entity.
10503	EntityType string `json:"entityType,omitempty"`
10504
10505	// FormattedValue: The Dialogflow system entity formatted value
10506	// (https://cloud.google.com/dialogflow/docs/reference/system-entities)
10507	// of this message part. For example for a system entity of type
10508	// `@sys.unit-currency`, this may contain: { "amount": 5, "currency":
10509	// "USD" }
10510	FormattedValue interface{} `json:"formattedValue,omitempty"`
10511
10512	// Text: A part of a message possibly annotated with an entity.
10513	Text string `json:"text,omitempty"`
10514
10515	// ForceSendFields is a list of field names (e.g. "EntityType") to
10516	// unconditionally include in API requests. By default, fields with
10517	// empty or default values are omitted from API requests. However, any
10518	// non-pointer, non-interface field appearing in ForceSendFields will be
10519	// sent to the server regardless of whether the field is empty or not.
10520	// This may be used to include empty fields in Patch requests.
10521	ForceSendFields []string `json:"-"`
10522
10523	// NullFields is a list of field names (e.g. "EntityType") to include in
10524	// API requests with the JSON null value. By default, fields with empty
10525	// values are omitted from API requests. However, any field with an
10526	// empty value appearing in NullFields will be sent to the server as
10527	// null. It is an error if a field in this list has a non-empty value.
10528	// This may be used to include null fields in Patch requests.
10529	NullFields []string `json:"-"`
10530}
10531
10532func (s *GoogleCloudDialogflowV2AnnotatedMessagePart) MarshalJSON() ([]byte, error) {
10533	type NoMethod GoogleCloudDialogflowV2AnnotatedMessagePart
10534	raw := NoMethod(*s)
10535	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10536}
10537
10538// GoogleCloudDialogflowV2ArticleAnswer: Represents article answer.
10539type GoogleCloudDialogflowV2ArticleAnswer struct {
10540	// AnswerRecord: The name of answer record, in the format of
10541	// "projects//locations//answerRecords/"
10542	AnswerRecord string `json:"answerRecord,omitempty"`
10543
10544	// Confidence: Article match confidence. The system's confidence score
10545	// that this article is a good match for this conversation, as a value
10546	// from 0.0 (completely uncertain) to 1.0 (completely certain).
10547	Confidence float64 `json:"confidence,omitempty"`
10548
10549	// Metadata: A map that contains metadata about the answer and the
10550	// document from which it originates.
10551	Metadata map[string]string `json:"metadata,omitempty"`
10552
10553	// Snippets: Article snippets.
10554	Snippets []string `json:"snippets,omitempty"`
10555
10556	// Title: The article title.
10557	Title string `json:"title,omitempty"`
10558
10559	// Uri: The article URI.
10560	Uri string `json:"uri,omitempty"`
10561
10562	// ForceSendFields is a list of field names (e.g. "AnswerRecord") to
10563	// unconditionally include in API requests. By default, fields with
10564	// empty or default values are omitted from API requests. However, any
10565	// non-pointer, non-interface field appearing in ForceSendFields will be
10566	// sent to the server regardless of whether the field is empty or not.
10567	// This may be used to include empty fields in Patch requests.
10568	ForceSendFields []string `json:"-"`
10569
10570	// NullFields is a list of field names (e.g. "AnswerRecord") to include
10571	// in API requests with the JSON null value. By default, fields with
10572	// empty values are omitted from API requests. However, any field with
10573	// an empty value appearing in NullFields will be sent to the server as
10574	// null. It is an error if a field in this list has a non-empty value.
10575	// This may be used to include null fields in Patch requests.
10576	NullFields []string `json:"-"`
10577}
10578
10579func (s *GoogleCloudDialogflowV2ArticleAnswer) MarshalJSON() ([]byte, error) {
10580	type NoMethod GoogleCloudDialogflowV2ArticleAnswer
10581	raw := NoMethod(*s)
10582	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10583}
10584
10585func (s *GoogleCloudDialogflowV2ArticleAnswer) UnmarshalJSON(data []byte) error {
10586	type NoMethod GoogleCloudDialogflowV2ArticleAnswer
10587	var s1 struct {
10588		Confidence gensupport.JSONFloat64 `json:"confidence"`
10589		*NoMethod
10590	}
10591	s1.NoMethod = (*NoMethod)(s)
10592	if err := json.Unmarshal(data, &s1); err != nil {
10593		return err
10594	}
10595	s.Confidence = float64(s1.Confidence)
10596	return nil
10597}
10598
10599// GoogleCloudDialogflowV2BatchUpdateEntityTypesResponse: The response
10600// message for EntityTypes.BatchUpdateEntityTypes.
10601type GoogleCloudDialogflowV2BatchUpdateEntityTypesResponse struct {
10602	// EntityTypes: The collection of updated or created entity types.
10603	EntityTypes []*GoogleCloudDialogflowV2EntityType `json:"entityTypes,omitempty"`
10604
10605	// ForceSendFields is a list of field names (e.g. "EntityTypes") to
10606	// unconditionally include in API requests. By default, fields with
10607	// empty or default values are omitted from API requests. However, any
10608	// non-pointer, non-interface field appearing in ForceSendFields will be
10609	// sent to the server regardless of whether the field is empty or not.
10610	// This may be used to include empty fields in Patch requests.
10611	ForceSendFields []string `json:"-"`
10612
10613	// NullFields is a list of field names (e.g. "EntityTypes") to include
10614	// in API requests with the JSON null value. By default, fields with
10615	// empty values are omitted from API requests. However, any field with
10616	// an empty value appearing in NullFields will be sent to the server as
10617	// null. It is an error if a field in this list has a non-empty value.
10618	// This may be used to include null fields in Patch requests.
10619	NullFields []string `json:"-"`
10620}
10621
10622func (s *GoogleCloudDialogflowV2BatchUpdateEntityTypesResponse) MarshalJSON() ([]byte, error) {
10623	type NoMethod GoogleCloudDialogflowV2BatchUpdateEntityTypesResponse
10624	raw := NoMethod(*s)
10625	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10626}
10627
10628// GoogleCloudDialogflowV2BatchUpdateIntentsResponse: The response
10629// message for Intents.BatchUpdateIntents.
10630type GoogleCloudDialogflowV2BatchUpdateIntentsResponse struct {
10631	// Intents: The collection of updated or created intents.
10632	Intents []*GoogleCloudDialogflowV2Intent `json:"intents,omitempty"`
10633
10634	// ForceSendFields is a list of field names (e.g. "Intents") to
10635	// unconditionally include in API requests. By default, fields with
10636	// empty or default values are omitted from API requests. However, any
10637	// non-pointer, non-interface field appearing in ForceSendFields will be
10638	// sent to the server regardless of whether the field is empty or not.
10639	// This may be used to include empty fields in Patch requests.
10640	ForceSendFields []string `json:"-"`
10641
10642	// NullFields is a list of field names (e.g. "Intents") to include in
10643	// API requests with the JSON null value. By default, fields with empty
10644	// values are omitted from API requests. However, any field with an
10645	// empty value appearing in NullFields will be sent to the server as
10646	// null. It is an error if a field in this list has a non-empty value.
10647	// This may be used to include null fields in Patch requests.
10648	NullFields []string `json:"-"`
10649}
10650
10651func (s *GoogleCloudDialogflowV2BatchUpdateIntentsResponse) MarshalJSON() ([]byte, error) {
10652	type NoMethod GoogleCloudDialogflowV2BatchUpdateIntentsResponse
10653	raw := NoMethod(*s)
10654	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10655}
10656
10657// GoogleCloudDialogflowV2Context: Dialogflow contexts are similar to
10658// natural language context. If a person says to you "they are orange",
10659// you need context in order to understand what "they" is referring to.
10660// Similarly, for Dialogflow to handle an end-user expression like that,
10661// it needs to be provided with context in order to correctly match an
10662// intent. Using contexts, you can control the flow of a conversation.
10663// You can configure contexts for an intent by setting input and output
10664// contexts, which are identified by string names. When an intent is
10665// matched, any configured output contexts for that intent become
10666// active. While any contexts are active, Dialogflow is more likely to
10667// match intents that are configured with input contexts that correspond
10668// to the currently active contexts. For more information about context,
10669// see the Contexts guide
10670// (https://cloud.google.com/dialogflow/docs/contexts-overview).
10671type GoogleCloudDialogflowV2Context struct {
10672	// LifespanCount: Optional. The number of conversational query requests
10673	// after which the context expires. The default is `0`. If set to `0`,
10674	// the context expires immediately. Contexts expire automatically after
10675	// 20 minutes if there are no matching queries.
10676	LifespanCount int64 `json:"lifespanCount,omitempty"`
10677
10678	// Name: Required. The unique identifier of the context. Format:
10679	// `projects//agent/sessions//contexts/`, or
10680	// `projects//agent/environments//users//sessions//contexts/`. The
10681	// `Context ID` is always converted to lowercase, may only contain
10682	// characters in a-zA-Z0-9_-% and may be at most 250 bytes long. If
10683	// `Environment ID` is not specified, we assume default 'draft'
10684	// environment. If `User ID` is not specified, we assume default '-'
10685	// user. The following context names are reserved for internal use by
10686	// Dialogflow. You should not use these contexts or create contexts with
10687	// these names: * `__system_counters__` * `*_id_dialog_context` *
10688	// `*_dialog_params_size`
10689	Name string `json:"name,omitempty"`
10690
10691	// Parameters: Optional. The collection of parameters associated with
10692	// this context. Depending on your protocol or client library language,
10693	// this is a map, associative array, symbol table, dictionary, or JSON
10694	// object composed of a collection of (MapKey, MapValue) pairs: - MapKey
10695	// type: string - MapKey value: parameter name - MapValue type: - If
10696	// parameter's entity type is a composite entity: map - Else: depending
10697	// on parameter value type, could be one of string, number, boolean,
10698	// null, list or map - MapValue value: - If parameter's entity type is a
10699	// composite entity: map from composite entity property names to
10700	// property values - Else: parameter value
10701	Parameters googleapi.RawMessage `json:"parameters,omitempty"`
10702
10703	// ForceSendFields is a list of field names (e.g. "LifespanCount") to
10704	// unconditionally include in API requests. By default, fields with
10705	// empty or default values are omitted from API requests. However, any
10706	// non-pointer, non-interface field appearing in ForceSendFields will be
10707	// sent to the server regardless of whether the field is empty or not.
10708	// This may be used to include empty fields in Patch requests.
10709	ForceSendFields []string `json:"-"`
10710
10711	// NullFields is a list of field names (e.g. "LifespanCount") to include
10712	// in API requests with the JSON null value. By default, fields with
10713	// empty values are omitted from API requests. However, any field with
10714	// an empty value appearing in NullFields will be sent to the server as
10715	// null. It is an error if a field in this list has a non-empty value.
10716	// This may be used to include null fields in Patch requests.
10717	NullFields []string `json:"-"`
10718}
10719
10720func (s *GoogleCloudDialogflowV2Context) MarshalJSON() ([]byte, error) {
10721	type NoMethod GoogleCloudDialogflowV2Context
10722	raw := NoMethod(*s)
10723	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10724}
10725
10726// GoogleCloudDialogflowV2ConversationEvent: Represents a notification
10727// sent to Pub/Sub subscribers for conversation lifecycle events.
10728type GoogleCloudDialogflowV2ConversationEvent struct {
10729	// Conversation: The unique identifier of the conversation this
10730	// notification refers to. Format: `projects//conversations/`.
10731	Conversation string `json:"conversation,omitempty"`
10732
10733	// ErrorStatus: More detailed information about an error. Only set for
10734	// type UNRECOVERABLE_ERROR_IN_PHONE_CALL.
10735	ErrorStatus *GoogleRpcStatus `json:"errorStatus,omitempty"`
10736
10737	// NewMessagePayload: Payload of NEW_MESSAGE event.
10738	NewMessagePayload *GoogleCloudDialogflowV2Message `json:"newMessagePayload,omitempty"`
10739
10740	// Type: The type of the event that this notification refers to.
10741	//
10742	// Possible values:
10743	//   "TYPE_UNSPECIFIED" - Type not set.
10744	//   "CONVERSATION_STARTED" - A new conversation has been opened. This
10745	// is fired when a telephone call is answered, or a conversation is
10746	// created via the API.
10747	//   "CONVERSATION_FINISHED" - An existing conversation has closed. This
10748	// is fired when a telephone call is terminated, or a conversation is
10749	// closed via the API.
10750	//   "HUMAN_INTERVENTION_NEEDED" - An existing conversation has received
10751	// notification from Dialogflow that human intervention is required.
10752	//   "NEW_MESSAGE" - An existing conversation has received a new
10753	// message, either from API or telephony. It is configured in
10754	// ConversationProfile.new_message_event_notification_config
10755	//   "UNRECOVERABLE_ERROR" - Unrecoverable error during a telephone
10756	// call. In general non-recoverable errors only occur if something was
10757	// misconfigured in the ConversationProfile corresponding to the call.
10758	// After a non-recoverable error, Dialogflow may stop responding. We
10759	// don't fire this event: * in an API call because we can directly
10760	// return the error, or, * when we can recover from an error.
10761	Type string `json:"type,omitempty"`
10762
10763	// ForceSendFields is a list of field names (e.g. "Conversation") to
10764	// unconditionally include in API requests. By default, fields with
10765	// empty or default values are omitted from API requests. However, any
10766	// non-pointer, non-interface field appearing in ForceSendFields will be
10767	// sent to the server regardless of whether the field is empty or not.
10768	// This may be used to include empty fields in Patch requests.
10769	ForceSendFields []string `json:"-"`
10770
10771	// NullFields is a list of field names (e.g. "Conversation") to include
10772	// in API requests with the JSON null value. By default, fields with
10773	// empty values are omitted from API requests. However, any field with
10774	// an empty value appearing in NullFields will be sent to the server as
10775	// null. It is an error if a field in this list has a non-empty value.
10776	// This may be used to include null fields in Patch requests.
10777	NullFields []string `json:"-"`
10778}
10779
10780func (s *GoogleCloudDialogflowV2ConversationEvent) MarshalJSON() ([]byte, error) {
10781	type NoMethod GoogleCloudDialogflowV2ConversationEvent
10782	raw := NoMethod(*s)
10783	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10784}
10785
10786// GoogleCloudDialogflowV2EntityType: Each intent parameter has a type,
10787// called the entity type, which dictates exactly how data from an
10788// end-user expression is extracted. Dialogflow provides predefined
10789// system entities that can match many common types of data. For
10790// example, there are system entities for matching dates, times, colors,
10791// email addresses, and so on. You can also create your own custom
10792// entities for matching custom data. For example, you could define a
10793// vegetable entity that can match the types of vegetables available for
10794// purchase with a grocery store agent. For more information, see the
10795// Entity guide
10796// (https://cloud.google.com/dialogflow/docs/entities-overview).
10797type GoogleCloudDialogflowV2EntityType struct {
10798	// AutoExpansionMode: Optional. Indicates whether the entity type can be
10799	// automatically expanded.
10800	//
10801	// Possible values:
10802	//   "AUTO_EXPANSION_MODE_UNSPECIFIED" - Auto expansion disabled for the
10803	// entity.
10804	//   "AUTO_EXPANSION_MODE_DEFAULT" - Allows an agent to recognize values
10805	// that have not been explicitly listed in the entity.
10806	AutoExpansionMode string `json:"autoExpansionMode,omitempty"`
10807
10808	// DisplayName: Required. The name of the entity type.
10809	DisplayName string `json:"displayName,omitempty"`
10810
10811	// EnableFuzzyExtraction: Optional. Enables fuzzy entity extraction
10812	// during classification.
10813	EnableFuzzyExtraction bool `json:"enableFuzzyExtraction,omitempty"`
10814
10815	// Entities: Optional. The collection of entity entries associated with
10816	// the entity type.
10817	Entities []*GoogleCloudDialogflowV2EntityTypeEntity `json:"entities,omitempty"`
10818
10819	// Kind: Required. Indicates the kind of entity type.
10820	//
10821	// Possible values:
10822	//   "KIND_UNSPECIFIED" - Not specified. This value should be never
10823	// used.
10824	//   "KIND_MAP" - Map entity types allow mapping of a group of synonyms
10825	// to a reference value.
10826	//   "KIND_LIST" - List entity types contain a set of entries that do
10827	// not map to reference values. However, list entity types can contain
10828	// references to other entity types (with or without aliases).
10829	//   "KIND_REGEXP" - Regexp entity types allow to specify regular
10830	// expressions in entries values.
10831	Kind string `json:"kind,omitempty"`
10832
10833	// Name: The unique identifier of the entity type. Required for
10834	// EntityTypes.UpdateEntityType and EntityTypes.BatchUpdateEntityTypes
10835	// methods. Format: `projects//agent/entityTypes/`.
10836	Name string `json:"name,omitempty"`
10837
10838	// ForceSendFields is a list of field names (e.g. "AutoExpansionMode")
10839	// to unconditionally include in API requests. By default, fields with
10840	// empty or default values are omitted from API requests. However, any
10841	// non-pointer, non-interface field appearing in ForceSendFields will be
10842	// sent to the server regardless of whether the field is empty or not.
10843	// This may be used to include empty fields in Patch requests.
10844	ForceSendFields []string `json:"-"`
10845
10846	// NullFields is a list of field names (e.g. "AutoExpansionMode") to
10847	// include in API requests with the JSON null value. By default, fields
10848	// with empty values are omitted from API requests. However, any field
10849	// with an empty value appearing in NullFields will be sent to the
10850	// server as null. It is an error if a field in this list has a
10851	// non-empty value. This may be used to include null fields in Patch
10852	// requests.
10853	NullFields []string `json:"-"`
10854}
10855
10856func (s *GoogleCloudDialogflowV2EntityType) MarshalJSON() ([]byte, error) {
10857	type NoMethod GoogleCloudDialogflowV2EntityType
10858	raw := NoMethod(*s)
10859	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10860}
10861
10862// GoogleCloudDialogflowV2EntityTypeEntity: An **entity entry** for an
10863// associated entity type.
10864type GoogleCloudDialogflowV2EntityTypeEntity struct {
10865	// Synonyms: Required. A collection of value synonyms. For example, if
10866	// the entity type is *vegetable*, and `value` is *scallions*, a synonym
10867	// could be *green onions*. For `KIND_LIST` entity types: * This
10868	// collection must contain exactly one synonym equal to `value`.
10869	Synonyms []string `json:"synonyms,omitempty"`
10870
10871	// Value: Required. The primary value associated with this entity entry.
10872	// For example, if the entity type is *vegetable*, the value could be
10873	// *scallions*. For `KIND_MAP` entity types: * A reference value to be
10874	// used in place of synonyms. For `KIND_LIST` entity types: * A string
10875	// that can contain references to other entity types (with or without
10876	// aliases).
10877	Value string `json:"value,omitempty"`
10878
10879	// ForceSendFields is a list of field names (e.g. "Synonyms") to
10880	// unconditionally include in API requests. By default, fields with
10881	// empty or default values are omitted from API requests. However, any
10882	// non-pointer, non-interface field appearing in ForceSendFields will be
10883	// sent to the server regardless of whether the field is empty or not.
10884	// This may be used to include empty fields in Patch requests.
10885	ForceSendFields []string `json:"-"`
10886
10887	// NullFields is a list of field names (e.g. "Synonyms") to include in
10888	// API requests with the JSON null value. By default, fields with empty
10889	// values are omitted from API requests. However, any field with an
10890	// empty value appearing in NullFields will be sent to the server as
10891	// null. It is an error if a field in this list has a non-empty value.
10892	// This may be used to include null fields in Patch requests.
10893	NullFields []string `json:"-"`
10894}
10895
10896func (s *GoogleCloudDialogflowV2EntityTypeEntity) MarshalJSON() ([]byte, error) {
10897	type NoMethod GoogleCloudDialogflowV2EntityTypeEntity
10898	raw := NoMethod(*s)
10899	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10900}
10901
10902// GoogleCloudDialogflowV2EventInput: Events allow for matching intents
10903// by event name instead of the natural language input. For instance,
10904// input `` can trigger a personalized welcome response. The parameter
10905// `name` may be used by the agent in the response: "Hello
10906// #welcome_event.name! What can I do for you today?".
10907type GoogleCloudDialogflowV2EventInput struct {
10908	// LanguageCode: Required. The language of this query. See Language
10909	// Support (https://cloud.google.com/dialogflow/docs/reference/language)
10910	// for a list of the currently supported language codes. Note that
10911	// queries in the same session do not necessarily need to specify the
10912	// same language.
10913	LanguageCode string `json:"languageCode,omitempty"`
10914
10915	// Name: Required. The unique identifier of the event.
10916	Name string `json:"name,omitempty"`
10917
10918	// Parameters: The collection of parameters associated with the event.
10919	// Depending on your protocol or client library language, this is a map,
10920	// associative array, symbol table, dictionary, or JSON object composed
10921	// of a collection of (MapKey, MapValue) pairs: - MapKey type: string -
10922	// MapKey value: parameter name - MapValue type: - If parameter's entity
10923	// type is a composite entity: map - Else: depending on parameter value
10924	// type, could be one of string, number, boolean, null, list or map -
10925	// MapValue value: - If parameter's entity type is a composite entity:
10926	// map from composite entity property names to property values - Else:
10927	// parameter value
10928	Parameters googleapi.RawMessage `json:"parameters,omitempty"`
10929
10930	// ForceSendFields is a list of field names (e.g. "LanguageCode") to
10931	// unconditionally include in API requests. By default, fields with
10932	// empty or default values are omitted from API requests. However, any
10933	// non-pointer, non-interface field appearing in ForceSendFields will be
10934	// sent to the server regardless of whether the field is empty or not.
10935	// This may be used to include empty fields in Patch requests.
10936	ForceSendFields []string `json:"-"`
10937
10938	// NullFields is a list of field names (e.g. "LanguageCode") to include
10939	// in API requests with the JSON null value. By default, fields with
10940	// empty values are omitted from API requests. However, any field with
10941	// an empty value appearing in NullFields will be sent to the server as
10942	// null. It is an error if a field in this list has a non-empty value.
10943	// This may be used to include null fields in Patch requests.
10944	NullFields []string `json:"-"`
10945}
10946
10947func (s *GoogleCloudDialogflowV2EventInput) MarshalJSON() ([]byte, error) {
10948	type NoMethod GoogleCloudDialogflowV2EventInput
10949	raw := NoMethod(*s)
10950	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10951}
10952
10953// GoogleCloudDialogflowV2ExportAgentResponse: The response message for
10954// Agents.ExportAgent.
10955type GoogleCloudDialogflowV2ExportAgentResponse struct {
10956	// AgentContent: Zip compressed raw byte content for agent.
10957	AgentContent string `json:"agentContent,omitempty"`
10958
10959	// AgentUri: The URI to a file containing the exported agent. This field
10960	// is populated only if `agent_uri` is specified in
10961	// `ExportAgentRequest`.
10962	AgentUri string `json:"agentUri,omitempty"`
10963
10964	// ForceSendFields is a list of field names (e.g. "AgentContent") to
10965	// unconditionally include in API requests. By default, fields with
10966	// empty or default values are omitted from API requests. However, any
10967	// non-pointer, non-interface field appearing in ForceSendFields will be
10968	// sent to the server regardless of whether the field is empty or not.
10969	// This may be used to include empty fields in Patch requests.
10970	ForceSendFields []string `json:"-"`
10971
10972	// NullFields is a list of field names (e.g. "AgentContent") to include
10973	// in API requests with the JSON null value. By default, fields with
10974	// empty values are omitted from API requests. However, any field with
10975	// an empty value appearing in NullFields will be sent to the server as
10976	// null. It is an error if a field in this list has a non-empty value.
10977	// This may be used to include null fields in Patch requests.
10978	NullFields []string `json:"-"`
10979}
10980
10981func (s *GoogleCloudDialogflowV2ExportAgentResponse) MarshalJSON() ([]byte, error) {
10982	type NoMethod GoogleCloudDialogflowV2ExportAgentResponse
10983	raw := NoMethod(*s)
10984	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10985}
10986
10987// GoogleCloudDialogflowV2FaqAnswer: Represents answer from "frequently
10988// asked questions".
10989type GoogleCloudDialogflowV2FaqAnswer struct {
10990	// Answer: The piece of text from the `source` knowledge base document.
10991	Answer string `json:"answer,omitempty"`
10992
10993	// AnswerRecord: The name of answer record, in the format of
10994	// "projects//locations//answerRecords/"
10995	AnswerRecord string `json:"answerRecord,omitempty"`
10996
10997	// Confidence: The system's confidence score that this Knowledge answer
10998	// is a good match for this conversational query, range from 0.0
10999	// (completely uncertain) to 1.0 (completely certain).
11000	Confidence float64 `json:"confidence,omitempty"`
11001
11002	// Metadata: A map that contains metadata about the answer and the
11003	// document from which it originates.
11004	Metadata map[string]string `json:"metadata,omitempty"`
11005
11006	// Question: The corresponding FAQ question.
11007	Question string `json:"question,omitempty"`
11008
11009	// Source: Indicates which Knowledge Document this answer was extracted
11010	// from. Format:
11011	// `projects//locations//agent/knowledgeBases//documents/`.
11012	Source string `json:"source,omitempty"`
11013
11014	// ForceSendFields is a list of field names (e.g. "Answer") to
11015	// unconditionally include in API requests. By default, fields with
11016	// empty or default values are omitted from API requests. However, any
11017	// non-pointer, non-interface field appearing in ForceSendFields will be
11018	// sent to the server regardless of whether the field is empty or not.
11019	// This may be used to include empty fields in Patch requests.
11020	ForceSendFields []string `json:"-"`
11021
11022	// NullFields is a list of field names (e.g. "Answer") to include in API
11023	// requests with the JSON null value. By default, fields with empty
11024	// values are omitted from API requests. However, any field with an
11025	// empty value appearing in NullFields will be sent to the server as
11026	// null. It is an error if a field in this list has a non-empty value.
11027	// This may be used to include null fields in Patch requests.
11028	NullFields []string `json:"-"`
11029}
11030
11031func (s *GoogleCloudDialogflowV2FaqAnswer) MarshalJSON() ([]byte, error) {
11032	type NoMethod GoogleCloudDialogflowV2FaqAnswer
11033	raw := NoMethod(*s)
11034	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11035}
11036
11037func (s *GoogleCloudDialogflowV2FaqAnswer) UnmarshalJSON(data []byte) error {
11038	type NoMethod GoogleCloudDialogflowV2FaqAnswer
11039	var s1 struct {
11040		Confidence gensupport.JSONFloat64 `json:"confidence"`
11041		*NoMethod
11042	}
11043	s1.NoMethod = (*NoMethod)(s)
11044	if err := json.Unmarshal(data, &s1); err != nil {
11045		return err
11046	}
11047	s.Confidence = float64(s1.Confidence)
11048	return nil
11049}
11050
11051// GoogleCloudDialogflowV2HumanAgentAssistantEvent: Represents a
11052// notification sent to Cloud Pub/Sub subscribers for human agent
11053// assistant events in a specific conversation.
11054type GoogleCloudDialogflowV2HumanAgentAssistantEvent struct {
11055	// Conversation: The conversation this notification refers to. Format:
11056	// `projects//conversations/`.
11057	Conversation string `json:"conversation,omitempty"`
11058
11059	// Participant: The participant that the suggestion is compiled for.
11060	// Format: `projects//conversations//participants/`. It will not be set
11061	// in legacy workflow.
11062	Participant string `json:"participant,omitempty"`
11063
11064	// SuggestionResults: The suggestion results payload that this
11065	// notification refers to.
11066	SuggestionResults []*GoogleCloudDialogflowV2SuggestionResult `json:"suggestionResults,omitempty"`
11067
11068	// ForceSendFields is a list of field names (e.g. "Conversation") to
11069	// unconditionally include in API requests. By default, fields with
11070	// empty or default values are omitted from API requests. However, any
11071	// non-pointer, non-interface field appearing in ForceSendFields will be
11072	// sent to the server regardless of whether the field is empty or not.
11073	// This may be used to include empty fields in Patch requests.
11074	ForceSendFields []string `json:"-"`
11075
11076	// NullFields is a list of field names (e.g. "Conversation") to include
11077	// in API requests with the JSON null value. By default, fields with
11078	// empty values are omitted from API requests. However, any field with
11079	// an empty value appearing in NullFields will be sent to the server as
11080	// null. It is an error if a field in this list has a non-empty value.
11081	// This may be used to include null fields in Patch requests.
11082	NullFields []string `json:"-"`
11083}
11084
11085func (s *GoogleCloudDialogflowV2HumanAgentAssistantEvent) MarshalJSON() ([]byte, error) {
11086	type NoMethod GoogleCloudDialogflowV2HumanAgentAssistantEvent
11087	raw := NoMethod(*s)
11088	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11089}
11090
11091// GoogleCloudDialogflowV2Intent: An intent categorizes an end-user's
11092// intention for one conversation turn. For each agent, you define many
11093// intents, where your combined intents can handle a complete
11094// conversation. When an end-user writes or says something, referred to
11095// as an end-user expression or end-user input, Dialogflow matches the
11096// end-user input to the best intent in your agent. Matching an intent
11097// is also known as intent classification. For more information, see the
11098// intent guide
11099// (https://cloud.google.com/dialogflow/docs/intents-overview).
11100type GoogleCloudDialogflowV2Intent struct {
11101	// Action: Optional. The name of the action associated with the intent.
11102	// Note: The action name must not contain whitespaces.
11103	Action string `json:"action,omitempty"`
11104
11105	// DefaultResponsePlatforms: Optional. The list of platforms for which
11106	// the first responses will be copied from the messages in
11107	// PLATFORM_UNSPECIFIED (i.e. default platform).
11108	//
11109	// Possible values:
11110	//   "PLATFORM_UNSPECIFIED" - Default platform.
11111	//   "FACEBOOK" - Facebook.
11112	//   "SLACK" - Slack.
11113	//   "TELEGRAM" - Telegram.
11114	//   "KIK" - Kik.
11115	//   "SKYPE" - Skype.
11116	//   "LINE" - Line.
11117	//   "VIBER" - Viber.
11118	//   "ACTIONS_ON_GOOGLE" - Google Assistant See [Dialogflow webhook
11119	// format](https://developers.google.com/assistant/actions/build/json/dia
11120	// logflow-webhook-json)
11121	//   "GOOGLE_HANGOUTS" - Google Hangouts.
11122	DefaultResponsePlatforms []string `json:"defaultResponsePlatforms,omitempty"`
11123
11124	// DisplayName: Required. The name of this intent.
11125	DisplayName string `json:"displayName,omitempty"`
11126
11127	// EndInteraction: Optional. Indicates that this intent ends an
11128	// interaction. Some integrations (e.g., Actions on Google or Dialogflow
11129	// phone gateway) use this information to close interaction with an end
11130	// user. Default is false.
11131	EndInteraction bool `json:"endInteraction,omitempty"`
11132
11133	// Events: Optional. The collection of event names that trigger the
11134	// intent. If the collection of input contexts is not empty, all of the
11135	// contexts must be present in the active user session for an event to
11136	// trigger this intent. Event names are limited to 150 characters.
11137	Events []string `json:"events,omitempty"`
11138
11139	// FollowupIntentInfo: Output only. Read-only. Information about all
11140	// followup intents that have this intent as a direct or indirect
11141	// parent. We populate this field only in the output.
11142	FollowupIntentInfo []*GoogleCloudDialogflowV2IntentFollowupIntentInfo `json:"followupIntentInfo,omitempty"`
11143
11144	// InputContextNames: Optional. The list of context names required for
11145	// this intent to be triggered. Format:
11146	// `projects//agent/sessions/-/contexts/`.
11147	InputContextNames []string `json:"inputContextNames,omitempty"`
11148
11149	// IsFallback: Optional. Indicates whether this is a fallback intent.
11150	IsFallback bool `json:"isFallback,omitempty"`
11151
11152	// LiveAgentHandoff: Optional. Indicates that a live agent should be
11153	// brought in to handle the interaction with the user. In most cases,
11154	// when you set this flag to true, you would also want to set
11155	// end_interaction to true as well. Default is false.
11156	LiveAgentHandoff bool `json:"liveAgentHandoff,omitempty"`
11157
11158	// Messages: Optional. The collection of rich messages corresponding to
11159	// the `Response` field in the Dialogflow console.
11160	Messages []*GoogleCloudDialogflowV2IntentMessage `json:"messages,omitempty"`
11161
11162	// MlDisabled: Optional. Indicates whether Machine Learning is disabled
11163	// for the intent. Note: If `ml_disabled` setting is set to true, then
11164	// this intent is not taken into account during inference in `ML ONLY`
11165	// match mode. Also, auto-markup in the UI is turned off.
11166	MlDisabled bool `json:"mlDisabled,omitempty"`
11167
11168	// Name: Optional. The unique identifier of this intent. Required for
11169	// Intents.UpdateIntent and Intents.BatchUpdateIntents methods. Format:
11170	// `projects//agent/intents/`.
11171	Name string `json:"name,omitempty"`
11172
11173	// OutputContexts: Optional. The collection of contexts that are
11174	// activated when the intent is matched. Context messages in this
11175	// collection should not set the parameters field. Setting the
11176	// `lifespan_count` to 0 will reset the context when the intent is
11177	// matched. Format: `projects//agent/sessions/-/contexts/`.
11178	OutputContexts []*GoogleCloudDialogflowV2Context `json:"outputContexts,omitempty"`
11179
11180	// Parameters: Optional. The collection of parameters associated with
11181	// the intent.
11182	Parameters []*GoogleCloudDialogflowV2IntentParameter `json:"parameters,omitempty"`
11183
11184	// ParentFollowupIntentName: Read-only after creation. The unique
11185	// identifier of the parent intent in the chain of followup intents. You
11186	// can set this field when creating an intent, for example with
11187	// CreateIntent or BatchUpdateIntents, in order to make this intent a
11188	// followup intent. It identifies the parent followup intent. Format:
11189	// `projects//agent/intents/`.
11190	ParentFollowupIntentName string `json:"parentFollowupIntentName,omitempty"`
11191
11192	// Priority: Optional. The priority of this intent. Higher numbers
11193	// represent higher priorities. - If the supplied value is unspecified
11194	// or 0, the service translates the value to 500,000, which corresponds
11195	// to the `Normal` priority in the console. - If the supplied value is
11196	// negative, the intent is ignored in runtime detect intent requests.
11197	Priority int64 `json:"priority,omitempty"`
11198
11199	// ResetContexts: Optional. Indicates whether to delete all contexts in
11200	// the current session when this intent is matched.
11201	ResetContexts bool `json:"resetContexts,omitempty"`
11202
11203	// RootFollowupIntentName: Output only. Read-only. The unique identifier
11204	// of the root intent in the chain of followup intents. It identifies
11205	// the correct followup intents chain for this intent. We populate this
11206	// field only in the output. Format: `projects//agent/intents/`.
11207	RootFollowupIntentName string `json:"rootFollowupIntentName,omitempty"`
11208
11209	// TrainingPhrases: Optional. The collection of examples that the agent
11210	// is trained on.
11211	TrainingPhrases []*GoogleCloudDialogflowV2IntentTrainingPhrase `json:"trainingPhrases,omitempty"`
11212
11213	// WebhookState: Optional. Indicates whether webhooks are enabled for
11214	// the intent.
11215	//
11216	// Possible values:
11217	//   "WEBHOOK_STATE_UNSPECIFIED" - Webhook is disabled in the agent and
11218	// in the intent.
11219	//   "WEBHOOK_STATE_ENABLED" - Webhook is enabled in the agent and in
11220	// the intent.
11221	//   "WEBHOOK_STATE_ENABLED_FOR_SLOT_FILLING" - Webhook is enabled in
11222	// the agent and in the intent. Also, each slot filling prompt is
11223	// forwarded to the webhook.
11224	WebhookState string `json:"webhookState,omitempty"`
11225
11226	// ForceSendFields is a list of field names (e.g. "Action") to
11227	// unconditionally include in API requests. By default, fields with
11228	// empty or default values are omitted from API requests. However, any
11229	// non-pointer, non-interface field appearing in ForceSendFields will be
11230	// sent to the server regardless of whether the field is empty or not.
11231	// This may be used to include empty fields in Patch requests.
11232	ForceSendFields []string `json:"-"`
11233
11234	// NullFields is a list of field names (e.g. "Action") to include in API
11235	// requests with the JSON null value. By default, fields with empty
11236	// values are omitted from API requests. However, any field with an
11237	// empty value appearing in NullFields will be sent to the server as
11238	// null. It is an error if a field in this list has a non-empty value.
11239	// This may be used to include null fields in Patch requests.
11240	NullFields []string `json:"-"`
11241}
11242
11243func (s *GoogleCloudDialogflowV2Intent) MarshalJSON() ([]byte, error) {
11244	type NoMethod GoogleCloudDialogflowV2Intent
11245	raw := NoMethod(*s)
11246	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11247}
11248
11249// GoogleCloudDialogflowV2IntentFollowupIntentInfo: Represents a single
11250// followup intent in the chain.
11251type GoogleCloudDialogflowV2IntentFollowupIntentInfo struct {
11252	// FollowupIntentName: The unique identifier of the followup intent.
11253	// Format: `projects//agent/intents/`.
11254	FollowupIntentName string `json:"followupIntentName,omitempty"`
11255
11256	// ParentFollowupIntentName: The unique identifier of the followup
11257	// intent's parent. Format: `projects//agent/intents/`.
11258	ParentFollowupIntentName string `json:"parentFollowupIntentName,omitempty"`
11259
11260	// ForceSendFields is a list of field names (e.g. "FollowupIntentName")
11261	// to unconditionally include in API requests. By default, fields with
11262	// empty or default values are omitted from API requests. However, any
11263	// non-pointer, non-interface field appearing in ForceSendFields will be
11264	// sent to the server regardless of whether the field is empty or not.
11265	// This may be used to include empty fields in Patch requests.
11266	ForceSendFields []string `json:"-"`
11267
11268	// NullFields is a list of field names (e.g. "FollowupIntentName") 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 *GoogleCloudDialogflowV2IntentFollowupIntentInfo) MarshalJSON() ([]byte, error) {
11279	type NoMethod GoogleCloudDialogflowV2IntentFollowupIntentInfo
11280	raw := NoMethod(*s)
11281	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11282}
11283
11284// GoogleCloudDialogflowV2IntentMessage: A rich response message.
11285// Corresponds to the intent `Response` field in the Dialogflow console.
11286// For more information, see Rich response messages
11287// (https://cloud.google.com/dialogflow/docs/intents-rich-messages).
11288type GoogleCloudDialogflowV2IntentMessage struct {
11289	// BasicCard: The basic card response for Actions on Google.
11290	BasicCard *GoogleCloudDialogflowV2IntentMessageBasicCard `json:"basicCard,omitempty"`
11291
11292	// BrowseCarouselCard: Browse carousel card for Actions on Google.
11293	BrowseCarouselCard *GoogleCloudDialogflowV2IntentMessageBrowseCarouselCard `json:"browseCarouselCard,omitempty"`
11294
11295	// Card: The card response.
11296	Card *GoogleCloudDialogflowV2IntentMessageCard `json:"card,omitempty"`
11297
11298	// CarouselSelect: The carousel card response for Actions on Google.
11299	CarouselSelect *GoogleCloudDialogflowV2IntentMessageCarouselSelect `json:"carouselSelect,omitempty"`
11300
11301	// Image: The image response.
11302	Image *GoogleCloudDialogflowV2IntentMessageImage `json:"image,omitempty"`
11303
11304	// LinkOutSuggestion: The link out suggestion chip for Actions on
11305	// Google.
11306	LinkOutSuggestion *GoogleCloudDialogflowV2IntentMessageLinkOutSuggestion `json:"linkOutSuggestion,omitempty"`
11307
11308	// ListSelect: The list card response for Actions on Google.
11309	ListSelect *GoogleCloudDialogflowV2IntentMessageListSelect `json:"listSelect,omitempty"`
11310
11311	// MediaContent: The media content card for Actions on Google.
11312	MediaContent *GoogleCloudDialogflowV2IntentMessageMediaContent `json:"mediaContent,omitempty"`
11313
11314	// Payload: A custom platform-specific response.
11315	Payload googleapi.RawMessage `json:"payload,omitempty"`
11316
11317	// Platform: Optional. The platform that this message is intended for.
11318	//
11319	// Possible values:
11320	//   "PLATFORM_UNSPECIFIED" - Default platform.
11321	//   "FACEBOOK" - Facebook.
11322	//   "SLACK" - Slack.
11323	//   "TELEGRAM" - Telegram.
11324	//   "KIK" - Kik.
11325	//   "SKYPE" - Skype.
11326	//   "LINE" - Line.
11327	//   "VIBER" - Viber.
11328	//   "ACTIONS_ON_GOOGLE" - Google Assistant See [Dialogflow webhook
11329	// format](https://developers.google.com/assistant/actions/build/json/dia
11330	// logflow-webhook-json)
11331	//   "GOOGLE_HANGOUTS" - Google Hangouts.
11332	Platform string `json:"platform,omitempty"`
11333
11334	// QuickReplies: The quick replies response.
11335	QuickReplies *GoogleCloudDialogflowV2IntentMessageQuickReplies `json:"quickReplies,omitempty"`
11336
11337	// SimpleResponses: The voice and text-only responses for Actions on
11338	// Google.
11339	SimpleResponses *GoogleCloudDialogflowV2IntentMessageSimpleResponses `json:"simpleResponses,omitempty"`
11340
11341	// Suggestions: The suggestion chips for Actions on Google.
11342	Suggestions *GoogleCloudDialogflowV2IntentMessageSuggestions `json:"suggestions,omitempty"`
11343
11344	// TableCard: Table card for Actions on Google.
11345	TableCard *GoogleCloudDialogflowV2IntentMessageTableCard `json:"tableCard,omitempty"`
11346
11347	// Text: The text response.
11348	Text *GoogleCloudDialogflowV2IntentMessageText `json:"text,omitempty"`
11349
11350	// ForceSendFields is a list of field names (e.g. "BasicCard") to
11351	// unconditionally include in API requests. By default, fields with
11352	// empty or default values are omitted from API requests. However, any
11353	// non-pointer, non-interface field appearing in ForceSendFields will be
11354	// sent to the server regardless of whether the field is empty or not.
11355	// This may be used to include empty fields in Patch requests.
11356	ForceSendFields []string `json:"-"`
11357
11358	// NullFields is a list of field names (e.g. "BasicCard") to include in
11359	// API requests with the JSON null value. By default, fields with empty
11360	// values are omitted from API requests. However, any field with an
11361	// empty value appearing in NullFields will be sent to the server as
11362	// null. It is an error if a field in this list has a non-empty value.
11363	// This may be used to include null fields in Patch requests.
11364	NullFields []string `json:"-"`
11365}
11366
11367func (s *GoogleCloudDialogflowV2IntentMessage) MarshalJSON() ([]byte, error) {
11368	type NoMethod GoogleCloudDialogflowV2IntentMessage
11369	raw := NoMethod(*s)
11370	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11371}
11372
11373// GoogleCloudDialogflowV2IntentMessageBasicCard: The basic card
11374// message. Useful for displaying information.
11375type GoogleCloudDialogflowV2IntentMessageBasicCard struct {
11376	// Buttons: Optional. The collection of card buttons.
11377	Buttons []*GoogleCloudDialogflowV2IntentMessageBasicCardButton `json:"buttons,omitempty"`
11378
11379	// FormattedText: Required, unless image is present. The body text of
11380	// the card.
11381	FormattedText string `json:"formattedText,omitempty"`
11382
11383	// Image: Optional. The image for the card.
11384	Image *GoogleCloudDialogflowV2IntentMessageImage `json:"image,omitempty"`
11385
11386	// Subtitle: Optional. The subtitle of the card.
11387	Subtitle string `json:"subtitle,omitempty"`
11388
11389	// Title: Optional. The title of the card.
11390	Title string `json:"title,omitempty"`
11391
11392	// ForceSendFields is a list of field names (e.g. "Buttons") to
11393	// unconditionally include in API requests. By default, fields with
11394	// empty or default values are omitted from API requests. However, any
11395	// non-pointer, non-interface field appearing in ForceSendFields will be
11396	// sent to the server regardless of whether the field is empty or not.
11397	// This may be used to include empty fields in Patch requests.
11398	ForceSendFields []string `json:"-"`
11399
11400	// NullFields is a list of field names (e.g. "Buttons") to include in
11401	// API requests with the JSON null value. By default, fields with empty
11402	// values are omitted from API requests. However, any field with an
11403	// empty value appearing in NullFields will be sent to the server as
11404	// null. It is an error if a field in this list has a non-empty value.
11405	// This may be used to include null fields in Patch requests.
11406	NullFields []string `json:"-"`
11407}
11408
11409func (s *GoogleCloudDialogflowV2IntentMessageBasicCard) MarshalJSON() ([]byte, error) {
11410	type NoMethod GoogleCloudDialogflowV2IntentMessageBasicCard
11411	raw := NoMethod(*s)
11412	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11413}
11414
11415// GoogleCloudDialogflowV2IntentMessageBasicCardButton: The button
11416// object that appears at the bottom of a card.
11417type GoogleCloudDialogflowV2IntentMessageBasicCardButton struct {
11418	// OpenUriAction: Required. Action to take when a user taps on the
11419	// button.
11420	OpenUriAction *GoogleCloudDialogflowV2IntentMessageBasicCardButtonOpenUriAction `json:"openUriAction,omitempty"`
11421
11422	// Title: Required. The title of the button.
11423	Title string `json:"title,omitempty"`
11424
11425	// ForceSendFields is a list of field names (e.g. "OpenUriAction") to
11426	// unconditionally include in API requests. By default, fields with
11427	// empty or default values are omitted from API requests. However, any
11428	// non-pointer, non-interface field appearing in ForceSendFields will be
11429	// sent to the server regardless of whether the field is empty or not.
11430	// This may be used to include empty fields in Patch requests.
11431	ForceSendFields []string `json:"-"`
11432
11433	// NullFields is a list of field names (e.g. "OpenUriAction") to include
11434	// in API requests with the JSON null value. By default, fields with
11435	// empty values are omitted from API requests. However, any field with
11436	// an empty value appearing in NullFields will be sent to the server as
11437	// null. It is an error if a field in this list has a non-empty value.
11438	// This may be used to include null fields in Patch requests.
11439	NullFields []string `json:"-"`
11440}
11441
11442func (s *GoogleCloudDialogflowV2IntentMessageBasicCardButton) MarshalJSON() ([]byte, error) {
11443	type NoMethod GoogleCloudDialogflowV2IntentMessageBasicCardButton
11444	raw := NoMethod(*s)
11445	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11446}
11447
11448// GoogleCloudDialogflowV2IntentMessageBasicCardButtonOpenUriAction:
11449// Opens the given URI.
11450type GoogleCloudDialogflowV2IntentMessageBasicCardButtonOpenUriAction struct {
11451	// Uri: Required. The HTTP or HTTPS scheme URI.
11452	Uri string `json:"uri,omitempty"`
11453
11454	// ForceSendFields is a list of field names (e.g. "Uri") to
11455	// unconditionally include in API requests. By default, fields with
11456	// empty or default values are omitted from API requests. However, any
11457	// non-pointer, non-interface field appearing in ForceSendFields will be
11458	// sent to the server regardless of whether the field is empty or not.
11459	// This may be used to include empty fields in Patch requests.
11460	ForceSendFields []string `json:"-"`
11461
11462	// NullFields is a list of field names (e.g. "Uri") 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 *GoogleCloudDialogflowV2IntentMessageBasicCardButtonOpenUriAction) MarshalJSON() ([]byte, error) {
11472	type NoMethod GoogleCloudDialogflowV2IntentMessageBasicCardButtonOpenUriAction
11473	raw := NoMethod(*s)
11474	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11475}
11476
11477// GoogleCloudDialogflowV2IntentMessageBrowseCarouselCard: Browse
11478// Carousel Card for Actions on Google.
11479// https://developers.google.com/actions/assistant/responses#browsing_carousel
11480type GoogleCloudDialogflowV2IntentMessageBrowseCarouselCard struct {
11481	// ImageDisplayOptions: Optional. Settings for displaying the image.
11482	// Applies to every image in items.
11483	//
11484	// Possible values:
11485	//   "IMAGE_DISPLAY_OPTIONS_UNSPECIFIED" - Fill the gaps between the
11486	// image and the image container with gray bars.
11487	//   "GRAY" - Fill the gaps between the image and the image container
11488	// with gray bars.
11489	//   "WHITE" - Fill the gaps between the image and the image container
11490	// with white bars.
11491	//   "CROPPED" - Image is scaled such that the image width and height
11492	// match or exceed the container dimensions. This may crop the top and
11493	// bottom of the image if the scaled image height is greater than the
11494	// container height, or crop the left and right of the image if the
11495	// scaled image width is greater than the container width. This is
11496	// similar to "Zoom Mode" on a widescreen TV when playing a 4:3 video.
11497	//   "BLURRED_BACKGROUND" - Pad the gaps between image and image frame
11498	// with a blurred copy of the same image.
11499	ImageDisplayOptions string `json:"imageDisplayOptions,omitempty"`
11500
11501	// Items: Required. List of items in the Browse Carousel Card. Minimum
11502	// of two items, maximum of ten.
11503	Items []*GoogleCloudDialogflowV2IntentMessageBrowseCarouselCardBrowseCarouselCardItem `json:"items,omitempty"`
11504
11505	// ForceSendFields is a list of field names (e.g. "ImageDisplayOptions")
11506	// to unconditionally include in API requests. By default, fields with
11507	// empty or default values are omitted from API requests. However, any
11508	// non-pointer, non-interface field appearing in ForceSendFields will be
11509	// sent to the server regardless of whether the field is empty or not.
11510	// This may be used to include empty fields in Patch requests.
11511	ForceSendFields []string `json:"-"`
11512
11513	// NullFields is a list of field names (e.g. "ImageDisplayOptions") to
11514	// include in API requests with the JSON null value. By default, fields
11515	// with empty values are omitted from API requests. However, any field
11516	// with an empty value appearing in NullFields will be sent to the
11517	// server as null. It is an error if a field in this list has a
11518	// non-empty value. This may be used to include null fields in Patch
11519	// requests.
11520	NullFields []string `json:"-"`
11521}
11522
11523func (s *GoogleCloudDialogflowV2IntentMessageBrowseCarouselCard) MarshalJSON() ([]byte, error) {
11524	type NoMethod GoogleCloudDialogflowV2IntentMessageBrowseCarouselCard
11525	raw := NoMethod(*s)
11526	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11527}
11528
11529// GoogleCloudDialogflowV2IntentMessageBrowseCarouselCardBrowseCarouselCa
11530// rdItem: Browsing carousel tile
11531type GoogleCloudDialogflowV2IntentMessageBrowseCarouselCardBrowseCarouselCardItem struct {
11532	// Description: Optional. Description of the carousel item. Maximum of
11533	// four lines of text.
11534	Description string `json:"description,omitempty"`
11535
11536	// Footer: Optional. Text that appears at the bottom of the Browse
11537	// Carousel Card. Maximum of one line of text.
11538	Footer string `json:"footer,omitempty"`
11539
11540	// Image: Optional. Hero image for the carousel item.
11541	Image *GoogleCloudDialogflowV2IntentMessageImage `json:"image,omitempty"`
11542
11543	// OpenUriAction: Required. Action to present to the user.
11544	OpenUriAction *GoogleCloudDialogflowV2IntentMessageBrowseCarouselCardBrowseCarouselCardItemOpenUrlAction `json:"openUriAction,omitempty"`
11545
11546	// Title: Required. Title of the carousel item. Maximum of two lines of
11547	// text.
11548	Title string `json:"title,omitempty"`
11549
11550	// ForceSendFields is a list of field names (e.g. "Description") to
11551	// unconditionally include in API requests. By default, fields with
11552	// empty or default values are omitted from API requests. However, any
11553	// non-pointer, non-interface field appearing in ForceSendFields will be
11554	// sent to the server regardless of whether the field is empty or not.
11555	// This may be used to include empty fields in Patch requests.
11556	ForceSendFields []string `json:"-"`
11557
11558	// NullFields is a list of field names (e.g. "Description") to include
11559	// in API requests with the JSON null value. By default, fields with
11560	// empty values are omitted from API requests. However, any field with
11561	// an empty value appearing in NullFields will be sent to the server as
11562	// null. It is an error if a field in this list has a non-empty value.
11563	// This may be used to include null fields in Patch requests.
11564	NullFields []string `json:"-"`
11565}
11566
11567func (s *GoogleCloudDialogflowV2IntentMessageBrowseCarouselCardBrowseCarouselCardItem) MarshalJSON() ([]byte, error) {
11568	type NoMethod GoogleCloudDialogflowV2IntentMessageBrowseCarouselCardBrowseCarouselCardItem
11569	raw := NoMethod(*s)
11570	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11571}
11572
11573// GoogleCloudDialogflowV2IntentMessageBrowseCarouselCardBrowseCarouselCa
11574// rdItemOpenUrlAction: Actions on Google action to open a given url.
11575type GoogleCloudDialogflowV2IntentMessageBrowseCarouselCardBrowseCarouselCardItemOpenUrlAction struct {
11576	// Url: Required. URL
11577	Url string `json:"url,omitempty"`
11578
11579	// UrlTypeHint: Optional. Specifies the type of viewer that is used when
11580	// opening the URL. Defaults to opening via web browser.
11581	//
11582	// Possible values:
11583	//   "URL_TYPE_HINT_UNSPECIFIED" - Unspecified
11584	//   "AMP_ACTION" - Url would be an amp action
11585	//   "AMP_CONTENT" - URL that points directly to AMP content, or to a
11586	// canonical URL which refers to AMP content via .
11587	UrlTypeHint string `json:"urlTypeHint,omitempty"`
11588
11589	// ForceSendFields is a list of field names (e.g. "Url") to
11590	// unconditionally include in API requests. By default, fields with
11591	// empty or default values are omitted from API requests. However, any
11592	// non-pointer, non-interface field appearing in ForceSendFields will be
11593	// sent to the server regardless of whether the field is empty or not.
11594	// This may be used to include empty fields in Patch requests.
11595	ForceSendFields []string `json:"-"`
11596
11597	// NullFields is a list of field names (e.g. "Url") to include in API
11598	// requests with the JSON null value. By default, fields with empty
11599	// values are omitted from API requests. However, any field with an
11600	// empty value appearing in NullFields will be sent to the server as
11601	// null. It is an error if a field in this list has a non-empty value.
11602	// This may be used to include null fields in Patch requests.
11603	NullFields []string `json:"-"`
11604}
11605
11606func (s *GoogleCloudDialogflowV2IntentMessageBrowseCarouselCardBrowseCarouselCardItemOpenUrlAction) MarshalJSON() ([]byte, error) {
11607	type NoMethod GoogleCloudDialogflowV2IntentMessageBrowseCarouselCardBrowseCarouselCardItemOpenUrlAction
11608	raw := NoMethod(*s)
11609	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11610}
11611
11612// GoogleCloudDialogflowV2IntentMessageCard: The card response message.
11613type GoogleCloudDialogflowV2IntentMessageCard struct {
11614	// Buttons: Optional. The collection of card buttons.
11615	Buttons []*GoogleCloudDialogflowV2IntentMessageCardButton `json:"buttons,omitempty"`
11616
11617	// ImageUri: Optional. The public URI to an image file for the card.
11618	ImageUri string `json:"imageUri,omitempty"`
11619
11620	// Subtitle: Optional. The subtitle of the card.
11621	Subtitle string `json:"subtitle,omitempty"`
11622
11623	// Title: Optional. The title of the card.
11624	Title string `json:"title,omitempty"`
11625
11626	// ForceSendFields is a list of field names (e.g. "Buttons") to
11627	// unconditionally include in API requests. By default, fields with
11628	// empty or default values are omitted from API requests. However, any
11629	// non-pointer, non-interface field appearing in ForceSendFields will be
11630	// sent to the server regardless of whether the field is empty or not.
11631	// This may be used to include empty fields in Patch requests.
11632	ForceSendFields []string `json:"-"`
11633
11634	// NullFields is a list of field names (e.g. "Buttons") to include in
11635	// API requests with the JSON null value. By default, fields with empty
11636	// values are omitted from API requests. However, any field with an
11637	// empty value appearing in NullFields will be sent to the server as
11638	// null. It is an error if a field in this list has a non-empty value.
11639	// This may be used to include null fields in Patch requests.
11640	NullFields []string `json:"-"`
11641}
11642
11643func (s *GoogleCloudDialogflowV2IntentMessageCard) MarshalJSON() ([]byte, error) {
11644	type NoMethod GoogleCloudDialogflowV2IntentMessageCard
11645	raw := NoMethod(*s)
11646	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11647}
11648
11649// GoogleCloudDialogflowV2IntentMessageCardButton: Contains information
11650// about a button.
11651type GoogleCloudDialogflowV2IntentMessageCardButton struct {
11652	// Postback: Optional. The text to send back to the Dialogflow API or a
11653	// URI to open.
11654	Postback string `json:"postback,omitempty"`
11655
11656	// Text: Optional. The text to show on the button.
11657	Text string `json:"text,omitempty"`
11658
11659	// ForceSendFields is a list of field names (e.g. "Postback") to
11660	// unconditionally include in API requests. By default, fields with
11661	// empty or default values are omitted from API requests. However, any
11662	// non-pointer, non-interface field appearing in ForceSendFields will be
11663	// sent to the server regardless of whether the field is empty or not.
11664	// This may be used to include empty fields in Patch requests.
11665	ForceSendFields []string `json:"-"`
11666
11667	// NullFields is a list of field names (e.g. "Postback") to include in
11668	// API requests with the JSON null value. By default, fields with empty
11669	// values are omitted from API requests. However, any field with an
11670	// empty value appearing in NullFields will be sent to the server as
11671	// null. It is an error if a field in this list has a non-empty value.
11672	// This may be used to include null fields in Patch requests.
11673	NullFields []string `json:"-"`
11674}
11675
11676func (s *GoogleCloudDialogflowV2IntentMessageCardButton) MarshalJSON() ([]byte, error) {
11677	type NoMethod GoogleCloudDialogflowV2IntentMessageCardButton
11678	raw := NoMethod(*s)
11679	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11680}
11681
11682// GoogleCloudDialogflowV2IntentMessageCarouselSelect: The card for
11683// presenting a carousel of options to select from.
11684type GoogleCloudDialogflowV2IntentMessageCarouselSelect struct {
11685	// Items: Required. Carousel items.
11686	Items []*GoogleCloudDialogflowV2IntentMessageCarouselSelectItem `json:"items,omitempty"`
11687
11688	// ForceSendFields is a list of field names (e.g. "Items") to
11689	// unconditionally include in API requests. By default, fields with
11690	// empty or default values are omitted from API requests. However, any
11691	// non-pointer, non-interface field appearing in ForceSendFields will be
11692	// sent to the server regardless of whether the field is empty or not.
11693	// This may be used to include empty fields in Patch requests.
11694	ForceSendFields []string `json:"-"`
11695
11696	// NullFields is a list of field names (e.g. "Items") to include in API
11697	// requests with the JSON null value. By default, fields with empty
11698	// values are omitted from API requests. However, any field with an
11699	// empty value appearing in NullFields will be sent to the server as
11700	// null. It is an error if a field in this list has a non-empty value.
11701	// This may be used to include null fields in Patch requests.
11702	NullFields []string `json:"-"`
11703}
11704
11705func (s *GoogleCloudDialogflowV2IntentMessageCarouselSelect) MarshalJSON() ([]byte, error) {
11706	type NoMethod GoogleCloudDialogflowV2IntentMessageCarouselSelect
11707	raw := NoMethod(*s)
11708	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11709}
11710
11711// GoogleCloudDialogflowV2IntentMessageCarouselSelectItem: An item in
11712// the carousel.
11713type GoogleCloudDialogflowV2IntentMessageCarouselSelectItem struct {
11714	// Description: Optional. The body text of the card.
11715	Description string `json:"description,omitempty"`
11716
11717	// Image: Optional. The image to display.
11718	Image *GoogleCloudDialogflowV2IntentMessageImage `json:"image,omitempty"`
11719
11720	// Info: Required. Additional info about the option item.
11721	Info *GoogleCloudDialogflowV2IntentMessageSelectItemInfo `json:"info,omitempty"`
11722
11723	// Title: Required. Title of the carousel item.
11724	Title string `json:"title,omitempty"`
11725
11726	// ForceSendFields is a list of field names (e.g. "Description") to
11727	// unconditionally include in API requests. By default, fields with
11728	// empty or default values are omitted from API requests. However, any
11729	// non-pointer, non-interface field appearing in ForceSendFields will be
11730	// sent to the server regardless of whether the field is empty or not.
11731	// This may be used to include empty fields in Patch requests.
11732	ForceSendFields []string `json:"-"`
11733
11734	// NullFields is a list of field names (e.g. "Description") to include
11735	// in API requests with the JSON null value. By default, fields with
11736	// empty values are omitted from API requests. However, any field with
11737	// an empty value appearing in NullFields will be sent to the server as
11738	// null. It is an error if a field in this list has a non-empty value.
11739	// This may be used to include null fields in Patch requests.
11740	NullFields []string `json:"-"`
11741}
11742
11743func (s *GoogleCloudDialogflowV2IntentMessageCarouselSelectItem) MarshalJSON() ([]byte, error) {
11744	type NoMethod GoogleCloudDialogflowV2IntentMessageCarouselSelectItem
11745	raw := NoMethod(*s)
11746	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11747}
11748
11749// GoogleCloudDialogflowV2IntentMessageColumnProperties: Column
11750// properties for TableCard.
11751type GoogleCloudDialogflowV2IntentMessageColumnProperties struct {
11752	// Header: Required. Column heading.
11753	Header string `json:"header,omitempty"`
11754
11755	// HorizontalAlignment: Optional. Defines text alignment for all cells
11756	// in this column.
11757	//
11758	// Possible values:
11759	//   "HORIZONTAL_ALIGNMENT_UNSPECIFIED" - Text is aligned to the leading
11760	// edge of the column.
11761	//   "LEADING" - Text is aligned to the leading edge of the column.
11762	//   "CENTER" - Text is centered in the column.
11763	//   "TRAILING" - Text is aligned to the trailing edge of the column.
11764	HorizontalAlignment string `json:"horizontalAlignment,omitempty"`
11765
11766	// ForceSendFields is a list of field names (e.g. "Header") to
11767	// unconditionally include in API requests. By default, fields with
11768	// empty or default values are omitted from API requests. However, any
11769	// non-pointer, non-interface field appearing in ForceSendFields will be
11770	// sent to the server regardless of whether the field is empty or not.
11771	// This may be used to include empty fields in Patch requests.
11772	ForceSendFields []string `json:"-"`
11773
11774	// NullFields is a list of field names (e.g. "Header") to include in API
11775	// requests with the JSON null value. By default, fields with empty
11776	// values are omitted from API requests. However, any field with an
11777	// empty value appearing in NullFields will be sent to the server as
11778	// null. It is an error if a field in this list has a non-empty value.
11779	// This may be used to include null fields in Patch requests.
11780	NullFields []string `json:"-"`
11781}
11782
11783func (s *GoogleCloudDialogflowV2IntentMessageColumnProperties) MarshalJSON() ([]byte, error) {
11784	type NoMethod GoogleCloudDialogflowV2IntentMessageColumnProperties
11785	raw := NoMethod(*s)
11786	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11787}
11788
11789// GoogleCloudDialogflowV2IntentMessageImage: The image response
11790// message.
11791type GoogleCloudDialogflowV2IntentMessageImage struct {
11792	// AccessibilityText: Optional. A text description of the image to be
11793	// used for accessibility, e.g., screen readers.
11794	AccessibilityText string `json:"accessibilityText,omitempty"`
11795
11796	// ImageUri: Optional. The public URI to an image file.
11797	ImageUri string `json:"imageUri,omitempty"`
11798
11799	// ForceSendFields is a list of field names (e.g. "AccessibilityText")
11800	// to unconditionally include in API requests. By default, fields with
11801	// empty or default values are omitted from API requests. However, any
11802	// non-pointer, non-interface field appearing in ForceSendFields will be
11803	// sent to the server regardless of whether the field is empty or not.
11804	// This may be used to include empty fields in Patch requests.
11805	ForceSendFields []string `json:"-"`
11806
11807	// NullFields is a list of field names (e.g. "AccessibilityText") to
11808	// include in API requests with the JSON null value. By default, fields
11809	// with empty values are omitted from API requests. However, any field
11810	// with an empty value appearing in NullFields will be sent to the
11811	// server as null. It is an error if a field in this list has a
11812	// non-empty value. This may be used to include null fields in Patch
11813	// requests.
11814	NullFields []string `json:"-"`
11815}
11816
11817func (s *GoogleCloudDialogflowV2IntentMessageImage) MarshalJSON() ([]byte, error) {
11818	type NoMethod GoogleCloudDialogflowV2IntentMessageImage
11819	raw := NoMethod(*s)
11820	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11821}
11822
11823// GoogleCloudDialogflowV2IntentMessageLinkOutSuggestion: The suggestion
11824// chip message that allows the user to jump out to the app or website
11825// associated with this agent.
11826type GoogleCloudDialogflowV2IntentMessageLinkOutSuggestion struct {
11827	// DestinationName: Required. The name of the app or site this chip is
11828	// linking to.
11829	DestinationName string `json:"destinationName,omitempty"`
11830
11831	// Uri: Required. The URI of the app or site to open when the user taps
11832	// the suggestion chip.
11833	Uri string `json:"uri,omitempty"`
11834
11835	// ForceSendFields is a list of field names (e.g. "DestinationName") to
11836	// unconditionally include in API requests. By default, fields with
11837	// empty or default values are omitted from API requests. However, any
11838	// non-pointer, non-interface field appearing in ForceSendFields will be
11839	// sent to the server regardless of whether the field is empty or not.
11840	// This may be used to include empty fields in Patch requests.
11841	ForceSendFields []string `json:"-"`
11842
11843	// NullFields is a list of field names (e.g. "DestinationName") to
11844	// include in API requests with the JSON null value. By default, fields
11845	// with empty values are omitted from API requests. However, any field
11846	// with an empty value appearing in NullFields will be sent to the
11847	// server as null. It is an error if a field in this list has a
11848	// non-empty value. This may be used to include null fields in Patch
11849	// requests.
11850	NullFields []string `json:"-"`
11851}
11852
11853func (s *GoogleCloudDialogflowV2IntentMessageLinkOutSuggestion) MarshalJSON() ([]byte, error) {
11854	type NoMethod GoogleCloudDialogflowV2IntentMessageLinkOutSuggestion
11855	raw := NoMethod(*s)
11856	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11857}
11858
11859// GoogleCloudDialogflowV2IntentMessageListSelect: The card for
11860// presenting a list of options to select from.
11861type GoogleCloudDialogflowV2IntentMessageListSelect struct {
11862	// Items: Required. List items.
11863	Items []*GoogleCloudDialogflowV2IntentMessageListSelectItem `json:"items,omitempty"`
11864
11865	// Subtitle: Optional. Subtitle of the list.
11866	Subtitle string `json:"subtitle,omitempty"`
11867
11868	// Title: Optional. The overall title of the list.
11869	Title string `json:"title,omitempty"`
11870
11871	// ForceSendFields is a list of field names (e.g. "Items") to
11872	// unconditionally include in API requests. By default, fields with
11873	// empty or default values are omitted from API requests. However, any
11874	// non-pointer, non-interface field appearing in ForceSendFields will be
11875	// sent to the server regardless of whether the field is empty or not.
11876	// This may be used to include empty fields in Patch requests.
11877	ForceSendFields []string `json:"-"`
11878
11879	// NullFields is a list of field names (e.g. "Items") to include in API
11880	// requests with the JSON null value. By default, fields with empty
11881	// values are omitted from API requests. However, any field with an
11882	// empty value appearing in NullFields will be sent to the server as
11883	// null. It is an error if a field in this list has a non-empty value.
11884	// This may be used to include null fields in Patch requests.
11885	NullFields []string `json:"-"`
11886}
11887
11888func (s *GoogleCloudDialogflowV2IntentMessageListSelect) MarshalJSON() ([]byte, error) {
11889	type NoMethod GoogleCloudDialogflowV2IntentMessageListSelect
11890	raw := NoMethod(*s)
11891	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11892}
11893
11894// GoogleCloudDialogflowV2IntentMessageListSelectItem: An item in the
11895// list.
11896type GoogleCloudDialogflowV2IntentMessageListSelectItem struct {
11897	// Description: Optional. The main text describing the item.
11898	Description string `json:"description,omitempty"`
11899
11900	// Image: Optional. The image to display.
11901	Image *GoogleCloudDialogflowV2IntentMessageImage `json:"image,omitempty"`
11902
11903	// Info: Required. Additional information about this option.
11904	Info *GoogleCloudDialogflowV2IntentMessageSelectItemInfo `json:"info,omitempty"`
11905
11906	// Title: Required. The title of the list item.
11907	Title string `json:"title,omitempty"`
11908
11909	// ForceSendFields is a list of field names (e.g. "Description") to
11910	// unconditionally include in API requests. By default, fields with
11911	// empty or default values are omitted from API requests. However, any
11912	// non-pointer, non-interface field appearing in ForceSendFields will be
11913	// sent to the server regardless of whether the field is empty or not.
11914	// This may be used to include empty fields in Patch requests.
11915	ForceSendFields []string `json:"-"`
11916
11917	// NullFields is a list of field names (e.g. "Description") to include
11918	// in API requests with the JSON null value. By default, fields with
11919	// empty values are omitted from API requests. However, any field with
11920	// an empty value appearing in NullFields will be sent to the server as
11921	// null. It is an error if a field in this list has a non-empty value.
11922	// This may be used to include null fields in Patch requests.
11923	NullFields []string `json:"-"`
11924}
11925
11926func (s *GoogleCloudDialogflowV2IntentMessageListSelectItem) MarshalJSON() ([]byte, error) {
11927	type NoMethod GoogleCloudDialogflowV2IntentMessageListSelectItem
11928	raw := NoMethod(*s)
11929	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11930}
11931
11932// GoogleCloudDialogflowV2IntentMessageMediaContent: The media content
11933// card for Actions on Google.
11934type GoogleCloudDialogflowV2IntentMessageMediaContent struct {
11935	// MediaObjects: Required. List of media objects.
11936	MediaObjects []*GoogleCloudDialogflowV2IntentMessageMediaContentResponseMediaObject `json:"mediaObjects,omitempty"`
11937
11938	// MediaType: Optional. What type of media is the content (ie "audio").
11939	//
11940	// Possible values:
11941	//   "RESPONSE_MEDIA_TYPE_UNSPECIFIED" - Unspecified.
11942	//   "AUDIO" - Response media type is audio.
11943	MediaType string `json:"mediaType,omitempty"`
11944
11945	// ForceSendFields is a list of field names (e.g. "MediaObjects") to
11946	// unconditionally include in API requests. By default, fields with
11947	// empty or default values are omitted from API requests. However, any
11948	// non-pointer, non-interface field appearing in ForceSendFields will be
11949	// sent to the server regardless of whether the field is empty or not.
11950	// This may be used to include empty fields in Patch requests.
11951	ForceSendFields []string `json:"-"`
11952
11953	// NullFields is a list of field names (e.g. "MediaObjects") to include
11954	// in API requests with the JSON null value. By default, fields with
11955	// empty values are omitted from API requests. However, any field with
11956	// an empty value appearing in NullFields will be sent to the server as
11957	// null. It is an error if a field in this list has a non-empty value.
11958	// This may be used to include null fields in Patch requests.
11959	NullFields []string `json:"-"`
11960}
11961
11962func (s *GoogleCloudDialogflowV2IntentMessageMediaContent) MarshalJSON() ([]byte, error) {
11963	type NoMethod GoogleCloudDialogflowV2IntentMessageMediaContent
11964	raw := NoMethod(*s)
11965	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11966}
11967
11968// GoogleCloudDialogflowV2IntentMessageMediaContentResponseMediaObject:
11969// Response media object for media content card.
11970type GoogleCloudDialogflowV2IntentMessageMediaContentResponseMediaObject struct {
11971	// ContentUrl: Required. Url where the media is stored.
11972	ContentUrl string `json:"contentUrl,omitempty"`
11973
11974	// Description: Optional. Description of media card.
11975	Description string `json:"description,omitempty"`
11976
11977	// Icon: Optional. Icon to display above media content.
11978	Icon *GoogleCloudDialogflowV2IntentMessageImage `json:"icon,omitempty"`
11979
11980	// LargeImage: Optional. Image to display above media content.
11981	LargeImage *GoogleCloudDialogflowV2IntentMessageImage `json:"largeImage,omitempty"`
11982
11983	// Name: Required. Name of media card.
11984	Name string `json:"name,omitempty"`
11985
11986	// ForceSendFields is a list of field names (e.g. "ContentUrl") to
11987	// unconditionally include in API requests. By default, fields with
11988	// empty or default values are omitted from API requests. However, any
11989	// non-pointer, non-interface field appearing in ForceSendFields will be
11990	// sent to the server regardless of whether the field is empty or not.
11991	// This may be used to include empty fields in Patch requests.
11992	ForceSendFields []string `json:"-"`
11993
11994	// NullFields is a list of field names (e.g. "ContentUrl") to include in
11995	// API requests with the JSON null value. By default, fields with empty
11996	// values are omitted from API requests. However, any field with an
11997	// empty value appearing in NullFields will be sent to the server as
11998	// null. It is an error if a field in this list has a non-empty value.
11999	// This may be used to include null fields in Patch requests.
12000	NullFields []string `json:"-"`
12001}
12002
12003func (s *GoogleCloudDialogflowV2IntentMessageMediaContentResponseMediaObject) MarshalJSON() ([]byte, error) {
12004	type NoMethod GoogleCloudDialogflowV2IntentMessageMediaContentResponseMediaObject
12005	raw := NoMethod(*s)
12006	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12007}
12008
12009// GoogleCloudDialogflowV2IntentMessageQuickReplies: The quick replies
12010// response message.
12011type GoogleCloudDialogflowV2IntentMessageQuickReplies struct {
12012	// QuickReplies: Optional. The collection of quick replies.
12013	QuickReplies []string `json:"quickReplies,omitempty"`
12014
12015	// Title: Optional. The title of the collection of quick replies.
12016	Title string `json:"title,omitempty"`
12017
12018	// ForceSendFields is a list of field names (e.g. "QuickReplies") to
12019	// unconditionally include in API requests. By default, fields with
12020	// empty or default values are omitted from API requests. However, any
12021	// non-pointer, non-interface field appearing in ForceSendFields will be
12022	// sent to the server regardless of whether the field is empty or not.
12023	// This may be used to include empty fields in Patch requests.
12024	ForceSendFields []string `json:"-"`
12025
12026	// NullFields is a list of field names (e.g. "QuickReplies") to include
12027	// in API requests with the JSON null value. By default, fields with
12028	// empty values are omitted from API requests. However, any field with
12029	// an empty value appearing in NullFields will be sent to the server as
12030	// null. It is an error if a field in this list has a non-empty value.
12031	// This may be used to include null fields in Patch requests.
12032	NullFields []string `json:"-"`
12033}
12034
12035func (s *GoogleCloudDialogflowV2IntentMessageQuickReplies) MarshalJSON() ([]byte, error) {
12036	type NoMethod GoogleCloudDialogflowV2IntentMessageQuickReplies
12037	raw := NoMethod(*s)
12038	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12039}
12040
12041// GoogleCloudDialogflowV2IntentMessageSelectItemInfo: Additional info
12042// about the select item for when it is triggered in a dialog.
12043type GoogleCloudDialogflowV2IntentMessageSelectItemInfo struct {
12044	// Key: Required. A unique key that will be sent back to the agent if
12045	// this response is given.
12046	Key string `json:"key,omitempty"`
12047
12048	// Synonyms: Optional. A list of synonyms that can also be used to
12049	// trigger this item in dialog.
12050	Synonyms []string `json:"synonyms,omitempty"`
12051
12052	// ForceSendFields is a list of field names (e.g. "Key") to
12053	// unconditionally include in API requests. By default, fields with
12054	// empty or default values are omitted from API requests. However, any
12055	// non-pointer, non-interface field appearing in ForceSendFields will be
12056	// sent to the server regardless of whether the field is empty or not.
12057	// This may be used to include empty fields in Patch requests.
12058	ForceSendFields []string `json:"-"`
12059
12060	// NullFields is a list of field names (e.g. "Key") to include in API
12061	// requests with the JSON null value. By default, fields with empty
12062	// values are omitted from API requests. However, any field with an
12063	// empty value appearing in NullFields will be sent to the server as
12064	// null. It is an error if a field in this list has a non-empty value.
12065	// This may be used to include null fields in Patch requests.
12066	NullFields []string `json:"-"`
12067}
12068
12069func (s *GoogleCloudDialogflowV2IntentMessageSelectItemInfo) MarshalJSON() ([]byte, error) {
12070	type NoMethod GoogleCloudDialogflowV2IntentMessageSelectItemInfo
12071	raw := NoMethod(*s)
12072	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12073}
12074
12075// GoogleCloudDialogflowV2IntentMessageSimpleResponse: The simple
12076// response message containing speech or text.
12077type GoogleCloudDialogflowV2IntentMessageSimpleResponse struct {
12078	// DisplayText: Optional. The text to display.
12079	DisplayText string `json:"displayText,omitempty"`
12080
12081	// Ssml: One of text_to_speech or ssml must be provided. Structured
12082	// spoken response to the user in the SSML format. Mutually exclusive
12083	// with text_to_speech.
12084	Ssml string `json:"ssml,omitempty"`
12085
12086	// TextToSpeech: One of text_to_speech or ssml must be provided. The
12087	// plain text of the speech output. Mutually exclusive with ssml.
12088	TextToSpeech string `json:"textToSpeech,omitempty"`
12089
12090	// ForceSendFields is a list of field names (e.g. "DisplayText") to
12091	// unconditionally include in API requests. By default, fields with
12092	// empty or default values are omitted from API requests. However, any
12093	// non-pointer, non-interface field appearing in ForceSendFields will be
12094	// sent to the server regardless of whether the field is empty or not.
12095	// This may be used to include empty fields in Patch requests.
12096	ForceSendFields []string `json:"-"`
12097
12098	// NullFields is a list of field names (e.g. "DisplayText") to include
12099	// in API requests with the JSON null value. By default, fields with
12100	// empty values are omitted from API requests. However, any field with
12101	// an 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 *GoogleCloudDialogflowV2IntentMessageSimpleResponse) MarshalJSON() ([]byte, error) {
12108	type NoMethod GoogleCloudDialogflowV2IntentMessageSimpleResponse
12109	raw := NoMethod(*s)
12110	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12111}
12112
12113// GoogleCloudDialogflowV2IntentMessageSimpleResponses: The collection
12114// of simple response candidates. This message in
12115// `QueryResult.fulfillment_messages` and
12116// `WebhookResponse.fulfillment_messages` should contain only one
12117// `SimpleResponse`.
12118type GoogleCloudDialogflowV2IntentMessageSimpleResponses struct {
12119	// SimpleResponses: Required. The list of simple responses.
12120	SimpleResponses []*GoogleCloudDialogflowV2IntentMessageSimpleResponse `json:"simpleResponses,omitempty"`
12121
12122	// ForceSendFields is a list of field names (e.g. "SimpleResponses") to
12123	// unconditionally include in API requests. By default, fields with
12124	// empty or default values are omitted from API requests. However, any
12125	// non-pointer, non-interface field appearing in ForceSendFields will be
12126	// sent to the server regardless of whether the field is empty or not.
12127	// This may be used to include empty fields in Patch requests.
12128	ForceSendFields []string `json:"-"`
12129
12130	// NullFields is a list of field names (e.g. "SimpleResponses") to
12131	// include in API requests with the JSON null value. By default, fields
12132	// with empty values are omitted from API requests. However, any field
12133	// with an empty value appearing in NullFields will be sent to the
12134	// server as null. It is an error if a field in this list has a
12135	// non-empty value. This may be used to include null fields in Patch
12136	// requests.
12137	NullFields []string `json:"-"`
12138}
12139
12140func (s *GoogleCloudDialogflowV2IntentMessageSimpleResponses) MarshalJSON() ([]byte, error) {
12141	type NoMethod GoogleCloudDialogflowV2IntentMessageSimpleResponses
12142	raw := NoMethod(*s)
12143	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12144}
12145
12146// GoogleCloudDialogflowV2IntentMessageSuggestion: The suggestion chip
12147// message that the user can tap to quickly post a reply to the
12148// conversation.
12149type GoogleCloudDialogflowV2IntentMessageSuggestion struct {
12150	// Title: Required. The text shown the in the suggestion chip.
12151	Title string `json:"title,omitempty"`
12152
12153	// ForceSendFields is a list of field names (e.g. "Title") to
12154	// unconditionally include in API requests. By default, fields with
12155	// empty or default values are omitted from API requests. However, any
12156	// non-pointer, non-interface field appearing in ForceSendFields will be
12157	// sent to the server regardless of whether the field is empty or not.
12158	// This may be used to include empty fields in Patch requests.
12159	ForceSendFields []string `json:"-"`
12160
12161	// NullFields is a list of field names (e.g. "Title") to include in API
12162	// requests with the JSON null value. By default, fields with empty
12163	// values are omitted from API requests. However, any field with an
12164	// empty value appearing in NullFields will be sent to the server as
12165	// null. It is an error if a field in this list has a non-empty value.
12166	// This may be used to include null fields in Patch requests.
12167	NullFields []string `json:"-"`
12168}
12169
12170func (s *GoogleCloudDialogflowV2IntentMessageSuggestion) MarshalJSON() ([]byte, error) {
12171	type NoMethod GoogleCloudDialogflowV2IntentMessageSuggestion
12172	raw := NoMethod(*s)
12173	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12174}
12175
12176// GoogleCloudDialogflowV2IntentMessageSuggestions: The collection of
12177// suggestions.
12178type GoogleCloudDialogflowV2IntentMessageSuggestions struct {
12179	// Suggestions: Required. The list of suggested replies.
12180	Suggestions []*GoogleCloudDialogflowV2IntentMessageSuggestion `json:"suggestions,omitempty"`
12181
12182	// ForceSendFields is a list of field names (e.g. "Suggestions") to
12183	// unconditionally include in API requests. By default, fields with
12184	// empty or default values are omitted from API requests. However, any
12185	// non-pointer, non-interface field appearing in ForceSendFields will be
12186	// sent to the server regardless of whether the field is empty or not.
12187	// This may be used to include empty fields in Patch requests.
12188	ForceSendFields []string `json:"-"`
12189
12190	// NullFields is a list of field names (e.g. "Suggestions") to include
12191	// in API requests with the JSON null value. By default, fields with
12192	// empty values are omitted from API requests. However, any field with
12193	// an empty value appearing in NullFields will be sent to the server as
12194	// null. It is an error if a field in this list has a non-empty value.
12195	// This may be used to include null fields in Patch requests.
12196	NullFields []string `json:"-"`
12197}
12198
12199func (s *GoogleCloudDialogflowV2IntentMessageSuggestions) MarshalJSON() ([]byte, error) {
12200	type NoMethod GoogleCloudDialogflowV2IntentMessageSuggestions
12201	raw := NoMethod(*s)
12202	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12203}
12204
12205// GoogleCloudDialogflowV2IntentMessageTableCard: Table card for Actions
12206// on Google.
12207type GoogleCloudDialogflowV2IntentMessageTableCard struct {
12208	// Buttons: Optional. List of buttons for the card.
12209	Buttons []*GoogleCloudDialogflowV2IntentMessageBasicCardButton `json:"buttons,omitempty"`
12210
12211	// ColumnProperties: Optional. Display properties for the columns in
12212	// this table.
12213	ColumnProperties []*GoogleCloudDialogflowV2IntentMessageColumnProperties `json:"columnProperties,omitempty"`
12214
12215	// Image: Optional. Image which should be displayed on the card.
12216	Image *GoogleCloudDialogflowV2IntentMessageImage `json:"image,omitempty"`
12217
12218	// Rows: Optional. Rows in this table of data.
12219	Rows []*GoogleCloudDialogflowV2IntentMessageTableCardRow `json:"rows,omitempty"`
12220
12221	// Subtitle: Optional. Subtitle to the title.
12222	Subtitle string `json:"subtitle,omitempty"`
12223
12224	// Title: Required. Title of the card.
12225	Title string `json:"title,omitempty"`
12226
12227	// ForceSendFields is a list of field names (e.g. "Buttons") to
12228	// unconditionally include in API requests. By default, fields with
12229	// empty or default values are omitted from API requests. However, any
12230	// non-pointer, non-interface field appearing in ForceSendFields will be
12231	// sent to the server regardless of whether the field is empty or not.
12232	// This may be used to include empty fields in Patch requests.
12233	ForceSendFields []string `json:"-"`
12234
12235	// NullFields is a list of field names (e.g. "Buttons") to include in
12236	// API requests with the JSON null value. By default, fields with empty
12237	// values are omitted from API requests. However, any field with an
12238	// empty value appearing in NullFields will be sent to the server as
12239	// null. It is an error if a field in this list has a non-empty value.
12240	// This may be used to include null fields in Patch requests.
12241	NullFields []string `json:"-"`
12242}
12243
12244func (s *GoogleCloudDialogflowV2IntentMessageTableCard) MarshalJSON() ([]byte, error) {
12245	type NoMethod GoogleCloudDialogflowV2IntentMessageTableCard
12246	raw := NoMethod(*s)
12247	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12248}
12249
12250// GoogleCloudDialogflowV2IntentMessageTableCardCell: Cell of
12251// TableCardRow.
12252type GoogleCloudDialogflowV2IntentMessageTableCardCell struct {
12253	// Text: Required. Text in this cell.
12254	Text string `json:"text,omitempty"`
12255
12256	// ForceSendFields is a list of field names (e.g. "Text") to
12257	// unconditionally include in API requests. By default, fields with
12258	// empty or default values are omitted from API requests. However, any
12259	// non-pointer, non-interface field appearing in ForceSendFields will be
12260	// sent to the server regardless of whether the field is empty or not.
12261	// This may be used to include empty fields in Patch requests.
12262	ForceSendFields []string `json:"-"`
12263
12264	// NullFields is a list of field names (e.g. "Text") to include in API
12265	// requests with the JSON null value. By default, fields with empty
12266	// values are omitted from API requests. However, any field with an
12267	// empty value appearing in NullFields will be sent to the server as
12268	// null. It is an error if a field in this list has a non-empty value.
12269	// This may be used to include null fields in Patch requests.
12270	NullFields []string `json:"-"`
12271}
12272
12273func (s *GoogleCloudDialogflowV2IntentMessageTableCardCell) MarshalJSON() ([]byte, error) {
12274	type NoMethod GoogleCloudDialogflowV2IntentMessageTableCardCell
12275	raw := NoMethod(*s)
12276	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12277}
12278
12279// GoogleCloudDialogflowV2IntentMessageTableCardRow: Row of TableCard.
12280type GoogleCloudDialogflowV2IntentMessageTableCardRow struct {
12281	// Cells: Optional. List of cells that make up this row.
12282	Cells []*GoogleCloudDialogflowV2IntentMessageTableCardCell `json:"cells,omitempty"`
12283
12284	// DividerAfter: Optional. Whether to add a visual divider after this
12285	// row.
12286	DividerAfter bool `json:"dividerAfter,omitempty"`
12287
12288	// ForceSendFields is a list of field names (e.g. "Cells") to
12289	// unconditionally include in API requests. By default, fields with
12290	// empty or default values are omitted from API requests. However, any
12291	// non-pointer, non-interface field appearing in ForceSendFields will be
12292	// sent to the server regardless of whether the field is empty or not.
12293	// This may be used to include empty fields in Patch requests.
12294	ForceSendFields []string `json:"-"`
12295
12296	// NullFields is a list of field names (e.g. "Cells") to include in API
12297	// requests with the JSON null value. By default, fields with empty
12298	// values are omitted from API requests. However, any field with an
12299	// empty value appearing in NullFields will be sent to the server as
12300	// null. It is an error if a field in this list has a non-empty value.
12301	// This may be used to include null fields in Patch requests.
12302	NullFields []string `json:"-"`
12303}
12304
12305func (s *GoogleCloudDialogflowV2IntentMessageTableCardRow) MarshalJSON() ([]byte, error) {
12306	type NoMethod GoogleCloudDialogflowV2IntentMessageTableCardRow
12307	raw := NoMethod(*s)
12308	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12309}
12310
12311// GoogleCloudDialogflowV2IntentMessageText: The text response message.
12312type GoogleCloudDialogflowV2IntentMessageText struct {
12313	// Text: Optional. The collection of the agent's responses.
12314	Text []string `json:"text,omitempty"`
12315
12316	// ForceSendFields is a list of field names (e.g. "Text") to
12317	// unconditionally include in API requests. By default, fields with
12318	// empty or default values are omitted from API requests. However, any
12319	// non-pointer, non-interface field appearing in ForceSendFields will be
12320	// sent to the server regardless of whether the field is empty or not.
12321	// This may be used to include empty fields in Patch requests.
12322	ForceSendFields []string `json:"-"`
12323
12324	// NullFields is a list of field names (e.g. "Text") to include in API
12325	// requests with the JSON null value. By default, fields with empty
12326	// values are omitted from API requests. However, any field with an
12327	// empty value appearing in NullFields will be sent to the server as
12328	// null. It is an error if a field in this list has a non-empty value.
12329	// This may be used to include null fields in Patch requests.
12330	NullFields []string `json:"-"`
12331}
12332
12333func (s *GoogleCloudDialogflowV2IntentMessageText) MarshalJSON() ([]byte, error) {
12334	type NoMethod GoogleCloudDialogflowV2IntentMessageText
12335	raw := NoMethod(*s)
12336	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12337}
12338
12339// GoogleCloudDialogflowV2IntentParameter: Represents intent parameters.
12340type GoogleCloudDialogflowV2IntentParameter struct {
12341	// DefaultValue: Optional. The default value to use when the `value`
12342	// yields an empty result. Default values can be extracted from contexts
12343	// by using the following syntax: `#context_name.parameter_name`.
12344	DefaultValue string `json:"defaultValue,omitempty"`
12345
12346	// DisplayName: Required. The name of the parameter.
12347	DisplayName string `json:"displayName,omitempty"`
12348
12349	// EntityTypeDisplayName: Optional. The name of the entity type,
12350	// prefixed with `@`, that describes values of the parameter. If the
12351	// parameter is required, this must be provided.
12352	EntityTypeDisplayName string `json:"entityTypeDisplayName,omitempty"`
12353
12354	// IsList: Optional. Indicates whether the parameter represents a list
12355	// of values.
12356	IsList bool `json:"isList,omitempty"`
12357
12358	// Mandatory: Optional. Indicates whether the parameter is required.
12359	// That is, whether the intent cannot be completed without collecting
12360	// the parameter value.
12361	Mandatory bool `json:"mandatory,omitempty"`
12362
12363	// Name: The unique identifier of this parameter.
12364	Name string `json:"name,omitempty"`
12365
12366	// Prompts: Optional. The collection of prompts that the agent can
12367	// present to the user in order to collect a value for the parameter.
12368	Prompts []string `json:"prompts,omitempty"`
12369
12370	// Value: Optional. The definition of the parameter value. It can be: -
12371	// a constant string, - a parameter value defined as `$parameter_name`,
12372	// - an original parameter value defined as `$parameter_name.original`,
12373	// - a parameter value from some context defined as
12374	// `#context_name.parameter_name`.
12375	Value string `json:"value,omitempty"`
12376
12377	// ForceSendFields is a list of field names (e.g. "DefaultValue") to
12378	// unconditionally include in API requests. By default, fields with
12379	// empty or default values are omitted from API requests. However, any
12380	// non-pointer, non-interface field appearing in ForceSendFields will be
12381	// sent to the server regardless of whether the field is empty or not.
12382	// This may be used to include empty fields in Patch requests.
12383	ForceSendFields []string `json:"-"`
12384
12385	// NullFields is a list of field names (e.g. "DefaultValue") to include
12386	// in API requests with the JSON null value. By default, fields with
12387	// empty values are omitted from API requests. However, any field with
12388	// an empty value appearing in NullFields will be sent to the server as
12389	// null. It is an error if a field in this list has a non-empty value.
12390	// This may be used to include null fields in Patch requests.
12391	NullFields []string `json:"-"`
12392}
12393
12394func (s *GoogleCloudDialogflowV2IntentParameter) MarshalJSON() ([]byte, error) {
12395	type NoMethod GoogleCloudDialogflowV2IntentParameter
12396	raw := NoMethod(*s)
12397	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12398}
12399
12400// GoogleCloudDialogflowV2IntentTrainingPhrase: Represents an example
12401// that the agent is trained on.
12402type GoogleCloudDialogflowV2IntentTrainingPhrase struct {
12403	// Name: Output only. The unique identifier of this training phrase.
12404	Name string `json:"name,omitempty"`
12405
12406	// Parts: Required. The ordered list of training phrase parts. The parts
12407	// are concatenated in order to form the training phrase. Note: The API
12408	// does not automatically annotate training phrases like the Dialogflow
12409	// Console does. Note: Do not forget to include whitespace at part
12410	// boundaries, so the training phrase is well formatted when the parts
12411	// are concatenated. If the training phrase does not need to be
12412	// annotated with parameters, you just need a single part with only the
12413	// Part.text field set. If you want to annotate the training phrase, you
12414	// must create multiple parts, where the fields of each part are
12415	// populated in one of two ways: - `Part.text` is set to a part of the
12416	// phrase that has no parameters. - `Part.text` is set to a part of the
12417	// phrase that you want to annotate, and the `entity_type`, `alias`, and
12418	// `user_defined` fields are all set.
12419	Parts []*GoogleCloudDialogflowV2IntentTrainingPhrasePart `json:"parts,omitempty"`
12420
12421	// TimesAddedCount: Optional. Indicates how many times this example was
12422	// added to the intent. Each time a developer adds an existing sample by
12423	// editing an intent or training, this counter is increased.
12424	TimesAddedCount int64 `json:"timesAddedCount,omitempty"`
12425
12426	// Type: Required. The type of the training phrase.
12427	//
12428	// Possible values:
12429	//   "TYPE_UNSPECIFIED" - Not specified. This value should never be
12430	// used.
12431	//   "EXAMPLE" - Examples do not contain @-prefixed entity type names,
12432	// but example parts can be annotated with entity types.
12433	//   "TEMPLATE" - Templates are not annotated with entity types, but
12434	// they can contain @-prefixed entity type names as substrings. Template
12435	// mode has been deprecated. Example mode is the only supported way to
12436	// create new training phrases. If you have existing training phrases
12437	// that you've created in template mode, those will continue to work.
12438	Type string `json:"type,omitempty"`
12439
12440	// ForceSendFields is a list of field names (e.g. "Name") to
12441	// unconditionally include in API requests. By default, fields with
12442	// empty or default values are omitted from API requests. However, any
12443	// non-pointer, non-interface field appearing in ForceSendFields will be
12444	// sent to the server regardless of whether the field is empty or not.
12445	// This may be used to include empty fields in Patch requests.
12446	ForceSendFields []string `json:"-"`
12447
12448	// NullFields is a list of field names (e.g. "Name") to include in API
12449	// requests with the JSON null value. By default, fields with empty
12450	// values are omitted from API requests. However, any field with an
12451	// empty value appearing in NullFields will be sent to the server as
12452	// null. It is an error if a field in this list has a non-empty value.
12453	// This may be used to include null fields in Patch requests.
12454	NullFields []string `json:"-"`
12455}
12456
12457func (s *GoogleCloudDialogflowV2IntentTrainingPhrase) MarshalJSON() ([]byte, error) {
12458	type NoMethod GoogleCloudDialogflowV2IntentTrainingPhrase
12459	raw := NoMethod(*s)
12460	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12461}
12462
12463// GoogleCloudDialogflowV2IntentTrainingPhrasePart: Represents a part of
12464// a training phrase.
12465type GoogleCloudDialogflowV2IntentTrainingPhrasePart struct {
12466	// Alias: Optional. The parameter name for the value extracted from the
12467	// annotated part of the example. This field is required for annotated
12468	// parts of the training phrase.
12469	Alias string `json:"alias,omitempty"`
12470
12471	// EntityType: Optional. The entity type name prefixed with `@`. This
12472	// field is required for annotated parts of the training phrase.
12473	EntityType string `json:"entityType,omitempty"`
12474
12475	// Text: Required. The text for this part.
12476	Text string `json:"text,omitempty"`
12477
12478	// UserDefined: Optional. Indicates whether the text was manually
12479	// annotated. This field is set to true when the Dialogflow Console is
12480	// used to manually annotate the part. When creating an annotated part
12481	// with the API, you must set this to true.
12482	UserDefined bool `json:"userDefined,omitempty"`
12483
12484	// ForceSendFields is a list of field names (e.g. "Alias") to
12485	// unconditionally include in API requests. By default, fields with
12486	// empty or default values are omitted from API requests. However, any
12487	// non-pointer, non-interface field appearing in ForceSendFields will be
12488	// sent to the server regardless of whether the field is empty or not.
12489	// This may be used to include empty fields in Patch requests.
12490	ForceSendFields []string `json:"-"`
12491
12492	// NullFields is a list of field names (e.g. "Alias") to include in API
12493	// requests with the JSON null value. By default, fields with empty
12494	// values are omitted from API requests. However, any field with an
12495	// empty value appearing in NullFields will be sent to the server as
12496	// null. It is an error if a field in this list has a non-empty value.
12497	// This may be used to include null fields in Patch requests.
12498	NullFields []string `json:"-"`
12499}
12500
12501func (s *GoogleCloudDialogflowV2IntentTrainingPhrasePart) MarshalJSON() ([]byte, error) {
12502	type NoMethod GoogleCloudDialogflowV2IntentTrainingPhrasePart
12503	raw := NoMethod(*s)
12504	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12505}
12506
12507// GoogleCloudDialogflowV2KnowledgeOperationMetadata: Metadata in
12508// google::longrunning::Operation for Knowledge operations.
12509type GoogleCloudDialogflowV2KnowledgeOperationMetadata struct {
12510	// State: Output only. The current state of this operation.
12511	//
12512	// Possible values:
12513	//   "STATE_UNSPECIFIED" - State unspecified.
12514	//   "PENDING" - The operation has been created.
12515	//   "RUNNING" - The operation is currently running.
12516	//   "DONE" - The operation is done, either cancelled or completed.
12517	State string `json:"state,omitempty"`
12518
12519	// ForceSendFields is a list of field names (e.g. "State") to
12520	// unconditionally include in API requests. By default, fields with
12521	// empty or default values are omitted from API requests. However, any
12522	// non-pointer, non-interface field appearing in ForceSendFields will be
12523	// sent to the server regardless of whether the field is empty or not.
12524	// This may be used to include empty fields in Patch requests.
12525	ForceSendFields []string `json:"-"`
12526
12527	// NullFields is a list of field names (e.g. "State") to include in API
12528	// requests with the JSON null value. By default, fields with empty
12529	// values are omitted from API requests. However, any field with an
12530	// empty value appearing in NullFields will be sent to the server as
12531	// null. It is an error if a field in this list has a non-empty value.
12532	// This may be used to include null fields in Patch requests.
12533	NullFields []string `json:"-"`
12534}
12535
12536func (s *GoogleCloudDialogflowV2KnowledgeOperationMetadata) MarshalJSON() ([]byte, error) {
12537	type NoMethod GoogleCloudDialogflowV2KnowledgeOperationMetadata
12538	raw := NoMethod(*s)
12539	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12540}
12541
12542// GoogleCloudDialogflowV2Message: Represents a message posted into a
12543// conversation.
12544type GoogleCloudDialogflowV2Message struct {
12545	// Content: Required. The message content.
12546	Content string `json:"content,omitempty"`
12547
12548	// CreateTime: Output only. The time when the message was created.
12549	CreateTime string `json:"createTime,omitempty"`
12550
12551	// LanguageCode: Optional. The message language. This should be a BCP-47
12552	// (https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. Example:
12553	// "en-US".
12554	LanguageCode string `json:"languageCode,omitempty"`
12555
12556	// MessageAnnotation: Output only. The annotation for the message.
12557	MessageAnnotation *GoogleCloudDialogflowV2MessageAnnotation `json:"messageAnnotation,omitempty"`
12558
12559	// Name: The unique identifier of the message. Format:
12560	// `projects//locations//conversations//messages/`.
12561	Name string `json:"name,omitempty"`
12562
12563	// Participant: Output only. The participant that sends this message.
12564	Participant string `json:"participant,omitempty"`
12565
12566	// ParticipantRole: Output only. The role of the participant.
12567	//
12568	// Possible values:
12569	//   "ROLE_UNSPECIFIED" - Participant role not set.
12570	//   "HUMAN_AGENT" - Participant is a human agent.
12571	//   "AUTOMATED_AGENT" - Participant is an automated agent, such as a
12572	// Dialogflow agent.
12573	//   "END_USER" - Participant is an end user that has called or chatted
12574	// with Dialogflow services.
12575	ParticipantRole string `json:"participantRole,omitempty"`
12576
12577	// ForceSendFields is a list of field names (e.g. "Content") to
12578	// unconditionally include in API requests. By default, fields with
12579	// empty or default values are omitted from API requests. However, any
12580	// non-pointer, non-interface field appearing in ForceSendFields will be
12581	// sent to the server regardless of whether the field is empty or not.
12582	// This may be used to include empty fields in Patch requests.
12583	ForceSendFields []string `json:"-"`
12584
12585	// NullFields is a list of field names (e.g. "Content") to include in
12586	// API requests with the JSON null value. By default, fields with empty
12587	// values are omitted from API requests. However, any field with an
12588	// empty value appearing in NullFields will be sent to the server as
12589	// null. It is an error if a field in this list has a non-empty value.
12590	// This may be used to include null fields in Patch requests.
12591	NullFields []string `json:"-"`
12592}
12593
12594func (s *GoogleCloudDialogflowV2Message) MarshalJSON() ([]byte, error) {
12595	type NoMethod GoogleCloudDialogflowV2Message
12596	raw := NoMethod(*s)
12597	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12598}
12599
12600// GoogleCloudDialogflowV2MessageAnnotation: Represents the result of
12601// annotation for the message.
12602type GoogleCloudDialogflowV2MessageAnnotation struct {
12603	// ContainEntities: Indicates whether the text message contains
12604	// entities.
12605	ContainEntities bool `json:"containEntities,omitempty"`
12606
12607	// Parts: The collection of annotated message parts ordered by their
12608	// position in the message. You can recover the annotated message by
12609	// concatenating [AnnotatedMessagePart.text].
12610	Parts []*GoogleCloudDialogflowV2AnnotatedMessagePart `json:"parts,omitempty"`
12611
12612	// ForceSendFields is a list of field names (e.g. "ContainEntities") to
12613	// unconditionally include in API requests. By default, fields with
12614	// empty or default values are omitted from API requests. However, any
12615	// non-pointer, non-interface field appearing in ForceSendFields will be
12616	// sent to the server regardless of whether the field is empty or not.
12617	// This may be used to include empty fields in Patch requests.
12618	ForceSendFields []string `json:"-"`
12619
12620	// NullFields is a list of field names (e.g. "ContainEntities") to
12621	// include in API requests with the JSON null value. By default, fields
12622	// with empty values are omitted from API requests. However, any field
12623	// with an empty value appearing in NullFields will be sent to the
12624	// server as null. It is an error if a field in this list has a
12625	// non-empty value. This may be used to include null fields in Patch
12626	// requests.
12627	NullFields []string `json:"-"`
12628}
12629
12630func (s *GoogleCloudDialogflowV2MessageAnnotation) MarshalJSON() ([]byte, error) {
12631	type NoMethod GoogleCloudDialogflowV2MessageAnnotation
12632	raw := NoMethod(*s)
12633	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12634}
12635
12636// GoogleCloudDialogflowV2OriginalDetectIntentRequest: Represents the
12637// contents of the original request that was passed to the
12638// `[Streaming]DetectIntent` call.
12639type GoogleCloudDialogflowV2OriginalDetectIntentRequest struct {
12640	// Payload: Optional. This field is set to the value of the
12641	// `QueryParameters.payload` field passed in the request. Some
12642	// integrations that query a Dialogflow agent may provide additional
12643	// information in the payload. In particular, for the Dialogflow Phone
12644	// Gateway integration, this field has the form: { "telephony": {
12645	// "caller_id": "+18558363987" } } Note: The caller ID field
12646	// (`caller_id`) will be redacted for Trial Edition agents and populated
12647	// with the caller ID in E.164 format
12648	// (https://en.wikipedia.org/wiki/E.164) for Essentials Edition agents.
12649	Payload googleapi.RawMessage `json:"payload,omitempty"`
12650
12651	// Source: The source of this request, e.g., `google`, `facebook`,
12652	// `slack`. It is set by Dialogflow-owned servers.
12653	Source string `json:"source,omitempty"`
12654
12655	// Version: Optional. The version of the protocol used for this request.
12656	// This field is AoG-specific.
12657	Version string `json:"version,omitempty"`
12658
12659	// ForceSendFields is a list of field names (e.g. "Payload") to
12660	// unconditionally include in API requests. By default, fields with
12661	// empty or default values are omitted from API requests. However, any
12662	// non-pointer, non-interface field appearing in ForceSendFields will be
12663	// sent to the server regardless of whether the field is empty or not.
12664	// This may be used to include empty fields in Patch requests.
12665	ForceSendFields []string `json:"-"`
12666
12667	// NullFields is a list of field names (e.g. "Payload") to include in
12668	// API requests with the JSON null value. By default, fields with empty
12669	// values are omitted from API requests. However, any field with an
12670	// empty value appearing in NullFields will be sent to the server as
12671	// null. It is an error if a field in this list has a non-empty value.
12672	// This may be used to include null fields in Patch requests.
12673	NullFields []string `json:"-"`
12674}
12675
12676func (s *GoogleCloudDialogflowV2OriginalDetectIntentRequest) MarshalJSON() ([]byte, error) {
12677	type NoMethod GoogleCloudDialogflowV2OriginalDetectIntentRequest
12678	raw := NoMethod(*s)
12679	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12680}
12681
12682// GoogleCloudDialogflowV2QueryResult: Represents the result of
12683// conversational query or event processing.
12684type GoogleCloudDialogflowV2QueryResult struct {
12685	// Action: The action name from the matched intent.
12686	Action string `json:"action,omitempty"`
12687
12688	// AllRequiredParamsPresent: This field is set to: - `false` if the
12689	// matched intent has required parameters and not all of the required
12690	// parameter values have been collected. - `true` if all required
12691	// parameter values have been collected, or if the matched intent
12692	// doesn't contain any required parameters.
12693	AllRequiredParamsPresent bool `json:"allRequiredParamsPresent,omitempty"`
12694
12695	// CancelsSlotFilling: Indicates whether the conversational query
12696	// triggers a cancellation for slot filling.
12697	CancelsSlotFilling bool `json:"cancelsSlotFilling,omitempty"`
12698
12699	// DiagnosticInfo: Free-form diagnostic information for the associated
12700	// detect intent request. The fields of this data can change without
12701	// notice, so you should not write code that depends on its structure.
12702	// The data may contain: - webhook call latency - webhook errors
12703	DiagnosticInfo googleapi.RawMessage `json:"diagnosticInfo,omitempty"`
12704
12705	// FulfillmentMessages: The collection of rich messages to present to
12706	// the user.
12707	FulfillmentMessages []*GoogleCloudDialogflowV2IntentMessage `json:"fulfillmentMessages,omitempty"`
12708
12709	// FulfillmentText: The text to be pronounced to the user or shown on
12710	// the screen. Note: This is a legacy field, `fulfillment_messages`
12711	// should be preferred.
12712	FulfillmentText string `json:"fulfillmentText,omitempty"`
12713
12714	// Intent: The intent that matched the conversational query. Some, not
12715	// all fields are filled in this message, including but not limited to:
12716	// `name`, `display_name`, `end_interaction` and `is_fallback`.
12717	Intent *GoogleCloudDialogflowV2Intent `json:"intent,omitempty"`
12718
12719	// IntentDetectionConfidence: The intent detection confidence. Values
12720	// range from 0.0 (completely uncertain) to 1.0 (completely certain).
12721	// This value is for informational purpose only and is only used to help
12722	// match the best intent within the classification threshold. This value
12723	// may change for the same end-user expression at any time due to a
12724	// model retraining or change in implementation. If there are `multiple
12725	// knowledge_answers` messages, this value is set to the greatest
12726	// `knowledgeAnswers.match_confidence` value in the list.
12727	IntentDetectionConfidence float64 `json:"intentDetectionConfidence,omitempty"`
12728
12729	// LanguageCode: The language that was triggered during intent
12730	// detection. See Language Support
12731	// (https://cloud.google.com/dialogflow/docs/reference/language) for a
12732	// list of the currently supported language codes.
12733	LanguageCode string `json:"languageCode,omitempty"`
12734
12735	// OutputContexts: The collection of output contexts. If applicable,
12736	// `output_contexts.parameters` contains entries with name `.original`
12737	// containing the original parameter values before the query.
12738	OutputContexts []*GoogleCloudDialogflowV2Context `json:"outputContexts,omitempty"`
12739
12740	// Parameters: The collection of extracted parameters. Depending on your
12741	// protocol or client library language, this is a map, associative
12742	// array, symbol table, dictionary, or JSON object composed of a
12743	// collection of (MapKey, MapValue) pairs: - MapKey type: string -
12744	// MapKey value: parameter name - MapValue type: - If parameter's entity
12745	// type is a composite entity: map - Else: depending on parameter value
12746	// type, could be one of string, number, boolean, null, list or map -
12747	// MapValue value: - If parameter's entity type is a composite entity:
12748	// map from composite entity property names to property values - Else:
12749	// parameter value
12750	Parameters googleapi.RawMessage `json:"parameters,omitempty"`
12751
12752	// QueryText: The original conversational query text: - If natural
12753	// language text was provided as input, `query_text` contains a copy of
12754	// the input. - If natural language speech audio was provided as input,
12755	// `query_text` contains the speech recognition result. If speech
12756	// recognizer produced multiple alternatives, a particular one is
12757	// picked. - If automatic spell correction is enabled, `query_text` will
12758	// contain the corrected user input.
12759	QueryText string `json:"queryText,omitempty"`
12760
12761	// SentimentAnalysisResult: The sentiment analysis result, which depends
12762	// on the `sentiment_analysis_request_config` specified in the request.
12763	SentimentAnalysisResult *GoogleCloudDialogflowV2SentimentAnalysisResult `json:"sentimentAnalysisResult,omitempty"`
12764
12765	// SpeechRecognitionConfidence: The Speech recognition confidence
12766	// between 0.0 and 1.0. A higher number indicates an estimated greater
12767	// likelihood that the recognized words are correct. The default of 0.0
12768	// is a sentinel value indicating that confidence was not set. This
12769	// field is not guaranteed to be accurate or set. In particular this
12770	// field isn't set for StreamingDetectIntent since the streaming
12771	// endpoint has separate confidence estimates per portion of the audio
12772	// in StreamingRecognitionResult.
12773	SpeechRecognitionConfidence float64 `json:"speechRecognitionConfidence,omitempty"`
12774
12775	// WebhookPayload: If the query was fulfilled by a webhook call, this
12776	// field is set to the value of the `payload` field returned in the
12777	// webhook response.
12778	WebhookPayload googleapi.RawMessage `json:"webhookPayload,omitempty"`
12779
12780	// WebhookSource: If the query was fulfilled by a webhook call, this
12781	// field is set to the value of the `source` field returned in the
12782	// webhook response.
12783	WebhookSource string `json:"webhookSource,omitempty"`
12784
12785	// ForceSendFields is a list of field names (e.g. "Action") to
12786	// unconditionally include in API requests. By default, fields with
12787	// empty or default values are omitted from API requests. However, any
12788	// non-pointer, non-interface field appearing in ForceSendFields will be
12789	// sent to the server regardless of whether the field is empty or not.
12790	// This may be used to include empty fields in Patch requests.
12791	ForceSendFields []string `json:"-"`
12792
12793	// NullFields is a list of field names (e.g. "Action") to include in API
12794	// requests with the JSON null value. By default, fields with empty
12795	// values are omitted from API requests. However, any field with an
12796	// 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 *GoogleCloudDialogflowV2QueryResult) MarshalJSON() ([]byte, error) {
12803	type NoMethod GoogleCloudDialogflowV2QueryResult
12804	raw := NoMethod(*s)
12805	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12806}
12807
12808func (s *GoogleCloudDialogflowV2QueryResult) UnmarshalJSON(data []byte) error {
12809	type NoMethod GoogleCloudDialogflowV2QueryResult
12810	var s1 struct {
12811		IntentDetectionConfidence   gensupport.JSONFloat64 `json:"intentDetectionConfidence"`
12812		SpeechRecognitionConfidence gensupport.JSONFloat64 `json:"speechRecognitionConfidence"`
12813		*NoMethod
12814	}
12815	s1.NoMethod = (*NoMethod)(s)
12816	if err := json.Unmarshal(data, &s1); err != nil {
12817		return err
12818	}
12819	s.IntentDetectionConfidence = float64(s1.IntentDetectionConfidence)
12820	s.SpeechRecognitionConfidence = float64(s1.SpeechRecognitionConfidence)
12821	return nil
12822}
12823
12824// GoogleCloudDialogflowV2Sentiment: The sentiment, such as
12825// positive/negative feeling or association, for a unit of analysis,
12826// such as the query text.
12827type GoogleCloudDialogflowV2Sentiment struct {
12828	// Magnitude: A non-negative number in the [0, +inf) range, which
12829	// represents the absolute magnitude of sentiment, regardless of score
12830	// (positive or negative).
12831	Magnitude float64 `json:"magnitude,omitempty"`
12832
12833	// Score: Sentiment score between -1.0 (negative sentiment) and 1.0
12834	// (positive sentiment).
12835	Score float64 `json:"score,omitempty"`
12836
12837	// ForceSendFields is a list of field names (e.g. "Magnitude") to
12838	// unconditionally include in API requests. By default, fields with
12839	// empty or default values are omitted from API requests. However, any
12840	// non-pointer, non-interface field appearing in ForceSendFields will be
12841	// sent to the server regardless of whether the field is empty or not.
12842	// This may be used to include empty fields in Patch requests.
12843	ForceSendFields []string `json:"-"`
12844
12845	// NullFields is a list of field names (e.g. "Magnitude") to include in
12846	// API requests with the JSON null value. By default, fields with empty
12847	// values are omitted from API requests. However, any field with an
12848	// empty value appearing in NullFields will be sent to the server as
12849	// null. It is an error if a field in this list has a non-empty value.
12850	// This may be used to include null fields in Patch requests.
12851	NullFields []string `json:"-"`
12852}
12853
12854func (s *GoogleCloudDialogflowV2Sentiment) MarshalJSON() ([]byte, error) {
12855	type NoMethod GoogleCloudDialogflowV2Sentiment
12856	raw := NoMethod(*s)
12857	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12858}
12859
12860func (s *GoogleCloudDialogflowV2Sentiment) UnmarshalJSON(data []byte) error {
12861	type NoMethod GoogleCloudDialogflowV2Sentiment
12862	var s1 struct {
12863		Magnitude gensupport.JSONFloat64 `json:"magnitude"`
12864		Score     gensupport.JSONFloat64 `json:"score"`
12865		*NoMethod
12866	}
12867	s1.NoMethod = (*NoMethod)(s)
12868	if err := json.Unmarshal(data, &s1); err != nil {
12869		return err
12870	}
12871	s.Magnitude = float64(s1.Magnitude)
12872	s.Score = float64(s1.Score)
12873	return nil
12874}
12875
12876// GoogleCloudDialogflowV2SentimentAnalysisResult: The result of
12877// sentiment analysis. Sentiment analysis inspects user input and
12878// identifies the prevailing subjective opinion, especially to determine
12879// a user's attitude as positive, negative, or neutral. For
12880// Participants.DetectIntent, it needs to be configured in
12881// DetectIntentRequest.query_params. For
12882// Participants.StreamingDetectIntent, it needs to be configured in
12883// StreamingDetectIntentRequest.query_params. And for
12884// Participants.AnalyzeContent and Participants.StreamingAnalyzeContent,
12885// it needs to be configured in
12886// ConversationProfile.human_agent_assistant_config
12887type GoogleCloudDialogflowV2SentimentAnalysisResult struct {
12888	// QueryTextSentiment: The sentiment analysis result for `query_text`.
12889	QueryTextSentiment *GoogleCloudDialogflowV2Sentiment `json:"queryTextSentiment,omitempty"`
12890
12891	// ForceSendFields is a list of field names (e.g. "QueryTextSentiment")
12892	// to unconditionally include in API requests. By default, fields with
12893	// empty or default values are omitted from API requests. However, any
12894	// non-pointer, non-interface field appearing in ForceSendFields will be
12895	// sent to the server regardless of whether the field is empty or not.
12896	// This may be used to include empty fields in Patch requests.
12897	ForceSendFields []string `json:"-"`
12898
12899	// NullFields is a list of field names (e.g. "QueryTextSentiment") to
12900	// include in API requests with the JSON null value. By default, fields
12901	// with empty values are omitted from API requests. However, any field
12902	// with an empty value appearing in NullFields will be sent to the
12903	// server as null. It is an error if a field in this list has a
12904	// non-empty value. This may be used to include null fields in Patch
12905	// requests.
12906	NullFields []string `json:"-"`
12907}
12908
12909func (s *GoogleCloudDialogflowV2SentimentAnalysisResult) MarshalJSON() ([]byte, error) {
12910	type NoMethod GoogleCloudDialogflowV2SentimentAnalysisResult
12911	raw := NoMethod(*s)
12912	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12913}
12914
12915// GoogleCloudDialogflowV2SessionEntityType: A session represents a
12916// conversation between a Dialogflow agent and an end-user. You can
12917// create special entities, called session entities, during a session.
12918// Session entities can extend or replace custom entity types and only
12919// exist during the session that they were created for. All session
12920// data, including session entities, is stored by Dialogflow for 20
12921// minutes. For more information, see the session entity guide
12922// (https://cloud.google.com/dialogflow/docs/entities-session).
12923type GoogleCloudDialogflowV2SessionEntityType struct {
12924	// Entities: Required. The collection of entities associated with this
12925	// session entity type.
12926	Entities []*GoogleCloudDialogflowV2EntityTypeEntity `json:"entities,omitempty"`
12927
12928	// EntityOverrideMode: Required. Indicates whether the additional data
12929	// should override or supplement the custom entity type definition.
12930	//
12931	// Possible values:
12932	//   "ENTITY_OVERRIDE_MODE_UNSPECIFIED" - Not specified. This value
12933	// should be never used.
12934	//   "ENTITY_OVERRIDE_MODE_OVERRIDE" - The collection of session
12935	// entities overrides the collection of entities in the corresponding
12936	// custom entity type.
12937	//   "ENTITY_OVERRIDE_MODE_SUPPLEMENT" - The collection of session
12938	// entities extends the collection of entities in the corresponding
12939	// custom entity type. Note: Even in this override mode calls to
12940	// `ListSessionEntityTypes`, `GetSessionEntityType`,
12941	// `CreateSessionEntityType` and `UpdateSessionEntityType` only return
12942	// the additional entities added in this session entity type. If you
12943	// want to get the supplemented list, please call
12944	// EntityTypes.GetEntityType on the custom entity type and merge.
12945	EntityOverrideMode string `json:"entityOverrideMode,omitempty"`
12946
12947	// Name: Required. The unique identifier of this session entity type.
12948	// Format: `projects//agent/sessions//entityTypes/`, or
12949	// `projects//agent/environments//users//sessions//entityTypes/`. If
12950	// `Environment ID` is not specified, we assume default 'draft'
12951	// environment. If `User ID` is not specified, we assume default '-'
12952	// user. `` must be the display name of an existing entity type in the
12953	// same agent that will be overridden or supplemented.
12954	Name string `json:"name,omitempty"`
12955
12956	// ForceSendFields is a list of field names (e.g. "Entities") to
12957	// unconditionally include in API requests. By default, fields with
12958	// empty or default values are omitted from API requests. However, any
12959	// non-pointer, non-interface field appearing in ForceSendFields will be
12960	// sent to the server regardless of whether the field is empty or not.
12961	// This may be used to include empty fields in Patch requests.
12962	ForceSendFields []string `json:"-"`
12963
12964	// NullFields is a list of field names (e.g. "Entities") 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 *GoogleCloudDialogflowV2SessionEntityType) MarshalJSON() ([]byte, error) {
12974	type NoMethod GoogleCloudDialogflowV2SessionEntityType
12975	raw := NoMethod(*s)
12976	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12977}
12978
12979// GoogleCloudDialogflowV2SuggestArticlesResponse: The response message
12980// for Participants.SuggestArticles.
12981type GoogleCloudDialogflowV2SuggestArticlesResponse struct {
12982	// ArticleAnswers: Articles ordered by score in descending order.
12983	ArticleAnswers []*GoogleCloudDialogflowV2ArticleAnswer `json:"articleAnswers,omitempty"`
12984
12985	// ContextSize: Number of messages prior to and including latest_message
12986	// to compile the suggestion. It may be smaller than the
12987	// SuggestArticlesRequest.context_size field in the request if there
12988	// aren't that many messages in the conversation.
12989	ContextSize int64 `json:"contextSize,omitempty"`
12990
12991	// LatestMessage: The name of the latest conversation message used to
12992	// compile suggestion for. Format:
12993	// `projects//locations//conversations//messages/`.
12994	LatestMessage string `json:"latestMessage,omitempty"`
12995
12996	// ForceSendFields is a list of field names (e.g. "ArticleAnswers") to
12997	// unconditionally include in API requests. By default, fields with
12998	// empty or default values are omitted from API requests. However, any
12999	// non-pointer, non-interface field appearing in ForceSendFields will be
13000	// sent to the server regardless of whether the field is empty or not.
13001	// This may be used to include empty fields in Patch requests.
13002	ForceSendFields []string `json:"-"`
13003
13004	// NullFields is a list of field names (e.g. "ArticleAnswers") to
13005	// include in API requests with the JSON null value. By default, fields
13006	// with empty values are omitted from API requests. However, any field
13007	// with an empty value appearing in NullFields will be sent to the
13008	// server as null. It is an error if a field in this list has a
13009	// non-empty value. This may be used to include null fields in Patch
13010	// requests.
13011	NullFields []string `json:"-"`
13012}
13013
13014func (s *GoogleCloudDialogflowV2SuggestArticlesResponse) MarshalJSON() ([]byte, error) {
13015	type NoMethod GoogleCloudDialogflowV2SuggestArticlesResponse
13016	raw := NoMethod(*s)
13017	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13018}
13019
13020// GoogleCloudDialogflowV2SuggestFaqAnswersResponse: The request message
13021// for Participants.SuggestFaqAnswers.
13022type GoogleCloudDialogflowV2SuggestFaqAnswersResponse struct {
13023	// ContextSize: Number of messages prior to and including latest_message
13024	// to compile the suggestion. It may be smaller than the
13025	// SuggestFaqAnswersRequest.context_size field in the request if there
13026	// aren't that many messages in the conversation.
13027	ContextSize int64 `json:"contextSize,omitempty"`
13028
13029	// FaqAnswers: Answers extracted from FAQ documents.
13030	FaqAnswers []*GoogleCloudDialogflowV2FaqAnswer `json:"faqAnswers,omitempty"`
13031
13032	// LatestMessage: The name of the latest conversation message used to
13033	// compile suggestion for. Format:
13034	// `projects//locations//conversations//messages/`.
13035	LatestMessage string `json:"latestMessage,omitempty"`
13036
13037	// ForceSendFields is a list of field names (e.g. "ContextSize") to
13038	// unconditionally include in API requests. By default, fields with
13039	// empty or default values are omitted from API requests. However, any
13040	// non-pointer, non-interface field appearing in ForceSendFields will be
13041	// sent to the server regardless of whether the field is empty or not.
13042	// This may be used to include empty fields in Patch requests.
13043	ForceSendFields []string `json:"-"`
13044
13045	// NullFields is a list of field names (e.g. "ContextSize") to include
13046	// in API requests with the JSON null value. By default, fields with
13047	// empty values are omitted from API requests. However, any field with
13048	// an empty value appearing in NullFields will be sent to the server as
13049	// null. It is an error if a field in this list has a non-empty value.
13050	// This may be used to include null fields in Patch requests.
13051	NullFields []string `json:"-"`
13052}
13053
13054func (s *GoogleCloudDialogflowV2SuggestFaqAnswersResponse) MarshalJSON() ([]byte, error) {
13055	type NoMethod GoogleCloudDialogflowV2SuggestFaqAnswersResponse
13056	raw := NoMethod(*s)
13057	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13058}
13059
13060// GoogleCloudDialogflowV2SuggestionResult: One response of different
13061// type of suggestion response which is used in the response of
13062// Participants.AnalyzeContent and Participants.AnalyzeContent, as well
13063// as HumanAgentAssistantEvent.
13064type GoogleCloudDialogflowV2SuggestionResult struct {
13065	// Error: Error status if the request failed.
13066	Error *GoogleRpcStatus `json:"error,omitempty"`
13067
13068	// SuggestArticlesResponse: SuggestArticlesResponse if request is for
13069	// ARTICLE_SUGGESTION.
13070	SuggestArticlesResponse *GoogleCloudDialogflowV2SuggestArticlesResponse `json:"suggestArticlesResponse,omitempty"`
13071
13072	// SuggestFaqAnswersResponse: SuggestFaqAnswersResponse if request is
13073	// for FAQ_ANSWER.
13074	SuggestFaqAnswersResponse *GoogleCloudDialogflowV2SuggestFaqAnswersResponse `json:"suggestFaqAnswersResponse,omitempty"`
13075
13076	// ForceSendFields is a list of field names (e.g. "Error") to
13077	// unconditionally include in API requests. By default, fields with
13078	// empty or default values are omitted from API requests. However, any
13079	// non-pointer, non-interface field appearing in ForceSendFields will be
13080	// sent to the server regardless of whether the field is empty or not.
13081	// This may be used to include empty fields in Patch requests.
13082	ForceSendFields []string `json:"-"`
13083
13084	// NullFields is a list of field names (e.g. "Error") to include in API
13085	// requests with the JSON null value. By default, fields with empty
13086	// values are omitted from API requests. However, any field with an
13087	// empty value appearing in NullFields will be sent to the server as
13088	// null. It is an error if a field in this list has a non-empty value.
13089	// This may be used to include null fields in Patch requests.
13090	NullFields []string `json:"-"`
13091}
13092
13093func (s *GoogleCloudDialogflowV2SuggestionResult) MarshalJSON() ([]byte, error) {
13094	type NoMethod GoogleCloudDialogflowV2SuggestionResult
13095	raw := NoMethod(*s)
13096	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13097}
13098
13099// GoogleCloudDialogflowV2WebhookRequest: The request message for a
13100// webhook call.
13101type GoogleCloudDialogflowV2WebhookRequest struct {
13102	// OriginalDetectIntentRequest: Optional. The contents of the original
13103	// request that was passed to `[Streaming]DetectIntent` call.
13104	OriginalDetectIntentRequest *GoogleCloudDialogflowV2OriginalDetectIntentRequest `json:"originalDetectIntentRequest,omitempty"`
13105
13106	// QueryResult: The result of the conversational query or event
13107	// processing. Contains the same value as
13108	// `[Streaming]DetectIntentResponse.query_result`.
13109	QueryResult *GoogleCloudDialogflowV2QueryResult `json:"queryResult,omitempty"`
13110
13111	// ResponseId: The unique identifier of the response. Contains the same
13112	// value as `[Streaming]DetectIntentResponse.response_id`.
13113	ResponseId string `json:"responseId,omitempty"`
13114
13115	// Session: The unique identifier of detectIntent request session. Can
13116	// be used to identify end-user inside webhook implementation. Format:
13117	// `projects//agent/sessions/`, or
13118	// `projects//agent/environments//users//sessions/`.
13119	Session string `json:"session,omitempty"`
13120
13121	// ForceSendFields is a list of field names (e.g.
13122	// "OriginalDetectIntentRequest") to unconditionally include in API
13123	// requests. By default, fields with empty or default values are omitted
13124	// from API requests. However, any non-pointer, non-interface field
13125	// appearing in ForceSendFields will be sent to the server regardless of
13126	// whether the field is empty or not. This may be used to include empty
13127	// fields in Patch requests.
13128	ForceSendFields []string `json:"-"`
13129
13130	// NullFields is a list of field names (e.g.
13131	// "OriginalDetectIntentRequest") to include in API requests with the
13132	// JSON null value. By default, fields with empty values are omitted
13133	// from API requests. However, any field with an empty value appearing
13134	// in NullFields will be sent to the server as null. It is an error if a
13135	// field in this list has a non-empty value. This may be used to include
13136	// null fields in Patch requests.
13137	NullFields []string `json:"-"`
13138}
13139
13140func (s *GoogleCloudDialogflowV2WebhookRequest) MarshalJSON() ([]byte, error) {
13141	type NoMethod GoogleCloudDialogflowV2WebhookRequest
13142	raw := NoMethod(*s)
13143	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13144}
13145
13146// GoogleCloudDialogflowV2WebhookResponse: The response message for a
13147// webhook call. This response is validated by the Dialogflow server. If
13148// validation fails, an error will be returned in the
13149// QueryResult.diagnostic_info field. Setting JSON fields to an empty
13150// value with the wrong type is a common error. To avoid this error: -
13151// Use "" for empty strings - Use `{}` or `null` for empty objects -
13152// Use `[]` or `null` for empty arrays For more information, see the
13153// Protocol Buffers Language Guide
13154// (https://developers.google.com/protocol-buffers/docs/proto3#json).
13155type GoogleCloudDialogflowV2WebhookResponse struct {
13156	// FollowupEventInput: Optional. Invokes the supplied events. When this
13157	// field is set, Dialogflow ignores the `fulfillment_text`,
13158	// `fulfillment_messages`, and `payload` fields.
13159	FollowupEventInput *GoogleCloudDialogflowV2EventInput `json:"followupEventInput,omitempty"`
13160
13161	// FulfillmentMessages: Optional. The rich response messages intended
13162	// for the end-user. When provided, Dialogflow uses this field to
13163	// populate QueryResult.fulfillment_messages sent to the integration or
13164	// API caller.
13165	FulfillmentMessages []*GoogleCloudDialogflowV2IntentMessage `json:"fulfillmentMessages,omitempty"`
13166
13167	// FulfillmentText: Optional. The text response message intended for the
13168	// end-user. It is recommended to use
13169	// `fulfillment_messages.text.text[0]` instead. When provided,
13170	// Dialogflow uses this field to populate QueryResult.fulfillment_text
13171	// sent to the integration or API caller.
13172	FulfillmentText string `json:"fulfillmentText,omitempty"`
13173
13174	// OutputContexts: Optional. The collection of output contexts that will
13175	// overwrite currently active contexts for the session and reset their
13176	// lifespans. When provided, Dialogflow uses this field to populate
13177	// QueryResult.output_contexts sent to the integration or API caller.
13178	OutputContexts []*GoogleCloudDialogflowV2Context `json:"outputContexts,omitempty"`
13179
13180	// Payload: Optional. This field can be used to pass custom data from
13181	// your webhook to the integration or API caller. Arbitrary JSON objects
13182	// are supported. When provided, Dialogflow uses this field to populate
13183	// QueryResult.webhook_payload sent to the integration or API caller.
13184	// This field is also used by the Google Assistant integration
13185	// (https://cloud.google.com/dialogflow/docs/integrations/aog) for rich
13186	// response messages. See the format definition at Google Assistant
13187	// Dialogflow webhook format
13188	// (https://developers.google.com/assistant/actions/build/json/dialogflow-webhook-json)
13189	Payload googleapi.RawMessage `json:"payload,omitempty"`
13190
13191	// SessionEntityTypes: Optional. Additional session entity types to
13192	// replace or extend developer entity types with. The entity synonyms
13193	// apply to all languages and persist for the session. Setting this data
13194	// from a webhook overwrites the session entity types that have been set
13195	// using `detectIntent`, `streamingDetectIntent` or SessionEntityType
13196	// management methods.
13197	SessionEntityTypes []*GoogleCloudDialogflowV2SessionEntityType `json:"sessionEntityTypes,omitempty"`
13198
13199	// Source: Optional. A custom field used to identify the webhook source.
13200	// Arbitrary strings are supported. When provided, Dialogflow uses this
13201	// field to populate QueryResult.webhook_source sent to the integration
13202	// or API caller.
13203	Source string `json:"source,omitempty"`
13204
13205	// ForceSendFields is a list of field names (e.g. "FollowupEventInput")
13206	// to unconditionally include in API requests. By default, fields with
13207	// empty or default values are omitted from API requests. However, any
13208	// non-pointer, non-interface field appearing in ForceSendFields will be
13209	// sent to the server regardless of whether the field is empty or not.
13210	// This may be used to include empty fields in Patch requests.
13211	ForceSendFields []string `json:"-"`
13212
13213	// NullFields is a list of field names (e.g. "FollowupEventInput") to
13214	// include in API requests with the JSON null value. By default, fields
13215	// with empty values are omitted from API requests. However, any field
13216	// with an empty value appearing in NullFields will be sent to the
13217	// server as null. It is an error if a field in this list has a
13218	// non-empty value. This may be used to include null fields in Patch
13219	// requests.
13220	NullFields []string `json:"-"`
13221}
13222
13223func (s *GoogleCloudDialogflowV2WebhookResponse) MarshalJSON() ([]byte, error) {
13224	type NoMethod GoogleCloudDialogflowV2WebhookResponse
13225	raw := NoMethod(*s)
13226	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13227}
13228
13229// GoogleCloudDialogflowV2beta1AnnotatedMessagePart: Represents a part
13230// of a message possibly annotated with an entity. The part can be an
13231// entity or purely a part of the message between two entities or
13232// message start/end.
13233type GoogleCloudDialogflowV2beta1AnnotatedMessagePart struct {
13234	// EntityType: Optional. The Dialogflow system entity type
13235	// (https://cloud.google.com/dialogflow/docs/reference/system-entities)
13236	// of this message part. If this is empty, Dialogflow could not annotate
13237	// the phrase part with a system entity.
13238	EntityType string `json:"entityType,omitempty"`
13239
13240	// FormattedValue: Optional. The Dialogflow system entity formatted
13241	// value
13242	// (https://cloud.google.com/dialogflow/docs/reference/system-entities)
13243	// of this message part. For example for a system entity of type
13244	// `@sys.unit-currency`, this may contain: { "amount": 5, "currency":
13245	// "USD" }
13246	FormattedValue interface{} `json:"formattedValue,omitempty"`
13247
13248	// Text: Required. A part of a message possibly annotated with an
13249	// entity.
13250	Text string `json:"text,omitempty"`
13251
13252	// ForceSendFields is a list of field names (e.g. "EntityType") to
13253	// unconditionally include in API requests. By default, fields with
13254	// empty or default values are omitted from API requests. However, any
13255	// non-pointer, non-interface field appearing in ForceSendFields will be
13256	// sent to the server regardless of whether the field is empty or not.
13257	// This may be used to include empty fields in Patch requests.
13258	ForceSendFields []string `json:"-"`
13259
13260	// NullFields is a list of field names (e.g. "EntityType") to include in
13261	// API requests with the JSON null value. By default, fields with empty
13262	// values are omitted from API requests. However, any field with an
13263	// empty value appearing in NullFields will be sent to the server as
13264	// null. It is an error if a field in this list has a non-empty value.
13265	// This may be used to include null fields in Patch requests.
13266	NullFields []string `json:"-"`
13267}
13268
13269func (s *GoogleCloudDialogflowV2beta1AnnotatedMessagePart) MarshalJSON() ([]byte, error) {
13270	type NoMethod GoogleCloudDialogflowV2beta1AnnotatedMessagePart
13271	raw := NoMethod(*s)
13272	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13273}
13274
13275// GoogleCloudDialogflowV2beta1ArticleAnswer: Represents article answer.
13276type GoogleCloudDialogflowV2beta1ArticleAnswer struct {
13277	// AnswerRecord: The name of answer record, in the format of
13278	// "projects//locations//answerRecords/"
13279	AnswerRecord string `json:"answerRecord,omitempty"`
13280
13281	// Metadata: A map that contains metadata about the answer and the
13282	// document from which it originates.
13283	Metadata map[string]string `json:"metadata,omitempty"`
13284
13285	// Snippets: Output only. Article snippets.
13286	Snippets []string `json:"snippets,omitempty"`
13287
13288	// Title: The article title.
13289	Title string `json:"title,omitempty"`
13290
13291	// Uri: The article URI.
13292	Uri string `json:"uri,omitempty"`
13293
13294	// ForceSendFields is a list of field names (e.g. "AnswerRecord") to
13295	// unconditionally include in API requests. By default, fields with
13296	// empty or default values are omitted from API requests. However, any
13297	// non-pointer, non-interface field appearing in ForceSendFields will be
13298	// sent to the server regardless of whether the field is empty or not.
13299	// This may be used to include empty fields in Patch requests.
13300	ForceSendFields []string `json:"-"`
13301
13302	// NullFields is a list of field names (e.g. "AnswerRecord") to include
13303	// in API requests with the JSON null value. By default, fields with
13304	// empty values are omitted from API requests. However, any field with
13305	// an empty value appearing in NullFields will be sent to the server as
13306	// null. It is an error if a field in this list has a non-empty value.
13307	// This may be used to include null fields in Patch requests.
13308	NullFields []string `json:"-"`
13309}
13310
13311func (s *GoogleCloudDialogflowV2beta1ArticleAnswer) MarshalJSON() ([]byte, error) {
13312	type NoMethod GoogleCloudDialogflowV2beta1ArticleAnswer
13313	raw := NoMethod(*s)
13314	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13315}
13316
13317// GoogleCloudDialogflowV2beta1BatchUpdateEntityTypesResponse: The
13318// response message for EntityTypes.BatchUpdateEntityTypes.
13319type GoogleCloudDialogflowV2beta1BatchUpdateEntityTypesResponse struct {
13320	// EntityTypes: The collection of updated or created entity types.
13321	EntityTypes []*GoogleCloudDialogflowV2beta1EntityType `json:"entityTypes,omitempty"`
13322
13323	// ForceSendFields is a list of field names (e.g. "EntityTypes") to
13324	// unconditionally include in API requests. By default, fields with
13325	// empty or default values are omitted from API requests. However, any
13326	// non-pointer, non-interface field appearing in ForceSendFields will be
13327	// sent to the server regardless of whether the field is empty or not.
13328	// This may be used to include empty fields in Patch requests.
13329	ForceSendFields []string `json:"-"`
13330
13331	// NullFields is a list of field names (e.g. "EntityTypes") to include
13332	// in API requests with the JSON null value. By default, fields with
13333	// empty values are omitted from API requests. However, any field with
13334	// an empty value appearing in NullFields will be sent to the server as
13335	// null. It is an error if a field in this list has a non-empty value.
13336	// This may be used to include null fields in Patch requests.
13337	NullFields []string `json:"-"`
13338}
13339
13340func (s *GoogleCloudDialogflowV2beta1BatchUpdateEntityTypesResponse) MarshalJSON() ([]byte, error) {
13341	type NoMethod GoogleCloudDialogflowV2beta1BatchUpdateEntityTypesResponse
13342	raw := NoMethod(*s)
13343	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13344}
13345
13346// GoogleCloudDialogflowV2beta1BatchUpdateIntentsResponse: The response
13347// message for Intents.BatchUpdateIntents.
13348type GoogleCloudDialogflowV2beta1BatchUpdateIntentsResponse struct {
13349	// Intents: The collection of updated or created intents.
13350	Intents []*GoogleCloudDialogflowV2beta1Intent `json:"intents,omitempty"`
13351
13352	// ForceSendFields is a list of field names (e.g. "Intents") to
13353	// unconditionally include in API requests. By default, fields with
13354	// empty or default values are omitted from API requests. However, any
13355	// non-pointer, non-interface field appearing in ForceSendFields will be
13356	// sent to the server regardless of whether the field is empty or not.
13357	// This may be used to include empty fields in Patch requests.
13358	ForceSendFields []string `json:"-"`
13359
13360	// NullFields is a list of field names (e.g. "Intents") to include in
13361	// API requests with the JSON null value. By default, fields with empty
13362	// values are omitted from API requests. However, any field with an
13363	// empty value appearing in NullFields will be sent to the server as
13364	// null. It is an error if a field in this list has a non-empty value.
13365	// This may be used to include null fields in Patch requests.
13366	NullFields []string `json:"-"`
13367}
13368
13369func (s *GoogleCloudDialogflowV2beta1BatchUpdateIntentsResponse) MarshalJSON() ([]byte, error) {
13370	type NoMethod GoogleCloudDialogflowV2beta1BatchUpdateIntentsResponse
13371	raw := NoMethod(*s)
13372	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13373}
13374
13375// GoogleCloudDialogflowV2beta1Context: Dialogflow contexts are similar
13376// to natural language context. If a person says to you "they are
13377// orange", you need context in order to understand what "they" is
13378// referring to. Similarly, for Dialogflow to handle an end-user
13379// expression like that, it needs to be provided with context in order
13380// to correctly match an intent. Using contexts, you can control the
13381// flow of a conversation. You can configure contexts for an intent by
13382// setting input and output contexts, which are identified by string
13383// names. When an intent is matched, any configured output contexts for
13384// that intent become active. While any contexts are active, Dialogflow
13385// is more likely to match intents that are configured with input
13386// contexts that correspond to the currently active contexts. For more
13387// information about context, see the Contexts guide
13388// (https://cloud.google.com/dialogflow/docs/contexts-overview).
13389type GoogleCloudDialogflowV2beta1Context struct {
13390	// LifespanCount: Optional. The number of conversational query requests
13391	// after which the context expires. The default is `0`. If set to `0`,
13392	// the context expires immediately. Contexts expire automatically after
13393	// 20 minutes if there are no matching queries.
13394	LifespanCount int64 `json:"lifespanCount,omitempty"`
13395
13396	// Name: Required. The unique identifier of the context. Supported
13397	// formats: - `projects//agent/sessions//contexts/`, -
13398	// `projects//locations//agent/sessions//contexts/`, -
13399	// `projects//agent/environments//users//sessions//contexts/`, -
13400	// `projects//locations//agent/environments//users//sessions//contexts/`,
13401	//  The `Context ID` is always converted to lowercase, may only contain
13402	// characters in a-zA-Z0-9_-% and may be at most 250 bytes long. If
13403	// `Environment ID` is not specified, we assume default 'draft'
13404	// environment. If `User ID` is not specified, we assume default '-'
13405	// user. The following context names are reserved for internal use by
13406	// Dialogflow. You should not use these contexts or create contexts with
13407	// these names: * `__system_counters__` * `*_id_dialog_context` *
13408	// `*_dialog_params_size`
13409	Name string `json:"name,omitempty"`
13410
13411	// Parameters: Optional. The collection of parameters associated with
13412	// this context. Depending on your protocol or client library language,
13413	// this is a map, associative array, symbol table, dictionary, or JSON
13414	// object composed of a collection of (MapKey, MapValue) pairs: - MapKey
13415	// type: string - MapKey value: parameter name - MapValue type: - If
13416	// parameter's entity type is a composite entity: map - Else: depending
13417	// on parameter value type, could be one of string, number, boolean,
13418	// null, list or map - MapValue value: - If parameter's entity type is a
13419	// composite entity: map from composite entity property names to
13420	// property values - Else: parameter value
13421	Parameters googleapi.RawMessage `json:"parameters,omitempty"`
13422
13423	// ForceSendFields is a list of field names (e.g. "LifespanCount") to
13424	// unconditionally include in API requests. By default, fields with
13425	// empty or default values are omitted from API requests. However, any
13426	// non-pointer, non-interface field appearing in ForceSendFields will be
13427	// sent to the server regardless of whether the field is empty or not.
13428	// This may be used to include empty fields in Patch requests.
13429	ForceSendFields []string `json:"-"`
13430
13431	// NullFields is a list of field names (e.g. "LifespanCount") to include
13432	// in API requests with the JSON null value. By default, fields with
13433	// empty values are omitted from API requests. However, any field with
13434	// an empty value appearing in NullFields will be sent to the server as
13435	// null. It is an error if a field in this list has a non-empty value.
13436	// This may be used to include null fields in Patch requests.
13437	NullFields []string `json:"-"`
13438}
13439
13440func (s *GoogleCloudDialogflowV2beta1Context) MarshalJSON() ([]byte, error) {
13441	type NoMethod GoogleCloudDialogflowV2beta1Context
13442	raw := NoMethod(*s)
13443	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13444}
13445
13446// GoogleCloudDialogflowV2beta1ConversationEvent: Represents a
13447// notification sent to Pub/Sub subscribers for conversation lifecycle
13448// events.
13449type GoogleCloudDialogflowV2beta1ConversationEvent struct {
13450	// Conversation: Required. The unique identifier of the conversation
13451	// this notification refers to. Format: `projects//conversations/`.
13452	Conversation string `json:"conversation,omitempty"`
13453
13454	// ErrorStatus: Optional. More detailed information about an error. Only
13455	// set for type UNRECOVERABLE_ERROR_IN_PHONE_CALL.
13456	ErrorStatus *GoogleRpcStatus `json:"errorStatus,omitempty"`
13457
13458	// NewMessagePayload: Payload of NEW_MESSAGE event.
13459	NewMessagePayload *GoogleCloudDialogflowV2beta1Message `json:"newMessagePayload,omitempty"`
13460
13461	// Type: Required. The type of the event that this notification refers
13462	// to.
13463	//
13464	// Possible values:
13465	//   "TYPE_UNSPECIFIED" - Type not set.
13466	//   "CONVERSATION_STARTED" - A new conversation has been opened. This
13467	// is fired when a telephone call is answered, or a conversation is
13468	// created via the API.
13469	//   "CONVERSATION_FINISHED" - An existing conversation has closed. This
13470	// is fired when a telephone call is terminated, or a conversation is
13471	// closed via the API.
13472	//   "NEW_MESSAGE" - An existing conversation has received a new
13473	// message, either from API or telephony. It is configured in
13474	// ConversationProfile.new_message_event_notification_config
13475	//   "UNRECOVERABLE_ERROR" - Unrecoverable error during a telephone
13476	// call. In general non-recoverable errors only occur if something was
13477	// misconfigured in the ConversationProfile corresponding to the call.
13478	// After a non-recoverable error, Dialogflow may stop responding. We
13479	// don't fire this event: * in an API call because we can directly
13480	// return the error, or, * when we can recover from an error.
13481	Type string `json:"type,omitempty"`
13482
13483	// ForceSendFields is a list of field names (e.g. "Conversation") to
13484	// unconditionally include in API requests. By default, fields with
13485	// empty or default values are omitted from API requests. However, any
13486	// non-pointer, non-interface field appearing in ForceSendFields will be
13487	// sent to the server regardless of whether the field is empty or not.
13488	// This may be used to include empty fields in Patch requests.
13489	ForceSendFields []string `json:"-"`
13490
13491	// NullFields is a list of field names (e.g. "Conversation") to include
13492	// in API requests with the JSON null value. By default, fields with
13493	// empty values are omitted from API requests. However, any field with
13494	// an empty value appearing in NullFields will be sent to the server as
13495	// null. It is an error if a field in this list has a non-empty value.
13496	// This may be used to include null fields in Patch requests.
13497	NullFields []string `json:"-"`
13498}
13499
13500func (s *GoogleCloudDialogflowV2beta1ConversationEvent) MarshalJSON() ([]byte, error) {
13501	type NoMethod GoogleCloudDialogflowV2beta1ConversationEvent
13502	raw := NoMethod(*s)
13503	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13504}
13505
13506// GoogleCloudDialogflowV2beta1EntityType: Each intent parameter has a
13507// type, called the entity type, which dictates exactly how data from an
13508// end-user expression is extracted. Dialogflow provides predefined
13509// system entities that can match many common types of data. For
13510// example, there are system entities for matching dates, times, colors,
13511// email addresses, and so on. You can also create your own custom
13512// entities for matching custom data. For example, you could define a
13513// vegetable entity that can match the types of vegetables available for
13514// purchase with a grocery store agent. For more information, see the
13515// Entity guide
13516// (https://cloud.google.com/dialogflow/docs/entities-overview).
13517type GoogleCloudDialogflowV2beta1EntityType struct {
13518	// AutoExpansionMode: Optional. Indicates whether the entity type can be
13519	// automatically expanded.
13520	//
13521	// Possible values:
13522	//   "AUTO_EXPANSION_MODE_UNSPECIFIED" - Auto expansion disabled for the
13523	// entity.
13524	//   "AUTO_EXPANSION_MODE_DEFAULT" - Allows an agent to recognize values
13525	// that have not been explicitly listed in the entity.
13526	AutoExpansionMode string `json:"autoExpansionMode,omitempty"`
13527
13528	// DisplayName: Required. The name of the entity type.
13529	DisplayName string `json:"displayName,omitempty"`
13530
13531	// EnableFuzzyExtraction: Optional. Enables fuzzy entity extraction
13532	// during classification.
13533	EnableFuzzyExtraction bool `json:"enableFuzzyExtraction,omitempty"`
13534
13535	// Entities: Optional. The collection of entity entries associated with
13536	// the entity type.
13537	Entities []*GoogleCloudDialogflowV2beta1EntityTypeEntity `json:"entities,omitempty"`
13538
13539	// Kind: Required. Indicates the kind of entity type.
13540	//
13541	// Possible values:
13542	//   "KIND_UNSPECIFIED" - Not specified. This value should be never
13543	// used.
13544	//   "KIND_MAP" - Map entity types allow mapping of a group of synonyms
13545	// to a reference value.
13546	//   "KIND_LIST" - List entity types contain a set of entries that do
13547	// not map to reference values. However, list entity types can contain
13548	// references to other entity types (with or without aliases).
13549	//   "KIND_REGEXP" - Regexp entity types allow to specify regular
13550	// expressions in entries values.
13551	Kind string `json:"kind,omitempty"`
13552
13553	// Name: The unique identifier of the entity type. Required for
13554	// EntityTypes.UpdateEntityType and EntityTypes.BatchUpdateEntityTypes
13555	// methods. Supported formats: - `projects//agent/entityTypes/` -
13556	// `projects//locations//agent/entityTypes/`
13557	Name string `json:"name,omitempty"`
13558
13559	// ForceSendFields is a list of field names (e.g. "AutoExpansionMode")
13560	// to unconditionally include in API requests. By default, fields with
13561	// empty or default values are omitted from API requests. However, any
13562	// non-pointer, non-interface field appearing in ForceSendFields will be
13563	// sent to the server regardless of whether the field is empty or not.
13564	// This may be used to include empty fields in Patch requests.
13565	ForceSendFields []string `json:"-"`
13566
13567	// NullFields is a list of field names (e.g. "AutoExpansionMode") to
13568	// include in API requests with the JSON null value. By default, fields
13569	// with empty values are omitted from API requests. However, any field
13570	// with an empty value appearing in NullFields will be sent to the
13571	// server as null. It is an error if a field in this list has a
13572	// non-empty value. This may be used to include null fields in Patch
13573	// requests.
13574	NullFields []string `json:"-"`
13575}
13576
13577func (s *GoogleCloudDialogflowV2beta1EntityType) MarshalJSON() ([]byte, error) {
13578	type NoMethod GoogleCloudDialogflowV2beta1EntityType
13579	raw := NoMethod(*s)
13580	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13581}
13582
13583// GoogleCloudDialogflowV2beta1EntityTypeEntity: An **entity entry** for
13584// an associated entity type.
13585type GoogleCloudDialogflowV2beta1EntityTypeEntity struct {
13586	// Synonyms: Required. A collection of value synonyms. For example, if
13587	// the entity type is *vegetable*, and `value` is *scallions*, a synonym
13588	// could be *green onions*. For `KIND_LIST` entity types: * This
13589	// collection must contain exactly one synonym equal to `value`.
13590	Synonyms []string `json:"synonyms,omitempty"`
13591
13592	// Value: Required. The primary value associated with this entity entry.
13593	// For example, if the entity type is *vegetable*, the value could be
13594	// *scallions*. For `KIND_MAP` entity types: * A reference value to be
13595	// used in place of synonyms. For `KIND_LIST` entity types: * A string
13596	// that can contain references to other entity types (with or without
13597	// aliases).
13598	Value string `json:"value,omitempty"`
13599
13600	// ForceSendFields is a list of field names (e.g. "Synonyms") to
13601	// unconditionally include in API requests. By default, fields with
13602	// empty or default values are omitted from API requests. However, any
13603	// non-pointer, non-interface field appearing in ForceSendFields will be
13604	// sent to the server regardless of whether the field is empty or not.
13605	// This may be used to include empty fields in Patch requests.
13606	ForceSendFields []string `json:"-"`
13607
13608	// NullFields is a list of field names (e.g. "Synonyms") to include in
13609	// API requests with the JSON null value. By default, fields with empty
13610	// values are omitted from API requests. However, any field with an
13611	// empty value appearing in NullFields will be sent to the server as
13612	// null. It is an error if a field in this list has a non-empty value.
13613	// This may be used to include null fields in Patch requests.
13614	NullFields []string `json:"-"`
13615}
13616
13617func (s *GoogleCloudDialogflowV2beta1EntityTypeEntity) MarshalJSON() ([]byte, error) {
13618	type NoMethod GoogleCloudDialogflowV2beta1EntityTypeEntity
13619	raw := NoMethod(*s)
13620	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13621}
13622
13623// GoogleCloudDialogflowV2beta1EventInput: Events allow for matching
13624// intents by event name instead of the natural language input. For
13625// instance, input `` can trigger a personalized welcome response. The
13626// parameter `name` may be used by the agent in the response: "Hello
13627// #welcome_event.name! What can I do for you today?".
13628type GoogleCloudDialogflowV2beta1EventInput struct {
13629	// LanguageCode: Required. The language of this query. See Language
13630	// Support (https://cloud.google.com/dialogflow/docs/reference/language)
13631	// for a list of the currently supported language codes. Note that
13632	// queries in the same session do not necessarily need to specify the
13633	// same language.
13634	LanguageCode string `json:"languageCode,omitempty"`
13635
13636	// Name: Required. The unique identifier of the event.
13637	Name string `json:"name,omitempty"`
13638
13639	// Parameters: The collection of parameters associated with the event.
13640	// Depending on your protocol or client library language, this is a map,
13641	// associative array, symbol table, dictionary, or JSON object composed
13642	// of a collection of (MapKey, MapValue) pairs: - MapKey type: string -
13643	// MapKey value: parameter name - MapValue type: - If parameter's entity
13644	// type is a composite entity: map - Else: depending on parameter value
13645	// type, could be one of string, number, boolean, null, list or map -
13646	// MapValue value: - If parameter's entity type is a composite entity:
13647	// map from composite entity property names to property values - Else:
13648	// parameter value
13649	Parameters googleapi.RawMessage `json:"parameters,omitempty"`
13650
13651	// ForceSendFields is a list of field names (e.g. "LanguageCode") to
13652	// unconditionally include in API requests. By default, fields with
13653	// empty or default values are omitted from API requests. However, any
13654	// non-pointer, non-interface field appearing in ForceSendFields will be
13655	// sent to the server regardless of whether the field is empty or not.
13656	// This may be used to include empty fields in Patch requests.
13657	ForceSendFields []string `json:"-"`
13658
13659	// NullFields is a list of field names (e.g. "LanguageCode") 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 *GoogleCloudDialogflowV2beta1EventInput) MarshalJSON() ([]byte, error) {
13669	type NoMethod GoogleCloudDialogflowV2beta1EventInput
13670	raw := NoMethod(*s)
13671	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13672}
13673
13674// GoogleCloudDialogflowV2beta1ExportAgentResponse: The response message
13675// for Agents.ExportAgent.
13676type GoogleCloudDialogflowV2beta1ExportAgentResponse struct {
13677	// AgentContent: Zip compressed raw byte content for agent.
13678	AgentContent string `json:"agentContent,omitempty"`
13679
13680	// AgentUri: The URI to a file containing the exported agent. This field
13681	// is populated only if `agent_uri` is specified in
13682	// `ExportAgentRequest`.
13683	AgentUri string `json:"agentUri,omitempty"`
13684
13685	// ForceSendFields is a list of field names (e.g. "AgentContent") to
13686	// unconditionally include in API requests. By default, fields with
13687	// empty or default values are omitted from API requests. However, any
13688	// non-pointer, non-interface field appearing in ForceSendFields will be
13689	// sent to the server regardless of whether the field is empty or not.
13690	// This may be used to include empty fields in Patch requests.
13691	ForceSendFields []string `json:"-"`
13692
13693	// NullFields is a list of field names (e.g. "AgentContent") to include
13694	// in API requests with the JSON null value. By default, fields with
13695	// empty values are omitted from API requests. However, any field with
13696	// an empty value appearing in NullFields will be sent to the server as
13697	// null. It is an error if a field in this list has a non-empty value.
13698	// This may be used to include null fields in Patch requests.
13699	NullFields []string `json:"-"`
13700}
13701
13702func (s *GoogleCloudDialogflowV2beta1ExportAgentResponse) MarshalJSON() ([]byte, error) {
13703	type NoMethod GoogleCloudDialogflowV2beta1ExportAgentResponse
13704	raw := NoMethod(*s)
13705	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13706}
13707
13708// GoogleCloudDialogflowV2beta1FaqAnswer: Represents answer from
13709// "frequently asked questions".
13710type GoogleCloudDialogflowV2beta1FaqAnswer struct {
13711	// Answer: The piece of text from the `source` knowledge base document.
13712	Answer string `json:"answer,omitempty"`
13713
13714	// AnswerRecord: The name of answer record, in the format of
13715	// "projects//locations//answerRecords/"
13716	AnswerRecord string `json:"answerRecord,omitempty"`
13717
13718	// Confidence: The system's confidence score that this Knowledge answer
13719	// is a good match for this conversational query, range from 0.0
13720	// (completely uncertain) to 1.0 (completely certain).
13721	Confidence float64 `json:"confidence,omitempty"`
13722
13723	// Metadata: A map that contains metadata about the answer and the
13724	// document from which it originates.
13725	Metadata map[string]string `json:"metadata,omitempty"`
13726
13727	// Question: The corresponding FAQ question.
13728	Question string `json:"question,omitempty"`
13729
13730	// Source: Indicates which Knowledge Document this answer was extracted
13731	// from. Format:
13732	// `projects//locations//agent/knowledgeBases//documents/`.
13733	Source string `json:"source,omitempty"`
13734
13735	// ForceSendFields is a list of field names (e.g. "Answer") to
13736	// unconditionally include in API requests. By default, fields with
13737	// empty or default values are omitted from API requests. However, any
13738	// non-pointer, non-interface field appearing in ForceSendFields will be
13739	// sent to the server regardless of whether the field is empty or not.
13740	// This may be used to include empty fields in Patch requests.
13741	ForceSendFields []string `json:"-"`
13742
13743	// NullFields is a list of field names (e.g. "Answer") to include in API
13744	// requests with the JSON null value. By default, fields with empty
13745	// values are omitted from API requests. However, any field with an
13746	// empty value appearing in NullFields will be sent to the server as
13747	// null. It is an error if a field in this list has a non-empty value.
13748	// This may be used to include null fields in Patch requests.
13749	NullFields []string `json:"-"`
13750}
13751
13752func (s *GoogleCloudDialogflowV2beta1FaqAnswer) MarshalJSON() ([]byte, error) {
13753	type NoMethod GoogleCloudDialogflowV2beta1FaqAnswer
13754	raw := NoMethod(*s)
13755	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13756}
13757
13758func (s *GoogleCloudDialogflowV2beta1FaqAnswer) UnmarshalJSON(data []byte) error {
13759	type NoMethod GoogleCloudDialogflowV2beta1FaqAnswer
13760	var s1 struct {
13761		Confidence gensupport.JSONFloat64 `json:"confidence"`
13762		*NoMethod
13763	}
13764	s1.NoMethod = (*NoMethod)(s)
13765	if err := json.Unmarshal(data, &s1); err != nil {
13766		return err
13767	}
13768	s.Confidence = float64(s1.Confidence)
13769	return nil
13770}
13771
13772// GoogleCloudDialogflowV2beta1HumanAgentAssistantEvent: Output only.
13773// Represents a notification sent to Pub/Sub subscribers for agent
13774// assistant events in a specific conversation.
13775type GoogleCloudDialogflowV2beta1HumanAgentAssistantEvent struct {
13776	// Conversation: The conversation this notification refers to. Format:
13777	// `projects//conversations/`.
13778	Conversation string `json:"conversation,omitempty"`
13779
13780	// Participant: The participant that the suggestion is compiled for. And
13781	// This field is used to call Participants.ListSuggestions API. Format:
13782	// `projects//conversations//participants/`. It will not be set in
13783	// legacy workflow. HumanAgentAssistantConfig.name for more information.
13784	Participant string `json:"participant,omitempty"`
13785
13786	// SuggestionResults: The suggestion results payload that this
13787	// notification refers to. It will only be set when
13788	// HumanAgentAssistantConfig.SuggestionConfig.group_suggestion_responses
13789	// sets to true.
13790	SuggestionResults []*GoogleCloudDialogflowV2beta1SuggestionResult `json:"suggestionResults,omitempty"`
13791
13792	// ForceSendFields is a list of field names (e.g. "Conversation") to
13793	// unconditionally include in API requests. By default, fields with
13794	// empty or default values are omitted from API requests. However, any
13795	// non-pointer, non-interface field appearing in ForceSendFields will be
13796	// sent to the server regardless of whether the field is empty or not.
13797	// This may be used to include empty fields in Patch requests.
13798	ForceSendFields []string `json:"-"`
13799
13800	// NullFields is a list of field names (e.g. "Conversation") to include
13801	// in API requests with the JSON null value. By default, fields with
13802	// empty values are omitted from API requests. However, any field with
13803	// an empty value appearing in NullFields will be sent to the server as
13804	// null. It is an error if a field in this list has a non-empty value.
13805	// This may be used to include null fields in Patch requests.
13806	NullFields []string `json:"-"`
13807}
13808
13809func (s *GoogleCloudDialogflowV2beta1HumanAgentAssistantEvent) MarshalJSON() ([]byte, error) {
13810	type NoMethod GoogleCloudDialogflowV2beta1HumanAgentAssistantEvent
13811	raw := NoMethod(*s)
13812	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13813}
13814
13815// GoogleCloudDialogflowV2beta1ImportDocumentsResponse: Response message
13816// for Documents.ImportDocuments.
13817type GoogleCloudDialogflowV2beta1ImportDocumentsResponse struct {
13818	// Warnings: Includes details about skipped documents or any other
13819	// warnings.
13820	Warnings []*GoogleRpcStatus `json:"warnings,omitempty"`
13821
13822	// ForceSendFields is a list of field names (e.g. "Warnings") to
13823	// unconditionally include in API requests. By default, fields with
13824	// empty or default values are omitted from API requests. However, any
13825	// non-pointer, non-interface field appearing in ForceSendFields will be
13826	// sent to the server regardless of whether the field is empty or not.
13827	// This may be used to include empty fields in Patch requests.
13828	ForceSendFields []string `json:"-"`
13829
13830	// NullFields is a list of field names (e.g. "Warnings") to include in
13831	// API requests with the JSON null value. By default, fields with empty
13832	// values are omitted from API requests. However, any field with an
13833	// empty value appearing in NullFields will be sent to the server as
13834	// null. It is an error if a field in this list has a non-empty value.
13835	// This may be used to include null fields in Patch requests.
13836	NullFields []string `json:"-"`
13837}
13838
13839func (s *GoogleCloudDialogflowV2beta1ImportDocumentsResponse) MarshalJSON() ([]byte, error) {
13840	type NoMethod GoogleCloudDialogflowV2beta1ImportDocumentsResponse
13841	raw := NoMethod(*s)
13842	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13843}
13844
13845// GoogleCloudDialogflowV2beta1Intent: An intent categorizes an
13846// end-user's intention for one conversation turn. For each agent, you
13847// define many intents, where your combined intents can handle a
13848// complete conversation. When an end-user writes or says something,
13849// referred to as an end-user expression or end-user input, Dialogflow
13850// matches the end-user input to the best intent in your agent. Matching
13851// an intent is also known as intent classification. For more
13852// information, see the intent guide
13853// (https://cloud.google.com/dialogflow/docs/intents-overview).
13854type GoogleCloudDialogflowV2beta1Intent struct {
13855	// Action: Optional. The name of the action associated with the intent.
13856	// Note: The action name must not contain whitespaces.
13857	Action string `json:"action,omitempty"`
13858
13859	// DefaultResponsePlatforms: Optional. The list of platforms for which
13860	// the first responses will be copied from the messages in
13861	// PLATFORM_UNSPECIFIED (i.e. default platform).
13862	//
13863	// Possible values:
13864	//   "PLATFORM_UNSPECIFIED" - Not specified.
13865	//   "FACEBOOK" - Facebook.
13866	//   "SLACK" - Slack.
13867	//   "TELEGRAM" - Telegram.
13868	//   "KIK" - Kik.
13869	//   "SKYPE" - Skype.
13870	//   "LINE" - Line.
13871	//   "VIBER" - Viber.
13872	//   "ACTIONS_ON_GOOGLE" - Google Assistant See [Dialogflow webhook
13873	// format](https://developers.google.com/assistant/actions/build/json/dia
13874	// logflow-webhook-json)
13875	//   "TELEPHONY" - Telephony Gateway.
13876	//   "GOOGLE_HANGOUTS" - Google Hangouts.
13877	DefaultResponsePlatforms []string `json:"defaultResponsePlatforms,omitempty"`
13878
13879	// DisplayName: Required. The name of this intent.
13880	DisplayName string `json:"displayName,omitempty"`
13881
13882	// EndInteraction: Optional. Indicates that this intent ends an
13883	// interaction. Some integrations (e.g., Actions on Google or Dialogflow
13884	// phone gateway) use this information to close interaction with an end
13885	// user. Default is false.
13886	EndInteraction bool `json:"endInteraction,omitempty"`
13887
13888	// Events: Optional. The collection of event names that trigger the
13889	// intent. If the collection of input contexts is not empty, all of the
13890	// contexts must be present in the active user session for an event to
13891	// trigger this intent. Event names are limited to 150 characters.
13892	Events []string `json:"events,omitempty"`
13893
13894	// FollowupIntentInfo: Output only. Information about all followup
13895	// intents that have this intent as a direct or indirect parent. We
13896	// populate this field only in the output.
13897	FollowupIntentInfo []*GoogleCloudDialogflowV2beta1IntentFollowupIntentInfo `json:"followupIntentInfo,omitempty"`
13898
13899	// InputContextNames: Optional. The list of context names required for
13900	// this intent to be triggered. Formats: -
13901	// `projects//agent/sessions/-/contexts/` -
13902	// `projects//locations//agent/sessions/-/contexts/`
13903	InputContextNames []string `json:"inputContextNames,omitempty"`
13904
13905	// IsFallback: Optional. Indicates whether this is a fallback intent.
13906	IsFallback bool `json:"isFallback,omitempty"`
13907
13908	// LiveAgentHandoff: Optional. Indicates that a live agent should be
13909	// brought in to handle the interaction with the user. In most cases,
13910	// when you set this flag to true, you would also want to set
13911	// end_interaction to true as well. Default is false.
13912	LiveAgentHandoff bool `json:"liveAgentHandoff,omitempty"`
13913
13914	// Messages: Optional. The collection of rich messages corresponding to
13915	// the `Response` field in the Dialogflow console.
13916	Messages []*GoogleCloudDialogflowV2beta1IntentMessage `json:"messages,omitempty"`
13917
13918	// MlDisabled: Optional. Indicates whether Machine Learning is disabled
13919	// for the intent. Note: If `ml_disabled` setting is set to true, then
13920	// this intent is not taken into account during inference in `ML ONLY`
13921	// match mode. Also, auto-markup in the UI is turned off.
13922	MlDisabled bool `json:"mlDisabled,omitempty"`
13923
13924	// MlEnabled: Optional. Indicates whether Machine Learning is enabled
13925	// for the intent. Note: If `ml_enabled` setting is set to false, then
13926	// this intent is not taken into account during inference in `ML ONLY`
13927	// match mode. Also, auto-markup in the UI is turned off. DEPRECATED!
13928	// Please use `ml_disabled` field instead. NOTE: If both `ml_enabled`
13929	// and `ml_disabled` are either not set or false, then the default value
13930	// is determined as follows: - Before April 15th, 2018 the default is:
13931	// ml_enabled = false / ml_disabled = true. - After April 15th, 2018 the
13932	// default is: ml_enabled = true / ml_disabled = false.
13933	MlEnabled bool `json:"mlEnabled,omitempty"`
13934
13935	// Name: Optional. The unique identifier of this intent. Required for
13936	// Intents.UpdateIntent and Intents.BatchUpdateIntents methods.
13937	// Supported formats: - `projects//agent/intents/` -
13938	// `projects//locations//agent/intents/`
13939	Name string `json:"name,omitempty"`
13940
13941	// OutputContexts: Optional. The collection of contexts that are
13942	// activated when the intent is matched. Context messages in this
13943	// collection should not set the parameters field. Setting the
13944	// `lifespan_count` to 0 will reset the context when the intent is
13945	// matched. Format: `projects//agent/sessions/-/contexts/`.
13946	OutputContexts []*GoogleCloudDialogflowV2beta1Context `json:"outputContexts,omitempty"`
13947
13948	// Parameters: Optional. The collection of parameters associated with
13949	// the intent.
13950	Parameters []*GoogleCloudDialogflowV2beta1IntentParameter `json:"parameters,omitempty"`
13951
13952	// ParentFollowupIntentName: Optional. The unique identifier of the
13953	// parent intent in the chain of followup intents. You can set this
13954	// field when creating an intent, for example with CreateIntent or
13955	// BatchUpdateIntents, in order to make this intent a followup intent.
13956	// It identifies the parent followup intent. Format:
13957	// `projects//agent/intents/`.
13958	ParentFollowupIntentName string `json:"parentFollowupIntentName,omitempty"`
13959
13960	// Priority: Optional. The priority of this intent. Higher numbers
13961	// represent higher priorities. - If the supplied value is unspecified
13962	// or 0, the service translates the value to 500,000, which corresponds
13963	// to the `Normal` priority in the console. - If the supplied value is
13964	// negative, the intent is ignored in runtime detect intent requests.
13965	Priority int64 `json:"priority,omitempty"`
13966
13967	// ResetContexts: Optional. Indicates whether to delete all contexts in
13968	// the current session when this intent is matched.
13969	ResetContexts bool `json:"resetContexts,omitempty"`
13970
13971	// RootFollowupIntentName: Output only. The unique identifier of the
13972	// root intent in the chain of followup intents. It identifies the
13973	// correct followup intents chain for this intent. Format:
13974	// `projects//agent/intents/`.
13975	RootFollowupIntentName string `json:"rootFollowupIntentName,omitempty"`
13976
13977	// TrainingPhrases: Optional. The collection of examples that the agent
13978	// is trained on.
13979	TrainingPhrases []*GoogleCloudDialogflowV2beta1IntentTrainingPhrase `json:"trainingPhrases,omitempty"`
13980
13981	// WebhookState: Optional. Indicates whether webhooks are enabled for
13982	// the intent.
13983	//
13984	// Possible values:
13985	//   "WEBHOOK_STATE_UNSPECIFIED" - Webhook is disabled in the agent and
13986	// in the intent.
13987	//   "WEBHOOK_STATE_ENABLED" - Webhook is enabled in the agent and in
13988	// the intent.
13989	//   "WEBHOOK_STATE_ENABLED_FOR_SLOT_FILLING" - Webhook is enabled in
13990	// the agent and in the intent. Also, each slot filling prompt is
13991	// forwarded to the webhook.
13992	WebhookState string `json:"webhookState,omitempty"`
13993
13994	// ForceSendFields is a list of field names (e.g. "Action") to
13995	// unconditionally include in API requests. By default, fields with
13996	// empty or default values are omitted from API requests. However, any
13997	// non-pointer, non-interface field appearing in ForceSendFields will be
13998	// sent to the server regardless of whether the field is empty or not.
13999	// This may be used to include empty fields in Patch requests.
14000	ForceSendFields []string `json:"-"`
14001
14002	// NullFields is a list of field names (e.g. "Action") to include in API
14003	// requests with the JSON null value. By default, fields with empty
14004	// values are omitted from API requests. However, any field with an
14005	// empty value appearing in NullFields will be sent to the server as
14006	// null. It is an error if a field in this list has a non-empty value.
14007	// This may be used to include null fields in Patch requests.
14008	NullFields []string `json:"-"`
14009}
14010
14011func (s *GoogleCloudDialogflowV2beta1Intent) MarshalJSON() ([]byte, error) {
14012	type NoMethod GoogleCloudDialogflowV2beta1Intent
14013	raw := NoMethod(*s)
14014	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14015}
14016
14017// GoogleCloudDialogflowV2beta1IntentFollowupIntentInfo: Represents a
14018// single followup intent in the chain.
14019type GoogleCloudDialogflowV2beta1IntentFollowupIntentInfo struct {
14020	// FollowupIntentName: The unique identifier of the followup intent.
14021	// Format: `projects//agent/intents/`.
14022	FollowupIntentName string `json:"followupIntentName,omitempty"`
14023
14024	// ParentFollowupIntentName: The unique identifier of the followup
14025	// intent's parent. Format: `projects//agent/intents/`.
14026	ParentFollowupIntentName string `json:"parentFollowupIntentName,omitempty"`
14027
14028	// ForceSendFields is a list of field names (e.g. "FollowupIntentName")
14029	// to unconditionally include in API requests. By default, fields with
14030	// empty or default values are omitted from API requests. However, any
14031	// non-pointer, non-interface field appearing in ForceSendFields will be
14032	// sent to the server regardless of whether the field is empty or not.
14033	// This may be used to include empty fields in Patch requests.
14034	ForceSendFields []string `json:"-"`
14035
14036	// NullFields is a list of field names (e.g. "FollowupIntentName") to
14037	// include in API requests with the JSON null value. By default, fields
14038	// with empty values are omitted from API requests. However, any field
14039	// with an empty value appearing in NullFields will be sent to the
14040	// server as null. It is an error if a field in this list has a
14041	// non-empty value. This may be used to include null fields in Patch
14042	// requests.
14043	NullFields []string `json:"-"`
14044}
14045
14046func (s *GoogleCloudDialogflowV2beta1IntentFollowupIntentInfo) MarshalJSON() ([]byte, error) {
14047	type NoMethod GoogleCloudDialogflowV2beta1IntentFollowupIntentInfo
14048	raw := NoMethod(*s)
14049	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14050}
14051
14052// GoogleCloudDialogflowV2beta1IntentMessage: Corresponds to the
14053// `Response` field in the Dialogflow console.
14054type GoogleCloudDialogflowV2beta1IntentMessage struct {
14055	// BasicCard: Displays a basic card for Actions on Google.
14056	BasicCard *GoogleCloudDialogflowV2beta1IntentMessageBasicCard `json:"basicCard,omitempty"`
14057
14058	// BrowseCarouselCard: Browse carousel card for Actions on Google.
14059	BrowseCarouselCard *GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCard `json:"browseCarouselCard,omitempty"`
14060
14061	// Card: Displays a card.
14062	Card *GoogleCloudDialogflowV2beta1IntentMessageCard `json:"card,omitempty"`
14063
14064	// CarouselSelect: Displays a carousel card for Actions on Google.
14065	CarouselSelect *GoogleCloudDialogflowV2beta1IntentMessageCarouselSelect `json:"carouselSelect,omitempty"`
14066
14067	// Image: Displays an image.
14068	Image *GoogleCloudDialogflowV2beta1IntentMessageImage `json:"image,omitempty"`
14069
14070	// LinkOutSuggestion: Displays a link out suggestion chip for Actions on
14071	// Google.
14072	LinkOutSuggestion *GoogleCloudDialogflowV2beta1IntentMessageLinkOutSuggestion `json:"linkOutSuggestion,omitempty"`
14073
14074	// ListSelect: Displays a list card for Actions on Google.
14075	ListSelect *GoogleCloudDialogflowV2beta1IntentMessageListSelect `json:"listSelect,omitempty"`
14076
14077	// MediaContent: The media content card for Actions on Google.
14078	MediaContent *GoogleCloudDialogflowV2beta1IntentMessageMediaContent `json:"mediaContent,omitempty"`
14079
14080	// Payload: A custom platform-specific response.
14081	Payload googleapi.RawMessage `json:"payload,omitempty"`
14082
14083	// Platform: Optional. The platform that this message is intended for.
14084	//
14085	// Possible values:
14086	//   "PLATFORM_UNSPECIFIED" - Not specified.
14087	//   "FACEBOOK" - Facebook.
14088	//   "SLACK" - Slack.
14089	//   "TELEGRAM" - Telegram.
14090	//   "KIK" - Kik.
14091	//   "SKYPE" - Skype.
14092	//   "LINE" - Line.
14093	//   "VIBER" - Viber.
14094	//   "ACTIONS_ON_GOOGLE" - Google Assistant See [Dialogflow webhook
14095	// format](https://developers.google.com/assistant/actions/build/json/dia
14096	// logflow-webhook-json)
14097	//   "TELEPHONY" - Telephony Gateway.
14098	//   "GOOGLE_HANGOUTS" - Google Hangouts.
14099	Platform string `json:"platform,omitempty"`
14100
14101	// QuickReplies: Displays quick replies.
14102	QuickReplies *GoogleCloudDialogflowV2beta1IntentMessageQuickReplies `json:"quickReplies,omitempty"`
14103
14104	// RbmCarouselRichCard: Rich Business Messaging (RBM) carousel rich card
14105	// response.
14106	RbmCarouselRichCard *GoogleCloudDialogflowV2beta1IntentMessageRbmCarouselCard `json:"rbmCarouselRichCard,omitempty"`
14107
14108	// RbmStandaloneRichCard: Standalone Rich Business Messaging (RBM) rich
14109	// card response.
14110	RbmStandaloneRichCard *GoogleCloudDialogflowV2beta1IntentMessageRbmStandaloneCard `json:"rbmStandaloneRichCard,omitempty"`
14111
14112	// RbmText: Rich Business Messaging (RBM) text response. RBM allows
14113	// businesses to send enriched and branded versions of SMS. See
14114	// https://jibe.google.com/business-messaging.
14115	RbmText *GoogleCloudDialogflowV2beta1IntentMessageRbmText `json:"rbmText,omitempty"`
14116
14117	// SimpleResponses: Returns a voice or text-only response for Actions on
14118	// Google.
14119	SimpleResponses *GoogleCloudDialogflowV2beta1IntentMessageSimpleResponses `json:"simpleResponses,omitempty"`
14120
14121	// Suggestions: Displays suggestion chips for Actions on Google.
14122	Suggestions *GoogleCloudDialogflowV2beta1IntentMessageSuggestions `json:"suggestions,omitempty"`
14123
14124	// TableCard: Table card for Actions on Google.
14125	TableCard *GoogleCloudDialogflowV2beta1IntentMessageTableCard `json:"tableCard,omitempty"`
14126
14127	// TelephonyPlayAudio: Plays audio from a file in Telephony Gateway.
14128	TelephonyPlayAudio *GoogleCloudDialogflowV2beta1IntentMessageTelephonyPlayAudio `json:"telephonyPlayAudio,omitempty"`
14129
14130	// TelephonySynthesizeSpeech: Synthesizes speech in Telephony Gateway.
14131	TelephonySynthesizeSpeech *GoogleCloudDialogflowV2beta1IntentMessageTelephonySynthesizeSpeech `json:"telephonySynthesizeSpeech,omitempty"`
14132
14133	// TelephonyTransferCall: Transfers the call in Telephony Gateway.
14134	TelephonyTransferCall *GoogleCloudDialogflowV2beta1IntentMessageTelephonyTransferCall `json:"telephonyTransferCall,omitempty"`
14135
14136	// Text: Returns a text response.
14137	Text *GoogleCloudDialogflowV2beta1IntentMessageText `json:"text,omitempty"`
14138
14139	// ForceSendFields is a list of field names (e.g. "BasicCard") to
14140	// unconditionally include in API requests. By default, fields with
14141	// empty or default values are omitted from API requests. However, any
14142	// non-pointer, non-interface field appearing in ForceSendFields will be
14143	// sent to the server regardless of whether the field is empty or not.
14144	// This may be used to include empty fields in Patch requests.
14145	ForceSendFields []string `json:"-"`
14146
14147	// NullFields is a list of field names (e.g. "BasicCard") to include in
14148	// API requests with the JSON null value. By default, fields with empty
14149	// values are omitted from API requests. However, any field with an
14150	// empty value appearing in NullFields will be sent to the server as
14151	// null. It is an error if a field in this list has a non-empty value.
14152	// This may be used to include null fields in Patch requests.
14153	NullFields []string `json:"-"`
14154}
14155
14156func (s *GoogleCloudDialogflowV2beta1IntentMessage) MarshalJSON() ([]byte, error) {
14157	type NoMethod GoogleCloudDialogflowV2beta1IntentMessage
14158	raw := NoMethod(*s)
14159	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14160}
14161
14162// GoogleCloudDialogflowV2beta1IntentMessageBasicCard: The basic card
14163// message. Useful for displaying information.
14164type GoogleCloudDialogflowV2beta1IntentMessageBasicCard struct {
14165	// Buttons: Optional. The collection of card buttons.
14166	Buttons []*GoogleCloudDialogflowV2beta1IntentMessageBasicCardButton `json:"buttons,omitempty"`
14167
14168	// FormattedText: Required, unless image is present. The body text of
14169	// the card.
14170	FormattedText string `json:"formattedText,omitempty"`
14171
14172	// Image: Optional. The image for the card.
14173	Image *GoogleCloudDialogflowV2beta1IntentMessageImage `json:"image,omitempty"`
14174
14175	// Subtitle: Optional. The subtitle of the card.
14176	Subtitle string `json:"subtitle,omitempty"`
14177
14178	// Title: Optional. The title of the card.
14179	Title string `json:"title,omitempty"`
14180
14181	// ForceSendFields is a list of field names (e.g. "Buttons") to
14182	// unconditionally include in API requests. By default, fields with
14183	// empty or default values are omitted from API requests. However, any
14184	// non-pointer, non-interface field appearing in ForceSendFields will be
14185	// sent to the server regardless of whether the field is empty or not.
14186	// This may be used to include empty fields in Patch requests.
14187	ForceSendFields []string `json:"-"`
14188
14189	// NullFields is a list of field names (e.g. "Buttons") to include in
14190	// API requests with the JSON null value. By default, fields with empty
14191	// values are omitted from API requests. However, any field with an
14192	// empty value appearing in NullFields will be sent to the server as
14193	// null. It is an error if a field in this list has a non-empty value.
14194	// This may be used to include null fields in Patch requests.
14195	NullFields []string `json:"-"`
14196}
14197
14198func (s *GoogleCloudDialogflowV2beta1IntentMessageBasicCard) MarshalJSON() ([]byte, error) {
14199	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageBasicCard
14200	raw := NoMethod(*s)
14201	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14202}
14203
14204// GoogleCloudDialogflowV2beta1IntentMessageBasicCardButton: The button
14205// object that appears at the bottom of a card.
14206type GoogleCloudDialogflowV2beta1IntentMessageBasicCardButton struct {
14207	// OpenUriAction: Required. Action to take when a user taps on the
14208	// button.
14209	OpenUriAction *GoogleCloudDialogflowV2beta1IntentMessageBasicCardButtonOpenUriAction `json:"openUriAction,omitempty"`
14210
14211	// Title: Required. The title of the button.
14212	Title string `json:"title,omitempty"`
14213
14214	// ForceSendFields is a list of field names (e.g. "OpenUriAction") to
14215	// unconditionally include in API requests. By default, fields with
14216	// empty or default values are omitted from API requests. However, any
14217	// non-pointer, non-interface field appearing in ForceSendFields will be
14218	// sent to the server regardless of whether the field is empty or not.
14219	// This may be used to include empty fields in Patch requests.
14220	ForceSendFields []string `json:"-"`
14221
14222	// NullFields is a list of field names (e.g. "OpenUriAction") to include
14223	// in API requests with the JSON null value. By default, fields with
14224	// empty values are omitted from API requests. However, any field with
14225	// an empty value appearing in NullFields will be sent to the server as
14226	// null. It is an error if a field in this list has a non-empty value.
14227	// This may be used to include null fields in Patch requests.
14228	NullFields []string `json:"-"`
14229}
14230
14231func (s *GoogleCloudDialogflowV2beta1IntentMessageBasicCardButton) MarshalJSON() ([]byte, error) {
14232	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageBasicCardButton
14233	raw := NoMethod(*s)
14234	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14235}
14236
14237// GoogleCloudDialogflowV2beta1IntentMessageBasicCardButtonOpenUriAction:
14238//  Opens the given URI.
14239type GoogleCloudDialogflowV2beta1IntentMessageBasicCardButtonOpenUriAction struct {
14240	// Uri: Required. The HTTP or HTTPS scheme URI.
14241	Uri string `json:"uri,omitempty"`
14242
14243	// ForceSendFields is a list of field names (e.g. "Uri") to
14244	// unconditionally include in API requests. By default, fields with
14245	// empty or default values are omitted from API requests. However, any
14246	// non-pointer, non-interface field appearing in ForceSendFields will be
14247	// sent to the server regardless of whether the field is empty or not.
14248	// This may be used to include empty fields in Patch requests.
14249	ForceSendFields []string `json:"-"`
14250
14251	// NullFields is a list of field names (e.g. "Uri") to include in API
14252	// requests with the JSON null value. By default, fields with empty
14253	// values are omitted from API requests. However, any field with an
14254	// empty value appearing in NullFields will be sent to the server as
14255	// null. It is an error if a field in this list has a non-empty value.
14256	// This may be used to include null fields in Patch requests.
14257	NullFields []string `json:"-"`
14258}
14259
14260func (s *GoogleCloudDialogflowV2beta1IntentMessageBasicCardButtonOpenUriAction) MarshalJSON() ([]byte, error) {
14261	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageBasicCardButtonOpenUriAction
14262	raw := NoMethod(*s)
14263	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14264}
14265
14266// GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCard: Browse
14267// Carousel Card for Actions on Google.
14268// https://developers.google.com/actions/assistant/responses#browsing_carousel
14269type GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCard struct {
14270	// ImageDisplayOptions: Optional. Settings for displaying the image.
14271	// Applies to every image in items.
14272	//
14273	// Possible values:
14274	//   "IMAGE_DISPLAY_OPTIONS_UNSPECIFIED" - Fill the gaps between the
14275	// image and the image container with gray bars.
14276	//   "GRAY" - Fill the gaps between the image and the image container
14277	// with gray bars.
14278	//   "WHITE" - Fill the gaps between the image and the image container
14279	// with white bars.
14280	//   "CROPPED" - Image is scaled such that the image width and height
14281	// match or exceed the container dimensions. This may crop the top and
14282	// bottom of the image if the scaled image height is greater than the
14283	// container height, or crop the left and right of the image if the
14284	// scaled image width is greater than the container width. This is
14285	// similar to "Zoom Mode" on a widescreen TV when playing a 4:3 video.
14286	//   "BLURRED_BACKGROUND" - Pad the gaps between image and image frame
14287	// with a blurred copy of the same image.
14288	ImageDisplayOptions string `json:"imageDisplayOptions,omitempty"`
14289
14290	// Items: Required. List of items in the Browse Carousel Card. Minimum
14291	// of two items, maximum of ten.
14292	Items []*GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCardBrowseCarouselCardItem `json:"items,omitempty"`
14293
14294	// ForceSendFields is a list of field names (e.g. "ImageDisplayOptions")
14295	// to unconditionally include in API requests. By default, fields with
14296	// empty or default values are omitted from API requests. However, any
14297	// non-pointer, non-interface field appearing in ForceSendFields will be
14298	// sent to the server regardless of whether the field is empty or not.
14299	// This may be used to include empty fields in Patch requests.
14300	ForceSendFields []string `json:"-"`
14301
14302	// NullFields is a list of field names (e.g. "ImageDisplayOptions") to
14303	// include in API requests with the JSON null value. By default, fields
14304	// with empty values are omitted from API requests. However, any field
14305	// with an empty value appearing in NullFields will be sent to the
14306	// server as null. It is an error if a field in this list has a
14307	// non-empty value. This may be used to include null fields in Patch
14308	// requests.
14309	NullFields []string `json:"-"`
14310}
14311
14312func (s *GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCard) MarshalJSON() ([]byte, error) {
14313	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCard
14314	raw := NoMethod(*s)
14315	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14316}
14317
14318// GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCardBrowseCarou
14319// selCardItem: Browsing carousel tile
14320type GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCardBrowseCarouselCardItem struct {
14321	// Description: Optional. Description of the carousel item. Maximum of
14322	// four lines of text.
14323	Description string `json:"description,omitempty"`
14324
14325	// Footer: Optional. Text that appears at the bottom of the Browse
14326	// Carousel Card. Maximum of one line of text.
14327	Footer string `json:"footer,omitempty"`
14328
14329	// Image: Optional. Hero image for the carousel item.
14330	Image *GoogleCloudDialogflowV2beta1IntentMessageImage `json:"image,omitempty"`
14331
14332	// OpenUriAction: Required. Action to present to the user.
14333	OpenUriAction *GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCardBrowseCarouselCardItemOpenUrlAction `json:"openUriAction,omitempty"`
14334
14335	// Title: Required. Title of the carousel item. Maximum of two lines of
14336	// text.
14337	Title string `json:"title,omitempty"`
14338
14339	// ForceSendFields is a list of field names (e.g. "Description") to
14340	// unconditionally include in API requests. By default, fields with
14341	// empty or default values are omitted from API requests. However, any
14342	// non-pointer, non-interface field appearing in ForceSendFields will be
14343	// sent to the server regardless of whether the field is empty or not.
14344	// This may be used to include empty fields in Patch requests.
14345	ForceSendFields []string `json:"-"`
14346
14347	// NullFields is a list of field names (e.g. "Description") to include
14348	// in API requests with the JSON null value. By default, fields with
14349	// empty values are omitted from API requests. However, any field with
14350	// an empty value appearing in NullFields will be sent to the server as
14351	// null. It is an error if a field in this list has a non-empty value.
14352	// This may be used to include null fields in Patch requests.
14353	NullFields []string `json:"-"`
14354}
14355
14356func (s *GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCardBrowseCarouselCardItem) MarshalJSON() ([]byte, error) {
14357	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCardBrowseCarouselCardItem
14358	raw := NoMethod(*s)
14359	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14360}
14361
14362// GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCardBrowseCarou
14363// selCardItemOpenUrlAction: Actions on Google action to open a given
14364// url.
14365type GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCardBrowseCarouselCardItemOpenUrlAction struct {
14366	// Url: Required. URL
14367	Url string `json:"url,omitempty"`
14368
14369	// UrlTypeHint: Optional. Specifies the type of viewer that is used when
14370	// opening the URL. Defaults to opening via web browser.
14371	//
14372	// Possible values:
14373	//   "URL_TYPE_HINT_UNSPECIFIED" - Unspecified
14374	//   "AMP_ACTION" - Url would be an amp action
14375	//   "AMP_CONTENT" - URL that points directly to AMP content, or to a
14376	// canonical URL which refers to AMP content via .
14377	UrlTypeHint string `json:"urlTypeHint,omitempty"`
14378
14379	// ForceSendFields is a list of field names (e.g. "Url") to
14380	// unconditionally include in API requests. By default, fields with
14381	// empty or default values are omitted from API requests. However, any
14382	// non-pointer, non-interface field appearing in ForceSendFields will be
14383	// sent to the server regardless of whether the field is empty or not.
14384	// This may be used to include empty fields in Patch requests.
14385	ForceSendFields []string `json:"-"`
14386
14387	// NullFields is a list of field names (e.g. "Url") to include in API
14388	// requests with the JSON null value. By default, fields with empty
14389	// values are omitted from API requests. However, any field with an
14390	// empty value appearing in NullFields will be sent to the server as
14391	// null. It is an error if a field in this list has a non-empty value.
14392	// This may be used to include null fields in Patch requests.
14393	NullFields []string `json:"-"`
14394}
14395
14396func (s *GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCardBrowseCarouselCardItemOpenUrlAction) MarshalJSON() ([]byte, error) {
14397	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCardBrowseCarouselCardItemOpenUrlAction
14398	raw := NoMethod(*s)
14399	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14400}
14401
14402// GoogleCloudDialogflowV2beta1IntentMessageCard: The card response
14403// message.
14404type GoogleCloudDialogflowV2beta1IntentMessageCard struct {
14405	// Buttons: Optional. The collection of card buttons.
14406	Buttons []*GoogleCloudDialogflowV2beta1IntentMessageCardButton `json:"buttons,omitempty"`
14407
14408	// ImageUri: Optional. The public URI to an image file for the card.
14409	ImageUri string `json:"imageUri,omitempty"`
14410
14411	// Subtitle: Optional. The subtitle of the card.
14412	Subtitle string `json:"subtitle,omitempty"`
14413
14414	// Title: Optional. The title of the card.
14415	Title string `json:"title,omitempty"`
14416
14417	// ForceSendFields is a list of field names (e.g. "Buttons") to
14418	// unconditionally include in API requests. By default, fields with
14419	// empty or default values are omitted from API requests. However, any
14420	// non-pointer, non-interface field appearing in ForceSendFields will be
14421	// sent to the server regardless of whether the field is empty or not.
14422	// This may be used to include empty fields in Patch requests.
14423	ForceSendFields []string `json:"-"`
14424
14425	// NullFields is a list of field names (e.g. "Buttons") to include in
14426	// API requests with the JSON null value. By default, fields with empty
14427	// values are omitted from API requests. However, any field with an
14428	// empty value appearing in NullFields will be sent to the server as
14429	// null. It is an error if a field in this list has a non-empty value.
14430	// This may be used to include null fields in Patch requests.
14431	NullFields []string `json:"-"`
14432}
14433
14434func (s *GoogleCloudDialogflowV2beta1IntentMessageCard) MarshalJSON() ([]byte, error) {
14435	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageCard
14436	raw := NoMethod(*s)
14437	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14438}
14439
14440// GoogleCloudDialogflowV2beta1IntentMessageCardButton: Optional.
14441// Contains information about a button.
14442type GoogleCloudDialogflowV2beta1IntentMessageCardButton struct {
14443	// Postback: Optional. The text to send back to the Dialogflow API or a
14444	// URI to open.
14445	Postback string `json:"postback,omitempty"`
14446
14447	// Text: Optional. The text to show on the button.
14448	Text string `json:"text,omitempty"`
14449
14450	// ForceSendFields is a list of field names (e.g. "Postback") to
14451	// unconditionally include in API requests. By default, fields with
14452	// empty or default values are omitted from API requests. However, any
14453	// non-pointer, non-interface field appearing in ForceSendFields will be
14454	// sent to the server regardless of whether the field is empty or not.
14455	// This may be used to include empty fields in Patch requests.
14456	ForceSendFields []string `json:"-"`
14457
14458	// NullFields is a list of field names (e.g. "Postback") to include in
14459	// API requests with the JSON null value. By default, fields with empty
14460	// values are omitted from API requests. However, any field with an
14461	// empty value appearing in NullFields will be sent to the server as
14462	// null. It is an error if a field in this list has a non-empty value.
14463	// This may be used to include null fields in Patch requests.
14464	NullFields []string `json:"-"`
14465}
14466
14467func (s *GoogleCloudDialogflowV2beta1IntentMessageCardButton) MarshalJSON() ([]byte, error) {
14468	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageCardButton
14469	raw := NoMethod(*s)
14470	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14471}
14472
14473// GoogleCloudDialogflowV2beta1IntentMessageCarouselSelect: The card for
14474// presenting a carousel of options to select from.
14475type GoogleCloudDialogflowV2beta1IntentMessageCarouselSelect struct {
14476	// Items: Required. Carousel items.
14477	Items []*GoogleCloudDialogflowV2beta1IntentMessageCarouselSelectItem `json:"items,omitempty"`
14478
14479	// ForceSendFields is a list of field names (e.g. "Items") to
14480	// unconditionally include in API requests. By default, fields with
14481	// empty or default values are omitted from API requests. However, any
14482	// non-pointer, non-interface field appearing in ForceSendFields will be
14483	// sent to the server regardless of whether the field is empty or not.
14484	// This may be used to include empty fields in Patch requests.
14485	ForceSendFields []string `json:"-"`
14486
14487	// NullFields is a list of field names (e.g. "Items") to include in API
14488	// requests with the JSON null value. By default, fields with empty
14489	// values are omitted from API requests. However, any field with an
14490	// empty value appearing in NullFields will be sent to the server as
14491	// null. It is an error if a field in this list has a non-empty value.
14492	// This may be used to include null fields in Patch requests.
14493	NullFields []string `json:"-"`
14494}
14495
14496func (s *GoogleCloudDialogflowV2beta1IntentMessageCarouselSelect) MarshalJSON() ([]byte, error) {
14497	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageCarouselSelect
14498	raw := NoMethod(*s)
14499	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14500}
14501
14502// GoogleCloudDialogflowV2beta1IntentMessageCarouselSelectItem: An item
14503// in the carousel.
14504type GoogleCloudDialogflowV2beta1IntentMessageCarouselSelectItem struct {
14505	// Description: Optional. The body text of the card.
14506	Description string `json:"description,omitempty"`
14507
14508	// Image: Optional. The image to display.
14509	Image *GoogleCloudDialogflowV2beta1IntentMessageImage `json:"image,omitempty"`
14510
14511	// Info: Required. Additional info about the option item.
14512	Info *GoogleCloudDialogflowV2beta1IntentMessageSelectItemInfo `json:"info,omitempty"`
14513
14514	// Title: Required. Title of the carousel item.
14515	Title string `json:"title,omitempty"`
14516
14517	// ForceSendFields is a list of field names (e.g. "Description") to
14518	// unconditionally include in API requests. By default, fields with
14519	// empty or default values are omitted from API requests. However, any
14520	// non-pointer, non-interface field appearing in ForceSendFields will be
14521	// sent to the server regardless of whether the field is empty or not.
14522	// This may be used to include empty fields in Patch requests.
14523	ForceSendFields []string `json:"-"`
14524
14525	// NullFields is a list of field names (e.g. "Description") to include
14526	// in API requests with the JSON null value. By default, fields with
14527	// empty values are omitted from API requests. However, any field with
14528	// an empty value appearing in NullFields will be sent to the server as
14529	// null. It is an error if a field in this list has a non-empty value.
14530	// This may be used to include null fields in Patch requests.
14531	NullFields []string `json:"-"`
14532}
14533
14534func (s *GoogleCloudDialogflowV2beta1IntentMessageCarouselSelectItem) MarshalJSON() ([]byte, error) {
14535	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageCarouselSelectItem
14536	raw := NoMethod(*s)
14537	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14538}
14539
14540// GoogleCloudDialogflowV2beta1IntentMessageColumnProperties: Column
14541// properties for TableCard.
14542type GoogleCloudDialogflowV2beta1IntentMessageColumnProperties struct {
14543	// Header: Required. Column heading.
14544	Header string `json:"header,omitempty"`
14545
14546	// HorizontalAlignment: Optional. Defines text alignment for all cells
14547	// in this column.
14548	//
14549	// Possible values:
14550	//   "HORIZONTAL_ALIGNMENT_UNSPECIFIED" - Text is aligned to the leading
14551	// edge of the column.
14552	//   "LEADING" - Text is aligned to the leading edge of the column.
14553	//   "CENTER" - Text is centered in the column.
14554	//   "TRAILING" - Text is aligned to the trailing edge of the column.
14555	HorizontalAlignment string `json:"horizontalAlignment,omitempty"`
14556
14557	// ForceSendFields is a list of field names (e.g. "Header") to
14558	// unconditionally include in API requests. By default, fields with
14559	// empty or default values are omitted from API requests. However, any
14560	// non-pointer, non-interface field appearing in ForceSendFields will be
14561	// sent to the server regardless of whether the field is empty or not.
14562	// This may be used to include empty fields in Patch requests.
14563	ForceSendFields []string `json:"-"`
14564
14565	// NullFields is a list of field names (e.g. "Header") to include in API
14566	// requests with the JSON null value. By default, fields with empty
14567	// values are omitted from API requests. However, any field with an
14568	// empty value appearing in NullFields will be sent to the server as
14569	// null. It is an error if a field in this list has a non-empty value.
14570	// This may be used to include null fields in Patch requests.
14571	NullFields []string `json:"-"`
14572}
14573
14574func (s *GoogleCloudDialogflowV2beta1IntentMessageColumnProperties) MarshalJSON() ([]byte, error) {
14575	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageColumnProperties
14576	raw := NoMethod(*s)
14577	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14578}
14579
14580// GoogleCloudDialogflowV2beta1IntentMessageImage: The image response
14581// message.
14582type GoogleCloudDialogflowV2beta1IntentMessageImage struct {
14583	// AccessibilityText: A text description of the image to be used for
14584	// accessibility, e.g., screen readers. Required if image_uri is set for
14585	// CarouselSelect.
14586	AccessibilityText string `json:"accessibilityText,omitempty"`
14587
14588	// ImageUri: Optional. The public URI to an image file.
14589	ImageUri string `json:"imageUri,omitempty"`
14590
14591	// ForceSendFields is a list of field names (e.g. "AccessibilityText")
14592	// to unconditionally include in API requests. By default, fields with
14593	// empty or default values are omitted from API requests. However, any
14594	// non-pointer, non-interface field appearing in ForceSendFields will be
14595	// sent to the server regardless of whether the field is empty or not.
14596	// This may be used to include empty fields in Patch requests.
14597	ForceSendFields []string `json:"-"`
14598
14599	// NullFields is a list of field names (e.g. "AccessibilityText") to
14600	// include in API requests with the JSON null value. By default, fields
14601	// with empty values are omitted from API requests. However, any field
14602	// with an empty value appearing in NullFields will be sent to the
14603	// server as null. It is an error if a field in this list has a
14604	// non-empty value. This may be used to include null fields in Patch
14605	// requests.
14606	NullFields []string `json:"-"`
14607}
14608
14609func (s *GoogleCloudDialogflowV2beta1IntentMessageImage) MarshalJSON() ([]byte, error) {
14610	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageImage
14611	raw := NoMethod(*s)
14612	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14613}
14614
14615// GoogleCloudDialogflowV2beta1IntentMessageLinkOutSuggestion: The
14616// suggestion chip message that allows the user to jump out to the app
14617// or website associated with this agent.
14618type GoogleCloudDialogflowV2beta1IntentMessageLinkOutSuggestion struct {
14619	// DestinationName: Required. The name of the app or site this chip is
14620	// linking to.
14621	DestinationName string `json:"destinationName,omitempty"`
14622
14623	// Uri: Required. The URI of the app or site to open when the user taps
14624	// the suggestion chip.
14625	Uri string `json:"uri,omitempty"`
14626
14627	// ForceSendFields is a list of field names (e.g. "DestinationName") to
14628	// unconditionally include in API requests. By default, fields with
14629	// empty or default values are omitted from API requests. However, any
14630	// non-pointer, non-interface field appearing in ForceSendFields will be
14631	// sent to the server regardless of whether the field is empty or not.
14632	// This may be used to include empty fields in Patch requests.
14633	ForceSendFields []string `json:"-"`
14634
14635	// NullFields is a list of field names (e.g. "DestinationName") to
14636	// include in API requests with the JSON null value. By default, fields
14637	// with empty values are omitted from API requests. However, any field
14638	// with an empty value appearing in NullFields will be sent to the
14639	// server as null. It is an error if a field in this list has a
14640	// non-empty value. This may be used to include null fields in Patch
14641	// requests.
14642	NullFields []string `json:"-"`
14643}
14644
14645func (s *GoogleCloudDialogflowV2beta1IntentMessageLinkOutSuggestion) MarshalJSON() ([]byte, error) {
14646	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageLinkOutSuggestion
14647	raw := NoMethod(*s)
14648	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14649}
14650
14651// GoogleCloudDialogflowV2beta1IntentMessageListSelect: The card for
14652// presenting a list of options to select from.
14653type GoogleCloudDialogflowV2beta1IntentMessageListSelect struct {
14654	// Items: Required. List items.
14655	Items []*GoogleCloudDialogflowV2beta1IntentMessageListSelectItem `json:"items,omitempty"`
14656
14657	// Subtitle: Optional. Subtitle of the list.
14658	Subtitle string `json:"subtitle,omitempty"`
14659
14660	// Title: Optional. The overall title of the list.
14661	Title string `json:"title,omitempty"`
14662
14663	// ForceSendFields is a list of field names (e.g. "Items") to
14664	// unconditionally include in API requests. By default, fields with
14665	// empty or default values are omitted from API requests. However, any
14666	// non-pointer, non-interface field appearing in ForceSendFields will be
14667	// sent to the server regardless of whether the field is empty or not.
14668	// This may be used to include empty fields in Patch requests.
14669	ForceSendFields []string `json:"-"`
14670
14671	// NullFields is a list of field names (e.g. "Items") to include in API
14672	// requests with the JSON null value. By default, fields with empty
14673	// values are omitted from API requests. However, any field with an
14674	// empty value appearing in NullFields will be sent to the server as
14675	// null. It is an error if a field in this list has a non-empty value.
14676	// This may be used to include null fields in Patch requests.
14677	NullFields []string `json:"-"`
14678}
14679
14680func (s *GoogleCloudDialogflowV2beta1IntentMessageListSelect) MarshalJSON() ([]byte, error) {
14681	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageListSelect
14682	raw := NoMethod(*s)
14683	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14684}
14685
14686// GoogleCloudDialogflowV2beta1IntentMessageListSelectItem: An item in
14687// the list.
14688type GoogleCloudDialogflowV2beta1IntentMessageListSelectItem struct {
14689	// Description: Optional. The main text describing the item.
14690	Description string `json:"description,omitempty"`
14691
14692	// Image: Optional. The image to display.
14693	Image *GoogleCloudDialogflowV2beta1IntentMessageImage `json:"image,omitempty"`
14694
14695	// Info: Required. Additional information about this option.
14696	Info *GoogleCloudDialogflowV2beta1IntentMessageSelectItemInfo `json:"info,omitempty"`
14697
14698	// Title: Required. The title of the list item.
14699	Title string `json:"title,omitempty"`
14700
14701	// ForceSendFields is a list of field names (e.g. "Description") to
14702	// unconditionally include in API requests. By default, fields with
14703	// empty or default values are omitted from API requests. However, any
14704	// non-pointer, non-interface field appearing in ForceSendFields will be
14705	// sent to the server regardless of whether the field is empty or not.
14706	// This may be used to include empty fields in Patch requests.
14707	ForceSendFields []string `json:"-"`
14708
14709	// NullFields is a list of field names (e.g. "Description") to include
14710	// in API requests with the JSON null value. By default, fields with
14711	// empty values are omitted from API requests. However, any field with
14712	// an empty value appearing in NullFields will be sent to the server as
14713	// null. It is an error if a field in this list has a non-empty value.
14714	// This may be used to include null fields in Patch requests.
14715	NullFields []string `json:"-"`
14716}
14717
14718func (s *GoogleCloudDialogflowV2beta1IntentMessageListSelectItem) MarshalJSON() ([]byte, error) {
14719	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageListSelectItem
14720	raw := NoMethod(*s)
14721	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14722}
14723
14724// GoogleCloudDialogflowV2beta1IntentMessageMediaContent: The media
14725// content card for Actions on Google.
14726type GoogleCloudDialogflowV2beta1IntentMessageMediaContent struct {
14727	// MediaObjects: Required. List of media objects.
14728	MediaObjects []*GoogleCloudDialogflowV2beta1IntentMessageMediaContentResponseMediaObject `json:"mediaObjects,omitempty"`
14729
14730	// MediaType: Optional. What type of media is the content (ie "audio").
14731	//
14732	// Possible values:
14733	//   "RESPONSE_MEDIA_TYPE_UNSPECIFIED" - Unspecified.
14734	//   "AUDIO" - Response media type is audio.
14735	MediaType string `json:"mediaType,omitempty"`
14736
14737	// ForceSendFields is a list of field names (e.g. "MediaObjects") to
14738	// unconditionally include in API requests. By default, fields with
14739	// empty or default values are omitted from API requests. However, any
14740	// non-pointer, non-interface field appearing in ForceSendFields will be
14741	// sent to the server regardless of whether the field is empty or not.
14742	// This may be used to include empty fields in Patch requests.
14743	ForceSendFields []string `json:"-"`
14744
14745	// NullFields is a list of field names (e.g. "MediaObjects") to include
14746	// in API requests with the JSON null value. By default, fields with
14747	// empty values are omitted from API requests. However, any field with
14748	// an empty value appearing in NullFields will be sent to the server as
14749	// null. It is an error if a field in this list has a non-empty value.
14750	// This may be used to include null fields in Patch requests.
14751	NullFields []string `json:"-"`
14752}
14753
14754func (s *GoogleCloudDialogflowV2beta1IntentMessageMediaContent) MarshalJSON() ([]byte, error) {
14755	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageMediaContent
14756	raw := NoMethod(*s)
14757	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14758}
14759
14760// GoogleCloudDialogflowV2beta1IntentMessageMediaContentResponseMediaObje
14761// ct: Response media object for media content card.
14762type GoogleCloudDialogflowV2beta1IntentMessageMediaContentResponseMediaObject struct {
14763	// ContentUrl: Required. Url where the media is stored.
14764	ContentUrl string `json:"contentUrl,omitempty"`
14765
14766	// Description: Optional. Description of media card.
14767	Description string `json:"description,omitempty"`
14768
14769	// Icon: Optional. Icon to display above media content.
14770	Icon *GoogleCloudDialogflowV2beta1IntentMessageImage `json:"icon,omitempty"`
14771
14772	// LargeImage: Optional. Image to display above media content.
14773	LargeImage *GoogleCloudDialogflowV2beta1IntentMessageImage `json:"largeImage,omitempty"`
14774
14775	// Name: Required. Name of media card.
14776	Name string `json:"name,omitempty"`
14777
14778	// ForceSendFields is a list of field names (e.g. "ContentUrl") to
14779	// unconditionally include in API requests. By default, fields with
14780	// empty or default values are omitted from API requests. However, any
14781	// non-pointer, non-interface field appearing in ForceSendFields will be
14782	// sent to the server regardless of whether the field is empty or not.
14783	// This may be used to include empty fields in Patch requests.
14784	ForceSendFields []string `json:"-"`
14785
14786	// NullFields is a list of field names (e.g. "ContentUrl") to include in
14787	// API requests with the JSON null value. By default, fields with empty
14788	// values are omitted from API requests. However, any field with an
14789	// empty value appearing in NullFields will be sent to the server as
14790	// null. It is an error if a field in this list has a non-empty value.
14791	// This may be used to include null fields in Patch requests.
14792	NullFields []string `json:"-"`
14793}
14794
14795func (s *GoogleCloudDialogflowV2beta1IntentMessageMediaContentResponseMediaObject) MarshalJSON() ([]byte, error) {
14796	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageMediaContentResponseMediaObject
14797	raw := NoMethod(*s)
14798	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14799}
14800
14801// GoogleCloudDialogflowV2beta1IntentMessageQuickReplies: The quick
14802// replies response message.
14803type GoogleCloudDialogflowV2beta1IntentMessageQuickReplies struct {
14804	// QuickReplies: Optional. The collection of quick replies.
14805	QuickReplies []string `json:"quickReplies,omitempty"`
14806
14807	// Title: Optional. The title of the collection of quick replies.
14808	Title string `json:"title,omitempty"`
14809
14810	// ForceSendFields is a list of field names (e.g. "QuickReplies") to
14811	// unconditionally include in API requests. By default, fields with
14812	// empty or default values are omitted from API requests. However, any
14813	// non-pointer, non-interface field appearing in ForceSendFields will be
14814	// sent to the server regardless of whether the field is empty or not.
14815	// This may be used to include empty fields in Patch requests.
14816	ForceSendFields []string `json:"-"`
14817
14818	// NullFields is a list of field names (e.g. "QuickReplies") to include
14819	// in API requests with the JSON null value. By default, fields with
14820	// empty values are omitted from API requests. However, any field with
14821	// an empty value appearing in NullFields will be sent to the server as
14822	// null. It is an error if a field in this list has a non-empty value.
14823	// This may be used to include null fields in Patch requests.
14824	NullFields []string `json:"-"`
14825}
14826
14827func (s *GoogleCloudDialogflowV2beta1IntentMessageQuickReplies) MarshalJSON() ([]byte, error) {
14828	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageQuickReplies
14829	raw := NoMethod(*s)
14830	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14831}
14832
14833// GoogleCloudDialogflowV2beta1IntentMessageRbmCardContent: Rich
14834// Business Messaging (RBM) Card content
14835type GoogleCloudDialogflowV2beta1IntentMessageRbmCardContent struct {
14836	// Description: Optional. Description of the card (at most 2000 bytes).
14837	// At least one of the title, description or media must be set.
14838	Description string `json:"description,omitempty"`
14839
14840	// Media: Optional. However at least one of the title, description or
14841	// media must be set. Media (image, GIF or a video) to include in the
14842	// card.
14843	Media *GoogleCloudDialogflowV2beta1IntentMessageRbmCardContentRbmMedia `json:"media,omitempty"`
14844
14845	// Suggestions: Optional. List of suggestions to include in the card.
14846	Suggestions []*GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestion `json:"suggestions,omitempty"`
14847
14848	// Title: Optional. Title of the card (at most 200 bytes). At least one
14849	// of the title, description or media must be set.
14850	Title string `json:"title,omitempty"`
14851
14852	// ForceSendFields is a list of field names (e.g. "Description") to
14853	// unconditionally include in API requests. By default, fields with
14854	// empty or default values are omitted from API requests. However, any
14855	// non-pointer, non-interface field appearing in ForceSendFields will be
14856	// sent to the server regardless of whether the field is empty or not.
14857	// This may be used to include empty fields in Patch requests.
14858	ForceSendFields []string `json:"-"`
14859
14860	// NullFields is a list of field names (e.g. "Description") to include
14861	// in API requests with the JSON null value. By default, fields with
14862	// empty values are omitted from API requests. However, any field with
14863	// an empty value appearing in NullFields will be sent to the server as
14864	// null. It is an error if a field in this list has a non-empty value.
14865	// This may be used to include null fields in Patch requests.
14866	NullFields []string `json:"-"`
14867}
14868
14869func (s *GoogleCloudDialogflowV2beta1IntentMessageRbmCardContent) MarshalJSON() ([]byte, error) {
14870	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageRbmCardContent
14871	raw := NoMethod(*s)
14872	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14873}
14874
14875// GoogleCloudDialogflowV2beta1IntentMessageRbmCardContentRbmMedia: Rich
14876// Business Messaging (RBM) Media displayed in Cards The following
14877// media-types are currently supported: Image Types * image/jpeg *
14878// image/jpg' * image/gif * image/png Video Types * video/h263 *
14879// video/m4v * video/mp4 * video/mpeg * video/mpeg4 * video/webm
14880type GoogleCloudDialogflowV2beta1IntentMessageRbmCardContentRbmMedia struct {
14881	// FileUri: Required. Publicly reachable URI of the file. The RBM
14882	// platform determines the MIME type of the file from the content-type
14883	// field in the HTTP headers when the platform fetches the file. The
14884	// content-type field must be present and accurate in the HTTP response
14885	// from the URL.
14886	FileUri string `json:"fileUri,omitempty"`
14887
14888	// Height: Required for cards with vertical orientation. The height of
14889	// the media within a rich card with a vertical layout. For a standalone
14890	// card with horizontal layout, height is not customizable, and this
14891	// field is ignored.
14892	//
14893	// Possible values:
14894	//   "HEIGHT_UNSPECIFIED" - Not specified.
14895	//   "SHORT" - 112 DP.
14896	//   "MEDIUM" - 168 DP.
14897	//   "TALL" - 264 DP. Not available for rich card carousels when the
14898	// card width is set to small.
14899	Height string `json:"height,omitempty"`
14900
14901	// ThumbnailUri: Optional. Publicly reachable URI of the thumbnail.If
14902	// you don't provide a thumbnail URI, the RBM platform displays a blank
14903	// placeholder thumbnail until the user's device downloads the file.
14904	// Depending on the user's setting, the file may not download
14905	// automatically and may require the user to tap a download button.
14906	ThumbnailUri string `json:"thumbnailUri,omitempty"`
14907
14908	// ForceSendFields is a list of field names (e.g. "FileUri") to
14909	// unconditionally include in API requests. By default, fields with
14910	// empty or default values are omitted from API requests. However, any
14911	// non-pointer, non-interface field appearing in ForceSendFields will be
14912	// sent to the server regardless of whether the field is empty or not.
14913	// This may be used to include empty fields in Patch requests.
14914	ForceSendFields []string `json:"-"`
14915
14916	// NullFields is a list of field names (e.g. "FileUri") to include in
14917	// API requests with the JSON null value. By default, fields with empty
14918	// values are omitted from API requests. However, any field with an
14919	// empty value appearing in NullFields will be sent to the server as
14920	// null. It is an error if a field in this list has a non-empty value.
14921	// This may be used to include null fields in Patch requests.
14922	NullFields []string `json:"-"`
14923}
14924
14925func (s *GoogleCloudDialogflowV2beta1IntentMessageRbmCardContentRbmMedia) MarshalJSON() ([]byte, error) {
14926	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageRbmCardContentRbmMedia
14927	raw := NoMethod(*s)
14928	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14929}
14930
14931// GoogleCloudDialogflowV2beta1IntentMessageRbmCarouselCard: Carousel
14932// Rich Business Messaging (RBM) rich card. Rich cards allow you to
14933// respond to users with more vivid content, e.g. with media and
14934// suggestions. If you want to show a single card with more control over
14935// the layout, please use RbmStandaloneCard instead.
14936type GoogleCloudDialogflowV2beta1IntentMessageRbmCarouselCard struct {
14937	// CardContents: Required. The cards in the carousel. A carousel must
14938	// have at least 2 cards and at most 10.
14939	CardContents []*GoogleCloudDialogflowV2beta1IntentMessageRbmCardContent `json:"cardContents,omitempty"`
14940
14941	// CardWidth: Required. The width of the cards in the carousel.
14942	//
14943	// Possible values:
14944	//   "CARD_WIDTH_UNSPECIFIED" - Not specified.
14945	//   "SMALL" - 120 DP. Note that tall media cannot be used.
14946	//   "MEDIUM" - 232 DP.
14947	CardWidth string `json:"cardWidth,omitempty"`
14948
14949	// ForceSendFields is a list of field names (e.g. "CardContents") to
14950	// unconditionally include in API requests. By default, fields with
14951	// empty or default values are omitted from API requests. However, any
14952	// non-pointer, non-interface field appearing in ForceSendFields will be
14953	// sent to the server regardless of whether the field is empty or not.
14954	// This may be used to include empty fields in Patch requests.
14955	ForceSendFields []string `json:"-"`
14956
14957	// NullFields is a list of field names (e.g. "CardContents") to include
14958	// in API requests with the JSON null value. By default, fields with
14959	// empty values are omitted from API requests. However, any field with
14960	// an empty value appearing in NullFields will be sent to the server as
14961	// null. It is an error if a field in this list has a non-empty value.
14962	// This may be used to include null fields in Patch requests.
14963	NullFields []string `json:"-"`
14964}
14965
14966func (s *GoogleCloudDialogflowV2beta1IntentMessageRbmCarouselCard) MarshalJSON() ([]byte, error) {
14967	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageRbmCarouselCard
14968	raw := NoMethod(*s)
14969	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14970}
14971
14972// GoogleCloudDialogflowV2beta1IntentMessageRbmStandaloneCard:
14973// Standalone Rich Business Messaging (RBM) rich card. Rich cards allow
14974// you to respond to users with more vivid content, e.g. with media and
14975// suggestions. You can group multiple rich cards into one using
14976// RbmCarouselCard but carousel cards will give you less control over
14977// the card layout.
14978type GoogleCloudDialogflowV2beta1IntentMessageRbmStandaloneCard struct {
14979	// CardContent: Required. Card content.
14980	CardContent *GoogleCloudDialogflowV2beta1IntentMessageRbmCardContent `json:"cardContent,omitempty"`
14981
14982	// CardOrientation: Required. Orientation of the card.
14983	//
14984	// Possible values:
14985	//   "CARD_ORIENTATION_UNSPECIFIED" - Not specified.
14986	//   "HORIZONTAL" - Horizontal layout.
14987	//   "VERTICAL" - Vertical layout.
14988	CardOrientation string `json:"cardOrientation,omitempty"`
14989
14990	// ThumbnailImageAlignment: Required if orientation is horizontal. Image
14991	// preview alignment for standalone cards with horizontal layout.
14992	//
14993	// Possible values:
14994	//   "THUMBNAIL_IMAGE_ALIGNMENT_UNSPECIFIED" - Not specified.
14995	//   "LEFT" - Thumbnail preview is left-aligned.
14996	//   "RIGHT" - Thumbnail preview is right-aligned.
14997	ThumbnailImageAlignment string `json:"thumbnailImageAlignment,omitempty"`
14998
14999	// ForceSendFields is a list of field names (e.g. "CardContent") to
15000	// unconditionally include in API requests. By default, fields with
15001	// empty or default values are omitted from API requests. However, any
15002	// non-pointer, non-interface field appearing in ForceSendFields will be
15003	// sent to the server regardless of whether the field is empty or not.
15004	// This may be used to include empty fields in Patch requests.
15005	ForceSendFields []string `json:"-"`
15006
15007	// NullFields is a list of field names (e.g. "CardContent") to include
15008	// in API requests with the JSON null value. By default, fields with
15009	// empty values are omitted from API requests. However, any field with
15010	// an empty value appearing in NullFields will be sent to the server as
15011	// null. It is an error if a field in this list has a non-empty value.
15012	// This may be used to include null fields in Patch requests.
15013	NullFields []string `json:"-"`
15014}
15015
15016func (s *GoogleCloudDialogflowV2beta1IntentMessageRbmStandaloneCard) MarshalJSON() ([]byte, error) {
15017	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageRbmStandaloneCard
15018	raw := NoMethod(*s)
15019	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
15020}
15021
15022// GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedAction: Rich
15023// Business Messaging (RBM) suggested client-side action that the user
15024// can choose from the card.
15025type GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedAction struct {
15026	// Dial: Suggested client side action: Dial a phone number
15027	Dial *GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionDial `json:"dial,omitempty"`
15028
15029	// OpenUrl: Suggested client side action: Open a URI on device
15030	OpenUrl *GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionOpenUri `json:"openUrl,omitempty"`
15031
15032	// PostbackData: Opaque payload that the Dialogflow receives in a user
15033	// event when the user taps the suggested action. This data will be also
15034	// forwarded to webhook to allow performing custom business logic.
15035	PostbackData string `json:"postbackData,omitempty"`
15036
15037	// ShareLocation: Suggested client side action: Share user location
15038	ShareLocation *GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionShareLocation `json:"shareLocation,omitempty"`
15039
15040	// Text: Text to display alongside the action.
15041	Text string `json:"text,omitempty"`
15042
15043	// ForceSendFields is a list of field names (e.g. "Dial") to
15044	// unconditionally include in API requests. By default, fields with
15045	// empty or default values are omitted from API requests. However, any
15046	// non-pointer, non-interface field appearing in ForceSendFields will be
15047	// sent to the server regardless of whether the field is empty or not.
15048	// This may be used to include empty fields in Patch requests.
15049	ForceSendFields []string `json:"-"`
15050
15051	// NullFields is a list of field names (e.g. "Dial") to include in API
15052	// requests with the JSON null value. By default, fields with empty
15053	// values are omitted from API requests. However, any field with an
15054	// empty value appearing in NullFields will be sent to the server as
15055	// null. It is an error if a field in this list has a non-empty value.
15056	// This may be used to include null fields in Patch requests.
15057	NullFields []string `json:"-"`
15058}
15059
15060func (s *GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedAction) MarshalJSON() ([]byte, error) {
15061	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedAction
15062	raw := NoMethod(*s)
15063	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
15064}
15065
15066// GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggeste
15067// dActionDial: Opens the user's default dialer app with the specified
15068// phone number but does not dial automatically.
15069type GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionDial struct {
15070	// PhoneNumber: Required. The phone number to fill in the default dialer
15071	// app. This field should be in E.164
15072	// (https://en.wikipedia.org/wiki/E.164) format. An example of a
15073	// correctly formatted phone number: +15556767888.
15074	PhoneNumber string `json:"phoneNumber,omitempty"`
15075
15076	// ForceSendFields is a list of field names (e.g. "PhoneNumber") to
15077	// unconditionally include in API requests. By default, fields with
15078	// empty or default values are omitted from API requests. However, any
15079	// non-pointer, non-interface field appearing in ForceSendFields will be
15080	// sent to the server regardless of whether the field is empty or not.
15081	// This may be used to include empty fields in Patch requests.
15082	ForceSendFields []string `json:"-"`
15083
15084	// NullFields is a list of field names (e.g. "PhoneNumber") to include
15085	// in API requests with the JSON null value. By default, fields with
15086	// empty values are omitted from API requests. However, any field with
15087	// an empty value appearing in NullFields will be sent to the server as
15088	// null. It is an error if a field in this list has a non-empty value.
15089	// This may be used to include null fields in Patch requests.
15090	NullFields []string `json:"-"`
15091}
15092
15093func (s *GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionDial) MarshalJSON() ([]byte, error) {
15094	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionDial
15095	raw := NoMethod(*s)
15096	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
15097}
15098
15099// GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggeste
15100// dActionOpenUri: Opens the user's default web browser app to the
15101// specified uri If the user has an app installed that is registered as
15102// the default handler for the URL, then this app will be opened
15103// instead, and its icon will be used in the suggested action UI.
15104type GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionOpenUri struct {
15105	// Uri: Required. The uri to open on the user device
15106	Uri string `json:"uri,omitempty"`
15107
15108	// ForceSendFields is a list of field names (e.g. "Uri") to
15109	// unconditionally include in API requests. By default, fields with
15110	// empty or default values are omitted from API requests. However, any
15111	// non-pointer, non-interface field appearing in ForceSendFields will be
15112	// sent to the server regardless of whether the field is empty or not.
15113	// This may be used to include empty fields in Patch requests.
15114	ForceSendFields []string `json:"-"`
15115
15116	// NullFields is a list of field names (e.g. "Uri") to include in API
15117	// requests with the JSON null value. By default, fields with empty
15118	// values are omitted from API requests. However, any field with an
15119	// empty value appearing in NullFields will be sent to the server as
15120	// null. It is an error if a field in this list has a non-empty value.
15121	// This may be used to include null fields in Patch requests.
15122	NullFields []string `json:"-"`
15123}
15124
15125func (s *GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionOpenUri) MarshalJSON() ([]byte, error) {
15126	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionOpenUri
15127	raw := NoMethod(*s)
15128	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
15129}
15130
15131// GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggeste
15132// dActionShareLocation: Opens the device's location chooser so the user
15133// can pick a location to send back to the agent.
15134type GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionShareLocation struct {
15135}
15136
15137// GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedReply: Rich
15138// Business Messaging (RBM) suggested reply that the user can click
15139// instead of typing in their own response.
15140type GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedReply struct {
15141	// PostbackData: Opaque payload that the Dialogflow receives in a user
15142	// event when the user taps the suggested reply. This data will be also
15143	// forwarded to webhook to allow performing custom business logic.
15144	PostbackData string `json:"postbackData,omitempty"`
15145
15146	// Text: Suggested reply text.
15147	Text string `json:"text,omitempty"`
15148
15149	// ForceSendFields is a list of field names (e.g. "PostbackData") to
15150	// unconditionally include in API requests. By default, fields with
15151	// empty or default values are omitted from API requests. However, any
15152	// non-pointer, non-interface field appearing in ForceSendFields will be
15153	// sent to the server regardless of whether the field is empty or not.
15154	// This may be used to include empty fields in Patch requests.
15155	ForceSendFields []string `json:"-"`
15156
15157	// NullFields is a list of field names (e.g. "PostbackData") to include
15158	// in API requests with the JSON null value. By default, fields with
15159	// empty values are omitted from API requests. However, any field with
15160	// an empty value appearing in NullFields will be sent to the server as
15161	// null. It is an error if a field in this list has a non-empty value.
15162	// This may be used to include null fields in Patch requests.
15163	NullFields []string `json:"-"`
15164}
15165
15166func (s *GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedReply) MarshalJSON() ([]byte, error) {
15167	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedReply
15168	raw := NoMethod(*s)
15169	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
15170}
15171
15172// GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestion: Rich Business
15173// Messaging (RBM) suggestion. Suggestions allow user to easily
15174// select/click a predefined response or perform an action (like opening
15175// a web uri).
15176type GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestion struct {
15177	// Action: Predefined client side actions that user can choose
15178	Action *GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedAction `json:"action,omitempty"`
15179
15180	// Reply: Predefined replies for user to select instead of typing
15181	Reply *GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedReply `json:"reply,omitempty"`
15182
15183	// ForceSendFields is a list of field names (e.g. "Action") to
15184	// unconditionally include in API requests. By default, fields with
15185	// empty or default values are omitted from API requests. However, any
15186	// non-pointer, non-interface field appearing in ForceSendFields will be
15187	// sent to the server regardless of whether the field is empty or not.
15188	// This may be used to include empty fields in Patch requests.
15189	ForceSendFields []string `json:"-"`
15190
15191	// NullFields is a list of field names (e.g. "Action") to include in API
15192	// requests with the JSON null value. By default, fields with empty
15193	// values are omitted from API requests. However, any field with an
15194	// empty value appearing in NullFields will be sent to the server as
15195	// null. It is an error if a field in this list has a non-empty value.
15196	// This may be used to include null fields in Patch requests.
15197	NullFields []string `json:"-"`
15198}
15199
15200func (s *GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestion) MarshalJSON() ([]byte, error) {
15201	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestion
15202	raw := NoMethod(*s)
15203	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
15204}
15205
15206// GoogleCloudDialogflowV2beta1IntentMessageRbmText: Rich Business
15207// Messaging (RBM) text response with suggestions.
15208type GoogleCloudDialogflowV2beta1IntentMessageRbmText struct {
15209	// RbmSuggestion: Optional. One or more suggestions to show to the user.
15210	RbmSuggestion []*GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestion `json:"rbmSuggestion,omitempty"`
15211
15212	// Text: Required. Text sent and displayed to the user.
15213	Text string `json:"text,omitempty"`
15214
15215	// ForceSendFields is a list of field names (e.g. "RbmSuggestion") to
15216	// unconditionally include in API requests. By default, fields with
15217	// empty or default values are omitted from API requests. However, any
15218	// non-pointer, non-interface field appearing in ForceSendFields will be
15219	// sent to the server regardless of whether the field is empty or not.
15220	// This may be used to include empty fields in Patch requests.
15221	ForceSendFields []string `json:"-"`
15222
15223	// NullFields is a list of field names (e.g. "RbmSuggestion") to include
15224	// in API requests with the JSON null value. By default, fields with
15225	// empty values are omitted from API requests. However, any field with
15226	// an empty value appearing in NullFields will be sent to the server as
15227	// null. It is an error if a field in this list has a non-empty value.
15228	// This may be used to include null fields in Patch requests.
15229	NullFields []string `json:"-"`
15230}
15231
15232func (s *GoogleCloudDialogflowV2beta1IntentMessageRbmText) MarshalJSON() ([]byte, error) {
15233	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageRbmText
15234	raw := NoMethod(*s)
15235	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
15236}
15237
15238// GoogleCloudDialogflowV2beta1IntentMessageSelectItemInfo: Additional
15239// info about the select item for when it is triggered in a dialog.
15240type GoogleCloudDialogflowV2beta1IntentMessageSelectItemInfo struct {
15241	// Key: Required. A unique key that will be sent back to the agent if
15242	// this response is given.
15243	Key string `json:"key,omitempty"`
15244
15245	// Synonyms: Optional. A list of synonyms that can also be used to
15246	// trigger this item in dialog.
15247	Synonyms []string `json:"synonyms,omitempty"`
15248
15249	// ForceSendFields is a list of field names (e.g. "Key") to
15250	// unconditionally include in API requests. By default, fields with
15251	// empty or default values are omitted from API requests. However, any
15252	// non-pointer, non-interface field appearing in ForceSendFields will be
15253	// sent to the server regardless of whether the field is empty or not.
15254	// This may be used to include empty fields in Patch requests.
15255	ForceSendFields []string `json:"-"`
15256
15257	// NullFields is a list of field names (e.g. "Key") to include in API
15258	// requests with the JSON null value. By default, fields with empty
15259	// values are omitted from API requests. However, any field with an
15260	// empty value appearing in NullFields will be sent to the server as
15261	// null. It is an error if a field in this list has a non-empty value.
15262	// This may be used to include null fields in Patch requests.
15263	NullFields []string `json:"-"`
15264}
15265
15266func (s *GoogleCloudDialogflowV2beta1IntentMessageSelectItemInfo) MarshalJSON() ([]byte, error) {
15267	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageSelectItemInfo
15268	raw := NoMethod(*s)
15269	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
15270}
15271
15272// GoogleCloudDialogflowV2beta1IntentMessageSimpleResponse: The simple
15273// response message containing speech or text.
15274type GoogleCloudDialogflowV2beta1IntentMessageSimpleResponse struct {
15275	// DisplayText: Optional. The text to display.
15276	DisplayText string `json:"displayText,omitempty"`
15277
15278	// Ssml: One of text_to_speech or ssml must be provided. Structured
15279	// spoken response to the user in the SSML format. Mutually exclusive
15280	// with text_to_speech.
15281	Ssml string `json:"ssml,omitempty"`
15282
15283	// TextToSpeech: One of text_to_speech or ssml must be provided. The
15284	// plain text of the speech output. Mutually exclusive with ssml.
15285	TextToSpeech string `json:"textToSpeech,omitempty"`
15286
15287	// ForceSendFields is a list of field names (e.g. "DisplayText") to
15288	// unconditionally include in API requests. By default, fields with
15289	// empty or default values are omitted from API requests. However, any
15290	// non-pointer, non-interface field appearing in ForceSendFields will be
15291	// sent to the server regardless of whether the field is empty or not.
15292	// This may be used to include empty fields in Patch requests.
15293	ForceSendFields []string `json:"-"`
15294
15295	// NullFields is a list of field names (e.g. "DisplayText") to include
15296	// in API requests with the JSON null value. By default, fields with
15297	// empty values are omitted from API requests. However, any field with
15298	// an empty value appearing in NullFields will be sent to the server as
15299	// null. It is an error if a field in this list has a non-empty value.
15300	// This may be used to include null fields in Patch requests.
15301	NullFields []string `json:"-"`
15302}
15303
15304func (s *GoogleCloudDialogflowV2beta1IntentMessageSimpleResponse) MarshalJSON() ([]byte, error) {
15305	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageSimpleResponse
15306	raw := NoMethod(*s)
15307	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
15308}
15309
15310// GoogleCloudDialogflowV2beta1IntentMessageSimpleResponses: The
15311// collection of simple response candidates. This message in
15312// `QueryResult.fulfillment_messages` and
15313// `WebhookResponse.fulfillment_messages` should contain only one
15314// `SimpleResponse`.
15315type GoogleCloudDialogflowV2beta1IntentMessageSimpleResponses struct {
15316	// SimpleResponses: Required. The list of simple responses.
15317	SimpleResponses []*GoogleCloudDialogflowV2beta1IntentMessageSimpleResponse `json:"simpleResponses,omitempty"`
15318
15319	// ForceSendFields is a list of field names (e.g. "SimpleResponses") to
15320	// unconditionally include in API requests. By default, fields with
15321	// empty or default values are omitted from API requests. However, any
15322	// non-pointer, non-interface field appearing in ForceSendFields will be
15323	// sent to the server regardless of whether the field is empty or not.
15324	// This may be used to include empty fields in Patch requests.
15325	ForceSendFields []string `json:"-"`
15326
15327	// NullFields is a list of field names (e.g. "SimpleResponses") to
15328	// include in API requests with the JSON null value. By default, fields
15329	// with empty values are omitted from API requests. However, any field
15330	// with an empty value appearing in NullFields will be sent to the
15331	// server as null. It is an error if a field in this list has a
15332	// non-empty value. This may be used to include null fields in Patch
15333	// requests.
15334	NullFields []string `json:"-"`
15335}
15336
15337func (s *GoogleCloudDialogflowV2beta1IntentMessageSimpleResponses) MarshalJSON() ([]byte, error) {
15338	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageSimpleResponses
15339	raw := NoMethod(*s)
15340	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
15341}
15342
15343// GoogleCloudDialogflowV2beta1IntentMessageSuggestion: The suggestion
15344// chip message that the user can tap to quickly post a reply to the
15345// conversation.
15346type GoogleCloudDialogflowV2beta1IntentMessageSuggestion struct {
15347	// Title: Required. The text shown the in the suggestion chip.
15348	Title string `json:"title,omitempty"`
15349
15350	// ForceSendFields is a list of field names (e.g. "Title") to
15351	// unconditionally include in API requests. By default, fields with
15352	// empty or default values are omitted from API requests. However, any
15353	// non-pointer, non-interface field appearing in ForceSendFields will be
15354	// sent to the server regardless of whether the field is empty or not.
15355	// This may be used to include empty fields in Patch requests.
15356	ForceSendFields []string `json:"-"`
15357
15358	// NullFields is a list of field names (e.g. "Title") to include in API
15359	// requests with the JSON null value. By default, fields with empty
15360	// values are omitted from API requests. However, any field with an
15361	// empty value appearing in NullFields will be sent to the server as
15362	// null. It is an error if a field in this list has a non-empty value.
15363	// This may be used to include null fields in Patch requests.
15364	NullFields []string `json:"-"`
15365}
15366
15367func (s *GoogleCloudDialogflowV2beta1IntentMessageSuggestion) MarshalJSON() ([]byte, error) {
15368	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageSuggestion
15369	raw := NoMethod(*s)
15370	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
15371}
15372
15373// GoogleCloudDialogflowV2beta1IntentMessageSuggestions: The collection
15374// of suggestions.
15375type GoogleCloudDialogflowV2beta1IntentMessageSuggestions struct {
15376	// Suggestions: Required. The list of suggested replies.
15377	Suggestions []*GoogleCloudDialogflowV2beta1IntentMessageSuggestion `json:"suggestions,omitempty"`
15378
15379	// ForceSendFields is a list of field names (e.g. "Suggestions") to
15380	// unconditionally include in API requests. By default, fields with
15381	// empty or default values are omitted from API requests. However, any
15382	// non-pointer, non-interface field appearing in ForceSendFields will be
15383	// sent to the server regardless of whether the field is empty or not.
15384	// This may be used to include empty fields in Patch requests.
15385	ForceSendFields []string `json:"-"`
15386
15387	// NullFields is a list of field names (e.g. "Suggestions") to include
15388	// in API requests with the JSON null value. By default, fields with
15389	// empty values are omitted from API requests. However, any field with
15390	// an empty value appearing in NullFields will be sent to the server as
15391	// null. It is an error if a field in this list has a non-empty value.
15392	// This may be used to include null fields in Patch requests.
15393	NullFields []string `json:"-"`
15394}
15395
15396func (s *GoogleCloudDialogflowV2beta1IntentMessageSuggestions) MarshalJSON() ([]byte, error) {
15397	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageSuggestions
15398	raw := NoMethod(*s)
15399	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
15400}
15401
15402// GoogleCloudDialogflowV2beta1IntentMessageTableCard: Table card for
15403// Actions on Google.
15404type GoogleCloudDialogflowV2beta1IntentMessageTableCard struct {
15405	// Buttons: Optional. List of buttons for the card.
15406	Buttons []*GoogleCloudDialogflowV2beta1IntentMessageBasicCardButton `json:"buttons,omitempty"`
15407
15408	// ColumnProperties: Optional. Display properties for the columns in
15409	// this table.
15410	ColumnProperties []*GoogleCloudDialogflowV2beta1IntentMessageColumnProperties `json:"columnProperties,omitempty"`
15411
15412	// Image: Optional. Image which should be displayed on the card.
15413	Image *GoogleCloudDialogflowV2beta1IntentMessageImage `json:"image,omitempty"`
15414
15415	// Rows: Optional. Rows in this table of data.
15416	Rows []*GoogleCloudDialogflowV2beta1IntentMessageTableCardRow `json:"rows,omitempty"`
15417
15418	// Subtitle: Optional. Subtitle to the title.
15419	Subtitle string `json:"subtitle,omitempty"`
15420
15421	// Title: Required. Title of the card.
15422	Title string `json:"title,omitempty"`
15423
15424	// ForceSendFields is a list of field names (e.g. "Buttons") to
15425	// unconditionally include in API requests. By default, fields with
15426	// empty or default values are omitted from API requests. However, any
15427	// non-pointer, non-interface field appearing in ForceSendFields will be
15428	// sent to the server regardless of whether the field is empty or not.
15429	// This may be used to include empty fields in Patch requests.
15430	ForceSendFields []string `json:"-"`
15431
15432	// NullFields is a list of field names (e.g. "Buttons") to include in
15433	// API requests with the JSON null value. By default, fields with empty
15434	// values are omitted from API requests. However, any field with an
15435	// empty value appearing in NullFields will be sent to the server as
15436	// null. It is an error if a field in this list has a non-empty value.
15437	// This may be used to include null fields in Patch requests.
15438	NullFields []string `json:"-"`
15439}
15440
15441func (s *GoogleCloudDialogflowV2beta1IntentMessageTableCard) MarshalJSON() ([]byte, error) {
15442	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageTableCard
15443	raw := NoMethod(*s)
15444	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
15445}
15446
15447// GoogleCloudDialogflowV2beta1IntentMessageTableCardCell: Cell of
15448// TableCardRow.
15449type GoogleCloudDialogflowV2beta1IntentMessageTableCardCell struct {
15450	// Text: Required. Text in this cell.
15451	Text string `json:"text,omitempty"`
15452
15453	// ForceSendFields is a list of field names (e.g. "Text") to
15454	// unconditionally include in API requests. By default, fields with
15455	// empty or default values are omitted from API requests. However, any
15456	// non-pointer, non-interface field appearing in ForceSendFields will be
15457	// sent to the server regardless of whether the field is empty or not.
15458	// This may be used to include empty fields in Patch requests.
15459	ForceSendFields []string `json:"-"`
15460
15461	// NullFields is a list of field names (e.g. "Text") to include in API
15462	// requests with the JSON null value. By default, fields with empty
15463	// values are omitted from API requests. However, any field with an
15464	// empty value appearing in NullFields will be sent to the server as
15465	// null. It is an error if a field in this list has a non-empty value.
15466	// This may be used to include null fields in Patch requests.
15467	NullFields []string `json:"-"`
15468}
15469
15470func (s *GoogleCloudDialogflowV2beta1IntentMessageTableCardCell) MarshalJSON() ([]byte, error) {
15471	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageTableCardCell
15472	raw := NoMethod(*s)
15473	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
15474}
15475
15476// GoogleCloudDialogflowV2beta1IntentMessageTableCardRow: Row of
15477// TableCard.
15478type GoogleCloudDialogflowV2beta1IntentMessageTableCardRow struct {
15479	// Cells: Optional. List of cells that make up this row.
15480	Cells []*GoogleCloudDialogflowV2beta1IntentMessageTableCardCell `json:"cells,omitempty"`
15481
15482	// DividerAfter: Optional. Whether to add a visual divider after this
15483	// row.
15484	DividerAfter bool `json:"dividerAfter,omitempty"`
15485
15486	// ForceSendFields is a list of field names (e.g. "Cells") to
15487	// unconditionally include in API requests. By default, fields with
15488	// empty or default values are omitted from API requests. However, any
15489	// non-pointer, non-interface field appearing in ForceSendFields will be
15490	// sent to the server regardless of whether the field is empty or not.
15491	// This may be used to include empty fields in Patch requests.
15492	ForceSendFields []string `json:"-"`
15493
15494	// NullFields is a list of field names (e.g. "Cells") to include in API
15495	// requests with the JSON null value. By default, fields with empty
15496	// values are omitted from API requests. However, any field with an
15497	// empty value appearing in NullFields will be sent to the server as
15498	// null. It is an error if a field in this list has a non-empty value.
15499	// This may be used to include null fields in Patch requests.
15500	NullFields []string `json:"-"`
15501}
15502
15503func (s *GoogleCloudDialogflowV2beta1IntentMessageTableCardRow) MarshalJSON() ([]byte, error) {
15504	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageTableCardRow
15505	raw := NoMethod(*s)
15506	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
15507}
15508
15509// GoogleCloudDialogflowV2beta1IntentMessageTelephonyPlayAudio: Plays
15510// audio from a file in Telephony Gateway.
15511type GoogleCloudDialogflowV2beta1IntentMessageTelephonyPlayAudio struct {
15512	// AudioUri: Required. URI to a Google Cloud Storage object containing
15513	// the audio to play, e.g., "gs://bucket/object". The object must
15514	// contain a single channel (mono) of linear PCM audio (2 bytes /
15515	// sample) at 8kHz. This object must be readable by the
15516	// `service-@gcp-sa-dialogflow.iam.gserviceaccount.com` service account
15517	// where is the number of the Telephony Gateway project (usually the
15518	// same as the Dialogflow agent project). If the Google Cloud Storage
15519	// bucket is in the Telephony Gateway project, this permission is added
15520	// by default when enabling the Dialogflow V2 API. For audio from other
15521	// sources, consider using the `TelephonySynthesizeSpeech` message with
15522	// SSML.
15523	AudioUri string `json:"audioUri,omitempty"`
15524
15525	// ForceSendFields is a list of field names (e.g. "AudioUri") to
15526	// unconditionally include in API requests. By default, fields with
15527	// empty or default values are omitted from API requests. However, any
15528	// non-pointer, non-interface field appearing in ForceSendFields will be
15529	// sent to the server regardless of whether the field is empty or not.
15530	// This may be used to include empty fields in Patch requests.
15531	ForceSendFields []string `json:"-"`
15532
15533	// NullFields is a list of field names (e.g. "AudioUri") to include in
15534	// API requests with the JSON null value. By default, fields with empty
15535	// values are omitted from API requests. However, any field with an
15536	// empty value appearing in NullFields will be sent to the server as
15537	// null. It is an error if a field in this list has a non-empty value.
15538	// This may be used to include null fields in Patch requests.
15539	NullFields []string `json:"-"`
15540}
15541
15542func (s *GoogleCloudDialogflowV2beta1IntentMessageTelephonyPlayAudio) MarshalJSON() ([]byte, error) {
15543	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageTelephonyPlayAudio
15544	raw := NoMethod(*s)
15545	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
15546}
15547
15548// GoogleCloudDialogflowV2beta1IntentMessageTelephonySynthesizeSpeech:
15549// Synthesizes speech and plays back the synthesized audio to the caller
15550// in Telephony Gateway. Telephony Gateway takes the synthesizer
15551// settings from `DetectIntentResponse.output_audio_config` which can
15552// either be set at request-level or can come from the agent-level
15553// synthesizer config.
15554type GoogleCloudDialogflowV2beta1IntentMessageTelephonySynthesizeSpeech struct {
15555	// Ssml: The SSML to be synthesized. For more information, see SSML
15556	// (https://developers.google.com/actions/reference/ssml).
15557	Ssml string `json:"ssml,omitempty"`
15558
15559	// Text: The raw text to be synthesized.
15560	Text string `json:"text,omitempty"`
15561
15562	// ForceSendFields is a list of field names (e.g. "Ssml") to
15563	// unconditionally include in API requests. By default, fields with
15564	// empty or default values are omitted from API requests. However, any
15565	// non-pointer, non-interface field appearing in ForceSendFields will be
15566	// sent to the server regardless of whether the field is empty or not.
15567	// This may be used to include empty fields in Patch requests.
15568	ForceSendFields []string `json:"-"`
15569
15570	// NullFields is a list of field names (e.g. "Ssml") to include in API
15571	// requests with the JSON null value. By default, fields with empty
15572	// values are omitted from API requests. However, any field with an
15573	// empty value appearing in NullFields will be sent to the server as
15574	// null. It is an error if a field in this list has a non-empty value.
15575	// This may be used to include null fields in Patch requests.
15576	NullFields []string `json:"-"`
15577}
15578
15579func (s *GoogleCloudDialogflowV2beta1IntentMessageTelephonySynthesizeSpeech) MarshalJSON() ([]byte, error) {
15580	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageTelephonySynthesizeSpeech
15581	raw := NoMethod(*s)
15582	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
15583}
15584
15585// GoogleCloudDialogflowV2beta1IntentMessageTelephonyTransferCall:
15586// Transfers the call in Telephony Gateway.
15587type GoogleCloudDialogflowV2beta1IntentMessageTelephonyTransferCall struct {
15588	// PhoneNumber: Required. The phone number to transfer the call to in
15589	// E.164 format (https://en.wikipedia.org/wiki/E.164). We currently only
15590	// allow transferring to US numbers (+1xxxyyyzzzz).
15591	PhoneNumber string `json:"phoneNumber,omitempty"`
15592
15593	// ForceSendFields is a list of field names (e.g. "PhoneNumber") to
15594	// unconditionally include in API requests. By default, fields with
15595	// empty or default values are omitted from API requests. However, any
15596	// non-pointer, non-interface field appearing in ForceSendFields will be
15597	// sent to the server regardless of whether the field is empty or not.
15598	// This may be used to include empty fields in Patch requests.
15599	ForceSendFields []string `json:"-"`
15600
15601	// NullFields is a list of field names (e.g. "PhoneNumber") to include
15602	// in API requests with the JSON null value. By default, fields with
15603	// empty values are omitted from API requests. However, any field with
15604	// an empty value appearing in NullFields will be sent to the server as
15605	// null. It is an error if a field in this list has a non-empty value.
15606	// This may be used to include null fields in Patch requests.
15607	NullFields []string `json:"-"`
15608}
15609
15610func (s *GoogleCloudDialogflowV2beta1IntentMessageTelephonyTransferCall) MarshalJSON() ([]byte, error) {
15611	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageTelephonyTransferCall
15612	raw := NoMethod(*s)
15613	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
15614}
15615
15616// GoogleCloudDialogflowV2beta1IntentMessageText: The text response
15617// message.
15618type GoogleCloudDialogflowV2beta1IntentMessageText struct {
15619	// Text: Optional. The collection of the agent's responses.
15620	Text []string `json:"text,omitempty"`
15621
15622	// ForceSendFields is a list of field names (e.g. "Text") to
15623	// unconditionally include in API requests. By default, fields with
15624	// empty or default values are omitted from API requests. However, any
15625	// non-pointer, non-interface field appearing in ForceSendFields will be
15626	// sent to the server regardless of whether the field is empty or not.
15627	// This may be used to include empty fields in Patch requests.
15628	ForceSendFields []string `json:"-"`
15629
15630	// NullFields is a list of field names (e.g. "Text") to include in API
15631	// requests with the JSON null value. By default, fields with empty
15632	// values are omitted from API requests. However, any field with an
15633	// empty value appearing in NullFields will be sent to the server as
15634	// null. It is an error if a field in this list has a non-empty value.
15635	// This may be used to include null fields in Patch requests.
15636	NullFields []string `json:"-"`
15637}
15638
15639func (s *GoogleCloudDialogflowV2beta1IntentMessageText) MarshalJSON() ([]byte, error) {
15640	type NoMethod GoogleCloudDialogflowV2beta1IntentMessageText
15641	raw := NoMethod(*s)
15642	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
15643}
15644
15645// GoogleCloudDialogflowV2beta1IntentParameter: Represents intent
15646// parameters.
15647type GoogleCloudDialogflowV2beta1IntentParameter struct {
15648	// DefaultValue: Optional. The default value to use when the `value`
15649	// yields an empty result. Default values can be extracted from contexts
15650	// by using the following syntax: `#context_name.parameter_name`.
15651	DefaultValue string `json:"defaultValue,omitempty"`
15652
15653	// DisplayName: Required. The name of the parameter.
15654	DisplayName string `json:"displayName,omitempty"`
15655
15656	// EntityTypeDisplayName: Optional. The name of the entity type,
15657	// prefixed with `@`, that describes values of the parameter. If the
15658	// parameter is required, this must be provided.
15659	EntityTypeDisplayName string `json:"entityTypeDisplayName,omitempty"`
15660
15661	// IsList: Optional. Indicates whether the parameter represents a list
15662	// of values.
15663	IsList bool `json:"isList,omitempty"`
15664
15665	// Mandatory: Optional. Indicates whether the parameter is required.
15666	// That is, whether the intent cannot be completed without collecting
15667	// the parameter value.
15668	Mandatory bool `json:"mandatory,omitempty"`
15669
15670	// Name: The unique identifier of this parameter.
15671	Name string `json:"name,omitempty"`
15672
15673	// Prompts: Optional. The collection of prompts that the agent can
15674	// present to the user in order to collect a value for the parameter.
15675	Prompts []string `json:"prompts,omitempty"`
15676
15677	// Value: Optional. The definition of the parameter value. It can be: -
15678	// a constant string, - a parameter value defined as `$parameter_name`,
15679	// - an original parameter value defined as `$parameter_name.original`,
15680	// - a parameter value from some context defined as
15681	// `#context_name.parameter_name`.
15682	Value string `json:"value,omitempty"`
15683
15684	// ForceSendFields is a list of field names (e.g. "DefaultValue") to
15685	// unconditionally include in API requests. By default, fields with
15686	// empty or default values are omitted from API requests. However, any
15687	// non-pointer, non-interface field appearing in ForceSendFields will be
15688	// sent to the server regardless of whether the field is empty or not.
15689	// This may be used to include empty fields in Patch requests.
15690	ForceSendFields []string `json:"-"`
15691
15692	// NullFields is a list of field names (e.g. "DefaultValue") to include
15693	// in API requests with the JSON null value. By default, fields with
15694	// empty values are omitted from API requests. However, any field with
15695	// an empty value appearing in NullFields will be sent to the server as
15696	// null. It is an error if a field in this list has a non-empty value.
15697	// This may be used to include null fields in Patch requests.
15698	NullFields []string `json:"-"`
15699}
15700
15701func (s *GoogleCloudDialogflowV2beta1IntentParameter) MarshalJSON() ([]byte, error) {
15702	type NoMethod GoogleCloudDialogflowV2beta1IntentParameter
15703	raw := NoMethod(*s)
15704	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
15705}
15706
15707// GoogleCloudDialogflowV2beta1IntentTrainingPhrase: Represents an
15708// example that the agent is trained on.
15709type GoogleCloudDialogflowV2beta1IntentTrainingPhrase struct {
15710	// Name: Output only. The unique identifier of this training phrase.
15711	Name string `json:"name,omitempty"`
15712
15713	// Parts: Required. The ordered list of training phrase parts. The parts
15714	// are concatenated in order to form the training phrase. Note: The API
15715	// does not automatically annotate training phrases like the Dialogflow
15716	// Console does. Note: Do not forget to include whitespace at part
15717	// boundaries, so the training phrase is well formatted when the parts
15718	// are concatenated. If the training phrase does not need to be
15719	// annotated with parameters, you just need a single part with only the
15720	// Part.text field set. If you want to annotate the training phrase, you
15721	// must create multiple parts, where the fields of each part are
15722	// populated in one of two ways: - `Part.text` is set to a part of the
15723	// phrase that has no parameters. - `Part.text` is set to a part of the
15724	// phrase that you want to annotate, and the `entity_type`, `alias`, and
15725	// `user_defined` fields are all set.
15726	Parts []*GoogleCloudDialogflowV2beta1IntentTrainingPhrasePart `json:"parts,omitempty"`
15727
15728	// TimesAddedCount: Optional. Indicates how many times this example was
15729	// added to the intent. Each time a developer adds an existing sample by
15730	// editing an intent or training, this counter is increased.
15731	TimesAddedCount int64 `json:"timesAddedCount,omitempty"`
15732
15733	// Type: Required. The type of the training phrase.
15734	//
15735	// Possible values:
15736	//   "TYPE_UNSPECIFIED" - Not specified. This value should never be
15737	// used.
15738	//   "EXAMPLE" - Examples do not contain @-prefixed entity type names,
15739	// but example parts can be annotated with entity types.
15740	//   "TEMPLATE" - Templates are not annotated with entity types, but
15741	// they can contain @-prefixed entity type names as substrings. Template
15742	// mode has been deprecated. Example mode is the only supported way to
15743	// create new training phrases. If you have existing training phrases
15744	// that you've created in template mode, those will continue to work.
15745	Type string `json:"type,omitempty"`
15746
15747	// ForceSendFields is a list of field names (e.g. "Name") to
15748	// unconditionally include in API requests. By default, fields with
15749	// empty or default values are omitted from API requests. However, any
15750	// non-pointer, non-interface field appearing in ForceSendFields will be
15751	// sent to the server regardless of whether the field is empty or not.
15752	// This may be used to include empty fields in Patch requests.
15753	ForceSendFields []string `json:"-"`
15754
15755	// NullFields is a list of field names (e.g. "Name") to include in API
15756	// requests with the JSON null value. By default, fields with empty
15757	// values are omitted from API requests. However, any field with an
15758	// empty value appearing in NullFields will be sent to the server as
15759	// null. It is an error if a field in this list has a non-empty value.
15760	// This may be used to include null fields in Patch requests.
15761	NullFields []string `json:"-"`
15762}
15763
15764func (s *GoogleCloudDialogflowV2beta1IntentTrainingPhrase) MarshalJSON() ([]byte, error) {
15765	type NoMethod GoogleCloudDialogflowV2beta1IntentTrainingPhrase
15766	raw := NoMethod(*s)
15767	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
15768}
15769
15770// GoogleCloudDialogflowV2beta1IntentTrainingPhrasePart: Represents a
15771// part of a training phrase.
15772type GoogleCloudDialogflowV2beta1IntentTrainingPhrasePart struct {
15773	// Alias: Optional. The parameter name for the value extracted from the
15774	// annotated part of the example. This field is required for annotated
15775	// parts of the training phrase.
15776	Alias string `json:"alias,omitempty"`
15777
15778	// EntityType: Optional. The entity type name prefixed with `@`. This
15779	// field is required for annotated parts of the training phrase.
15780	EntityType string `json:"entityType,omitempty"`
15781
15782	// Text: Required. The text for this part.
15783	Text string `json:"text,omitempty"`
15784
15785	// UserDefined: Optional. Indicates whether the text was manually
15786	// annotated. This field is set to true when the Dialogflow Console is
15787	// used to manually annotate the part. When creating an annotated part
15788	// with the API, you must set this to true.
15789	UserDefined bool `json:"userDefined,omitempty"`
15790
15791	// ForceSendFields is a list of field names (e.g. "Alias") to
15792	// unconditionally include in API requests. By default, fields with
15793	// empty or default values are omitted from API requests. However, any
15794	// non-pointer, non-interface field appearing in ForceSendFields will be
15795	// sent to the server regardless of whether the field is empty or not.
15796	// This may be used to include empty fields in Patch requests.
15797	ForceSendFields []string `json:"-"`
15798
15799	// NullFields is a list of field names (e.g. "Alias") to include in API
15800	// requests with the JSON null value. By default, fields with empty
15801	// values are omitted from API requests. However, any field with an
15802	// empty value appearing in NullFields will be sent to the server as
15803	// null. It is an error if a field in this list has a non-empty value.
15804	// This may be used to include null fields in Patch requests.
15805	NullFields []string `json:"-"`
15806}
15807
15808func (s *GoogleCloudDialogflowV2beta1IntentTrainingPhrasePart) MarshalJSON() ([]byte, error) {
15809	type NoMethod GoogleCloudDialogflowV2beta1IntentTrainingPhrasePart
15810	raw := NoMethod(*s)
15811	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
15812}
15813
15814// GoogleCloudDialogflowV2beta1KnowledgeAnswers: Represents the result
15815// of querying a Knowledge base.
15816type GoogleCloudDialogflowV2beta1KnowledgeAnswers struct {
15817	// Answers: A list of answers from Knowledge Connector.
15818	Answers []*GoogleCloudDialogflowV2beta1KnowledgeAnswersAnswer `json:"answers,omitempty"`
15819
15820	// ForceSendFields is a list of field names (e.g. "Answers") to
15821	// unconditionally include in API requests. By default, fields with
15822	// empty or default values are omitted from API requests. However, any
15823	// non-pointer, non-interface field appearing in ForceSendFields will be
15824	// sent to the server regardless of whether the field is empty or not.
15825	// This may be used to include empty fields in Patch requests.
15826	ForceSendFields []string `json:"-"`
15827
15828	// NullFields is a list of field names (e.g. "Answers") to include in
15829	// API requests with the JSON null value. By default, fields with empty
15830	// values are omitted from API requests. However, any field with an
15831	// empty value appearing in NullFields will be sent to the server as
15832	// null. It is an error if a field in this list has a non-empty value.
15833	// This may be used to include null fields in Patch requests.
15834	NullFields []string `json:"-"`
15835}
15836
15837func (s *GoogleCloudDialogflowV2beta1KnowledgeAnswers) MarshalJSON() ([]byte, error) {
15838	type NoMethod GoogleCloudDialogflowV2beta1KnowledgeAnswers
15839	raw := NoMethod(*s)
15840	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
15841}
15842
15843// GoogleCloudDialogflowV2beta1KnowledgeAnswersAnswer: An answer from
15844// Knowledge Connector.
15845type GoogleCloudDialogflowV2beta1KnowledgeAnswersAnswer struct {
15846	// Answer: The piece of text from the `source` knowledge base document
15847	// that answers this conversational query.
15848	Answer string `json:"answer,omitempty"`
15849
15850	// FaqQuestion: The corresponding FAQ question if the answer was
15851	// extracted from a FAQ Document, empty otherwise.
15852	FaqQuestion string `json:"faqQuestion,omitempty"`
15853
15854	// MatchConfidence: The system's confidence score that this Knowledge
15855	// answer is a good match for this conversational query. The range is
15856	// from 0.0 (completely uncertain) to 1.0 (completely certain). Note:
15857	// The confidence score is likely to vary somewhat (possibly even for
15858	// identical requests), as the underlying model is under constant
15859	// improvement. It may be deprecated in the future. We recommend using
15860	// `match_confidence_level` which should be generally more stable.
15861	MatchConfidence float64 `json:"matchConfidence,omitempty"`
15862
15863	// MatchConfidenceLevel: The system's confidence level that this
15864	// knowledge answer is a good match for this conversational query. NOTE:
15865	// The confidence level for a given `` pair may change without notice,
15866	// as it depends on models that are constantly being improved. However,
15867	// it will change less frequently than the confidence score below, and
15868	// should be preferred for referencing the quality of an answer.
15869	//
15870	// Possible values:
15871	//   "MATCH_CONFIDENCE_LEVEL_UNSPECIFIED" - Not specified.
15872	//   "LOW" - Indicates that the confidence is low.
15873	//   "MEDIUM" - Indicates our confidence is medium.
15874	//   "HIGH" - Indicates our confidence is high.
15875	MatchConfidenceLevel string `json:"matchConfidenceLevel,omitempty"`
15876
15877	// Source: Indicates which Knowledge Document this answer was extracted
15878	// from. Format: `projects//knowledgeBases//documents/`.
15879	Source string `json:"source,omitempty"`
15880
15881	// ForceSendFields is a list of field names (e.g. "Answer") to
15882	// unconditionally include in API requests. By default, fields with
15883	// empty or default values are omitted from API requests. However, any
15884	// non-pointer, non-interface field appearing in ForceSendFields will be
15885	// sent to the server regardless of whether the field is empty or not.
15886	// This may be used to include empty fields in Patch requests.
15887	ForceSendFields []string `json:"-"`
15888
15889	// NullFields is a list of field names (e.g. "Answer") to include in API
15890	// requests with the JSON null value. By default, fields with empty
15891	// values are omitted from API requests. However, any field with an
15892	// empty value appearing in NullFields will be sent to the server as
15893	// null. It is an error if a field in this list has a non-empty value.
15894	// This may be used to include null fields in Patch requests.
15895	NullFields []string `json:"-"`
15896}
15897
15898func (s *GoogleCloudDialogflowV2beta1KnowledgeAnswersAnswer) MarshalJSON() ([]byte, error) {
15899	type NoMethod GoogleCloudDialogflowV2beta1KnowledgeAnswersAnswer
15900	raw := NoMethod(*s)
15901	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
15902}
15903
15904func (s *GoogleCloudDialogflowV2beta1KnowledgeAnswersAnswer) UnmarshalJSON(data []byte) error {
15905	type NoMethod GoogleCloudDialogflowV2beta1KnowledgeAnswersAnswer
15906	var s1 struct {
15907		MatchConfidence gensupport.JSONFloat64 `json:"matchConfidence"`
15908		*NoMethod
15909	}
15910	s1.NoMethod = (*NoMethod)(s)
15911	if err := json.Unmarshal(data, &s1); err != nil {
15912		return err
15913	}
15914	s.MatchConfidence = float64(s1.MatchConfidence)
15915	return nil
15916}
15917
15918// GoogleCloudDialogflowV2beta1KnowledgeOperationMetadata: Metadata in
15919// google::longrunning::Operation for Knowledge operations.
15920type GoogleCloudDialogflowV2beta1KnowledgeOperationMetadata struct {
15921	// State: Required. Output only. The current state of this operation.
15922	//
15923	// Possible values:
15924	//   "STATE_UNSPECIFIED" - State unspecified.
15925	//   "PENDING" - The operation has been created.
15926	//   "RUNNING" - The operation is currently running.
15927	//   "DONE" - The operation is done, either cancelled or completed.
15928	State string `json:"state,omitempty"`
15929
15930	// ForceSendFields is a list of field names (e.g. "State") to
15931	// unconditionally include in API requests. By default, fields with
15932	// empty or default values are omitted from API requests. However, any
15933	// non-pointer, non-interface field appearing in ForceSendFields will be
15934	// sent to the server regardless of whether the field is empty or not.
15935	// This may be used to include empty fields in Patch requests.
15936	ForceSendFields []string `json:"-"`
15937
15938	// NullFields is a list of field names (e.g. "State") to include in API
15939	// requests with the JSON null value. By default, fields with empty
15940	// values are omitted from API requests. However, any field with an
15941	// empty value appearing in NullFields will be sent to the server as
15942	// null. It is an error if a field in this list has a non-empty value.
15943	// This may be used to include null fields in Patch requests.
15944	NullFields []string `json:"-"`
15945}
15946
15947func (s *GoogleCloudDialogflowV2beta1KnowledgeOperationMetadata) MarshalJSON() ([]byte, error) {
15948	type NoMethod GoogleCloudDialogflowV2beta1KnowledgeOperationMetadata
15949	raw := NoMethod(*s)
15950	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
15951}
15952
15953// GoogleCloudDialogflowV2beta1Message: Represents a message posted into
15954// a conversation.
15955type GoogleCloudDialogflowV2beta1Message struct {
15956	// Content: Required. The message content.
15957	Content string `json:"content,omitempty"`
15958
15959	// CreateTime: Output only. The time when the message was created in
15960	// Contact Center AI.
15961	CreateTime string `json:"createTime,omitempty"`
15962
15963	// LanguageCode: Optional. The message language. This should be a BCP-47
15964	// (https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. Example:
15965	// "en-US".
15966	LanguageCode string `json:"languageCode,omitempty"`
15967
15968	// MessageAnnotation: Output only. The annotation for the message.
15969	MessageAnnotation *GoogleCloudDialogflowV2beta1MessageAnnotation `json:"messageAnnotation,omitempty"`
15970
15971	// Name: Optional. The unique identifier of the message. Format:
15972	// `projects//locations//conversations//messages/`.
15973	Name string `json:"name,omitempty"`
15974
15975	// Participant: Output only. The participant that sends this message.
15976	Participant string `json:"participant,omitempty"`
15977
15978	// ParticipantRole: Output only. The role of the participant.
15979	//
15980	// Possible values:
15981	//   "ROLE_UNSPECIFIED" - Participant role not set.
15982	//   "HUMAN_AGENT" - Participant is a human agent.
15983	//   "AUTOMATED_AGENT" - Participant is an automated agent, such as a
15984	// Dialogflow agent.
15985	//   "END_USER" - Participant is an end user that has called or chatted
15986	// with Dialogflow services.
15987	ParticipantRole string `json:"participantRole,omitempty"`
15988
15989	// SendTime: Optional. The time when the message was sent.
15990	SendTime string `json:"sendTime,omitempty"`
15991
15992	// SentimentAnalysis: Output only. The sentiment analysis result for the
15993	// message.
15994	SentimentAnalysis *GoogleCloudDialogflowV2beta1SentimentAnalysisResult `json:"sentimentAnalysis,omitempty"`
15995
15996	// ForceSendFields is a list of field names (e.g. "Content") to
15997	// unconditionally include in API requests. By default, fields with
15998	// empty or default values are omitted from API requests. However, any
15999	// non-pointer, non-interface field appearing in ForceSendFields will be
16000	// sent to the server regardless of whether the field is empty or not.
16001	// This may be used to include empty fields in Patch requests.
16002	ForceSendFields []string `json:"-"`
16003
16004	// NullFields is a list of field names (e.g. "Content") to include in
16005	// API requests with the JSON null value. By default, fields with empty
16006	// values are omitted from API requests. However, any field with an
16007	// empty value appearing in NullFields will be sent to the server as
16008	// null. It is an error if a field in this list has a non-empty value.
16009	// This may be used to include null fields in Patch requests.
16010	NullFields []string `json:"-"`
16011}
16012
16013func (s *GoogleCloudDialogflowV2beta1Message) MarshalJSON() ([]byte, error) {
16014	type NoMethod GoogleCloudDialogflowV2beta1Message
16015	raw := NoMethod(*s)
16016	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
16017}
16018
16019// GoogleCloudDialogflowV2beta1MessageAnnotation: Represents the result
16020// of annotation for the message.
16021type GoogleCloudDialogflowV2beta1MessageAnnotation struct {
16022	// ContainEntities: Required. Indicates whether the text message
16023	// contains entities.
16024	ContainEntities bool `json:"containEntities,omitempty"`
16025
16026	// Parts: Optional. The collection of annotated message parts ordered by
16027	// their position in the message. You can recover the annotated message
16028	// by concatenating [AnnotatedMessagePart.text].
16029	Parts []*GoogleCloudDialogflowV2beta1AnnotatedMessagePart `json:"parts,omitempty"`
16030
16031	// ForceSendFields is a list of field names (e.g. "ContainEntities") to
16032	// unconditionally include in API requests. By default, fields with
16033	// empty or default values are omitted from API requests. However, any
16034	// non-pointer, non-interface field appearing in ForceSendFields will be
16035	// sent to the server regardless of whether the field is empty or not.
16036	// This may be used to include empty fields in Patch requests.
16037	ForceSendFields []string `json:"-"`
16038
16039	// NullFields is a list of field names (e.g. "ContainEntities") to
16040	// include in API requests with the JSON null value. By default, fields
16041	// with empty values are omitted from API requests. However, any field
16042	// with an empty value appearing in NullFields will be sent to the
16043	// server as null. It is an error if a field in this list has a
16044	// non-empty value. This may be used to include null fields in Patch
16045	// requests.
16046	NullFields []string `json:"-"`
16047}
16048
16049func (s *GoogleCloudDialogflowV2beta1MessageAnnotation) MarshalJSON() ([]byte, error) {
16050	type NoMethod GoogleCloudDialogflowV2beta1MessageAnnotation
16051	raw := NoMethod(*s)
16052	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
16053}
16054
16055// GoogleCloudDialogflowV2beta1OriginalDetectIntentRequest: Represents
16056// the contents of the original request that was passed to the
16057// `[Streaming]DetectIntent` call.
16058type GoogleCloudDialogflowV2beta1OriginalDetectIntentRequest struct {
16059	// Payload: Optional. This field is set to the value of the
16060	// `QueryParameters.payload` field passed in the request. Some
16061	// integrations that query a Dialogflow agent may provide additional
16062	// information in the payload. In particular, for the Dialogflow Phone
16063	// Gateway integration, this field has the form: { "telephony": {
16064	// "caller_id": "+18558363987" } } Note: The caller ID field
16065	// (`caller_id`) will be redacted for Trial Edition agents and populated
16066	// with the caller ID in E.164 format
16067	// (https://en.wikipedia.org/wiki/E.164) for Essentials Edition agents.
16068	Payload googleapi.RawMessage `json:"payload,omitempty"`
16069
16070	// Source: The source of this request, e.g., `google`, `facebook`,
16071	// `slack`. It is set by Dialogflow-owned servers.
16072	Source string `json:"source,omitempty"`
16073
16074	// Version: Optional. The version of the protocol used for this request.
16075	// This field is AoG-specific.
16076	Version string `json:"version,omitempty"`
16077
16078	// ForceSendFields is a list of field names (e.g. "Payload") to
16079	// unconditionally include in API requests. By default, fields with
16080	// empty or default values are omitted from API requests. However, any
16081	// non-pointer, non-interface field appearing in ForceSendFields will be
16082	// sent to the server regardless of whether the field is empty or not.
16083	// This may be used to include empty fields in Patch requests.
16084	ForceSendFields []string `json:"-"`
16085
16086	// NullFields is a list of field names (e.g. "Payload") to include in
16087	// API requests with the JSON null value. By default, fields with empty
16088	// values are omitted from API requests. However, any field with an
16089	// empty value appearing in NullFields will be sent to the server as
16090	// null. It is an error if a field in this list has a non-empty value.
16091	// This may be used to include null fields in Patch requests.
16092	NullFields []string `json:"-"`
16093}
16094
16095func (s *GoogleCloudDialogflowV2beta1OriginalDetectIntentRequest) MarshalJSON() ([]byte, error) {
16096	type NoMethod GoogleCloudDialogflowV2beta1OriginalDetectIntentRequest
16097	raw := NoMethod(*s)
16098	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
16099}
16100
16101// GoogleCloudDialogflowV2beta1QueryResult: Represents the result of
16102// conversational query or event processing.
16103type GoogleCloudDialogflowV2beta1QueryResult struct {
16104	// Action: The action name from the matched intent.
16105	Action string `json:"action,omitempty"`
16106
16107	// AllRequiredParamsPresent: This field is set to: - `false` if the
16108	// matched intent has required parameters and not all of the required
16109	// parameter values have been collected. - `true` if all required
16110	// parameter values have been collected, or if the matched intent
16111	// doesn't contain any required parameters.
16112	AllRequiredParamsPresent bool `json:"allRequiredParamsPresent,omitempty"`
16113
16114	// CancelsSlotFilling: Indicates whether the conversational query
16115	// triggers a cancellation for slot filling.
16116	CancelsSlotFilling bool `json:"cancelsSlotFilling,omitempty"`
16117
16118	// DiagnosticInfo: Free-form diagnostic information for the associated
16119	// detect intent request. The fields of this data can change without
16120	// notice, so you should not write code that depends on its structure.
16121	// The data may contain: - webhook call latency - webhook errors
16122	DiagnosticInfo googleapi.RawMessage `json:"diagnosticInfo,omitempty"`
16123
16124	// FulfillmentMessages: The collection of rich messages to present to
16125	// the user.
16126	FulfillmentMessages []*GoogleCloudDialogflowV2beta1IntentMessage `json:"fulfillmentMessages,omitempty"`
16127
16128	// FulfillmentText: The text to be pronounced to the user or shown on
16129	// the screen. Note: This is a legacy field, `fulfillment_messages`
16130	// should be preferred.
16131	FulfillmentText string `json:"fulfillmentText,omitempty"`
16132
16133	// Intent: The intent that matched the conversational query. Some, not
16134	// all fields are filled in this message, including but not limited to:
16135	// `name`, `display_name`, `end_interaction` and `is_fallback`.
16136	Intent *GoogleCloudDialogflowV2beta1Intent `json:"intent,omitempty"`
16137
16138	// IntentDetectionConfidence: The intent detection confidence. Values
16139	// range from 0.0 (completely uncertain) to 1.0 (completely certain).
16140	// This value is for informational purpose only and is only used to help
16141	// match the best intent within the classification threshold. This value
16142	// may change for the same end-user expression at any time due to a
16143	// model retraining or change in implementation. If there are `multiple
16144	// knowledge_answers` messages, this value is set to the greatest
16145	// `knowledgeAnswers.match_confidence` value in the list.
16146	IntentDetectionConfidence float64 `json:"intentDetectionConfidence,omitempty"`
16147
16148	// KnowledgeAnswers: The result from Knowledge Connector (if any),
16149	// ordered by decreasing `KnowledgeAnswers.match_confidence`.
16150	KnowledgeAnswers *GoogleCloudDialogflowV2beta1KnowledgeAnswers `json:"knowledgeAnswers,omitempty"`
16151
16152	// LanguageCode: The language that was triggered during intent
16153	// detection. See Language Support
16154	// (https://cloud.google.com/dialogflow/docs/reference/language) for a
16155	// list of the currently supported language codes.
16156	LanguageCode string `json:"languageCode,omitempty"`
16157
16158	// OutputContexts: The collection of output contexts. If applicable,
16159	// `output_contexts.parameters` contains entries with name `.original`
16160	// containing the original parameter values before the query.
16161	OutputContexts []*GoogleCloudDialogflowV2beta1Context `json:"outputContexts,omitempty"`
16162
16163	// Parameters: The collection of extracted parameters. Depending on your
16164	// protocol or client library language, this is a map, associative
16165	// array, symbol table, dictionary, or JSON object composed of a
16166	// collection of (MapKey, MapValue) pairs: - MapKey type: string -
16167	// MapKey value: parameter name - MapValue type: - If parameter's entity
16168	// type is a composite entity: map - Else: depending on parameter value
16169	// type, could be one of string, number, boolean, null, list or map -
16170	// MapValue value: - If parameter's entity type is a composite entity:
16171	// map from composite entity property names to property values - Else:
16172	// parameter value
16173	Parameters googleapi.RawMessage `json:"parameters,omitempty"`
16174
16175	// QueryText: The original conversational query text: - If natural
16176	// language text was provided as input, `query_text` contains a copy of
16177	// the input. - If natural language speech audio was provided as input,
16178	// `query_text` contains the speech recognition result. If speech
16179	// recognizer produced multiple alternatives, a particular one is
16180	// picked. - If automatic spell correction is enabled, `query_text` will
16181	// contain the corrected user input.
16182	QueryText string `json:"queryText,omitempty"`
16183
16184	// SentimentAnalysisResult: The sentiment analysis result, which depends
16185	// on the `sentiment_analysis_request_config` specified in the request.
16186	SentimentAnalysisResult *GoogleCloudDialogflowV2beta1SentimentAnalysisResult `json:"sentimentAnalysisResult,omitempty"`
16187
16188	// SpeechRecognitionConfidence: The Speech recognition confidence
16189	// between 0.0 and 1.0. A higher number indicates an estimated greater
16190	// likelihood that the recognized words are correct. The default of 0.0
16191	// is a sentinel value indicating that confidence was not set. This
16192	// field is not guaranteed to be accurate or set. In particular this
16193	// field isn't set for StreamingDetectIntent since the streaming
16194	// endpoint has separate confidence estimates per portion of the audio
16195	// in StreamingRecognitionResult.
16196	SpeechRecognitionConfidence float64 `json:"speechRecognitionConfidence,omitempty"`
16197
16198	// WebhookPayload: If the query was fulfilled by a webhook call, this
16199	// field is set to the value of the `payload` field returned in the
16200	// webhook response.
16201	WebhookPayload googleapi.RawMessage `json:"webhookPayload,omitempty"`
16202
16203	// WebhookSource: If the query was fulfilled by a webhook call, this
16204	// field is set to the value of the `source` field returned in the
16205	// webhook response.
16206	WebhookSource string `json:"webhookSource,omitempty"`
16207
16208	// ForceSendFields is a list of field names (e.g. "Action") to
16209	// unconditionally include in API requests. By default, fields with
16210	// empty or default values are omitted from API requests. However, any
16211	// non-pointer, non-interface field appearing in ForceSendFields will be
16212	// sent to the server regardless of whether the field is empty or not.
16213	// This may be used to include empty fields in Patch requests.
16214	ForceSendFields []string `json:"-"`
16215
16216	// NullFields is a list of field names (e.g. "Action") to include in API
16217	// requests with the JSON null value. By default, fields with empty
16218	// values are omitted from API requests. However, any field with an
16219	// empty value appearing in NullFields will be sent to the server as
16220	// null. It is an error if a field in this list has a non-empty value.
16221	// This may be used to include null fields in Patch requests.
16222	NullFields []string `json:"-"`
16223}
16224
16225func (s *GoogleCloudDialogflowV2beta1QueryResult) MarshalJSON() ([]byte, error) {
16226	type NoMethod GoogleCloudDialogflowV2beta1QueryResult
16227	raw := NoMethod(*s)
16228	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
16229}
16230
16231func (s *GoogleCloudDialogflowV2beta1QueryResult) UnmarshalJSON(data []byte) error {
16232	type NoMethod GoogleCloudDialogflowV2beta1QueryResult
16233	var s1 struct {
16234		IntentDetectionConfidence   gensupport.JSONFloat64 `json:"intentDetectionConfidence"`
16235		SpeechRecognitionConfidence gensupport.JSONFloat64 `json:"speechRecognitionConfidence"`
16236		*NoMethod
16237	}
16238	s1.NoMethod = (*NoMethod)(s)
16239	if err := json.Unmarshal(data, &s1); err != nil {
16240		return err
16241	}
16242	s.IntentDetectionConfidence = float64(s1.IntentDetectionConfidence)
16243	s.SpeechRecognitionConfidence = float64(s1.SpeechRecognitionConfidence)
16244	return nil
16245}
16246
16247// GoogleCloudDialogflowV2beta1Sentiment: The sentiment, such as
16248// positive/negative feeling or association, for a unit of analysis,
16249// such as the query text.
16250type GoogleCloudDialogflowV2beta1Sentiment struct {
16251	// Magnitude: A non-negative number in the [0, +inf) range, which
16252	// represents the absolute magnitude of sentiment, regardless of score
16253	// (positive or negative).
16254	Magnitude float64 `json:"magnitude,omitempty"`
16255
16256	// Score: Sentiment score between -1.0 (negative sentiment) and 1.0
16257	// (positive sentiment).
16258	Score float64 `json:"score,omitempty"`
16259
16260	// ForceSendFields is a list of field names (e.g. "Magnitude") to
16261	// unconditionally include in API requests. By default, fields with
16262	// empty or default values are omitted from API requests. However, any
16263	// non-pointer, non-interface field appearing in ForceSendFields will be
16264	// sent to the server regardless of whether the field is empty or not.
16265	// This may be used to include empty fields in Patch requests.
16266	ForceSendFields []string `json:"-"`
16267
16268	// NullFields is a list of field names (e.g. "Magnitude") to include in
16269	// API requests with the JSON null value. By default, fields with empty
16270	// values are omitted from API requests. However, any field with an
16271	// empty value appearing in NullFields will be sent to the server as
16272	// null. It is an error if a field in this list has a non-empty value.
16273	// This may be used to include null fields in Patch requests.
16274	NullFields []string `json:"-"`
16275}
16276
16277func (s *GoogleCloudDialogflowV2beta1Sentiment) MarshalJSON() ([]byte, error) {
16278	type NoMethod GoogleCloudDialogflowV2beta1Sentiment
16279	raw := NoMethod(*s)
16280	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
16281}
16282
16283func (s *GoogleCloudDialogflowV2beta1Sentiment) UnmarshalJSON(data []byte) error {
16284	type NoMethod GoogleCloudDialogflowV2beta1Sentiment
16285	var s1 struct {
16286		Magnitude gensupport.JSONFloat64 `json:"magnitude"`
16287		Score     gensupport.JSONFloat64 `json:"score"`
16288		*NoMethod
16289	}
16290	s1.NoMethod = (*NoMethod)(s)
16291	if err := json.Unmarshal(data, &s1); err != nil {
16292		return err
16293	}
16294	s.Magnitude = float64(s1.Magnitude)
16295	s.Score = float64(s1.Score)
16296	return nil
16297}
16298
16299// GoogleCloudDialogflowV2beta1SentimentAnalysisResult: The result of
16300// sentiment analysis. Sentiment analysis inspects user input and
16301// identifies the prevailing subjective opinion, especially to determine
16302// a user's attitude as positive, negative, or neutral. For
16303// Participants.DetectIntent, it needs to be configured in
16304// DetectIntentRequest.query_params. For
16305// Participants.StreamingDetectIntent, it needs to be configured in
16306// StreamingDetectIntentRequest.query_params. And for
16307// Participants.AnalyzeContent and Participants.StreamingAnalyzeContent,
16308// it needs to be configured in
16309// ConversationProfile.human_agent_assistant_config
16310type GoogleCloudDialogflowV2beta1SentimentAnalysisResult struct {
16311	// QueryTextSentiment: The sentiment analysis result for `query_text`.
16312	QueryTextSentiment *GoogleCloudDialogflowV2beta1Sentiment `json:"queryTextSentiment,omitempty"`
16313
16314	// ForceSendFields is a list of field names (e.g. "QueryTextSentiment")
16315	// to unconditionally include in API requests. By default, fields with
16316	// empty or default values are omitted from API requests. However, any
16317	// non-pointer, non-interface field appearing in ForceSendFields will be
16318	// sent to the server regardless of whether the field is empty or not.
16319	// This may be used to include empty fields in Patch requests.
16320	ForceSendFields []string `json:"-"`
16321
16322	// NullFields is a list of field names (e.g. "QueryTextSentiment") to
16323	// include in API requests with the JSON null value. By default, fields
16324	// with empty values are omitted from API requests. However, any field
16325	// with an empty value appearing in NullFields will be sent to the
16326	// server as null. It is an error if a field in this list has a
16327	// non-empty value. This may be used to include null fields in Patch
16328	// requests.
16329	NullFields []string `json:"-"`
16330}
16331
16332func (s *GoogleCloudDialogflowV2beta1SentimentAnalysisResult) MarshalJSON() ([]byte, error) {
16333	type NoMethod GoogleCloudDialogflowV2beta1SentimentAnalysisResult
16334	raw := NoMethod(*s)
16335	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
16336}
16337
16338// GoogleCloudDialogflowV2beta1SessionEntityType: A session represents a
16339// conversation between a Dialogflow agent and an end-user. You can
16340// create special entities, called session entities, during a session.
16341// Session entities can extend or replace custom entity types and only
16342// exist during the session that they were created for. All session
16343// data, including session entities, is stored by Dialogflow for 20
16344// minutes. For more information, see the session entity guide
16345// (https://cloud.google.com/dialogflow/docs/entities-session).
16346type GoogleCloudDialogflowV2beta1SessionEntityType struct {
16347	// Entities: Required. The collection of entities associated with this
16348	// session entity type.
16349	Entities []*GoogleCloudDialogflowV2beta1EntityTypeEntity `json:"entities,omitempty"`
16350
16351	// EntityOverrideMode: Required. Indicates whether the additional data
16352	// should override or supplement the custom entity type definition.
16353	//
16354	// Possible values:
16355	//   "ENTITY_OVERRIDE_MODE_UNSPECIFIED" - Not specified. This value
16356	// should be never used.
16357	//   "ENTITY_OVERRIDE_MODE_OVERRIDE" - The collection of session
16358	// entities overrides the collection of entities in the corresponding
16359	// custom entity type.
16360	//   "ENTITY_OVERRIDE_MODE_SUPPLEMENT" - The collection of session
16361	// entities extends the collection of entities in the corresponding
16362	// custom entity type. Note: Even in this override mode calls to
16363	// `ListSessionEntityTypes`, `GetSessionEntityType`,
16364	// `CreateSessionEntityType` and `UpdateSessionEntityType` only return
16365	// the additional entities added in this session entity type. If you
16366	// want to get the supplemented list, please call
16367	// EntityTypes.GetEntityType on the custom entity type and merge.
16368	EntityOverrideMode string `json:"entityOverrideMode,omitempty"`
16369
16370	// Name: Required. The unique identifier of this session entity type.
16371	// Supported formats: - `projects//agent/sessions//entityTypes/` -
16372	// `projects//locations//agent/sessions//entityTypes/` -
16373	// `projects//agent/environments//users//sessions//entityTypes/` -
16374	// `projects//locations//agent/environments/
16375	// /users//sessions//entityTypes/` If `Location ID` is not specified we
16376	// assume default 'us' location. If `Environment ID` is not specified,
16377	// we assume default 'draft' environment. If `User ID` is not specified,
16378	// we assume default '-' user. `` must be the display name of an
16379	// existing entity type in the same agent that will be overridden or
16380	// supplemented.
16381	Name string `json:"name,omitempty"`
16382
16383	// ForceSendFields is a list of field names (e.g. "Entities") to
16384	// unconditionally include in API requests. By default, fields with
16385	// empty or default values are omitted from API requests. However, any
16386	// non-pointer, non-interface field appearing in ForceSendFields will be
16387	// sent to the server regardless of whether the field is empty or not.
16388	// This may be used to include empty fields in Patch requests.
16389	ForceSendFields []string `json:"-"`
16390
16391	// NullFields is a list of field names (e.g. "Entities") to include in
16392	// API requests with the JSON null value. By default, fields with empty
16393	// values are omitted from API requests. However, any field with an
16394	// empty value appearing in NullFields will be sent to the server as
16395	// null. It is an error if a field in this list has a non-empty value.
16396	// This may be used to include null fields in Patch requests.
16397	NullFields []string `json:"-"`
16398}
16399
16400func (s *GoogleCloudDialogflowV2beta1SessionEntityType) MarshalJSON() ([]byte, error) {
16401	type NoMethod GoogleCloudDialogflowV2beta1SessionEntityType
16402	raw := NoMethod(*s)
16403	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
16404}
16405
16406// GoogleCloudDialogflowV2beta1SmartReplyAnswer: Represents a smart
16407// reply answer.
16408type GoogleCloudDialogflowV2beta1SmartReplyAnswer struct {
16409	// AnswerRecord: The name of answer record, in the format of
16410	// "projects//locations//answerRecords/"
16411	AnswerRecord string `json:"answerRecord,omitempty"`
16412
16413	// Confidence: Smart reply confidence. The system's confidence score
16414	// that this reply is a good match for this conversation, as a value
16415	// from 0.0 (completely uncertain) to 1.0 (completely certain).
16416	Confidence float64 `json:"confidence,omitempty"`
16417
16418	// Reply: The content of the reply.
16419	Reply string `json:"reply,omitempty"`
16420
16421	// ForceSendFields is a list of field names (e.g. "AnswerRecord") to
16422	// unconditionally include in API requests. By default, fields with
16423	// empty or default values are omitted from API requests. However, any
16424	// non-pointer, non-interface field appearing in ForceSendFields will be
16425	// sent to the server regardless of whether the field is empty or not.
16426	// This may be used to include empty fields in Patch requests.
16427	ForceSendFields []string `json:"-"`
16428
16429	// NullFields is a list of field names (e.g. "AnswerRecord") to include
16430	// in API requests with the JSON null value. By default, fields with
16431	// empty values are omitted from API requests. However, any field with
16432	// an empty value appearing in NullFields will be sent to the server as
16433	// null. It is an error if a field in this list has a non-empty value.
16434	// This may be used to include null fields in Patch requests.
16435	NullFields []string `json:"-"`
16436}
16437
16438func (s *GoogleCloudDialogflowV2beta1SmartReplyAnswer) MarshalJSON() ([]byte, error) {
16439	type NoMethod GoogleCloudDialogflowV2beta1SmartReplyAnswer
16440	raw := NoMethod(*s)
16441	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
16442}
16443
16444func (s *GoogleCloudDialogflowV2beta1SmartReplyAnswer) UnmarshalJSON(data []byte) error {
16445	type NoMethod GoogleCloudDialogflowV2beta1SmartReplyAnswer
16446	var s1 struct {
16447		Confidence gensupport.JSONFloat64 `json:"confidence"`
16448		*NoMethod
16449	}
16450	s1.NoMethod = (*NoMethod)(s)
16451	if err := json.Unmarshal(data, &s1); err != nil {
16452		return err
16453	}
16454	s.Confidence = float64(s1.Confidence)
16455	return nil
16456}
16457
16458// GoogleCloudDialogflowV2beta1SuggestArticlesResponse: The response
16459// message for Participants.SuggestArticles.
16460type GoogleCloudDialogflowV2beta1SuggestArticlesResponse struct {
16461	// ArticleAnswers: Output only. Articles ordered by score in descending
16462	// order.
16463	ArticleAnswers []*GoogleCloudDialogflowV2beta1ArticleAnswer `json:"articleAnswers,omitempty"`
16464
16465	// ContextSize: Number of messages prior to and including latest_message
16466	// to compile the suggestion. It may be smaller than the
16467	// SuggestArticlesResponse.context_size field in the request if there
16468	// aren't that many messages in the conversation.
16469	ContextSize int64 `json:"contextSize,omitempty"`
16470
16471	// LatestMessage: The name of the latest conversation message used to
16472	// compile suggestion for. Format:
16473	// `projects//locations//conversations//messages/`.
16474	LatestMessage string `json:"latestMessage,omitempty"`
16475
16476	// ForceSendFields is a list of field names (e.g. "ArticleAnswers") to
16477	// unconditionally include in API requests. By default, fields with
16478	// empty or default values are omitted from API requests. However, any
16479	// non-pointer, non-interface field appearing in ForceSendFields will be
16480	// sent to the server regardless of whether the field is empty or not.
16481	// This may be used to include empty fields in Patch requests.
16482	ForceSendFields []string `json:"-"`
16483
16484	// NullFields is a list of field names (e.g. "ArticleAnswers") to
16485	// include in API requests with the JSON null value. By default, fields
16486	// with empty values are omitted from API requests. However, any field
16487	// with an empty value appearing in NullFields will be sent to the
16488	// server as null. It is an error if a field in this list has a
16489	// non-empty value. This may be used to include null fields in Patch
16490	// requests.
16491	NullFields []string `json:"-"`
16492}
16493
16494func (s *GoogleCloudDialogflowV2beta1SuggestArticlesResponse) MarshalJSON() ([]byte, error) {
16495	type NoMethod GoogleCloudDialogflowV2beta1SuggestArticlesResponse
16496	raw := NoMethod(*s)
16497	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
16498}
16499
16500// GoogleCloudDialogflowV2beta1SuggestFaqAnswersResponse: The request
16501// message for Participants.SuggestFaqAnswers.
16502type GoogleCloudDialogflowV2beta1SuggestFaqAnswersResponse struct {
16503	// ContextSize: Number of messages prior to and including latest_message
16504	// to compile the suggestion. It may be smaller than the
16505	// SuggestFaqAnswersRequest.context_size field in the request if there
16506	// aren't that many messages in the conversation.
16507	ContextSize int64 `json:"contextSize,omitempty"`
16508
16509	// FaqAnswers: Output only. Answers extracted from FAQ documents.
16510	FaqAnswers []*GoogleCloudDialogflowV2beta1FaqAnswer `json:"faqAnswers,omitempty"`
16511
16512	// LatestMessage: The name of the latest conversation message used to
16513	// compile suggestion for. Format:
16514	// `projects//locations//conversations//messages/`.
16515	LatestMessage string `json:"latestMessage,omitempty"`
16516
16517	// ForceSendFields is a list of field names (e.g. "ContextSize") to
16518	// unconditionally include in API requests. By default, fields with
16519	// empty or default values are omitted from API requests. However, any
16520	// non-pointer, non-interface field appearing in ForceSendFields will be
16521	// sent to the server regardless of whether the field is empty or not.
16522	// This may be used to include empty fields in Patch requests.
16523	ForceSendFields []string `json:"-"`
16524
16525	// NullFields is a list of field names (e.g. "ContextSize") to include
16526	// in API requests with the JSON null value. By default, fields with
16527	// empty values are omitted from API requests. However, any field with
16528	// an empty value appearing in NullFields will be sent to the server as
16529	// null. It is an error if a field in this list has a non-empty value.
16530	// This may be used to include null fields in Patch requests.
16531	NullFields []string `json:"-"`
16532}
16533
16534func (s *GoogleCloudDialogflowV2beta1SuggestFaqAnswersResponse) MarshalJSON() ([]byte, error) {
16535	type NoMethod GoogleCloudDialogflowV2beta1SuggestFaqAnswersResponse
16536	raw := NoMethod(*s)
16537	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
16538}
16539
16540// GoogleCloudDialogflowV2beta1SuggestSmartRepliesResponse: The response
16541// message for Participants.SuggestSmartReplies.
16542type GoogleCloudDialogflowV2beta1SuggestSmartRepliesResponse struct {
16543	// ContextSize: Number of messages prior to and including latest_message
16544	// to compile the suggestion. It may be smaller than the
16545	// SuggestSmartRepliesRequest.context_size field in the request if there
16546	// aren't that many messages in the conversation.
16547	ContextSize int64 `json:"contextSize,omitempty"`
16548
16549	// LatestMessage: The name of the latest conversation message used to
16550	// compile suggestion for. Format:
16551	// `projects//locations//conversations//messages/`.
16552	LatestMessage string `json:"latestMessage,omitempty"`
16553
16554	// SmartReplyAnswers: Output only. Multiple reply options provided by
16555	// smart reply service. The order is based on the rank of the model
16556	// prediction. The maximum number of the returned replies is set in
16557	// SmartReplyConfig.
16558	SmartReplyAnswers []*GoogleCloudDialogflowV2beta1SmartReplyAnswer `json:"smartReplyAnswers,omitempty"`
16559
16560	// ForceSendFields is a list of field names (e.g. "ContextSize") to
16561	// unconditionally include in API requests. By default, fields with
16562	// empty or default values are omitted from API requests. However, any
16563	// non-pointer, non-interface field appearing in ForceSendFields will be
16564	// sent to the server regardless of whether the field is empty or not.
16565	// This may be used to include empty fields in Patch requests.
16566	ForceSendFields []string `json:"-"`
16567
16568	// NullFields is a list of field names (e.g. "ContextSize") to include
16569	// in API requests with the JSON null value. By default, fields with
16570	// empty values are omitted from API requests. However, any field with
16571	// an empty value appearing in NullFields will be sent to the server as
16572	// null. It is an error if a field in this list has a non-empty value.
16573	// This may be used to include null fields in Patch requests.
16574	NullFields []string `json:"-"`
16575}
16576
16577func (s *GoogleCloudDialogflowV2beta1SuggestSmartRepliesResponse) MarshalJSON() ([]byte, error) {
16578	type NoMethod GoogleCloudDialogflowV2beta1SuggestSmartRepliesResponse
16579	raw := NoMethod(*s)
16580	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
16581}
16582
16583// GoogleCloudDialogflowV2beta1SuggestionResult: One response of
16584// different type of suggestion response which is used in the response
16585// of Participants.AnalyzeContent and Participants.AnalyzeContent, as
16586// well as HumanAgentAssistantEvent.
16587type GoogleCloudDialogflowV2beta1SuggestionResult struct {
16588	// Error: Error status if the request failed.
16589	Error *GoogleRpcStatus `json:"error,omitempty"`
16590
16591	// SuggestArticlesResponse: SuggestArticlesResponse if request is for
16592	// ARTICLE_SUGGESTION.
16593	SuggestArticlesResponse *GoogleCloudDialogflowV2beta1SuggestArticlesResponse `json:"suggestArticlesResponse,omitempty"`
16594
16595	// SuggestFaqAnswersResponse: SuggestFaqAnswersResponse if request is
16596	// for FAQ_ANSWER.
16597	SuggestFaqAnswersResponse *GoogleCloudDialogflowV2beta1SuggestFaqAnswersResponse `json:"suggestFaqAnswersResponse,omitempty"`
16598
16599	// SuggestSmartRepliesResponse: SuggestSmartRepliesResponse if request
16600	// is for SMART_REPLY.
16601	SuggestSmartRepliesResponse *GoogleCloudDialogflowV2beta1SuggestSmartRepliesResponse `json:"suggestSmartRepliesResponse,omitempty"`
16602
16603	// ForceSendFields is a list of field names (e.g. "Error") to
16604	// unconditionally include in API requests. By default, fields with
16605	// empty or default values are omitted from API requests. However, any
16606	// non-pointer, non-interface field appearing in ForceSendFields will be
16607	// sent to the server regardless of whether the field is empty or not.
16608	// This may be used to include empty fields in Patch requests.
16609	ForceSendFields []string `json:"-"`
16610
16611	// NullFields is a list of field names (e.g. "Error") to include in API
16612	// requests with the JSON null value. By default, fields with empty
16613	// values are omitted from API requests. However, any field with an
16614	// empty value appearing in NullFields will be sent to the server as
16615	// null. It is an error if a field in this list has a non-empty value.
16616	// This may be used to include null fields in Patch requests.
16617	NullFields []string `json:"-"`
16618}
16619
16620func (s *GoogleCloudDialogflowV2beta1SuggestionResult) MarshalJSON() ([]byte, error) {
16621	type NoMethod GoogleCloudDialogflowV2beta1SuggestionResult
16622	raw := NoMethod(*s)
16623	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
16624}
16625
16626// GoogleCloudDialogflowV2beta1WebhookRequest: The request message for a
16627// webhook call.
16628type GoogleCloudDialogflowV2beta1WebhookRequest struct {
16629	// AlternativeQueryResults: Alternative query results from
16630	// KnowledgeService.
16631	AlternativeQueryResults []*GoogleCloudDialogflowV2beta1QueryResult `json:"alternativeQueryResults,omitempty"`
16632
16633	// OriginalDetectIntentRequest: Optional. The contents of the original
16634	// request that was passed to `[Streaming]DetectIntent` call.
16635	OriginalDetectIntentRequest *GoogleCloudDialogflowV2beta1OriginalDetectIntentRequest `json:"originalDetectIntentRequest,omitempty"`
16636
16637	// QueryResult: The result of the conversational query or event
16638	// processing. Contains the same value as
16639	// `[Streaming]DetectIntentResponse.query_result`.
16640	QueryResult *GoogleCloudDialogflowV2beta1QueryResult `json:"queryResult,omitempty"`
16641
16642	// ResponseId: The unique identifier of the response. Contains the same
16643	// value as `[Streaming]DetectIntentResponse.response_id`.
16644	ResponseId string `json:"responseId,omitempty"`
16645
16646	// Session: The unique identifier of detectIntent request session. Can
16647	// be used to identify end-user inside webhook implementation. Supported
16648	// formats: - `projects//agent/sessions/, -
16649	// `projects//locations//agent/sessions/`, -
16650	// `projects//agent/environments//users//sessions/`, -
16651	// `projects//locations//agent/environments//users//sessions/`,
16652	Session string `json:"session,omitempty"`
16653
16654	// ForceSendFields is a list of field names (e.g.
16655	// "AlternativeQueryResults") to unconditionally include in API
16656	// requests. By default, fields with empty or default values are omitted
16657	// from API requests. However, any non-pointer, non-interface field
16658	// appearing in ForceSendFields will be sent to the server regardless of
16659	// whether the field is empty or not. This may be used to include empty
16660	// fields in Patch requests.
16661	ForceSendFields []string `json:"-"`
16662
16663	// NullFields is a list of field names (e.g. "AlternativeQueryResults")
16664	// to include in API requests with the JSON null value. By default,
16665	// fields with empty values are omitted from API requests. However, any
16666	// field with an empty value appearing in NullFields will be sent to the
16667	// server as null. It is an error if a field in this list has a
16668	// non-empty value. This may be used to include null fields in Patch
16669	// requests.
16670	NullFields []string `json:"-"`
16671}
16672
16673func (s *GoogleCloudDialogflowV2beta1WebhookRequest) MarshalJSON() ([]byte, error) {
16674	type NoMethod GoogleCloudDialogflowV2beta1WebhookRequest
16675	raw := NoMethod(*s)
16676	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
16677}
16678
16679// GoogleCloudDialogflowV2beta1WebhookResponse: The response message for
16680// a webhook call. This response is validated by the Dialogflow server.
16681// If validation fails, an error will be returned in the
16682// QueryResult.diagnostic_info field. Setting JSON fields to an empty
16683// value with the wrong type is a common error. To avoid this error: -
16684// Use "" for empty strings - Use `{}` or `null` for empty objects -
16685// Use `[]` or `null` for empty arrays For more information, see the
16686// Protocol Buffers Language Guide
16687// (https://developers.google.com/protocol-buffers/docs/proto3#json).
16688type GoogleCloudDialogflowV2beta1WebhookResponse struct {
16689	// EndInteraction: Optional. Indicates that this intent ends an
16690	// interaction. Some integrations (e.g., Actions on Google or Dialogflow
16691	// phone gateway) use this information to close interaction with an end
16692	// user. Default is false.
16693	EndInteraction bool `json:"endInteraction,omitempty"`
16694
16695	// FollowupEventInput: Optional. Invokes the supplied events. When this
16696	// field is set, Dialogflow ignores the `fulfillment_text`,
16697	// `fulfillment_messages`, and `payload` fields.
16698	FollowupEventInput *GoogleCloudDialogflowV2beta1EventInput `json:"followupEventInput,omitempty"`
16699
16700	// FulfillmentMessages: Optional. The rich response messages intended
16701	// for the end-user. When provided, Dialogflow uses this field to
16702	// populate QueryResult.fulfillment_messages sent to the integration or
16703	// API caller.
16704	FulfillmentMessages []*GoogleCloudDialogflowV2beta1IntentMessage `json:"fulfillmentMessages,omitempty"`
16705
16706	// FulfillmentText: Optional. The text response message intended for the
16707	// end-user. It is recommended to use
16708	// `fulfillment_messages.text.text[0]` instead. When provided,
16709	// Dialogflow uses this field to populate QueryResult.fulfillment_text
16710	// sent to the integration or API caller.
16711	FulfillmentText string `json:"fulfillmentText,omitempty"`
16712
16713	// LiveAgentHandoff: Indicates that a live agent should be brought in to
16714	// handle the interaction with the user. In most cases, when you set
16715	// this flag to true, you would also want to set end_interaction to true
16716	// as well. Default is false.
16717	LiveAgentHandoff bool `json:"liveAgentHandoff,omitempty"`
16718
16719	// OutputContexts: Optional. The collection of output contexts that will
16720	// overwrite currently active contexts for the session and reset their
16721	// lifespans. When provided, Dialogflow uses this field to populate
16722	// QueryResult.output_contexts sent to the integration or API caller.
16723	OutputContexts []*GoogleCloudDialogflowV2beta1Context `json:"outputContexts,omitempty"`
16724
16725	// Payload: Optional. This field can be used to pass custom data from
16726	// your webhook to the integration or API caller. Arbitrary JSON objects
16727	// are supported. When provided, Dialogflow uses this field to populate
16728	// QueryResult.webhook_payload sent to the integration or API caller.
16729	// This field is also used by the Google Assistant integration
16730	// (https://cloud.google.com/dialogflow/docs/integrations/aog) for rich
16731	// response messages. See the format definition at Google Assistant
16732	// Dialogflow webhook format
16733	// (https://developers.google.com/assistant/actions/build/json/dialogflow-webhook-json)
16734	Payload googleapi.RawMessage `json:"payload,omitempty"`
16735
16736	// SessionEntityTypes: Optional. Additional session entity types to
16737	// replace or extend developer entity types with. The entity synonyms
16738	// apply to all languages and persist for the session. Setting this data
16739	// from a webhook overwrites the session entity types that have been set
16740	// using `detectIntent`, `streamingDetectIntent` or SessionEntityType
16741	// management methods.
16742	SessionEntityTypes []*GoogleCloudDialogflowV2beta1SessionEntityType `json:"sessionEntityTypes,omitempty"`
16743
16744	// Source: Optional. A custom field used to identify the webhook source.
16745	// Arbitrary strings are supported. When provided, Dialogflow uses this
16746	// field to populate QueryResult.webhook_source sent to the integration
16747	// or API caller.
16748	Source string `json:"source,omitempty"`
16749
16750	// ForceSendFields is a list of field names (e.g. "EndInteraction") to
16751	// unconditionally include in API requests. By default, fields with
16752	// empty or default values are omitted from API requests. However, any
16753	// non-pointer, non-interface field appearing in ForceSendFields will be
16754	// sent to the server regardless of whether the field is empty or not.
16755	// This may be used to include empty fields in Patch requests.
16756	ForceSendFields []string `json:"-"`
16757
16758	// NullFields is a list of field names (e.g. "EndInteraction") to
16759	// include in API requests with the JSON null value. By default, fields
16760	// with empty values are omitted from API requests. However, any field
16761	// with an empty value appearing in NullFields will be sent to the
16762	// server as null. It is an error if a field in this list has a
16763	// non-empty value. This may be used to include null fields in Patch
16764	// requests.
16765	NullFields []string `json:"-"`
16766}
16767
16768func (s *GoogleCloudDialogflowV2beta1WebhookResponse) MarshalJSON() ([]byte, error) {
16769	type NoMethod GoogleCloudDialogflowV2beta1WebhookResponse
16770	raw := NoMethod(*s)
16771	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
16772}
16773
16774// GoogleCloudDialogflowV3alpha1CreateDocumentOperationMetadata:
16775// Metadata for CreateDocument operation.
16776type GoogleCloudDialogflowV3alpha1CreateDocumentOperationMetadata struct {
16777	// GenericMetadata: The generic information of the operation.
16778	GenericMetadata *GoogleCloudDialogflowV3alpha1GenericKnowledgeOperationMetadata `json:"genericMetadata,omitempty"`
16779
16780	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
16781	// unconditionally include in API requests. By default, fields with
16782	// empty or default values are omitted from API requests. However, any
16783	// non-pointer, non-interface field appearing in ForceSendFields will be
16784	// sent to the server regardless of whether the field is empty or not.
16785	// This may be used to include empty fields in Patch requests.
16786	ForceSendFields []string `json:"-"`
16787
16788	// NullFields is a list of field names (e.g. "GenericMetadata") to
16789	// include in API requests with the JSON null value. By default, fields
16790	// with empty values are omitted from API requests. However, any field
16791	// with an empty value appearing in NullFields will be sent to the
16792	// server as null. It is an error if a field in this list has a
16793	// non-empty value. This may be used to include null fields in Patch
16794	// requests.
16795	NullFields []string `json:"-"`
16796}
16797
16798func (s *GoogleCloudDialogflowV3alpha1CreateDocumentOperationMetadata) MarshalJSON() ([]byte, error) {
16799	type NoMethod GoogleCloudDialogflowV3alpha1CreateDocumentOperationMetadata
16800	raw := NoMethod(*s)
16801	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
16802}
16803
16804// GoogleCloudDialogflowV3alpha1DeleteDocumentOperationMetadata:
16805// Metadata for DeleteDocument operation.
16806type GoogleCloudDialogflowV3alpha1DeleteDocumentOperationMetadata struct {
16807	// GenericMetadata: The generic information of the operation.
16808	GenericMetadata *GoogleCloudDialogflowV3alpha1GenericKnowledgeOperationMetadata `json:"genericMetadata,omitempty"`
16809
16810	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
16811	// unconditionally include in API requests. By default, fields with
16812	// empty or default values are omitted from API requests. However, any
16813	// non-pointer, non-interface field appearing in ForceSendFields will be
16814	// sent to the server regardless of whether the field is empty or not.
16815	// This may be used to include empty fields in Patch requests.
16816	ForceSendFields []string `json:"-"`
16817
16818	// NullFields is a list of field names (e.g. "GenericMetadata") to
16819	// include in API requests with the JSON null value. By default, fields
16820	// with empty values are omitted from API requests. However, any field
16821	// with an empty value appearing in NullFields will be sent to the
16822	// server as null. It is an error if a field in this list has a
16823	// non-empty value. This may be used to include null fields in Patch
16824	// requests.
16825	NullFields []string `json:"-"`
16826}
16827
16828func (s *GoogleCloudDialogflowV3alpha1DeleteDocumentOperationMetadata) MarshalJSON() ([]byte, error) {
16829	type NoMethod GoogleCloudDialogflowV3alpha1DeleteDocumentOperationMetadata
16830	raw := NoMethod(*s)
16831	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
16832}
16833
16834// GoogleCloudDialogflowV3alpha1GenericKnowledgeOperationMetadata:
16835// Metadata in google::longrunning::Operation for Knowledge operations.
16836type GoogleCloudDialogflowV3alpha1GenericKnowledgeOperationMetadata struct {
16837	// State: Required. Output only. The current state of this operation.
16838	//
16839	// Possible values:
16840	//   "STATE_UNSPECIFIED" - State unspecified.
16841	//   "PENDING" - The operation has been created.
16842	//   "RUNNING" - The operation is currently running.
16843	//   "DONE" - The operation is done, either cancelled or completed.
16844	State string `json:"state,omitempty"`
16845
16846	// ForceSendFields is a list of field names (e.g. "State") to
16847	// unconditionally include in API requests. By default, fields with
16848	// empty or default values are omitted from API requests. However, any
16849	// non-pointer, non-interface field appearing in ForceSendFields will be
16850	// sent to the server regardless of whether the field is empty or not.
16851	// This may be used to include empty fields in Patch requests.
16852	ForceSendFields []string `json:"-"`
16853
16854	// NullFields is a list of field names (e.g. "State") to include in API
16855	// requests with the JSON null value. By default, fields with empty
16856	// values are omitted from API requests. However, any field with an
16857	// empty value appearing in NullFields will be sent to the server as
16858	// null. It is an error if a field in this list has a non-empty value.
16859	// This may be used to include null fields in Patch requests.
16860	NullFields []string `json:"-"`
16861}
16862
16863func (s *GoogleCloudDialogflowV3alpha1GenericKnowledgeOperationMetadata) MarshalJSON() ([]byte, error) {
16864	type NoMethod GoogleCloudDialogflowV3alpha1GenericKnowledgeOperationMetadata
16865	raw := NoMethod(*s)
16866	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
16867}
16868
16869// GoogleCloudDialogflowV3alpha1ImportDocumentsOperationMetadata:
16870// Metadata for ImportDocuments operation.
16871type GoogleCloudDialogflowV3alpha1ImportDocumentsOperationMetadata struct {
16872	// GenericMetadata: The generic information of the operation.
16873	GenericMetadata *GoogleCloudDialogflowV3alpha1GenericKnowledgeOperationMetadata `json:"genericMetadata,omitempty"`
16874
16875	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
16876	// unconditionally include in API requests. By default, fields with
16877	// empty or default values are omitted from API requests. However, any
16878	// non-pointer, non-interface field appearing in ForceSendFields will be
16879	// sent to the server regardless of whether the field is empty or not.
16880	// This may be used to include empty fields in Patch requests.
16881	ForceSendFields []string `json:"-"`
16882
16883	// NullFields is a list of field names (e.g. "GenericMetadata") to
16884	// include in API requests with the JSON null value. By default, fields
16885	// with empty values are omitted from API requests. However, any field
16886	// with an empty value appearing in NullFields will be sent to the
16887	// server as null. It is an error if a field in this list has a
16888	// non-empty value. This may be used to include null fields in Patch
16889	// requests.
16890	NullFields []string `json:"-"`
16891}
16892
16893func (s *GoogleCloudDialogflowV3alpha1ImportDocumentsOperationMetadata) MarshalJSON() ([]byte, error) {
16894	type NoMethod GoogleCloudDialogflowV3alpha1ImportDocumentsOperationMetadata
16895	raw := NoMethod(*s)
16896	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
16897}
16898
16899// GoogleCloudDialogflowV3alpha1ImportDocumentsResponse: Response
16900// message for Documents.ImportDocuments.
16901type GoogleCloudDialogflowV3alpha1ImportDocumentsResponse struct {
16902	// Warnings: Includes details about skipped documents or any other
16903	// warnings.
16904	Warnings []*GoogleRpcStatus `json:"warnings,omitempty"`
16905
16906	// ForceSendFields is a list of field names (e.g. "Warnings") to
16907	// unconditionally include in API requests. By default, fields with
16908	// empty or default values are omitted from API requests. However, any
16909	// non-pointer, non-interface field appearing in ForceSendFields will be
16910	// sent to the server regardless of whether the field is empty or not.
16911	// This may be used to include empty fields in Patch requests.
16912	ForceSendFields []string `json:"-"`
16913
16914	// NullFields is a list of field names (e.g. "Warnings") to include in
16915	// API requests with the JSON null value. By default, fields with empty
16916	// values are omitted from API requests. However, any field with an
16917	// empty value appearing in NullFields will be sent to the server as
16918	// null. It is an error if a field in this list has a non-empty value.
16919	// This may be used to include null fields in Patch requests.
16920	NullFields []string `json:"-"`
16921}
16922
16923func (s *GoogleCloudDialogflowV3alpha1ImportDocumentsResponse) MarshalJSON() ([]byte, error) {
16924	type NoMethod GoogleCloudDialogflowV3alpha1ImportDocumentsResponse
16925	raw := NoMethod(*s)
16926	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
16927}
16928
16929// GoogleCloudDialogflowV3alpha1ReloadDocumentOperationMetadata:
16930// Metadata for ReloadDocument operation.
16931type GoogleCloudDialogflowV3alpha1ReloadDocumentOperationMetadata struct {
16932	// GenericMetadata: The generic information of the operation.
16933	GenericMetadata *GoogleCloudDialogflowV3alpha1GenericKnowledgeOperationMetadata `json:"genericMetadata,omitempty"`
16934
16935	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
16936	// unconditionally include in API requests. By default, fields with
16937	// empty or default values are omitted from API requests. However, any
16938	// non-pointer, non-interface field appearing in ForceSendFields will be
16939	// sent to the server regardless of whether the field is empty or not.
16940	// This may be used to include empty fields in Patch requests.
16941	ForceSendFields []string `json:"-"`
16942
16943	// NullFields is a list of field names (e.g. "GenericMetadata") to
16944	// include in API requests with the JSON null value. By default, fields
16945	// with empty values are omitted from API requests. However, any field
16946	// with an empty value appearing in NullFields will be sent to the
16947	// server as null. It is an error if a field in this list has a
16948	// non-empty value. This may be used to include null fields in Patch
16949	// requests.
16950	NullFields []string `json:"-"`
16951}
16952
16953func (s *GoogleCloudDialogflowV3alpha1ReloadDocumentOperationMetadata) MarshalJSON() ([]byte, error) {
16954	type NoMethod GoogleCloudDialogflowV3alpha1ReloadDocumentOperationMetadata
16955	raw := NoMethod(*s)
16956	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
16957}
16958
16959// GoogleCloudDialogflowV3alpha1UpdateDocumentOperationMetadata:
16960// Metadata for UpdateDocument operation.
16961type GoogleCloudDialogflowV3alpha1UpdateDocumentOperationMetadata struct {
16962	// GenericMetadata: The generic information of the operation.
16963	GenericMetadata *GoogleCloudDialogflowV3alpha1GenericKnowledgeOperationMetadata `json:"genericMetadata,omitempty"`
16964
16965	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
16966	// unconditionally include in API requests. By default, fields with
16967	// empty or default values are omitted from API requests. However, any
16968	// non-pointer, non-interface field appearing in ForceSendFields will be
16969	// sent to the server regardless of whether the field is empty or not.
16970	// This may be used to include empty fields in Patch requests.
16971	ForceSendFields []string `json:"-"`
16972
16973	// NullFields is a list of field names (e.g. "GenericMetadata") to
16974	// include in API requests with the JSON null value. By default, fields
16975	// with empty values are omitted from API requests. However, any field
16976	// with an empty value appearing in NullFields will be sent to the
16977	// server as null. It is an error if a field in this list has a
16978	// non-empty value. This may be used to include null fields in Patch
16979	// requests.
16980	NullFields []string `json:"-"`
16981}
16982
16983func (s *GoogleCloudDialogflowV3alpha1UpdateDocumentOperationMetadata) MarshalJSON() ([]byte, error) {
16984	type NoMethod GoogleCloudDialogflowV3alpha1UpdateDocumentOperationMetadata
16985	raw := NoMethod(*s)
16986	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
16987}
16988
16989// GoogleCloudLocationListLocationsResponse: The response message for
16990// Locations.ListLocations.
16991type GoogleCloudLocationListLocationsResponse struct {
16992	// Locations: A list of locations that matches the specified filter in
16993	// the request.
16994	Locations []*GoogleCloudLocationLocation `json:"locations,omitempty"`
16995
16996	// NextPageToken: The standard List next-page token.
16997	NextPageToken string `json:"nextPageToken,omitempty"`
16998
16999	// ServerResponse contains the HTTP response code and headers from the
17000	// server.
17001	googleapi.ServerResponse `json:"-"`
17002
17003	// ForceSendFields is a list of field names (e.g. "Locations") to
17004	// unconditionally include in API requests. By default, fields with
17005	// empty or default values are omitted from API requests. However, any
17006	// non-pointer, non-interface field appearing in ForceSendFields will be
17007	// sent to the server regardless of whether the field is empty or not.
17008	// This may be used to include empty fields in Patch requests.
17009	ForceSendFields []string `json:"-"`
17010
17011	// NullFields is a list of field names (e.g. "Locations") to include in
17012	// API requests with the JSON null value. By default, fields with empty
17013	// values are omitted from API requests. However, any field with an
17014	// empty value appearing in NullFields will be sent to the server as
17015	// null. It is an error if a field in this list has a non-empty value.
17016	// This may be used to include null fields in Patch requests.
17017	NullFields []string `json:"-"`
17018}
17019
17020func (s *GoogleCloudLocationListLocationsResponse) MarshalJSON() ([]byte, error) {
17021	type NoMethod GoogleCloudLocationListLocationsResponse
17022	raw := NoMethod(*s)
17023	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
17024}
17025
17026// GoogleCloudLocationLocation: A resource that represents Google Cloud
17027// Platform location.
17028type GoogleCloudLocationLocation struct {
17029	// DisplayName: The friendly name for this location, typically a nearby
17030	// city name. For example, "Tokyo".
17031	DisplayName string `json:"displayName,omitempty"`
17032
17033	// Labels: Cross-service attributes for the location. For example
17034	// {"cloud.googleapis.com/region": "us-east1"}
17035	Labels map[string]string `json:"labels,omitempty"`
17036
17037	// LocationId: The canonical id for this location. For example:
17038	// "us-east1".
17039	LocationId string `json:"locationId,omitempty"`
17040
17041	// Metadata: Service-specific metadata. For example the available
17042	// capacity at the given location.
17043	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
17044
17045	// Name: Resource name for the location, which may vary between
17046	// implementations. For example:
17047	// "projects/example-project/locations/us-east1"
17048	Name string `json:"name,omitempty"`
17049
17050	// ServerResponse contains the HTTP response code and headers from the
17051	// server.
17052	googleapi.ServerResponse `json:"-"`
17053
17054	// ForceSendFields is a list of field names (e.g. "DisplayName") to
17055	// unconditionally include in API requests. By default, fields with
17056	// empty or default values are omitted from API requests. However, any
17057	// non-pointer, non-interface field appearing in ForceSendFields will be
17058	// sent to the server regardless of whether the field is empty or not.
17059	// This may be used to include empty fields in Patch requests.
17060	ForceSendFields []string `json:"-"`
17061
17062	// NullFields is a list of field names (e.g. "DisplayName") to include
17063	// in API requests with the JSON null value. By default, fields with
17064	// empty values are omitted from API requests. However, any field with
17065	// an empty value appearing in NullFields will be sent to the server as
17066	// null. It is an error if a field in this list has a non-empty value.
17067	// This may be used to include null fields in Patch requests.
17068	NullFields []string `json:"-"`
17069}
17070
17071func (s *GoogleCloudLocationLocation) MarshalJSON() ([]byte, error) {
17072	type NoMethod GoogleCloudLocationLocation
17073	raw := NoMethod(*s)
17074	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
17075}
17076
17077// GoogleLongrunningListOperationsResponse: The response message for
17078// Operations.ListOperations.
17079type GoogleLongrunningListOperationsResponse struct {
17080	// NextPageToken: The standard List next-page token.
17081	NextPageToken string `json:"nextPageToken,omitempty"`
17082
17083	// Operations: A list of operations that matches the specified filter in
17084	// the request.
17085	Operations []*GoogleLongrunningOperation `json:"operations,omitempty"`
17086
17087	// ServerResponse contains the HTTP response code and headers from the
17088	// server.
17089	googleapi.ServerResponse `json:"-"`
17090
17091	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
17092	// unconditionally include in API requests. By default, fields with
17093	// empty or default values are omitted from API requests. However, any
17094	// non-pointer, non-interface field appearing in ForceSendFields will be
17095	// sent to the server regardless of whether the field is empty or not.
17096	// This may be used to include empty fields in Patch requests.
17097	ForceSendFields []string `json:"-"`
17098
17099	// NullFields is a list of field names (e.g. "NextPageToken") to include
17100	// in API requests with the JSON null value. By default, fields with
17101	// empty values are omitted from API requests. However, any field with
17102	// an empty value appearing in NullFields will be sent to the server as
17103	// null. It is an error if a field in this list has a non-empty value.
17104	// This may be used to include null fields in Patch requests.
17105	NullFields []string `json:"-"`
17106}
17107
17108func (s *GoogleLongrunningListOperationsResponse) MarshalJSON() ([]byte, error) {
17109	type NoMethod GoogleLongrunningListOperationsResponse
17110	raw := NoMethod(*s)
17111	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
17112}
17113
17114// GoogleLongrunningOperation: This resource represents a long-running
17115// operation that is the result of a network API call.
17116type GoogleLongrunningOperation struct {
17117	// Done: If the value is `false`, it means the operation is still in
17118	// progress. If `true`, the operation is completed, and either `error`
17119	// or `response` is available.
17120	Done bool `json:"done,omitempty"`
17121
17122	// Error: The error result of the operation in case of failure or
17123	// cancellation.
17124	Error *GoogleRpcStatus `json:"error,omitempty"`
17125
17126	// Metadata: Service-specific metadata associated with the operation. It
17127	// typically contains progress information and common metadata such as
17128	// create time. Some services might not provide such metadata. Any
17129	// method that returns a long-running operation should document the
17130	// metadata type, if any.
17131	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
17132
17133	// Name: The server-assigned name, which is only unique within the same
17134	// service that originally returns it. If you use the default HTTP
17135	// mapping, the `name` should be a resource name ending with
17136	// `operations/{unique_id}`.
17137	Name string `json:"name,omitempty"`
17138
17139	// Response: The normal response of the operation in case of success. If
17140	// the original method returns no data on success, such as `Delete`, the
17141	// response is `google.protobuf.Empty`. If the original method is
17142	// standard `Get`/`Create`/`Update`, the response should be the
17143	// resource. For other methods, the response should have the type
17144	// `XxxResponse`, where `Xxx` is the original method name. For example,
17145	// if the original method name is `TakeSnapshot()`, the inferred
17146	// response type is `TakeSnapshotResponse`.
17147	Response googleapi.RawMessage `json:"response,omitempty"`
17148
17149	// ServerResponse contains the HTTP response code and headers from the
17150	// server.
17151	googleapi.ServerResponse `json:"-"`
17152
17153	// ForceSendFields is a list of field names (e.g. "Done") to
17154	// unconditionally include in API requests. By default, fields with
17155	// empty or default values are omitted from API requests. However, any
17156	// non-pointer, non-interface field appearing in ForceSendFields will be
17157	// sent to the server regardless of whether the field is empty or not.
17158	// This may be used to include empty fields in Patch requests.
17159	ForceSendFields []string `json:"-"`
17160
17161	// NullFields is a list of field names (e.g. "Done") to include in API
17162	// requests with the JSON null value. By default, fields with empty
17163	// values are omitted from API requests. However, any field with an
17164	// empty value appearing in NullFields will be sent to the server as
17165	// null. It is an error if a field in this list has a non-empty value.
17166	// This may be used to include null fields in Patch requests.
17167	NullFields []string `json:"-"`
17168}
17169
17170func (s *GoogleLongrunningOperation) MarshalJSON() ([]byte, error) {
17171	type NoMethod GoogleLongrunningOperation
17172	raw := NoMethod(*s)
17173	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
17174}
17175
17176// GoogleProtobufEmpty: A generic empty message that you can re-use to
17177// avoid defining duplicated empty messages in your APIs. A typical
17178// example is to use it as the request or the response type of an API
17179// method. For instance: service Foo { rpc Bar(google.protobuf.Empty)
17180// returns (google.protobuf.Empty); } The JSON representation for
17181// `Empty` is empty JSON object `{}`.
17182type GoogleProtobufEmpty struct {
17183	// ServerResponse contains the HTTP response code and headers from the
17184	// server.
17185	googleapi.ServerResponse `json:"-"`
17186}
17187
17188// GoogleRpcStatus: The `Status` type defines a logical error model that
17189// is suitable for different programming environments, including REST
17190// APIs and RPC APIs. It is used by gRPC (https://github.com/grpc). Each
17191// `Status` message contains three pieces of data: error code, error
17192// message, and error details. You can find out more about this error
17193// model and how to work with it in the API Design Guide
17194// (https://cloud.google.com/apis/design/errors).
17195type GoogleRpcStatus struct {
17196	// Code: The status code, which should be an enum value of
17197	// google.rpc.Code.
17198	Code int64 `json:"code,omitempty"`
17199
17200	// Details: A list of messages that carry the error details. There is a
17201	// common set of message types for APIs to use.
17202	Details []googleapi.RawMessage `json:"details,omitempty"`
17203
17204	// Message: A developer-facing error message, which should be in
17205	// English. Any user-facing error message should be localized and sent
17206	// in the google.rpc.Status.details field, or localized by the client.
17207	Message string `json:"message,omitempty"`
17208
17209	// ForceSendFields is a list of field names (e.g. "Code") to
17210	// unconditionally include in API requests. By default, fields with
17211	// empty or default values are omitted from API requests. However, any
17212	// non-pointer, non-interface field appearing in ForceSendFields will be
17213	// sent to the server regardless of whether the field is empty or not.
17214	// This may be used to include empty fields in Patch requests.
17215	ForceSendFields []string `json:"-"`
17216
17217	// NullFields is a list of field names (e.g. "Code") to include in API
17218	// requests with the JSON null value. By default, fields with empty
17219	// values are omitted from API requests. However, any field with an
17220	// empty value appearing in NullFields will be sent to the server as
17221	// null. It is an error if a field in this list has a non-empty value.
17222	// This may be used to include null fields in Patch requests.
17223	NullFields []string `json:"-"`
17224}
17225
17226func (s *GoogleRpcStatus) MarshalJSON() ([]byte, error) {
17227	type NoMethod GoogleRpcStatus
17228	raw := NoMethod(*s)
17229	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
17230}
17231
17232// GoogleTypeLatLng: An object that represents a latitude/longitude
17233// pair. This is expressed as a pair of doubles to represent degrees
17234// latitude and degrees longitude. Unless specified otherwise, this
17235// object must conform to the WGS84 standard. Values must be within
17236// normalized ranges.
17237type GoogleTypeLatLng struct {
17238	// Latitude: The latitude in degrees. It must be in the range [-90.0,
17239	// +90.0].
17240	Latitude float64 `json:"latitude,omitempty"`
17241
17242	// Longitude: The longitude in degrees. It must be in the range [-180.0,
17243	// +180.0].
17244	Longitude float64 `json:"longitude,omitempty"`
17245
17246	// ForceSendFields is a list of field names (e.g. "Latitude") to
17247	// unconditionally include in API requests. By default, fields with
17248	// empty or default values are omitted from API requests. However, any
17249	// non-pointer, non-interface field appearing in ForceSendFields will be
17250	// sent to the server regardless of whether the field is empty or not.
17251	// This may be used to include empty fields in Patch requests.
17252	ForceSendFields []string `json:"-"`
17253
17254	// NullFields is a list of field names (e.g. "Latitude") to include in
17255	// API requests with the JSON null value. By default, fields with empty
17256	// values are omitted from API requests. However, any field with an
17257	// empty value appearing in NullFields will be sent to the server as
17258	// null. It is an error if a field in this list has a non-empty value.
17259	// This may be used to include null fields in Patch requests.
17260	NullFields []string `json:"-"`
17261}
17262
17263func (s *GoogleTypeLatLng) MarshalJSON() ([]byte, error) {
17264	type NoMethod GoogleTypeLatLng
17265	raw := NoMethod(*s)
17266	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
17267}
17268
17269func (s *GoogleTypeLatLng) UnmarshalJSON(data []byte) error {
17270	type NoMethod GoogleTypeLatLng
17271	var s1 struct {
17272		Latitude  gensupport.JSONFloat64 `json:"latitude"`
17273		Longitude gensupport.JSONFloat64 `json:"longitude"`
17274		*NoMethod
17275	}
17276	s1.NoMethod = (*NoMethod)(s)
17277	if err := json.Unmarshal(data, &s1); err != nil {
17278		return err
17279	}
17280	s.Latitude = float64(s1.Latitude)
17281	s.Longitude = float64(s1.Longitude)
17282	return nil
17283}
17284
17285// method id "dialogflow.projects.locations.get":
17286
17287type ProjectsLocationsGetCall struct {
17288	s            *Service
17289	name         string
17290	urlParams_   gensupport.URLParams
17291	ifNoneMatch_ string
17292	ctx_         context.Context
17293	header_      http.Header
17294}
17295
17296// Get: Gets information about a location.
17297//
17298// - name: Resource name for the location.
17299func (r *ProjectsLocationsService) Get(name string) *ProjectsLocationsGetCall {
17300	c := &ProjectsLocationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17301	c.name = name
17302	return c
17303}
17304
17305// Fields allows partial responses to be retrieved. See
17306// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17307// for more information.
17308func (c *ProjectsLocationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsGetCall {
17309	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17310	return c
17311}
17312
17313// IfNoneMatch sets the optional parameter which makes the operation
17314// fail if the object's ETag matches the given value. This is useful for
17315// getting updates only after the object has changed since the last
17316// request. Use googleapi.IsNotModified to check whether the response
17317// error from Do is the result of In-None-Match.
17318func (c *ProjectsLocationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsGetCall {
17319	c.ifNoneMatch_ = entityTag
17320	return c
17321}
17322
17323// Context sets the context to be used in this call's Do method. Any
17324// pending HTTP request will be aborted if the provided context is
17325// canceled.
17326func (c *ProjectsLocationsGetCall) Context(ctx context.Context) *ProjectsLocationsGetCall {
17327	c.ctx_ = ctx
17328	return c
17329}
17330
17331// Header returns an http.Header that can be modified by the caller to
17332// add HTTP headers to the request.
17333func (c *ProjectsLocationsGetCall) Header() http.Header {
17334	if c.header_ == nil {
17335		c.header_ = make(http.Header)
17336	}
17337	return c.header_
17338}
17339
17340func (c *ProjectsLocationsGetCall) doRequest(alt string) (*http.Response, error) {
17341	reqHeaders := make(http.Header)
17342	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
17343	for k, v := range c.header_ {
17344		reqHeaders[k] = v
17345	}
17346	reqHeaders.Set("User-Agent", c.s.userAgent())
17347	if c.ifNoneMatch_ != "" {
17348		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
17349	}
17350	var body io.Reader = nil
17351	c.urlParams_.Set("alt", alt)
17352	c.urlParams_.Set("prettyPrint", "false")
17353	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
17354	urls += "?" + c.urlParams_.Encode()
17355	req, err := http.NewRequest("GET", urls, body)
17356	if err != nil {
17357		return nil, err
17358	}
17359	req.Header = reqHeaders
17360	googleapi.Expand(req.URL, map[string]string{
17361		"name": c.name,
17362	})
17363	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17364}
17365
17366// Do executes the "dialogflow.projects.locations.get" call.
17367// Exactly one of *GoogleCloudLocationLocation or error will be non-nil.
17368// Any non-2xx status code is an error. Response headers are in either
17369// *GoogleCloudLocationLocation.ServerResponse.Header or (if a response
17370// was returned at all) in error.(*googleapi.Error).Header. Use
17371// googleapi.IsNotModified to check whether the returned error was
17372// because http.StatusNotModified was returned.
17373func (c *ProjectsLocationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudLocationLocation, error) {
17374	gensupport.SetOptions(c.urlParams_, opts...)
17375	res, err := c.doRequest("json")
17376	if res != nil && res.StatusCode == http.StatusNotModified {
17377		if res.Body != nil {
17378			res.Body.Close()
17379		}
17380		return nil, &googleapi.Error{
17381			Code:   res.StatusCode,
17382			Header: res.Header,
17383		}
17384	}
17385	if err != nil {
17386		return nil, err
17387	}
17388	defer googleapi.CloseBody(res)
17389	if err := googleapi.CheckResponse(res); err != nil {
17390		return nil, err
17391	}
17392	ret := &GoogleCloudLocationLocation{
17393		ServerResponse: googleapi.ServerResponse{
17394			Header:         res.Header,
17395			HTTPStatusCode: res.StatusCode,
17396		},
17397	}
17398	target := &ret
17399	if err := gensupport.DecodeResponse(target, res); err != nil {
17400		return nil, err
17401	}
17402	return ret, nil
17403	// {
17404	//   "description": "Gets information about a location.",
17405	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}",
17406	//   "httpMethod": "GET",
17407	//   "id": "dialogflow.projects.locations.get",
17408	//   "parameterOrder": [
17409	//     "name"
17410	//   ],
17411	//   "parameters": {
17412	//     "name": {
17413	//       "description": "Resource name for the location.",
17414	//       "location": "path",
17415	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
17416	//       "required": true,
17417	//       "type": "string"
17418	//     }
17419	//   },
17420	//   "path": "v3/{+name}",
17421	//   "response": {
17422	//     "$ref": "GoogleCloudLocationLocation"
17423	//   },
17424	//   "scopes": [
17425	//     "https://www.googleapis.com/auth/cloud-platform",
17426	//     "https://www.googleapis.com/auth/dialogflow"
17427	//   ]
17428	// }
17429
17430}
17431
17432// method id "dialogflow.projects.locations.list":
17433
17434type ProjectsLocationsListCall struct {
17435	s            *Service
17436	name         string
17437	urlParams_   gensupport.URLParams
17438	ifNoneMatch_ string
17439	ctx_         context.Context
17440	header_      http.Header
17441}
17442
17443// List: Lists information about the supported locations for this
17444// service.
17445//
17446// - name: The resource that owns the locations collection, if
17447//   applicable.
17448func (r *ProjectsLocationsService) List(name string) *ProjectsLocationsListCall {
17449	c := &ProjectsLocationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17450	c.name = name
17451	return c
17452}
17453
17454// Filter sets the optional parameter "filter": A filter to narrow down
17455// results to a preferred subset. The filtering language accepts strings
17456// like "displayName=tokyo", and is documented in more detail in AIP-160
17457// (https://google.aip.dev/160).
17458func (c *ProjectsLocationsListCall) Filter(filter string) *ProjectsLocationsListCall {
17459	c.urlParams_.Set("filter", filter)
17460	return c
17461}
17462
17463// PageSize sets the optional parameter "pageSize": The maximum number
17464// of results to return. If not set, the service selects a default.
17465func (c *ProjectsLocationsListCall) PageSize(pageSize int64) *ProjectsLocationsListCall {
17466	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
17467	return c
17468}
17469
17470// PageToken sets the optional parameter "pageToken": A page token
17471// received from the `next_page_token` field in the response. Send that
17472// page token to receive the subsequent page.
17473func (c *ProjectsLocationsListCall) PageToken(pageToken string) *ProjectsLocationsListCall {
17474	c.urlParams_.Set("pageToken", pageToken)
17475	return c
17476}
17477
17478// Fields allows partial responses to be retrieved. See
17479// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17480// for more information.
17481func (c *ProjectsLocationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsListCall {
17482	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17483	return c
17484}
17485
17486// IfNoneMatch sets the optional parameter which makes the operation
17487// fail if the object's ETag matches the given value. This is useful for
17488// getting updates only after the object has changed since the last
17489// request. Use googleapi.IsNotModified to check whether the response
17490// error from Do is the result of In-None-Match.
17491func (c *ProjectsLocationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsListCall {
17492	c.ifNoneMatch_ = entityTag
17493	return c
17494}
17495
17496// Context sets the context to be used in this call's Do method. Any
17497// pending HTTP request will be aborted if the provided context is
17498// canceled.
17499func (c *ProjectsLocationsListCall) Context(ctx context.Context) *ProjectsLocationsListCall {
17500	c.ctx_ = ctx
17501	return c
17502}
17503
17504// Header returns an http.Header that can be modified by the caller to
17505// add HTTP headers to the request.
17506func (c *ProjectsLocationsListCall) Header() http.Header {
17507	if c.header_ == nil {
17508		c.header_ = make(http.Header)
17509	}
17510	return c.header_
17511}
17512
17513func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
17514	reqHeaders := make(http.Header)
17515	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
17516	for k, v := range c.header_ {
17517		reqHeaders[k] = v
17518	}
17519	reqHeaders.Set("User-Agent", c.s.userAgent())
17520	if c.ifNoneMatch_ != "" {
17521		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
17522	}
17523	var body io.Reader = nil
17524	c.urlParams_.Set("alt", alt)
17525	c.urlParams_.Set("prettyPrint", "false")
17526	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}/locations")
17527	urls += "?" + c.urlParams_.Encode()
17528	req, err := http.NewRequest("GET", urls, body)
17529	if err != nil {
17530		return nil, err
17531	}
17532	req.Header = reqHeaders
17533	googleapi.Expand(req.URL, map[string]string{
17534		"name": c.name,
17535	})
17536	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17537}
17538
17539// Do executes the "dialogflow.projects.locations.list" call.
17540// Exactly one of *GoogleCloudLocationListLocationsResponse or error
17541// will be non-nil. Any non-2xx status code is an error. Response
17542// headers are in either
17543// *GoogleCloudLocationListLocationsResponse.ServerResponse.Header or
17544// (if a response was returned at all) in
17545// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
17546// whether the returned error was because http.StatusNotModified was
17547// returned.
17548func (c *ProjectsLocationsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudLocationListLocationsResponse, error) {
17549	gensupport.SetOptions(c.urlParams_, opts...)
17550	res, err := c.doRequest("json")
17551	if res != nil && res.StatusCode == http.StatusNotModified {
17552		if res.Body != nil {
17553			res.Body.Close()
17554		}
17555		return nil, &googleapi.Error{
17556			Code:   res.StatusCode,
17557			Header: res.Header,
17558		}
17559	}
17560	if err != nil {
17561		return nil, err
17562	}
17563	defer googleapi.CloseBody(res)
17564	if err := googleapi.CheckResponse(res); err != nil {
17565		return nil, err
17566	}
17567	ret := &GoogleCloudLocationListLocationsResponse{
17568		ServerResponse: googleapi.ServerResponse{
17569			Header:         res.Header,
17570			HTTPStatusCode: res.StatusCode,
17571		},
17572	}
17573	target := &ret
17574	if err := gensupport.DecodeResponse(target, res); err != nil {
17575		return nil, err
17576	}
17577	return ret, nil
17578	// {
17579	//   "description": "Lists information about the supported locations for this service.",
17580	//   "flatPath": "v3/projects/{projectsId}/locations",
17581	//   "httpMethod": "GET",
17582	//   "id": "dialogflow.projects.locations.list",
17583	//   "parameterOrder": [
17584	//     "name"
17585	//   ],
17586	//   "parameters": {
17587	//     "filter": {
17588	//       "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like \"displayName=tokyo\", and is documented in more detail in [AIP-160](https://google.aip.dev/160).",
17589	//       "location": "query",
17590	//       "type": "string"
17591	//     },
17592	//     "name": {
17593	//       "description": "The resource that owns the locations collection, if applicable.",
17594	//       "location": "path",
17595	//       "pattern": "^projects/[^/]+$",
17596	//       "required": true,
17597	//       "type": "string"
17598	//     },
17599	//     "pageSize": {
17600	//       "description": "The maximum number of results to return. If not set, the service selects a default.",
17601	//       "format": "int32",
17602	//       "location": "query",
17603	//       "type": "integer"
17604	//     },
17605	//     "pageToken": {
17606	//       "description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.",
17607	//       "location": "query",
17608	//       "type": "string"
17609	//     }
17610	//   },
17611	//   "path": "v3/{+name}/locations",
17612	//   "response": {
17613	//     "$ref": "GoogleCloudLocationListLocationsResponse"
17614	//   },
17615	//   "scopes": [
17616	//     "https://www.googleapis.com/auth/cloud-platform",
17617	//     "https://www.googleapis.com/auth/dialogflow"
17618	//   ]
17619	// }
17620
17621}
17622
17623// Pages invokes f for each page of results.
17624// A non-nil error returned from f will halt the iteration.
17625// The provided context supersedes any context provided to the Context method.
17626func (c *ProjectsLocationsListCall) Pages(ctx context.Context, f func(*GoogleCloudLocationListLocationsResponse) error) error {
17627	c.ctx_ = ctx
17628	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
17629	for {
17630		x, err := c.Do()
17631		if err != nil {
17632			return err
17633		}
17634		if err := f(x); err != nil {
17635			return err
17636		}
17637		if x.NextPageToken == "" {
17638			return nil
17639		}
17640		c.PageToken(x.NextPageToken)
17641	}
17642}
17643
17644// method id "dialogflow.projects.locations.agents.create":
17645
17646type ProjectsLocationsAgentsCreateCall struct {
17647	s                              *Service
17648	parent                         string
17649	googleclouddialogflowcxv3agent *GoogleCloudDialogflowCxV3Agent
17650	urlParams_                     gensupport.URLParams
17651	ctx_                           context.Context
17652	header_                        http.Header
17653}
17654
17655// Create: Creates an agent in the specified location. Note: You should
17656// always train flows prior to sending them queries. See the training
17657// documentation
17658// (https://cloud.google.com/dialogflow/cx/docs/concept/training).
17659//
17660// - parent: The location to create a agent for. Format:
17661//   `projects//locations/`.
17662func (r *ProjectsLocationsAgentsService) Create(parent string, googleclouddialogflowcxv3agent *GoogleCloudDialogflowCxV3Agent) *ProjectsLocationsAgentsCreateCall {
17663	c := &ProjectsLocationsAgentsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17664	c.parent = parent
17665	c.googleclouddialogflowcxv3agent = googleclouddialogflowcxv3agent
17666	return c
17667}
17668
17669// Fields allows partial responses to be retrieved. See
17670// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17671// for more information.
17672func (c *ProjectsLocationsAgentsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsCreateCall {
17673	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17674	return c
17675}
17676
17677// Context sets the context to be used in this call's Do method. Any
17678// pending HTTP request will be aborted if the provided context is
17679// canceled.
17680func (c *ProjectsLocationsAgentsCreateCall) Context(ctx context.Context) *ProjectsLocationsAgentsCreateCall {
17681	c.ctx_ = ctx
17682	return c
17683}
17684
17685// Header returns an http.Header that can be modified by the caller to
17686// add HTTP headers to the request.
17687func (c *ProjectsLocationsAgentsCreateCall) Header() http.Header {
17688	if c.header_ == nil {
17689		c.header_ = make(http.Header)
17690	}
17691	return c.header_
17692}
17693
17694func (c *ProjectsLocationsAgentsCreateCall) doRequest(alt string) (*http.Response, error) {
17695	reqHeaders := make(http.Header)
17696	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
17697	for k, v := range c.header_ {
17698		reqHeaders[k] = v
17699	}
17700	reqHeaders.Set("User-Agent", c.s.userAgent())
17701	var body io.Reader = nil
17702	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3agent)
17703	if err != nil {
17704		return nil, err
17705	}
17706	reqHeaders.Set("Content-Type", "application/json")
17707	c.urlParams_.Set("alt", alt)
17708	c.urlParams_.Set("prettyPrint", "false")
17709	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/agents")
17710	urls += "?" + c.urlParams_.Encode()
17711	req, err := http.NewRequest("POST", urls, body)
17712	if err != nil {
17713		return nil, err
17714	}
17715	req.Header = reqHeaders
17716	googleapi.Expand(req.URL, map[string]string{
17717		"parent": c.parent,
17718	})
17719	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17720}
17721
17722// Do executes the "dialogflow.projects.locations.agents.create" call.
17723// Exactly one of *GoogleCloudDialogflowCxV3Agent or error will be
17724// non-nil. Any non-2xx status code is an error. Response headers are in
17725// either *GoogleCloudDialogflowCxV3Agent.ServerResponse.Header or (if a
17726// response was returned at all) in error.(*googleapi.Error).Header. Use
17727// googleapi.IsNotModified to check whether the returned error was
17728// because http.StatusNotModified was returned.
17729func (c *ProjectsLocationsAgentsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3Agent, error) {
17730	gensupport.SetOptions(c.urlParams_, opts...)
17731	res, err := c.doRequest("json")
17732	if res != nil && res.StatusCode == http.StatusNotModified {
17733		if res.Body != nil {
17734			res.Body.Close()
17735		}
17736		return nil, &googleapi.Error{
17737			Code:   res.StatusCode,
17738			Header: res.Header,
17739		}
17740	}
17741	if err != nil {
17742		return nil, err
17743	}
17744	defer googleapi.CloseBody(res)
17745	if err := googleapi.CheckResponse(res); err != nil {
17746		return nil, err
17747	}
17748	ret := &GoogleCloudDialogflowCxV3Agent{
17749		ServerResponse: googleapi.ServerResponse{
17750			Header:         res.Header,
17751			HTTPStatusCode: res.StatusCode,
17752		},
17753	}
17754	target := &ret
17755	if err := gensupport.DecodeResponse(target, res); err != nil {
17756		return nil, err
17757	}
17758	return ret, nil
17759	// {
17760	//   "description": "Creates an agent in the specified location. Note: You should always train flows prior to sending them queries. See the [training documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training).",
17761	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents",
17762	//   "httpMethod": "POST",
17763	//   "id": "dialogflow.projects.locations.agents.create",
17764	//   "parameterOrder": [
17765	//     "parent"
17766	//   ],
17767	//   "parameters": {
17768	//     "parent": {
17769	//       "description": "Required. The location to create a agent for. Format: `projects//locations/`.",
17770	//       "location": "path",
17771	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
17772	//       "required": true,
17773	//       "type": "string"
17774	//     }
17775	//   },
17776	//   "path": "v3/{+parent}/agents",
17777	//   "request": {
17778	//     "$ref": "GoogleCloudDialogflowCxV3Agent"
17779	//   },
17780	//   "response": {
17781	//     "$ref": "GoogleCloudDialogflowCxV3Agent"
17782	//   },
17783	//   "scopes": [
17784	//     "https://www.googleapis.com/auth/cloud-platform",
17785	//     "https://www.googleapis.com/auth/dialogflow"
17786	//   ]
17787	// }
17788
17789}
17790
17791// method id "dialogflow.projects.locations.agents.delete":
17792
17793type ProjectsLocationsAgentsDeleteCall struct {
17794	s          *Service
17795	name       string
17796	urlParams_ gensupport.URLParams
17797	ctx_       context.Context
17798	header_    http.Header
17799}
17800
17801// Delete: Deletes the specified agent.
17802//
17803// - name: The name of the agent to delete. Format:
17804//   `projects//locations//agents/`.
17805func (r *ProjectsLocationsAgentsService) Delete(name string) *ProjectsLocationsAgentsDeleteCall {
17806	c := &ProjectsLocationsAgentsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17807	c.name = name
17808	return c
17809}
17810
17811// Fields allows partial responses to be retrieved. See
17812// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17813// for more information.
17814func (c *ProjectsLocationsAgentsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsDeleteCall {
17815	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17816	return c
17817}
17818
17819// Context sets the context to be used in this call's Do method. Any
17820// pending HTTP request will be aborted if the provided context is
17821// canceled.
17822func (c *ProjectsLocationsAgentsDeleteCall) Context(ctx context.Context) *ProjectsLocationsAgentsDeleteCall {
17823	c.ctx_ = ctx
17824	return c
17825}
17826
17827// Header returns an http.Header that can be modified by the caller to
17828// add HTTP headers to the request.
17829func (c *ProjectsLocationsAgentsDeleteCall) Header() http.Header {
17830	if c.header_ == nil {
17831		c.header_ = make(http.Header)
17832	}
17833	return c.header_
17834}
17835
17836func (c *ProjectsLocationsAgentsDeleteCall) doRequest(alt string) (*http.Response, error) {
17837	reqHeaders := make(http.Header)
17838	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
17839	for k, v := range c.header_ {
17840		reqHeaders[k] = v
17841	}
17842	reqHeaders.Set("User-Agent", c.s.userAgent())
17843	var body io.Reader = nil
17844	c.urlParams_.Set("alt", alt)
17845	c.urlParams_.Set("prettyPrint", "false")
17846	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
17847	urls += "?" + c.urlParams_.Encode()
17848	req, err := http.NewRequest("DELETE", urls, body)
17849	if err != nil {
17850		return nil, err
17851	}
17852	req.Header = reqHeaders
17853	googleapi.Expand(req.URL, map[string]string{
17854		"name": c.name,
17855	})
17856	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17857}
17858
17859// Do executes the "dialogflow.projects.locations.agents.delete" call.
17860// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
17861// non-2xx status code is an error. Response headers are in either
17862// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
17863// returned at all) in error.(*googleapi.Error).Header. Use
17864// googleapi.IsNotModified to check whether the returned error was
17865// because http.StatusNotModified was returned.
17866func (c *ProjectsLocationsAgentsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
17867	gensupport.SetOptions(c.urlParams_, opts...)
17868	res, err := c.doRequest("json")
17869	if res != nil && res.StatusCode == http.StatusNotModified {
17870		if res.Body != nil {
17871			res.Body.Close()
17872		}
17873		return nil, &googleapi.Error{
17874			Code:   res.StatusCode,
17875			Header: res.Header,
17876		}
17877	}
17878	if err != nil {
17879		return nil, err
17880	}
17881	defer googleapi.CloseBody(res)
17882	if err := googleapi.CheckResponse(res); err != nil {
17883		return nil, err
17884	}
17885	ret := &GoogleProtobufEmpty{
17886		ServerResponse: googleapi.ServerResponse{
17887			Header:         res.Header,
17888			HTTPStatusCode: res.StatusCode,
17889		},
17890	}
17891	target := &ret
17892	if err := gensupport.DecodeResponse(target, res); err != nil {
17893		return nil, err
17894	}
17895	return ret, nil
17896	// {
17897	//   "description": "Deletes the specified agent.",
17898	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}",
17899	//   "httpMethod": "DELETE",
17900	//   "id": "dialogflow.projects.locations.agents.delete",
17901	//   "parameterOrder": [
17902	//     "name"
17903	//   ],
17904	//   "parameters": {
17905	//     "name": {
17906	//       "description": "Required. The name of the agent to delete. Format: `projects//locations//agents/`.",
17907	//       "location": "path",
17908	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$",
17909	//       "required": true,
17910	//       "type": "string"
17911	//     }
17912	//   },
17913	//   "path": "v3/{+name}",
17914	//   "response": {
17915	//     "$ref": "GoogleProtobufEmpty"
17916	//   },
17917	//   "scopes": [
17918	//     "https://www.googleapis.com/auth/cloud-platform",
17919	//     "https://www.googleapis.com/auth/dialogflow"
17920	//   ]
17921	// }
17922
17923}
17924
17925// method id "dialogflow.projects.locations.agents.export":
17926
17927type ProjectsLocationsAgentsExportCall struct {
17928	s                                           *Service
17929	name                                        string
17930	googleclouddialogflowcxv3exportagentrequest *GoogleCloudDialogflowCxV3ExportAgentRequest
17931	urlParams_                                  gensupport.URLParams
17932	ctx_                                        context.Context
17933	header_                                     http.Header
17934}
17935
17936// Export: Exports the specified agent to a binary file.
17937//
17938// - name: The name of the agent to export. Format:
17939//   `projects//locations//agents/`.
17940func (r *ProjectsLocationsAgentsService) Export(name string, googleclouddialogflowcxv3exportagentrequest *GoogleCloudDialogflowCxV3ExportAgentRequest) *ProjectsLocationsAgentsExportCall {
17941	c := &ProjectsLocationsAgentsExportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17942	c.name = name
17943	c.googleclouddialogflowcxv3exportagentrequest = googleclouddialogflowcxv3exportagentrequest
17944	return c
17945}
17946
17947// Fields allows partial responses to be retrieved. See
17948// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17949// for more information.
17950func (c *ProjectsLocationsAgentsExportCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsExportCall {
17951	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17952	return c
17953}
17954
17955// Context sets the context to be used in this call's Do method. Any
17956// pending HTTP request will be aborted if the provided context is
17957// canceled.
17958func (c *ProjectsLocationsAgentsExportCall) Context(ctx context.Context) *ProjectsLocationsAgentsExportCall {
17959	c.ctx_ = ctx
17960	return c
17961}
17962
17963// Header returns an http.Header that can be modified by the caller to
17964// add HTTP headers to the request.
17965func (c *ProjectsLocationsAgentsExportCall) Header() http.Header {
17966	if c.header_ == nil {
17967		c.header_ = make(http.Header)
17968	}
17969	return c.header_
17970}
17971
17972func (c *ProjectsLocationsAgentsExportCall) doRequest(alt string) (*http.Response, error) {
17973	reqHeaders := make(http.Header)
17974	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
17975	for k, v := range c.header_ {
17976		reqHeaders[k] = v
17977	}
17978	reqHeaders.Set("User-Agent", c.s.userAgent())
17979	var body io.Reader = nil
17980	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3exportagentrequest)
17981	if err != nil {
17982		return nil, err
17983	}
17984	reqHeaders.Set("Content-Type", "application/json")
17985	c.urlParams_.Set("alt", alt)
17986	c.urlParams_.Set("prettyPrint", "false")
17987	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}:export")
17988	urls += "?" + c.urlParams_.Encode()
17989	req, err := http.NewRequest("POST", urls, body)
17990	if err != nil {
17991		return nil, err
17992	}
17993	req.Header = reqHeaders
17994	googleapi.Expand(req.URL, map[string]string{
17995		"name": c.name,
17996	})
17997	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17998}
17999
18000// Do executes the "dialogflow.projects.locations.agents.export" call.
18001// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
18002// Any non-2xx status code is an error. Response headers are in either
18003// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
18004// was returned at all) in error.(*googleapi.Error).Header. Use
18005// googleapi.IsNotModified to check whether the returned error was
18006// because http.StatusNotModified was returned.
18007func (c *ProjectsLocationsAgentsExportCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
18008	gensupport.SetOptions(c.urlParams_, opts...)
18009	res, err := c.doRequest("json")
18010	if res != nil && res.StatusCode == http.StatusNotModified {
18011		if res.Body != nil {
18012			res.Body.Close()
18013		}
18014		return nil, &googleapi.Error{
18015			Code:   res.StatusCode,
18016			Header: res.Header,
18017		}
18018	}
18019	if err != nil {
18020		return nil, err
18021	}
18022	defer googleapi.CloseBody(res)
18023	if err := googleapi.CheckResponse(res); err != nil {
18024		return nil, err
18025	}
18026	ret := &GoogleLongrunningOperation{
18027		ServerResponse: googleapi.ServerResponse{
18028			Header:         res.Header,
18029			HTTPStatusCode: res.StatusCode,
18030		},
18031	}
18032	target := &ret
18033	if err := gensupport.DecodeResponse(target, res); err != nil {
18034		return nil, err
18035	}
18036	return ret, nil
18037	// {
18038	//   "description": "Exports the specified agent to a binary file.",
18039	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}:export",
18040	//   "httpMethod": "POST",
18041	//   "id": "dialogflow.projects.locations.agents.export",
18042	//   "parameterOrder": [
18043	//     "name"
18044	//   ],
18045	//   "parameters": {
18046	//     "name": {
18047	//       "description": "Required. The name of the agent to export. Format: `projects//locations//agents/`.",
18048	//       "location": "path",
18049	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$",
18050	//       "required": true,
18051	//       "type": "string"
18052	//     }
18053	//   },
18054	//   "path": "v3/{+name}:export",
18055	//   "request": {
18056	//     "$ref": "GoogleCloudDialogflowCxV3ExportAgentRequest"
18057	//   },
18058	//   "response": {
18059	//     "$ref": "GoogleLongrunningOperation"
18060	//   },
18061	//   "scopes": [
18062	//     "https://www.googleapis.com/auth/cloud-platform",
18063	//     "https://www.googleapis.com/auth/dialogflow"
18064	//   ]
18065	// }
18066
18067}
18068
18069// method id "dialogflow.projects.locations.agents.get":
18070
18071type ProjectsLocationsAgentsGetCall struct {
18072	s            *Service
18073	name         string
18074	urlParams_   gensupport.URLParams
18075	ifNoneMatch_ string
18076	ctx_         context.Context
18077	header_      http.Header
18078}
18079
18080// Get: Retrieves the specified agent.
18081//
18082// - name: The name of the agent. Format:
18083//   `projects//locations//agents/`.
18084func (r *ProjectsLocationsAgentsService) Get(name string) *ProjectsLocationsAgentsGetCall {
18085	c := &ProjectsLocationsAgentsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18086	c.name = name
18087	return c
18088}
18089
18090// Fields allows partial responses to be retrieved. See
18091// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18092// for more information.
18093func (c *ProjectsLocationsAgentsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsGetCall {
18094	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18095	return c
18096}
18097
18098// IfNoneMatch sets the optional parameter which makes the operation
18099// fail if the object's ETag matches the given value. This is useful for
18100// getting updates only after the object has changed since the last
18101// request. Use googleapi.IsNotModified to check whether the response
18102// error from Do is the result of In-None-Match.
18103func (c *ProjectsLocationsAgentsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsGetCall {
18104	c.ifNoneMatch_ = entityTag
18105	return c
18106}
18107
18108// Context sets the context to be used in this call's Do method. Any
18109// pending HTTP request will be aborted if the provided context is
18110// canceled.
18111func (c *ProjectsLocationsAgentsGetCall) Context(ctx context.Context) *ProjectsLocationsAgentsGetCall {
18112	c.ctx_ = ctx
18113	return c
18114}
18115
18116// Header returns an http.Header that can be modified by the caller to
18117// add HTTP headers to the request.
18118func (c *ProjectsLocationsAgentsGetCall) Header() http.Header {
18119	if c.header_ == nil {
18120		c.header_ = make(http.Header)
18121	}
18122	return c.header_
18123}
18124
18125func (c *ProjectsLocationsAgentsGetCall) doRequest(alt string) (*http.Response, error) {
18126	reqHeaders := make(http.Header)
18127	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
18128	for k, v := range c.header_ {
18129		reqHeaders[k] = v
18130	}
18131	reqHeaders.Set("User-Agent", c.s.userAgent())
18132	if c.ifNoneMatch_ != "" {
18133		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
18134	}
18135	var body io.Reader = nil
18136	c.urlParams_.Set("alt", alt)
18137	c.urlParams_.Set("prettyPrint", "false")
18138	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
18139	urls += "?" + c.urlParams_.Encode()
18140	req, err := http.NewRequest("GET", urls, body)
18141	if err != nil {
18142		return nil, err
18143	}
18144	req.Header = reqHeaders
18145	googleapi.Expand(req.URL, map[string]string{
18146		"name": c.name,
18147	})
18148	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18149}
18150
18151// Do executes the "dialogflow.projects.locations.agents.get" call.
18152// Exactly one of *GoogleCloudDialogflowCxV3Agent or error will be
18153// non-nil. Any non-2xx status code is an error. Response headers are in
18154// either *GoogleCloudDialogflowCxV3Agent.ServerResponse.Header or (if a
18155// response was returned at all) in error.(*googleapi.Error).Header. Use
18156// googleapi.IsNotModified to check whether the returned error was
18157// because http.StatusNotModified was returned.
18158func (c *ProjectsLocationsAgentsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3Agent, error) {
18159	gensupport.SetOptions(c.urlParams_, opts...)
18160	res, err := c.doRequest("json")
18161	if res != nil && res.StatusCode == http.StatusNotModified {
18162		if res.Body != nil {
18163			res.Body.Close()
18164		}
18165		return nil, &googleapi.Error{
18166			Code:   res.StatusCode,
18167			Header: res.Header,
18168		}
18169	}
18170	if err != nil {
18171		return nil, err
18172	}
18173	defer googleapi.CloseBody(res)
18174	if err := googleapi.CheckResponse(res); err != nil {
18175		return nil, err
18176	}
18177	ret := &GoogleCloudDialogflowCxV3Agent{
18178		ServerResponse: googleapi.ServerResponse{
18179			Header:         res.Header,
18180			HTTPStatusCode: res.StatusCode,
18181		},
18182	}
18183	target := &ret
18184	if err := gensupport.DecodeResponse(target, res); err != nil {
18185		return nil, err
18186	}
18187	return ret, nil
18188	// {
18189	//   "description": "Retrieves the specified agent.",
18190	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}",
18191	//   "httpMethod": "GET",
18192	//   "id": "dialogflow.projects.locations.agents.get",
18193	//   "parameterOrder": [
18194	//     "name"
18195	//   ],
18196	//   "parameters": {
18197	//     "name": {
18198	//       "description": "Required. The name of the agent. Format: `projects//locations//agents/`.",
18199	//       "location": "path",
18200	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$",
18201	//       "required": true,
18202	//       "type": "string"
18203	//     }
18204	//   },
18205	//   "path": "v3/{+name}",
18206	//   "response": {
18207	//     "$ref": "GoogleCloudDialogflowCxV3Agent"
18208	//   },
18209	//   "scopes": [
18210	//     "https://www.googleapis.com/auth/cloud-platform",
18211	//     "https://www.googleapis.com/auth/dialogflow"
18212	//   ]
18213	// }
18214
18215}
18216
18217// method id "dialogflow.projects.locations.agents.getValidationResult":
18218
18219type ProjectsLocationsAgentsGetValidationResultCall struct {
18220	s            *Service
18221	name         string
18222	urlParams_   gensupport.URLParams
18223	ifNoneMatch_ string
18224	ctx_         context.Context
18225	header_      http.Header
18226}
18227
18228// GetValidationResult: Gets the latest agent validation result. Agent
18229// validation is performed when ValidateAgent is called.
18230//
18231// - name: The agent name. Format:
18232//   `projects//locations//agents//validationResult`.
18233func (r *ProjectsLocationsAgentsService) GetValidationResult(name string) *ProjectsLocationsAgentsGetValidationResultCall {
18234	c := &ProjectsLocationsAgentsGetValidationResultCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18235	c.name = name
18236	return c
18237}
18238
18239// LanguageCode sets the optional parameter "languageCode": If not
18240// specified, the agent's default language is used.
18241func (c *ProjectsLocationsAgentsGetValidationResultCall) LanguageCode(languageCode string) *ProjectsLocationsAgentsGetValidationResultCall {
18242	c.urlParams_.Set("languageCode", languageCode)
18243	return c
18244}
18245
18246// Fields allows partial responses to be retrieved. See
18247// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18248// for more information.
18249func (c *ProjectsLocationsAgentsGetValidationResultCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsGetValidationResultCall {
18250	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18251	return c
18252}
18253
18254// IfNoneMatch sets the optional parameter which makes the operation
18255// fail if the object's ETag matches the given value. This is useful for
18256// getting updates only after the object has changed since the last
18257// request. Use googleapi.IsNotModified to check whether the response
18258// error from Do is the result of In-None-Match.
18259func (c *ProjectsLocationsAgentsGetValidationResultCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsGetValidationResultCall {
18260	c.ifNoneMatch_ = entityTag
18261	return c
18262}
18263
18264// Context sets the context to be used in this call's Do method. Any
18265// pending HTTP request will be aborted if the provided context is
18266// canceled.
18267func (c *ProjectsLocationsAgentsGetValidationResultCall) Context(ctx context.Context) *ProjectsLocationsAgentsGetValidationResultCall {
18268	c.ctx_ = ctx
18269	return c
18270}
18271
18272// Header returns an http.Header that can be modified by the caller to
18273// add HTTP headers to the request.
18274func (c *ProjectsLocationsAgentsGetValidationResultCall) Header() http.Header {
18275	if c.header_ == nil {
18276		c.header_ = make(http.Header)
18277	}
18278	return c.header_
18279}
18280
18281func (c *ProjectsLocationsAgentsGetValidationResultCall) doRequest(alt string) (*http.Response, error) {
18282	reqHeaders := make(http.Header)
18283	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
18284	for k, v := range c.header_ {
18285		reqHeaders[k] = v
18286	}
18287	reqHeaders.Set("User-Agent", c.s.userAgent())
18288	if c.ifNoneMatch_ != "" {
18289		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
18290	}
18291	var body io.Reader = nil
18292	c.urlParams_.Set("alt", alt)
18293	c.urlParams_.Set("prettyPrint", "false")
18294	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
18295	urls += "?" + c.urlParams_.Encode()
18296	req, err := http.NewRequest("GET", urls, body)
18297	if err != nil {
18298		return nil, err
18299	}
18300	req.Header = reqHeaders
18301	googleapi.Expand(req.URL, map[string]string{
18302		"name": c.name,
18303	})
18304	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18305}
18306
18307// Do executes the "dialogflow.projects.locations.agents.getValidationResult" call.
18308// Exactly one of *GoogleCloudDialogflowCxV3AgentValidationResult or
18309// error will be non-nil. Any non-2xx status code is an error. Response
18310// headers are in either
18311// *GoogleCloudDialogflowCxV3AgentValidationResult.ServerResponse.Header
18312// or (if a response was returned at all) in
18313// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
18314// whether the returned error was because http.StatusNotModified was
18315// returned.
18316func (c *ProjectsLocationsAgentsGetValidationResultCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3AgentValidationResult, error) {
18317	gensupport.SetOptions(c.urlParams_, opts...)
18318	res, err := c.doRequest("json")
18319	if res != nil && res.StatusCode == http.StatusNotModified {
18320		if res.Body != nil {
18321			res.Body.Close()
18322		}
18323		return nil, &googleapi.Error{
18324			Code:   res.StatusCode,
18325			Header: res.Header,
18326		}
18327	}
18328	if err != nil {
18329		return nil, err
18330	}
18331	defer googleapi.CloseBody(res)
18332	if err := googleapi.CheckResponse(res); err != nil {
18333		return nil, err
18334	}
18335	ret := &GoogleCloudDialogflowCxV3AgentValidationResult{
18336		ServerResponse: googleapi.ServerResponse{
18337			Header:         res.Header,
18338			HTTPStatusCode: res.StatusCode,
18339		},
18340	}
18341	target := &ret
18342	if err := gensupport.DecodeResponse(target, res); err != nil {
18343		return nil, err
18344	}
18345	return ret, nil
18346	// {
18347	//   "description": "Gets the latest agent validation result. Agent validation is performed when ValidateAgent is called.",
18348	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/validationResult",
18349	//   "httpMethod": "GET",
18350	//   "id": "dialogflow.projects.locations.agents.getValidationResult",
18351	//   "parameterOrder": [
18352	//     "name"
18353	//   ],
18354	//   "parameters": {
18355	//     "languageCode": {
18356	//       "description": "If not specified, the agent's default language is used.",
18357	//       "location": "query",
18358	//       "type": "string"
18359	//     },
18360	//     "name": {
18361	//       "description": "Required. The agent name. Format: `projects//locations//agents//validationResult`.",
18362	//       "location": "path",
18363	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/validationResult$",
18364	//       "required": true,
18365	//       "type": "string"
18366	//     }
18367	//   },
18368	//   "path": "v3/{+name}",
18369	//   "response": {
18370	//     "$ref": "GoogleCloudDialogflowCxV3AgentValidationResult"
18371	//   },
18372	//   "scopes": [
18373	//     "https://www.googleapis.com/auth/cloud-platform",
18374	//     "https://www.googleapis.com/auth/dialogflow"
18375	//   ]
18376	// }
18377
18378}
18379
18380// method id "dialogflow.projects.locations.agents.list":
18381
18382type ProjectsLocationsAgentsListCall struct {
18383	s            *Service
18384	parent       string
18385	urlParams_   gensupport.URLParams
18386	ifNoneMatch_ string
18387	ctx_         context.Context
18388	header_      http.Header
18389}
18390
18391// List: Returns the list of all agents in the specified location.
18392//
18393// - parent: The location to list all agents for. Format:
18394//   `projects//locations/`.
18395func (r *ProjectsLocationsAgentsService) List(parent string) *ProjectsLocationsAgentsListCall {
18396	c := &ProjectsLocationsAgentsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18397	c.parent = parent
18398	return c
18399}
18400
18401// PageSize sets the optional parameter "pageSize": The maximum number
18402// of items to return in a single page. By default 100 and at most 1000.
18403func (c *ProjectsLocationsAgentsListCall) PageSize(pageSize int64) *ProjectsLocationsAgentsListCall {
18404	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
18405	return c
18406}
18407
18408// PageToken sets the optional parameter "pageToken": The
18409// next_page_token value returned from a previous list request.
18410func (c *ProjectsLocationsAgentsListCall) PageToken(pageToken string) *ProjectsLocationsAgentsListCall {
18411	c.urlParams_.Set("pageToken", pageToken)
18412	return c
18413}
18414
18415// Fields allows partial responses to be retrieved. See
18416// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18417// for more information.
18418func (c *ProjectsLocationsAgentsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsListCall {
18419	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18420	return c
18421}
18422
18423// IfNoneMatch sets the optional parameter which makes the operation
18424// fail if the object's ETag matches the given value. This is useful for
18425// getting updates only after the object has changed since the last
18426// request. Use googleapi.IsNotModified to check whether the response
18427// error from Do is the result of In-None-Match.
18428func (c *ProjectsLocationsAgentsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsListCall {
18429	c.ifNoneMatch_ = entityTag
18430	return c
18431}
18432
18433// Context sets the context to be used in this call's Do method. Any
18434// pending HTTP request will be aborted if the provided context is
18435// canceled.
18436func (c *ProjectsLocationsAgentsListCall) Context(ctx context.Context) *ProjectsLocationsAgentsListCall {
18437	c.ctx_ = ctx
18438	return c
18439}
18440
18441// Header returns an http.Header that can be modified by the caller to
18442// add HTTP headers to the request.
18443func (c *ProjectsLocationsAgentsListCall) Header() http.Header {
18444	if c.header_ == nil {
18445		c.header_ = make(http.Header)
18446	}
18447	return c.header_
18448}
18449
18450func (c *ProjectsLocationsAgentsListCall) doRequest(alt string) (*http.Response, error) {
18451	reqHeaders := make(http.Header)
18452	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
18453	for k, v := range c.header_ {
18454		reqHeaders[k] = v
18455	}
18456	reqHeaders.Set("User-Agent", c.s.userAgent())
18457	if c.ifNoneMatch_ != "" {
18458		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
18459	}
18460	var body io.Reader = nil
18461	c.urlParams_.Set("alt", alt)
18462	c.urlParams_.Set("prettyPrint", "false")
18463	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/agents")
18464	urls += "?" + c.urlParams_.Encode()
18465	req, err := http.NewRequest("GET", urls, body)
18466	if err != nil {
18467		return nil, err
18468	}
18469	req.Header = reqHeaders
18470	googleapi.Expand(req.URL, map[string]string{
18471		"parent": c.parent,
18472	})
18473	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18474}
18475
18476// Do executes the "dialogflow.projects.locations.agents.list" call.
18477// Exactly one of *GoogleCloudDialogflowCxV3ListAgentsResponse or error
18478// will be non-nil. Any non-2xx status code is an error. Response
18479// headers are in either
18480// *GoogleCloudDialogflowCxV3ListAgentsResponse.ServerResponse.Header or
18481// (if a response was returned at all) in
18482// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
18483// whether the returned error was because http.StatusNotModified was
18484// returned.
18485func (c *ProjectsLocationsAgentsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3ListAgentsResponse, error) {
18486	gensupport.SetOptions(c.urlParams_, opts...)
18487	res, err := c.doRequest("json")
18488	if res != nil && res.StatusCode == http.StatusNotModified {
18489		if res.Body != nil {
18490			res.Body.Close()
18491		}
18492		return nil, &googleapi.Error{
18493			Code:   res.StatusCode,
18494			Header: res.Header,
18495		}
18496	}
18497	if err != nil {
18498		return nil, err
18499	}
18500	defer googleapi.CloseBody(res)
18501	if err := googleapi.CheckResponse(res); err != nil {
18502		return nil, err
18503	}
18504	ret := &GoogleCloudDialogflowCxV3ListAgentsResponse{
18505		ServerResponse: googleapi.ServerResponse{
18506			Header:         res.Header,
18507			HTTPStatusCode: res.StatusCode,
18508		},
18509	}
18510	target := &ret
18511	if err := gensupport.DecodeResponse(target, res); err != nil {
18512		return nil, err
18513	}
18514	return ret, nil
18515	// {
18516	//   "description": "Returns the list of all agents in the specified location.",
18517	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents",
18518	//   "httpMethod": "GET",
18519	//   "id": "dialogflow.projects.locations.agents.list",
18520	//   "parameterOrder": [
18521	//     "parent"
18522	//   ],
18523	//   "parameters": {
18524	//     "pageSize": {
18525	//       "description": "The maximum number of items to return in a single page. By default 100 and at most 1000.",
18526	//       "format": "int32",
18527	//       "location": "query",
18528	//       "type": "integer"
18529	//     },
18530	//     "pageToken": {
18531	//       "description": "The next_page_token value returned from a previous list request.",
18532	//       "location": "query",
18533	//       "type": "string"
18534	//     },
18535	//     "parent": {
18536	//       "description": "Required. The location to list all agents for. Format: `projects//locations/`.",
18537	//       "location": "path",
18538	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
18539	//       "required": true,
18540	//       "type": "string"
18541	//     }
18542	//   },
18543	//   "path": "v3/{+parent}/agents",
18544	//   "response": {
18545	//     "$ref": "GoogleCloudDialogflowCxV3ListAgentsResponse"
18546	//   },
18547	//   "scopes": [
18548	//     "https://www.googleapis.com/auth/cloud-platform",
18549	//     "https://www.googleapis.com/auth/dialogflow"
18550	//   ]
18551	// }
18552
18553}
18554
18555// Pages invokes f for each page of results.
18556// A non-nil error returned from f will halt the iteration.
18557// The provided context supersedes any context provided to the Context method.
18558func (c *ProjectsLocationsAgentsListCall) Pages(ctx context.Context, f func(*GoogleCloudDialogflowCxV3ListAgentsResponse) error) error {
18559	c.ctx_ = ctx
18560	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
18561	for {
18562		x, err := c.Do()
18563		if err != nil {
18564			return err
18565		}
18566		if err := f(x); err != nil {
18567			return err
18568		}
18569		if x.NextPageToken == "" {
18570			return nil
18571		}
18572		c.PageToken(x.NextPageToken)
18573	}
18574}
18575
18576// method id "dialogflow.projects.locations.agents.patch":
18577
18578type ProjectsLocationsAgentsPatchCall struct {
18579	s                              *Service
18580	nameid                         string
18581	googleclouddialogflowcxv3agent *GoogleCloudDialogflowCxV3Agent
18582	urlParams_                     gensupport.URLParams
18583	ctx_                           context.Context
18584	header_                        http.Header
18585}
18586
18587// Patch: Updates the specified agent. Note: You should always train
18588// flows prior to sending them queries. See the training documentation
18589// (https://cloud.google.com/dialogflow/cx/docs/concept/training).
18590//
18591// - name: The unique identifier of the agent. Required for the
18592//   Agents.UpdateAgent method. Agents.CreateAgent populates the name
18593//   automatically. Format: `projects//locations//agents/`.
18594func (r *ProjectsLocationsAgentsService) Patch(nameid string, googleclouddialogflowcxv3agent *GoogleCloudDialogflowCxV3Agent) *ProjectsLocationsAgentsPatchCall {
18595	c := &ProjectsLocationsAgentsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18596	c.nameid = nameid
18597	c.googleclouddialogflowcxv3agent = googleclouddialogflowcxv3agent
18598	return c
18599}
18600
18601// UpdateMask sets the optional parameter "updateMask": The mask to
18602// control which fields get updated. If the mask is not present, all
18603// fields will be updated.
18604func (c *ProjectsLocationsAgentsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsAgentsPatchCall {
18605	c.urlParams_.Set("updateMask", updateMask)
18606	return c
18607}
18608
18609// Fields allows partial responses to be retrieved. See
18610// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18611// for more information.
18612func (c *ProjectsLocationsAgentsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsPatchCall {
18613	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18614	return c
18615}
18616
18617// Context sets the context to be used in this call's Do method. Any
18618// pending HTTP request will be aborted if the provided context is
18619// canceled.
18620func (c *ProjectsLocationsAgentsPatchCall) Context(ctx context.Context) *ProjectsLocationsAgentsPatchCall {
18621	c.ctx_ = ctx
18622	return c
18623}
18624
18625// Header returns an http.Header that can be modified by the caller to
18626// add HTTP headers to the request.
18627func (c *ProjectsLocationsAgentsPatchCall) Header() http.Header {
18628	if c.header_ == nil {
18629		c.header_ = make(http.Header)
18630	}
18631	return c.header_
18632}
18633
18634func (c *ProjectsLocationsAgentsPatchCall) doRequest(alt string) (*http.Response, error) {
18635	reqHeaders := make(http.Header)
18636	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
18637	for k, v := range c.header_ {
18638		reqHeaders[k] = v
18639	}
18640	reqHeaders.Set("User-Agent", c.s.userAgent())
18641	var body io.Reader = nil
18642	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3agent)
18643	if err != nil {
18644		return nil, err
18645	}
18646	reqHeaders.Set("Content-Type", "application/json")
18647	c.urlParams_.Set("alt", alt)
18648	c.urlParams_.Set("prettyPrint", "false")
18649	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
18650	urls += "?" + c.urlParams_.Encode()
18651	req, err := http.NewRequest("PATCH", urls, body)
18652	if err != nil {
18653		return nil, err
18654	}
18655	req.Header = reqHeaders
18656	googleapi.Expand(req.URL, map[string]string{
18657		"name": c.nameid,
18658	})
18659	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18660}
18661
18662// Do executes the "dialogflow.projects.locations.agents.patch" call.
18663// Exactly one of *GoogleCloudDialogflowCxV3Agent or error will be
18664// non-nil. Any non-2xx status code is an error. Response headers are in
18665// either *GoogleCloudDialogflowCxV3Agent.ServerResponse.Header or (if a
18666// response was returned at all) in error.(*googleapi.Error).Header. Use
18667// googleapi.IsNotModified to check whether the returned error was
18668// because http.StatusNotModified was returned.
18669func (c *ProjectsLocationsAgentsPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3Agent, error) {
18670	gensupport.SetOptions(c.urlParams_, opts...)
18671	res, err := c.doRequest("json")
18672	if res != nil && res.StatusCode == http.StatusNotModified {
18673		if res.Body != nil {
18674			res.Body.Close()
18675		}
18676		return nil, &googleapi.Error{
18677			Code:   res.StatusCode,
18678			Header: res.Header,
18679		}
18680	}
18681	if err != nil {
18682		return nil, err
18683	}
18684	defer googleapi.CloseBody(res)
18685	if err := googleapi.CheckResponse(res); err != nil {
18686		return nil, err
18687	}
18688	ret := &GoogleCloudDialogflowCxV3Agent{
18689		ServerResponse: googleapi.ServerResponse{
18690			Header:         res.Header,
18691			HTTPStatusCode: res.StatusCode,
18692		},
18693	}
18694	target := &ret
18695	if err := gensupport.DecodeResponse(target, res); err != nil {
18696		return nil, err
18697	}
18698	return ret, nil
18699	// {
18700	//   "description": "Updates the specified agent. Note: You should always train flows prior to sending them queries. See the [training documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training).",
18701	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}",
18702	//   "httpMethod": "PATCH",
18703	//   "id": "dialogflow.projects.locations.agents.patch",
18704	//   "parameterOrder": [
18705	//     "name"
18706	//   ],
18707	//   "parameters": {
18708	//     "name": {
18709	//       "description": "The unique identifier of the agent. Required for the Agents.UpdateAgent method. Agents.CreateAgent populates the name automatically. Format: `projects//locations//agents/`.",
18710	//       "location": "path",
18711	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$",
18712	//       "required": true,
18713	//       "type": "string"
18714	//     },
18715	//     "updateMask": {
18716	//       "description": "The mask to control which fields get updated. If the mask is not present, all fields will be updated.",
18717	//       "format": "google-fieldmask",
18718	//       "location": "query",
18719	//       "type": "string"
18720	//     }
18721	//   },
18722	//   "path": "v3/{+name}",
18723	//   "request": {
18724	//     "$ref": "GoogleCloudDialogflowCxV3Agent"
18725	//   },
18726	//   "response": {
18727	//     "$ref": "GoogleCloudDialogflowCxV3Agent"
18728	//   },
18729	//   "scopes": [
18730	//     "https://www.googleapis.com/auth/cloud-platform",
18731	//     "https://www.googleapis.com/auth/dialogflow"
18732	//   ]
18733	// }
18734
18735}
18736
18737// method id "dialogflow.projects.locations.agents.restore":
18738
18739type ProjectsLocationsAgentsRestoreCall struct {
18740	s                                            *Service
18741	name                                         string
18742	googleclouddialogflowcxv3restoreagentrequest *GoogleCloudDialogflowCxV3RestoreAgentRequest
18743	urlParams_                                   gensupport.URLParams
18744	ctx_                                         context.Context
18745	header_                                      http.Header
18746}
18747
18748// Restore: Restores the specified agent from a binary file. Replaces
18749// the current agent with a new one. Note that all existing resources in
18750// agent (e.g. intents, entity types, flows) will be removed. Note: You
18751// should always train flows prior to sending them queries. See the
18752// training documentation
18753// (https://cloud.google.com/dialogflow/cx/docs/concept/training).
18754//
18755// - name: The name of the agent to restore into. Format:
18756//   `projects//locations//agents/`.
18757func (r *ProjectsLocationsAgentsService) Restore(name string, googleclouddialogflowcxv3restoreagentrequest *GoogleCloudDialogflowCxV3RestoreAgentRequest) *ProjectsLocationsAgentsRestoreCall {
18758	c := &ProjectsLocationsAgentsRestoreCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18759	c.name = name
18760	c.googleclouddialogflowcxv3restoreagentrequest = googleclouddialogflowcxv3restoreagentrequest
18761	return c
18762}
18763
18764// Fields allows partial responses to be retrieved. See
18765// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18766// for more information.
18767func (c *ProjectsLocationsAgentsRestoreCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsRestoreCall {
18768	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18769	return c
18770}
18771
18772// Context sets the context to be used in this call's Do method. Any
18773// pending HTTP request will be aborted if the provided context is
18774// canceled.
18775func (c *ProjectsLocationsAgentsRestoreCall) Context(ctx context.Context) *ProjectsLocationsAgentsRestoreCall {
18776	c.ctx_ = ctx
18777	return c
18778}
18779
18780// Header returns an http.Header that can be modified by the caller to
18781// add HTTP headers to the request.
18782func (c *ProjectsLocationsAgentsRestoreCall) Header() http.Header {
18783	if c.header_ == nil {
18784		c.header_ = make(http.Header)
18785	}
18786	return c.header_
18787}
18788
18789func (c *ProjectsLocationsAgentsRestoreCall) doRequest(alt string) (*http.Response, error) {
18790	reqHeaders := make(http.Header)
18791	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
18792	for k, v := range c.header_ {
18793		reqHeaders[k] = v
18794	}
18795	reqHeaders.Set("User-Agent", c.s.userAgent())
18796	var body io.Reader = nil
18797	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3restoreagentrequest)
18798	if err != nil {
18799		return nil, err
18800	}
18801	reqHeaders.Set("Content-Type", "application/json")
18802	c.urlParams_.Set("alt", alt)
18803	c.urlParams_.Set("prettyPrint", "false")
18804	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}:restore")
18805	urls += "?" + c.urlParams_.Encode()
18806	req, err := http.NewRequest("POST", urls, body)
18807	if err != nil {
18808		return nil, err
18809	}
18810	req.Header = reqHeaders
18811	googleapi.Expand(req.URL, map[string]string{
18812		"name": c.name,
18813	})
18814	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18815}
18816
18817// Do executes the "dialogflow.projects.locations.agents.restore" call.
18818// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
18819// Any non-2xx status code is an error. Response headers are in either
18820// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
18821// was returned at all) in error.(*googleapi.Error).Header. Use
18822// googleapi.IsNotModified to check whether the returned error was
18823// because http.StatusNotModified was returned.
18824func (c *ProjectsLocationsAgentsRestoreCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
18825	gensupport.SetOptions(c.urlParams_, opts...)
18826	res, err := c.doRequest("json")
18827	if res != nil && res.StatusCode == http.StatusNotModified {
18828		if res.Body != nil {
18829			res.Body.Close()
18830		}
18831		return nil, &googleapi.Error{
18832			Code:   res.StatusCode,
18833			Header: res.Header,
18834		}
18835	}
18836	if err != nil {
18837		return nil, err
18838	}
18839	defer googleapi.CloseBody(res)
18840	if err := googleapi.CheckResponse(res); err != nil {
18841		return nil, err
18842	}
18843	ret := &GoogleLongrunningOperation{
18844		ServerResponse: googleapi.ServerResponse{
18845			Header:         res.Header,
18846			HTTPStatusCode: res.StatusCode,
18847		},
18848	}
18849	target := &ret
18850	if err := gensupport.DecodeResponse(target, res); err != nil {
18851		return nil, err
18852	}
18853	return ret, nil
18854	// {
18855	//   "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. Note: You should always train flows prior to sending them queries. See the [training documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training).",
18856	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}:restore",
18857	//   "httpMethod": "POST",
18858	//   "id": "dialogflow.projects.locations.agents.restore",
18859	//   "parameterOrder": [
18860	//     "name"
18861	//   ],
18862	//   "parameters": {
18863	//     "name": {
18864	//       "description": "Required. The name of the agent to restore into. Format: `projects//locations//agents/`.",
18865	//       "location": "path",
18866	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$",
18867	//       "required": true,
18868	//       "type": "string"
18869	//     }
18870	//   },
18871	//   "path": "v3/{+name}:restore",
18872	//   "request": {
18873	//     "$ref": "GoogleCloudDialogflowCxV3RestoreAgentRequest"
18874	//   },
18875	//   "response": {
18876	//     "$ref": "GoogleLongrunningOperation"
18877	//   },
18878	//   "scopes": [
18879	//     "https://www.googleapis.com/auth/cloud-platform",
18880	//     "https://www.googleapis.com/auth/dialogflow"
18881	//   ]
18882	// }
18883
18884}
18885
18886// method id "dialogflow.projects.locations.agents.validate":
18887
18888type ProjectsLocationsAgentsValidateCall struct {
18889	s                                             *Service
18890	name                                          string
18891	googleclouddialogflowcxv3validateagentrequest *GoogleCloudDialogflowCxV3ValidateAgentRequest
18892	urlParams_                                    gensupport.URLParams
18893	ctx_                                          context.Context
18894	header_                                       http.Header
18895}
18896
18897// Validate: Validates the specified agent and creates or updates
18898// validation results. The agent in draft version is validated. Please
18899// call this API after the training is completed to get the complete
18900// validation results.
18901//
18902// - name: The agent to validate. Format:
18903//   `projects//locations//agents/`.
18904func (r *ProjectsLocationsAgentsService) Validate(name string, googleclouddialogflowcxv3validateagentrequest *GoogleCloudDialogflowCxV3ValidateAgentRequest) *ProjectsLocationsAgentsValidateCall {
18905	c := &ProjectsLocationsAgentsValidateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18906	c.name = name
18907	c.googleclouddialogflowcxv3validateagentrequest = googleclouddialogflowcxv3validateagentrequest
18908	return c
18909}
18910
18911// Fields allows partial responses to be retrieved. See
18912// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18913// for more information.
18914func (c *ProjectsLocationsAgentsValidateCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsValidateCall {
18915	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18916	return c
18917}
18918
18919// Context sets the context to be used in this call's Do method. Any
18920// pending HTTP request will be aborted if the provided context is
18921// canceled.
18922func (c *ProjectsLocationsAgentsValidateCall) Context(ctx context.Context) *ProjectsLocationsAgentsValidateCall {
18923	c.ctx_ = ctx
18924	return c
18925}
18926
18927// Header returns an http.Header that can be modified by the caller to
18928// add HTTP headers to the request.
18929func (c *ProjectsLocationsAgentsValidateCall) Header() http.Header {
18930	if c.header_ == nil {
18931		c.header_ = make(http.Header)
18932	}
18933	return c.header_
18934}
18935
18936func (c *ProjectsLocationsAgentsValidateCall) doRequest(alt string) (*http.Response, error) {
18937	reqHeaders := make(http.Header)
18938	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
18939	for k, v := range c.header_ {
18940		reqHeaders[k] = v
18941	}
18942	reqHeaders.Set("User-Agent", c.s.userAgent())
18943	var body io.Reader = nil
18944	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3validateagentrequest)
18945	if err != nil {
18946		return nil, err
18947	}
18948	reqHeaders.Set("Content-Type", "application/json")
18949	c.urlParams_.Set("alt", alt)
18950	c.urlParams_.Set("prettyPrint", "false")
18951	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}:validate")
18952	urls += "?" + c.urlParams_.Encode()
18953	req, err := http.NewRequest("POST", urls, body)
18954	if err != nil {
18955		return nil, err
18956	}
18957	req.Header = reqHeaders
18958	googleapi.Expand(req.URL, map[string]string{
18959		"name": c.name,
18960	})
18961	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18962}
18963
18964// Do executes the "dialogflow.projects.locations.agents.validate" call.
18965// Exactly one of *GoogleCloudDialogflowCxV3AgentValidationResult or
18966// error will be non-nil. Any non-2xx status code is an error. Response
18967// headers are in either
18968// *GoogleCloudDialogflowCxV3AgentValidationResult.ServerResponse.Header
18969// or (if a response was returned at all) in
18970// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
18971// whether the returned error was because http.StatusNotModified was
18972// returned.
18973func (c *ProjectsLocationsAgentsValidateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3AgentValidationResult, error) {
18974	gensupport.SetOptions(c.urlParams_, opts...)
18975	res, err := c.doRequest("json")
18976	if res != nil && res.StatusCode == http.StatusNotModified {
18977		if res.Body != nil {
18978			res.Body.Close()
18979		}
18980		return nil, &googleapi.Error{
18981			Code:   res.StatusCode,
18982			Header: res.Header,
18983		}
18984	}
18985	if err != nil {
18986		return nil, err
18987	}
18988	defer googleapi.CloseBody(res)
18989	if err := googleapi.CheckResponse(res); err != nil {
18990		return nil, err
18991	}
18992	ret := &GoogleCloudDialogflowCxV3AgentValidationResult{
18993		ServerResponse: googleapi.ServerResponse{
18994			Header:         res.Header,
18995			HTTPStatusCode: res.StatusCode,
18996		},
18997	}
18998	target := &ret
18999	if err := gensupport.DecodeResponse(target, res); err != nil {
19000		return nil, err
19001	}
19002	return ret, nil
19003	// {
19004	//   "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.",
19005	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}:validate",
19006	//   "httpMethod": "POST",
19007	//   "id": "dialogflow.projects.locations.agents.validate",
19008	//   "parameterOrder": [
19009	//     "name"
19010	//   ],
19011	//   "parameters": {
19012	//     "name": {
19013	//       "description": "Required. The agent to validate. Format: `projects//locations//agents/`.",
19014	//       "location": "path",
19015	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$",
19016	//       "required": true,
19017	//       "type": "string"
19018	//     }
19019	//   },
19020	//   "path": "v3/{+name}:validate",
19021	//   "request": {
19022	//     "$ref": "GoogleCloudDialogflowCxV3ValidateAgentRequest"
19023	//   },
19024	//   "response": {
19025	//     "$ref": "GoogleCloudDialogflowCxV3AgentValidationResult"
19026	//   },
19027	//   "scopes": [
19028	//     "https://www.googleapis.com/auth/cloud-platform",
19029	//     "https://www.googleapis.com/auth/dialogflow"
19030	//   ]
19031	// }
19032
19033}
19034
19035// method id "dialogflow.projects.locations.agents.entityTypes.create":
19036
19037type ProjectsLocationsAgentsEntityTypesCreateCall struct {
19038	s                                   *Service
19039	parent                              string
19040	googleclouddialogflowcxv3entitytype *GoogleCloudDialogflowCxV3EntityType
19041	urlParams_                          gensupport.URLParams
19042	ctx_                                context.Context
19043	header_                             http.Header
19044}
19045
19046// Create: Creates an entity type in the specified agent. Note: You
19047// should always train a flow prior to sending it queries. See the
19048// training documentation
19049// (https://cloud.google.com/dialogflow/cx/docs/concept/training).
19050//
19051// - parent: The agent to create a entity type for. Format:
19052//   `projects//locations//agents/`.
19053func (r *ProjectsLocationsAgentsEntityTypesService) Create(parent string, googleclouddialogflowcxv3entitytype *GoogleCloudDialogflowCxV3EntityType) *ProjectsLocationsAgentsEntityTypesCreateCall {
19054	c := &ProjectsLocationsAgentsEntityTypesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19055	c.parent = parent
19056	c.googleclouddialogflowcxv3entitytype = googleclouddialogflowcxv3entitytype
19057	return c
19058}
19059
19060// LanguageCode sets the optional parameter "languageCode": The language
19061// of the following fields in `entity_type`: *
19062// `EntityType.entities.value` * `EntityType.entities.synonyms` *
19063// `EntityType.excluded_phrases.value` If not specified, the agent's
19064// default language is used. Many languages
19065// (https://cloud.google.com/dialogflow/cx/docs/reference/language) are
19066// supported. Note: languages must be enabled in the agent before they
19067// can be used.
19068func (c *ProjectsLocationsAgentsEntityTypesCreateCall) LanguageCode(languageCode string) *ProjectsLocationsAgentsEntityTypesCreateCall {
19069	c.urlParams_.Set("languageCode", languageCode)
19070	return c
19071}
19072
19073// Fields allows partial responses to be retrieved. See
19074// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19075// for more information.
19076func (c *ProjectsLocationsAgentsEntityTypesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsEntityTypesCreateCall {
19077	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19078	return c
19079}
19080
19081// Context sets the context to be used in this call's Do method. Any
19082// pending HTTP request will be aborted if the provided context is
19083// canceled.
19084func (c *ProjectsLocationsAgentsEntityTypesCreateCall) Context(ctx context.Context) *ProjectsLocationsAgentsEntityTypesCreateCall {
19085	c.ctx_ = ctx
19086	return c
19087}
19088
19089// Header returns an http.Header that can be modified by the caller to
19090// add HTTP headers to the request.
19091func (c *ProjectsLocationsAgentsEntityTypesCreateCall) Header() http.Header {
19092	if c.header_ == nil {
19093		c.header_ = make(http.Header)
19094	}
19095	return c.header_
19096}
19097
19098func (c *ProjectsLocationsAgentsEntityTypesCreateCall) doRequest(alt string) (*http.Response, error) {
19099	reqHeaders := make(http.Header)
19100	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
19101	for k, v := range c.header_ {
19102		reqHeaders[k] = v
19103	}
19104	reqHeaders.Set("User-Agent", c.s.userAgent())
19105	var body io.Reader = nil
19106	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3entitytype)
19107	if err != nil {
19108		return nil, err
19109	}
19110	reqHeaders.Set("Content-Type", "application/json")
19111	c.urlParams_.Set("alt", alt)
19112	c.urlParams_.Set("prettyPrint", "false")
19113	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/entityTypes")
19114	urls += "?" + c.urlParams_.Encode()
19115	req, err := http.NewRequest("POST", urls, body)
19116	if err != nil {
19117		return nil, err
19118	}
19119	req.Header = reqHeaders
19120	googleapi.Expand(req.URL, map[string]string{
19121		"parent": c.parent,
19122	})
19123	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19124}
19125
19126// Do executes the "dialogflow.projects.locations.agents.entityTypes.create" call.
19127// Exactly one of *GoogleCloudDialogflowCxV3EntityType or error will be
19128// non-nil. Any non-2xx status code is an error. Response headers are in
19129// either *GoogleCloudDialogflowCxV3EntityType.ServerResponse.Header or
19130// (if a response was returned at all) in
19131// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
19132// whether the returned error was because http.StatusNotModified was
19133// returned.
19134func (c *ProjectsLocationsAgentsEntityTypesCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3EntityType, error) {
19135	gensupport.SetOptions(c.urlParams_, opts...)
19136	res, err := c.doRequest("json")
19137	if res != nil && res.StatusCode == http.StatusNotModified {
19138		if res.Body != nil {
19139			res.Body.Close()
19140		}
19141		return nil, &googleapi.Error{
19142			Code:   res.StatusCode,
19143			Header: res.Header,
19144		}
19145	}
19146	if err != nil {
19147		return nil, err
19148	}
19149	defer googleapi.CloseBody(res)
19150	if err := googleapi.CheckResponse(res); err != nil {
19151		return nil, err
19152	}
19153	ret := &GoogleCloudDialogflowCxV3EntityType{
19154		ServerResponse: googleapi.ServerResponse{
19155			Header:         res.Header,
19156			HTTPStatusCode: res.StatusCode,
19157		},
19158	}
19159	target := &ret
19160	if err := gensupport.DecodeResponse(target, res); err != nil {
19161		return nil, err
19162	}
19163	return ret, nil
19164	// {
19165	//   "description": "Creates an entity type in the specified agent. Note: You should always train a flow prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training).",
19166	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/entityTypes",
19167	//   "httpMethod": "POST",
19168	//   "id": "dialogflow.projects.locations.agents.entityTypes.create",
19169	//   "parameterOrder": [
19170	//     "parent"
19171	//   ],
19172	//   "parameters": {
19173	//     "languageCode": {
19174	//       "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.",
19175	//       "location": "query",
19176	//       "type": "string"
19177	//     },
19178	//     "parent": {
19179	//       "description": "Required. The agent to create a entity type for. Format: `projects//locations//agents/`.",
19180	//       "location": "path",
19181	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$",
19182	//       "required": true,
19183	//       "type": "string"
19184	//     }
19185	//   },
19186	//   "path": "v3/{+parent}/entityTypes",
19187	//   "request": {
19188	//     "$ref": "GoogleCloudDialogflowCxV3EntityType"
19189	//   },
19190	//   "response": {
19191	//     "$ref": "GoogleCloudDialogflowCxV3EntityType"
19192	//   },
19193	//   "scopes": [
19194	//     "https://www.googleapis.com/auth/cloud-platform",
19195	//     "https://www.googleapis.com/auth/dialogflow"
19196	//   ]
19197	// }
19198
19199}
19200
19201// method id "dialogflow.projects.locations.agents.entityTypes.delete":
19202
19203type ProjectsLocationsAgentsEntityTypesDeleteCall struct {
19204	s          *Service
19205	name       string
19206	urlParams_ gensupport.URLParams
19207	ctx_       context.Context
19208	header_    http.Header
19209}
19210
19211// Delete: Deletes the specified entity type. Note: You should always
19212// train a flow prior to sending it queries. See the training
19213// documentation
19214// (https://cloud.google.com/dialogflow/cx/docs/concept/training).
19215//
19216// - name: The name of the entity type to delete. Format:
19217//   `projects//locations//agents//entityTypes/`.
19218func (r *ProjectsLocationsAgentsEntityTypesService) Delete(name string) *ProjectsLocationsAgentsEntityTypesDeleteCall {
19219	c := &ProjectsLocationsAgentsEntityTypesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19220	c.name = name
19221	return c
19222}
19223
19224// Force sets the optional parameter "force": This field has no effect
19225// for entity type not being used. For entity types that are used by
19226// intents or pages: * If `force` is set to false, an error will be
19227// returned with message indicating the referencing resources. * If
19228// `force` is set to true, Dialogflow will remove the entity type, as
19229// well as any references to the entity type (i.e. Page parameter of the
19230// entity type will be changed to '@sys.any' and intent parameter of the
19231// entity type will be removed).
19232func (c *ProjectsLocationsAgentsEntityTypesDeleteCall) Force(force bool) *ProjectsLocationsAgentsEntityTypesDeleteCall {
19233	c.urlParams_.Set("force", fmt.Sprint(force))
19234	return c
19235}
19236
19237// Fields allows partial responses to be retrieved. See
19238// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19239// for more information.
19240func (c *ProjectsLocationsAgentsEntityTypesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsEntityTypesDeleteCall {
19241	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19242	return c
19243}
19244
19245// Context sets the context to be used in this call's Do method. Any
19246// pending HTTP request will be aborted if the provided context is
19247// canceled.
19248func (c *ProjectsLocationsAgentsEntityTypesDeleteCall) Context(ctx context.Context) *ProjectsLocationsAgentsEntityTypesDeleteCall {
19249	c.ctx_ = ctx
19250	return c
19251}
19252
19253// Header returns an http.Header that can be modified by the caller to
19254// add HTTP headers to the request.
19255func (c *ProjectsLocationsAgentsEntityTypesDeleteCall) Header() http.Header {
19256	if c.header_ == nil {
19257		c.header_ = make(http.Header)
19258	}
19259	return c.header_
19260}
19261
19262func (c *ProjectsLocationsAgentsEntityTypesDeleteCall) doRequest(alt string) (*http.Response, error) {
19263	reqHeaders := make(http.Header)
19264	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
19265	for k, v := range c.header_ {
19266		reqHeaders[k] = v
19267	}
19268	reqHeaders.Set("User-Agent", c.s.userAgent())
19269	var body io.Reader = nil
19270	c.urlParams_.Set("alt", alt)
19271	c.urlParams_.Set("prettyPrint", "false")
19272	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
19273	urls += "?" + c.urlParams_.Encode()
19274	req, err := http.NewRequest("DELETE", urls, body)
19275	if err != nil {
19276		return nil, err
19277	}
19278	req.Header = reqHeaders
19279	googleapi.Expand(req.URL, map[string]string{
19280		"name": c.name,
19281	})
19282	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19283}
19284
19285// Do executes the "dialogflow.projects.locations.agents.entityTypes.delete" call.
19286// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
19287// non-2xx status code is an error. Response headers are in either
19288// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
19289// returned at all) in error.(*googleapi.Error).Header. Use
19290// googleapi.IsNotModified to check whether the returned error was
19291// because http.StatusNotModified was returned.
19292func (c *ProjectsLocationsAgentsEntityTypesDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
19293	gensupport.SetOptions(c.urlParams_, opts...)
19294	res, err := c.doRequest("json")
19295	if res != nil && res.StatusCode == http.StatusNotModified {
19296		if res.Body != nil {
19297			res.Body.Close()
19298		}
19299		return nil, &googleapi.Error{
19300			Code:   res.StatusCode,
19301			Header: res.Header,
19302		}
19303	}
19304	if err != nil {
19305		return nil, err
19306	}
19307	defer googleapi.CloseBody(res)
19308	if err := googleapi.CheckResponse(res); err != nil {
19309		return nil, err
19310	}
19311	ret := &GoogleProtobufEmpty{
19312		ServerResponse: googleapi.ServerResponse{
19313			Header:         res.Header,
19314			HTTPStatusCode: res.StatusCode,
19315		},
19316	}
19317	target := &ret
19318	if err := gensupport.DecodeResponse(target, res); err != nil {
19319		return nil, err
19320	}
19321	return ret, nil
19322	// {
19323	//   "description": "Deletes the specified entity type. Note: You should always train a flow prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training).",
19324	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/entityTypes/{entityTypesId}",
19325	//   "httpMethod": "DELETE",
19326	//   "id": "dialogflow.projects.locations.agents.entityTypes.delete",
19327	//   "parameterOrder": [
19328	//     "name"
19329	//   ],
19330	//   "parameters": {
19331	//     "force": {
19332	//       "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).",
19333	//       "location": "query",
19334	//       "type": "boolean"
19335	//     },
19336	//     "name": {
19337	//       "description": "Required. The name of the entity type to delete. Format: `projects//locations//agents//entityTypes/`.",
19338	//       "location": "path",
19339	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/entityTypes/[^/]+$",
19340	//       "required": true,
19341	//       "type": "string"
19342	//     }
19343	//   },
19344	//   "path": "v3/{+name}",
19345	//   "response": {
19346	//     "$ref": "GoogleProtobufEmpty"
19347	//   },
19348	//   "scopes": [
19349	//     "https://www.googleapis.com/auth/cloud-platform",
19350	//     "https://www.googleapis.com/auth/dialogflow"
19351	//   ]
19352	// }
19353
19354}
19355
19356// method id "dialogflow.projects.locations.agents.entityTypes.get":
19357
19358type ProjectsLocationsAgentsEntityTypesGetCall struct {
19359	s            *Service
19360	name         string
19361	urlParams_   gensupport.URLParams
19362	ifNoneMatch_ string
19363	ctx_         context.Context
19364	header_      http.Header
19365}
19366
19367// Get: Retrieves the specified entity type.
19368//
19369// - name: The name of the entity type. Format:
19370//   `projects//locations//agents//entityTypes/`.
19371func (r *ProjectsLocationsAgentsEntityTypesService) Get(name string) *ProjectsLocationsAgentsEntityTypesGetCall {
19372	c := &ProjectsLocationsAgentsEntityTypesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19373	c.name = name
19374	return c
19375}
19376
19377// LanguageCode sets the optional parameter "languageCode": The language
19378// to retrieve the entity type for. The following fields are language
19379// dependent: * `EntityType.entities.value` *
19380// `EntityType.entities.synonyms` * `EntityType.excluded_phrases.value`
19381// If not specified, the agent's default language is used. Many
19382// languages
19383// (https://cloud.google.com/dialogflow/cx/docs/reference/language) are
19384// supported. Note: languages must be enabled in the agent before they
19385// can be used.
19386func (c *ProjectsLocationsAgentsEntityTypesGetCall) LanguageCode(languageCode string) *ProjectsLocationsAgentsEntityTypesGetCall {
19387	c.urlParams_.Set("languageCode", languageCode)
19388	return c
19389}
19390
19391// Fields allows partial responses to be retrieved. See
19392// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19393// for more information.
19394func (c *ProjectsLocationsAgentsEntityTypesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsEntityTypesGetCall {
19395	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19396	return c
19397}
19398
19399// IfNoneMatch sets the optional parameter which makes the operation
19400// fail if the object's ETag matches the given value. This is useful for
19401// getting updates only after the object has changed since the last
19402// request. Use googleapi.IsNotModified to check whether the response
19403// error from Do is the result of In-None-Match.
19404func (c *ProjectsLocationsAgentsEntityTypesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsEntityTypesGetCall {
19405	c.ifNoneMatch_ = entityTag
19406	return c
19407}
19408
19409// Context sets the context to be used in this call's Do method. Any
19410// pending HTTP request will be aborted if the provided context is
19411// canceled.
19412func (c *ProjectsLocationsAgentsEntityTypesGetCall) Context(ctx context.Context) *ProjectsLocationsAgentsEntityTypesGetCall {
19413	c.ctx_ = ctx
19414	return c
19415}
19416
19417// Header returns an http.Header that can be modified by the caller to
19418// add HTTP headers to the request.
19419func (c *ProjectsLocationsAgentsEntityTypesGetCall) Header() http.Header {
19420	if c.header_ == nil {
19421		c.header_ = make(http.Header)
19422	}
19423	return c.header_
19424}
19425
19426func (c *ProjectsLocationsAgentsEntityTypesGetCall) doRequest(alt string) (*http.Response, error) {
19427	reqHeaders := make(http.Header)
19428	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
19429	for k, v := range c.header_ {
19430		reqHeaders[k] = v
19431	}
19432	reqHeaders.Set("User-Agent", c.s.userAgent())
19433	if c.ifNoneMatch_ != "" {
19434		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
19435	}
19436	var body io.Reader = nil
19437	c.urlParams_.Set("alt", alt)
19438	c.urlParams_.Set("prettyPrint", "false")
19439	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
19440	urls += "?" + c.urlParams_.Encode()
19441	req, err := http.NewRequest("GET", urls, body)
19442	if err != nil {
19443		return nil, err
19444	}
19445	req.Header = reqHeaders
19446	googleapi.Expand(req.URL, map[string]string{
19447		"name": c.name,
19448	})
19449	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19450}
19451
19452// Do executes the "dialogflow.projects.locations.agents.entityTypes.get" call.
19453// Exactly one of *GoogleCloudDialogflowCxV3EntityType or error will be
19454// non-nil. Any non-2xx status code is an error. Response headers are in
19455// either *GoogleCloudDialogflowCxV3EntityType.ServerResponse.Header or
19456// (if a response was returned at all) in
19457// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
19458// whether the returned error was because http.StatusNotModified was
19459// returned.
19460func (c *ProjectsLocationsAgentsEntityTypesGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3EntityType, error) {
19461	gensupport.SetOptions(c.urlParams_, opts...)
19462	res, err := c.doRequest("json")
19463	if res != nil && res.StatusCode == http.StatusNotModified {
19464		if res.Body != nil {
19465			res.Body.Close()
19466		}
19467		return nil, &googleapi.Error{
19468			Code:   res.StatusCode,
19469			Header: res.Header,
19470		}
19471	}
19472	if err != nil {
19473		return nil, err
19474	}
19475	defer googleapi.CloseBody(res)
19476	if err := googleapi.CheckResponse(res); err != nil {
19477		return nil, err
19478	}
19479	ret := &GoogleCloudDialogflowCxV3EntityType{
19480		ServerResponse: googleapi.ServerResponse{
19481			Header:         res.Header,
19482			HTTPStatusCode: res.StatusCode,
19483		},
19484	}
19485	target := &ret
19486	if err := gensupport.DecodeResponse(target, res); err != nil {
19487		return nil, err
19488	}
19489	return ret, nil
19490	// {
19491	//   "description": "Retrieves the specified entity type.",
19492	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/entityTypes/{entityTypesId}",
19493	//   "httpMethod": "GET",
19494	//   "id": "dialogflow.projects.locations.agents.entityTypes.get",
19495	//   "parameterOrder": [
19496	//     "name"
19497	//   ],
19498	//   "parameters": {
19499	//     "languageCode": {
19500	//       "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.",
19501	//       "location": "query",
19502	//       "type": "string"
19503	//     },
19504	//     "name": {
19505	//       "description": "Required. The name of the entity type. Format: `projects//locations//agents//entityTypes/`.",
19506	//       "location": "path",
19507	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/entityTypes/[^/]+$",
19508	//       "required": true,
19509	//       "type": "string"
19510	//     }
19511	//   },
19512	//   "path": "v3/{+name}",
19513	//   "response": {
19514	//     "$ref": "GoogleCloudDialogflowCxV3EntityType"
19515	//   },
19516	//   "scopes": [
19517	//     "https://www.googleapis.com/auth/cloud-platform",
19518	//     "https://www.googleapis.com/auth/dialogflow"
19519	//   ]
19520	// }
19521
19522}
19523
19524// method id "dialogflow.projects.locations.agents.entityTypes.list":
19525
19526type ProjectsLocationsAgentsEntityTypesListCall struct {
19527	s            *Service
19528	parent       string
19529	urlParams_   gensupport.URLParams
19530	ifNoneMatch_ string
19531	ctx_         context.Context
19532	header_      http.Header
19533}
19534
19535// List: Returns the list of all entity types in the specified agent.
19536//
19537// - parent: The agent to list all entity types for. Format:
19538//   `projects//locations//agents/`.
19539func (r *ProjectsLocationsAgentsEntityTypesService) List(parent string) *ProjectsLocationsAgentsEntityTypesListCall {
19540	c := &ProjectsLocationsAgentsEntityTypesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19541	c.parent = parent
19542	return c
19543}
19544
19545// LanguageCode sets the optional parameter "languageCode": The language
19546// to list entity types for. The following fields are language
19547// dependent: * `EntityType.entities.value` *
19548// `EntityType.entities.synonyms` * `EntityType.excluded_phrases.value`
19549// If not specified, the agent's default language is used. Many
19550// languages
19551// (https://cloud.google.com/dialogflow/cx/docs/reference/language) are
19552// supported. Note: languages must be enabled in the agent before they
19553// can be used.
19554func (c *ProjectsLocationsAgentsEntityTypesListCall) LanguageCode(languageCode string) *ProjectsLocationsAgentsEntityTypesListCall {
19555	c.urlParams_.Set("languageCode", languageCode)
19556	return c
19557}
19558
19559// PageSize sets the optional parameter "pageSize": The maximum number
19560// of items to return in a single page. By default 100 and at most 1000.
19561func (c *ProjectsLocationsAgentsEntityTypesListCall) PageSize(pageSize int64) *ProjectsLocationsAgentsEntityTypesListCall {
19562	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
19563	return c
19564}
19565
19566// PageToken sets the optional parameter "pageToken": The
19567// next_page_token value returned from a previous list request.
19568func (c *ProjectsLocationsAgentsEntityTypesListCall) PageToken(pageToken string) *ProjectsLocationsAgentsEntityTypesListCall {
19569	c.urlParams_.Set("pageToken", pageToken)
19570	return c
19571}
19572
19573// Fields allows partial responses to be retrieved. See
19574// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19575// for more information.
19576func (c *ProjectsLocationsAgentsEntityTypesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsEntityTypesListCall {
19577	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19578	return c
19579}
19580
19581// IfNoneMatch sets the optional parameter which makes the operation
19582// fail if the object's ETag matches the given value. This is useful for
19583// getting updates only after the object has changed since the last
19584// request. Use googleapi.IsNotModified to check whether the response
19585// error from Do is the result of In-None-Match.
19586func (c *ProjectsLocationsAgentsEntityTypesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsEntityTypesListCall {
19587	c.ifNoneMatch_ = entityTag
19588	return c
19589}
19590
19591// Context sets the context to be used in this call's Do method. Any
19592// pending HTTP request will be aborted if the provided context is
19593// canceled.
19594func (c *ProjectsLocationsAgentsEntityTypesListCall) Context(ctx context.Context) *ProjectsLocationsAgentsEntityTypesListCall {
19595	c.ctx_ = ctx
19596	return c
19597}
19598
19599// Header returns an http.Header that can be modified by the caller to
19600// add HTTP headers to the request.
19601func (c *ProjectsLocationsAgentsEntityTypesListCall) Header() http.Header {
19602	if c.header_ == nil {
19603		c.header_ = make(http.Header)
19604	}
19605	return c.header_
19606}
19607
19608func (c *ProjectsLocationsAgentsEntityTypesListCall) doRequest(alt string) (*http.Response, error) {
19609	reqHeaders := make(http.Header)
19610	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
19611	for k, v := range c.header_ {
19612		reqHeaders[k] = v
19613	}
19614	reqHeaders.Set("User-Agent", c.s.userAgent())
19615	if c.ifNoneMatch_ != "" {
19616		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
19617	}
19618	var body io.Reader = nil
19619	c.urlParams_.Set("alt", alt)
19620	c.urlParams_.Set("prettyPrint", "false")
19621	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/entityTypes")
19622	urls += "?" + c.urlParams_.Encode()
19623	req, err := http.NewRequest("GET", urls, body)
19624	if err != nil {
19625		return nil, err
19626	}
19627	req.Header = reqHeaders
19628	googleapi.Expand(req.URL, map[string]string{
19629		"parent": c.parent,
19630	})
19631	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19632}
19633
19634// Do executes the "dialogflow.projects.locations.agents.entityTypes.list" call.
19635// Exactly one of *GoogleCloudDialogflowCxV3ListEntityTypesResponse or
19636// error will be non-nil. Any non-2xx status code is an error. Response
19637// headers are in either
19638// *GoogleCloudDialogflowCxV3ListEntityTypesResponse.ServerResponse.Heade
19639// r or (if a response was returned at all) in
19640// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
19641// whether the returned error was because http.StatusNotModified was
19642// returned.
19643func (c *ProjectsLocationsAgentsEntityTypesListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3ListEntityTypesResponse, error) {
19644	gensupport.SetOptions(c.urlParams_, opts...)
19645	res, err := c.doRequest("json")
19646	if res != nil && res.StatusCode == http.StatusNotModified {
19647		if res.Body != nil {
19648			res.Body.Close()
19649		}
19650		return nil, &googleapi.Error{
19651			Code:   res.StatusCode,
19652			Header: res.Header,
19653		}
19654	}
19655	if err != nil {
19656		return nil, err
19657	}
19658	defer googleapi.CloseBody(res)
19659	if err := googleapi.CheckResponse(res); err != nil {
19660		return nil, err
19661	}
19662	ret := &GoogleCloudDialogflowCxV3ListEntityTypesResponse{
19663		ServerResponse: googleapi.ServerResponse{
19664			Header:         res.Header,
19665			HTTPStatusCode: res.StatusCode,
19666		},
19667	}
19668	target := &ret
19669	if err := gensupport.DecodeResponse(target, res); err != nil {
19670		return nil, err
19671	}
19672	return ret, nil
19673	// {
19674	//   "description": "Returns the list of all entity types in the specified agent.",
19675	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/entityTypes",
19676	//   "httpMethod": "GET",
19677	//   "id": "dialogflow.projects.locations.agents.entityTypes.list",
19678	//   "parameterOrder": [
19679	//     "parent"
19680	//   ],
19681	//   "parameters": {
19682	//     "languageCode": {
19683	//       "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.",
19684	//       "location": "query",
19685	//       "type": "string"
19686	//     },
19687	//     "pageSize": {
19688	//       "description": "The maximum number of items to return in a single page. By default 100 and at most 1000.",
19689	//       "format": "int32",
19690	//       "location": "query",
19691	//       "type": "integer"
19692	//     },
19693	//     "pageToken": {
19694	//       "description": "The next_page_token value returned from a previous list request.",
19695	//       "location": "query",
19696	//       "type": "string"
19697	//     },
19698	//     "parent": {
19699	//       "description": "Required. The agent to list all entity types for. Format: `projects//locations//agents/`.",
19700	//       "location": "path",
19701	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$",
19702	//       "required": true,
19703	//       "type": "string"
19704	//     }
19705	//   },
19706	//   "path": "v3/{+parent}/entityTypes",
19707	//   "response": {
19708	//     "$ref": "GoogleCloudDialogflowCxV3ListEntityTypesResponse"
19709	//   },
19710	//   "scopes": [
19711	//     "https://www.googleapis.com/auth/cloud-platform",
19712	//     "https://www.googleapis.com/auth/dialogflow"
19713	//   ]
19714	// }
19715
19716}
19717
19718// Pages invokes f for each page of results.
19719// A non-nil error returned from f will halt the iteration.
19720// The provided context supersedes any context provided to the Context method.
19721func (c *ProjectsLocationsAgentsEntityTypesListCall) Pages(ctx context.Context, f func(*GoogleCloudDialogflowCxV3ListEntityTypesResponse) error) error {
19722	c.ctx_ = ctx
19723	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
19724	for {
19725		x, err := c.Do()
19726		if err != nil {
19727			return err
19728		}
19729		if err := f(x); err != nil {
19730			return err
19731		}
19732		if x.NextPageToken == "" {
19733			return nil
19734		}
19735		c.PageToken(x.NextPageToken)
19736	}
19737}
19738
19739// method id "dialogflow.projects.locations.agents.entityTypes.patch":
19740
19741type ProjectsLocationsAgentsEntityTypesPatchCall struct {
19742	s                                   *Service
19743	nameid                              string
19744	googleclouddialogflowcxv3entitytype *GoogleCloudDialogflowCxV3EntityType
19745	urlParams_                          gensupport.URLParams
19746	ctx_                                context.Context
19747	header_                             http.Header
19748}
19749
19750// Patch: Updates the specified entity type. Note: You should always
19751// train a flow prior to sending it queries. See the training
19752// documentation
19753// (https://cloud.google.com/dialogflow/cx/docs/concept/training).
19754//
19755// - name: The unique identifier of the entity type. Required for
19756//   EntityTypes.UpdateEntityType. Format:
19757//   `projects//locations//agents//entityTypes/`.
19758func (r *ProjectsLocationsAgentsEntityTypesService) Patch(nameid string, googleclouddialogflowcxv3entitytype *GoogleCloudDialogflowCxV3EntityType) *ProjectsLocationsAgentsEntityTypesPatchCall {
19759	c := &ProjectsLocationsAgentsEntityTypesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19760	c.nameid = nameid
19761	c.googleclouddialogflowcxv3entitytype = googleclouddialogflowcxv3entitytype
19762	return c
19763}
19764
19765// LanguageCode sets the optional parameter "languageCode": The language
19766// of the following fields in `entity_type`: *
19767// `EntityType.entities.value` * `EntityType.entities.synonyms` *
19768// `EntityType.excluded_phrases.value` If not specified, the agent's
19769// default language is used. Many languages
19770// (https://cloud.google.com/dialogflow/cx/docs/reference/language) are
19771// supported. Note: languages must be enabled in the agent before they
19772// can be used.
19773func (c *ProjectsLocationsAgentsEntityTypesPatchCall) LanguageCode(languageCode string) *ProjectsLocationsAgentsEntityTypesPatchCall {
19774	c.urlParams_.Set("languageCode", languageCode)
19775	return c
19776}
19777
19778// UpdateMask sets the optional parameter "updateMask": The mask to
19779// control which fields get updated.
19780func (c *ProjectsLocationsAgentsEntityTypesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsAgentsEntityTypesPatchCall {
19781	c.urlParams_.Set("updateMask", updateMask)
19782	return c
19783}
19784
19785// Fields allows partial responses to be retrieved. See
19786// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19787// for more information.
19788func (c *ProjectsLocationsAgentsEntityTypesPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsEntityTypesPatchCall {
19789	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19790	return c
19791}
19792
19793// Context sets the context to be used in this call's Do method. Any
19794// pending HTTP request will be aborted if the provided context is
19795// canceled.
19796func (c *ProjectsLocationsAgentsEntityTypesPatchCall) Context(ctx context.Context) *ProjectsLocationsAgentsEntityTypesPatchCall {
19797	c.ctx_ = ctx
19798	return c
19799}
19800
19801// Header returns an http.Header that can be modified by the caller to
19802// add HTTP headers to the request.
19803func (c *ProjectsLocationsAgentsEntityTypesPatchCall) Header() http.Header {
19804	if c.header_ == nil {
19805		c.header_ = make(http.Header)
19806	}
19807	return c.header_
19808}
19809
19810func (c *ProjectsLocationsAgentsEntityTypesPatchCall) doRequest(alt string) (*http.Response, error) {
19811	reqHeaders := make(http.Header)
19812	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
19813	for k, v := range c.header_ {
19814		reqHeaders[k] = v
19815	}
19816	reqHeaders.Set("User-Agent", c.s.userAgent())
19817	var body io.Reader = nil
19818	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3entitytype)
19819	if err != nil {
19820		return nil, err
19821	}
19822	reqHeaders.Set("Content-Type", "application/json")
19823	c.urlParams_.Set("alt", alt)
19824	c.urlParams_.Set("prettyPrint", "false")
19825	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
19826	urls += "?" + c.urlParams_.Encode()
19827	req, err := http.NewRequest("PATCH", urls, body)
19828	if err != nil {
19829		return nil, err
19830	}
19831	req.Header = reqHeaders
19832	googleapi.Expand(req.URL, map[string]string{
19833		"name": c.nameid,
19834	})
19835	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19836}
19837
19838// Do executes the "dialogflow.projects.locations.agents.entityTypes.patch" call.
19839// Exactly one of *GoogleCloudDialogflowCxV3EntityType or error will be
19840// non-nil. Any non-2xx status code is an error. Response headers are in
19841// either *GoogleCloudDialogflowCxV3EntityType.ServerResponse.Header or
19842// (if a response was returned at all) in
19843// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
19844// whether the returned error was because http.StatusNotModified was
19845// returned.
19846func (c *ProjectsLocationsAgentsEntityTypesPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3EntityType, error) {
19847	gensupport.SetOptions(c.urlParams_, opts...)
19848	res, err := c.doRequest("json")
19849	if res != nil && res.StatusCode == http.StatusNotModified {
19850		if res.Body != nil {
19851			res.Body.Close()
19852		}
19853		return nil, &googleapi.Error{
19854			Code:   res.StatusCode,
19855			Header: res.Header,
19856		}
19857	}
19858	if err != nil {
19859		return nil, err
19860	}
19861	defer googleapi.CloseBody(res)
19862	if err := googleapi.CheckResponse(res); err != nil {
19863		return nil, err
19864	}
19865	ret := &GoogleCloudDialogflowCxV3EntityType{
19866		ServerResponse: googleapi.ServerResponse{
19867			Header:         res.Header,
19868			HTTPStatusCode: res.StatusCode,
19869		},
19870	}
19871	target := &ret
19872	if err := gensupport.DecodeResponse(target, res); err != nil {
19873		return nil, err
19874	}
19875	return ret, nil
19876	// {
19877	//   "description": "Updates the specified entity type. Note: You should always train a flow prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training).",
19878	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/entityTypes/{entityTypesId}",
19879	//   "httpMethod": "PATCH",
19880	//   "id": "dialogflow.projects.locations.agents.entityTypes.patch",
19881	//   "parameterOrder": [
19882	//     "name"
19883	//   ],
19884	//   "parameters": {
19885	//     "languageCode": {
19886	//       "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.",
19887	//       "location": "query",
19888	//       "type": "string"
19889	//     },
19890	//     "name": {
19891	//       "description": "The unique identifier of the entity type. Required for EntityTypes.UpdateEntityType. Format: `projects//locations//agents//entityTypes/`.",
19892	//       "location": "path",
19893	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/entityTypes/[^/]+$",
19894	//       "required": true,
19895	//       "type": "string"
19896	//     },
19897	//     "updateMask": {
19898	//       "description": "The mask to control which fields get updated.",
19899	//       "format": "google-fieldmask",
19900	//       "location": "query",
19901	//       "type": "string"
19902	//     }
19903	//   },
19904	//   "path": "v3/{+name}",
19905	//   "request": {
19906	//     "$ref": "GoogleCloudDialogflowCxV3EntityType"
19907	//   },
19908	//   "response": {
19909	//     "$ref": "GoogleCloudDialogflowCxV3EntityType"
19910	//   },
19911	//   "scopes": [
19912	//     "https://www.googleapis.com/auth/cloud-platform",
19913	//     "https://www.googleapis.com/auth/dialogflow"
19914	//   ]
19915	// }
19916
19917}
19918
19919// method id "dialogflow.projects.locations.agents.environments.create":
19920
19921type ProjectsLocationsAgentsEnvironmentsCreateCall struct {
19922	s                                    *Service
19923	parent                               string
19924	googleclouddialogflowcxv3environment *GoogleCloudDialogflowCxV3Environment
19925	urlParams_                           gensupport.URLParams
19926	ctx_                                 context.Context
19927	header_                              http.Header
19928}
19929
19930// Create: Creates an Environment in the specified Agent.
19931//
19932// - parent: The Agent to create an Environment for. Format:
19933//   `projects//locations//agents/`.
19934func (r *ProjectsLocationsAgentsEnvironmentsService) Create(parent string, googleclouddialogflowcxv3environment *GoogleCloudDialogflowCxV3Environment) *ProjectsLocationsAgentsEnvironmentsCreateCall {
19935	c := &ProjectsLocationsAgentsEnvironmentsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19936	c.parent = parent
19937	c.googleclouddialogflowcxv3environment = googleclouddialogflowcxv3environment
19938	return c
19939}
19940
19941// Fields allows partial responses to be retrieved. See
19942// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19943// for more information.
19944func (c *ProjectsLocationsAgentsEnvironmentsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsEnvironmentsCreateCall {
19945	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19946	return c
19947}
19948
19949// Context sets the context to be used in this call's Do method. Any
19950// pending HTTP request will be aborted if the provided context is
19951// canceled.
19952func (c *ProjectsLocationsAgentsEnvironmentsCreateCall) Context(ctx context.Context) *ProjectsLocationsAgentsEnvironmentsCreateCall {
19953	c.ctx_ = ctx
19954	return c
19955}
19956
19957// Header returns an http.Header that can be modified by the caller to
19958// add HTTP headers to the request.
19959func (c *ProjectsLocationsAgentsEnvironmentsCreateCall) Header() http.Header {
19960	if c.header_ == nil {
19961		c.header_ = make(http.Header)
19962	}
19963	return c.header_
19964}
19965
19966func (c *ProjectsLocationsAgentsEnvironmentsCreateCall) doRequest(alt string) (*http.Response, error) {
19967	reqHeaders := make(http.Header)
19968	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
19969	for k, v := range c.header_ {
19970		reqHeaders[k] = v
19971	}
19972	reqHeaders.Set("User-Agent", c.s.userAgent())
19973	var body io.Reader = nil
19974	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3environment)
19975	if err != nil {
19976		return nil, err
19977	}
19978	reqHeaders.Set("Content-Type", "application/json")
19979	c.urlParams_.Set("alt", alt)
19980	c.urlParams_.Set("prettyPrint", "false")
19981	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/environments")
19982	urls += "?" + c.urlParams_.Encode()
19983	req, err := http.NewRequest("POST", urls, body)
19984	if err != nil {
19985		return nil, err
19986	}
19987	req.Header = reqHeaders
19988	googleapi.Expand(req.URL, map[string]string{
19989		"parent": c.parent,
19990	})
19991	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19992}
19993
19994// Do executes the "dialogflow.projects.locations.agents.environments.create" call.
19995// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
19996// Any non-2xx status code is an error. Response headers are in either
19997// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
19998// was returned at all) in error.(*googleapi.Error).Header. Use
19999// googleapi.IsNotModified to check whether the returned error was
20000// because http.StatusNotModified was returned.
20001func (c *ProjectsLocationsAgentsEnvironmentsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
20002	gensupport.SetOptions(c.urlParams_, opts...)
20003	res, err := c.doRequest("json")
20004	if res != nil && res.StatusCode == http.StatusNotModified {
20005		if res.Body != nil {
20006			res.Body.Close()
20007		}
20008		return nil, &googleapi.Error{
20009			Code:   res.StatusCode,
20010			Header: res.Header,
20011		}
20012	}
20013	if err != nil {
20014		return nil, err
20015	}
20016	defer googleapi.CloseBody(res)
20017	if err := googleapi.CheckResponse(res); err != nil {
20018		return nil, err
20019	}
20020	ret := &GoogleLongrunningOperation{
20021		ServerResponse: googleapi.ServerResponse{
20022			Header:         res.Header,
20023			HTTPStatusCode: res.StatusCode,
20024		},
20025	}
20026	target := &ret
20027	if err := gensupport.DecodeResponse(target, res); err != nil {
20028		return nil, err
20029	}
20030	return ret, nil
20031	// {
20032	//   "description": "Creates an Environment in the specified Agent.",
20033	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments",
20034	//   "httpMethod": "POST",
20035	//   "id": "dialogflow.projects.locations.agents.environments.create",
20036	//   "parameterOrder": [
20037	//     "parent"
20038	//   ],
20039	//   "parameters": {
20040	//     "parent": {
20041	//       "description": "Required. The Agent to create an Environment for. Format: `projects//locations//agents/`.",
20042	//       "location": "path",
20043	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$",
20044	//       "required": true,
20045	//       "type": "string"
20046	//     }
20047	//   },
20048	//   "path": "v3/{+parent}/environments",
20049	//   "request": {
20050	//     "$ref": "GoogleCloudDialogflowCxV3Environment"
20051	//   },
20052	//   "response": {
20053	//     "$ref": "GoogleLongrunningOperation"
20054	//   },
20055	//   "scopes": [
20056	//     "https://www.googleapis.com/auth/cloud-platform",
20057	//     "https://www.googleapis.com/auth/dialogflow"
20058	//   ]
20059	// }
20060
20061}
20062
20063// method id "dialogflow.projects.locations.agents.environments.delete":
20064
20065type ProjectsLocationsAgentsEnvironmentsDeleteCall struct {
20066	s          *Service
20067	name       string
20068	urlParams_ gensupport.URLParams
20069	ctx_       context.Context
20070	header_    http.Header
20071}
20072
20073// Delete: Deletes the specified Environment.
20074//
20075// - name: The name of the Environment to delete. Format:
20076//   `projects//locations//agents//environments/`.
20077func (r *ProjectsLocationsAgentsEnvironmentsService) Delete(name string) *ProjectsLocationsAgentsEnvironmentsDeleteCall {
20078	c := &ProjectsLocationsAgentsEnvironmentsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20079	c.name = name
20080	return c
20081}
20082
20083// Fields allows partial responses to be retrieved. See
20084// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20085// for more information.
20086func (c *ProjectsLocationsAgentsEnvironmentsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsEnvironmentsDeleteCall {
20087	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20088	return c
20089}
20090
20091// Context sets the context to be used in this call's Do method. Any
20092// pending HTTP request will be aborted if the provided context is
20093// canceled.
20094func (c *ProjectsLocationsAgentsEnvironmentsDeleteCall) Context(ctx context.Context) *ProjectsLocationsAgentsEnvironmentsDeleteCall {
20095	c.ctx_ = ctx
20096	return c
20097}
20098
20099// Header returns an http.Header that can be modified by the caller to
20100// add HTTP headers to the request.
20101func (c *ProjectsLocationsAgentsEnvironmentsDeleteCall) Header() http.Header {
20102	if c.header_ == nil {
20103		c.header_ = make(http.Header)
20104	}
20105	return c.header_
20106}
20107
20108func (c *ProjectsLocationsAgentsEnvironmentsDeleteCall) doRequest(alt string) (*http.Response, error) {
20109	reqHeaders := make(http.Header)
20110	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
20111	for k, v := range c.header_ {
20112		reqHeaders[k] = v
20113	}
20114	reqHeaders.Set("User-Agent", c.s.userAgent())
20115	var body io.Reader = nil
20116	c.urlParams_.Set("alt", alt)
20117	c.urlParams_.Set("prettyPrint", "false")
20118	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
20119	urls += "?" + c.urlParams_.Encode()
20120	req, err := http.NewRequest("DELETE", urls, body)
20121	if err != nil {
20122		return nil, err
20123	}
20124	req.Header = reqHeaders
20125	googleapi.Expand(req.URL, map[string]string{
20126		"name": c.name,
20127	})
20128	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20129}
20130
20131// Do executes the "dialogflow.projects.locations.agents.environments.delete" call.
20132// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
20133// non-2xx status code is an error. Response headers are in either
20134// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
20135// returned at all) in error.(*googleapi.Error).Header. Use
20136// googleapi.IsNotModified to check whether the returned error was
20137// because http.StatusNotModified was returned.
20138func (c *ProjectsLocationsAgentsEnvironmentsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
20139	gensupport.SetOptions(c.urlParams_, opts...)
20140	res, err := c.doRequest("json")
20141	if res != nil && res.StatusCode == http.StatusNotModified {
20142		if res.Body != nil {
20143			res.Body.Close()
20144		}
20145		return nil, &googleapi.Error{
20146			Code:   res.StatusCode,
20147			Header: res.Header,
20148		}
20149	}
20150	if err != nil {
20151		return nil, err
20152	}
20153	defer googleapi.CloseBody(res)
20154	if err := googleapi.CheckResponse(res); err != nil {
20155		return nil, err
20156	}
20157	ret := &GoogleProtobufEmpty{
20158		ServerResponse: googleapi.ServerResponse{
20159			Header:         res.Header,
20160			HTTPStatusCode: res.StatusCode,
20161		},
20162	}
20163	target := &ret
20164	if err := gensupport.DecodeResponse(target, res); err != nil {
20165		return nil, err
20166	}
20167	return ret, nil
20168	// {
20169	//   "description": "Deletes the specified Environment.",
20170	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}",
20171	//   "httpMethod": "DELETE",
20172	//   "id": "dialogflow.projects.locations.agents.environments.delete",
20173	//   "parameterOrder": [
20174	//     "name"
20175	//   ],
20176	//   "parameters": {
20177	//     "name": {
20178	//       "description": "Required. The name of the Environment to delete. Format: `projects//locations//agents//environments/`.",
20179	//       "location": "path",
20180	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+$",
20181	//       "required": true,
20182	//       "type": "string"
20183	//     }
20184	//   },
20185	//   "path": "v3/{+name}",
20186	//   "response": {
20187	//     "$ref": "GoogleProtobufEmpty"
20188	//   },
20189	//   "scopes": [
20190	//     "https://www.googleapis.com/auth/cloud-platform",
20191	//     "https://www.googleapis.com/auth/dialogflow"
20192	//   ]
20193	// }
20194
20195}
20196
20197// method id "dialogflow.projects.locations.agents.environments.get":
20198
20199type ProjectsLocationsAgentsEnvironmentsGetCall struct {
20200	s            *Service
20201	name         string
20202	urlParams_   gensupport.URLParams
20203	ifNoneMatch_ string
20204	ctx_         context.Context
20205	header_      http.Header
20206}
20207
20208// Get: Retrieves the specified Environment.
20209//
20210// - name: The name of the Environment. Format:
20211//   `projects//locations//agents//environments/`.
20212func (r *ProjectsLocationsAgentsEnvironmentsService) Get(name string) *ProjectsLocationsAgentsEnvironmentsGetCall {
20213	c := &ProjectsLocationsAgentsEnvironmentsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20214	c.name = name
20215	return c
20216}
20217
20218// Fields allows partial responses to be retrieved. See
20219// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20220// for more information.
20221func (c *ProjectsLocationsAgentsEnvironmentsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsEnvironmentsGetCall {
20222	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20223	return c
20224}
20225
20226// IfNoneMatch sets the optional parameter which makes the operation
20227// fail if the object's ETag matches the given value. This is useful for
20228// getting updates only after the object has changed since the last
20229// request. Use googleapi.IsNotModified to check whether the response
20230// error from Do is the result of In-None-Match.
20231func (c *ProjectsLocationsAgentsEnvironmentsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsEnvironmentsGetCall {
20232	c.ifNoneMatch_ = entityTag
20233	return c
20234}
20235
20236// Context sets the context to be used in this call's Do method. Any
20237// pending HTTP request will be aborted if the provided context is
20238// canceled.
20239func (c *ProjectsLocationsAgentsEnvironmentsGetCall) Context(ctx context.Context) *ProjectsLocationsAgentsEnvironmentsGetCall {
20240	c.ctx_ = ctx
20241	return c
20242}
20243
20244// Header returns an http.Header that can be modified by the caller to
20245// add HTTP headers to the request.
20246func (c *ProjectsLocationsAgentsEnvironmentsGetCall) Header() http.Header {
20247	if c.header_ == nil {
20248		c.header_ = make(http.Header)
20249	}
20250	return c.header_
20251}
20252
20253func (c *ProjectsLocationsAgentsEnvironmentsGetCall) doRequest(alt string) (*http.Response, error) {
20254	reqHeaders := make(http.Header)
20255	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
20256	for k, v := range c.header_ {
20257		reqHeaders[k] = v
20258	}
20259	reqHeaders.Set("User-Agent", c.s.userAgent())
20260	if c.ifNoneMatch_ != "" {
20261		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
20262	}
20263	var body io.Reader = nil
20264	c.urlParams_.Set("alt", alt)
20265	c.urlParams_.Set("prettyPrint", "false")
20266	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
20267	urls += "?" + c.urlParams_.Encode()
20268	req, err := http.NewRequest("GET", urls, body)
20269	if err != nil {
20270		return nil, err
20271	}
20272	req.Header = reqHeaders
20273	googleapi.Expand(req.URL, map[string]string{
20274		"name": c.name,
20275	})
20276	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20277}
20278
20279// Do executes the "dialogflow.projects.locations.agents.environments.get" call.
20280// Exactly one of *GoogleCloudDialogflowCxV3Environment or error will be
20281// non-nil. Any non-2xx status code is an error. Response headers are in
20282// either *GoogleCloudDialogflowCxV3Environment.ServerResponse.Header or
20283// (if a response was returned at all) in
20284// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
20285// whether the returned error was because http.StatusNotModified was
20286// returned.
20287func (c *ProjectsLocationsAgentsEnvironmentsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3Environment, error) {
20288	gensupport.SetOptions(c.urlParams_, opts...)
20289	res, err := c.doRequest("json")
20290	if res != nil && res.StatusCode == http.StatusNotModified {
20291		if res.Body != nil {
20292			res.Body.Close()
20293		}
20294		return nil, &googleapi.Error{
20295			Code:   res.StatusCode,
20296			Header: res.Header,
20297		}
20298	}
20299	if err != nil {
20300		return nil, err
20301	}
20302	defer googleapi.CloseBody(res)
20303	if err := googleapi.CheckResponse(res); err != nil {
20304		return nil, err
20305	}
20306	ret := &GoogleCloudDialogflowCxV3Environment{
20307		ServerResponse: googleapi.ServerResponse{
20308			Header:         res.Header,
20309			HTTPStatusCode: res.StatusCode,
20310		},
20311	}
20312	target := &ret
20313	if err := gensupport.DecodeResponse(target, res); err != nil {
20314		return nil, err
20315	}
20316	return ret, nil
20317	// {
20318	//   "description": "Retrieves the specified Environment.",
20319	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}",
20320	//   "httpMethod": "GET",
20321	//   "id": "dialogflow.projects.locations.agents.environments.get",
20322	//   "parameterOrder": [
20323	//     "name"
20324	//   ],
20325	//   "parameters": {
20326	//     "name": {
20327	//       "description": "Required. The name of the Environment. Format: `projects//locations//agents//environments/`.",
20328	//       "location": "path",
20329	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+$",
20330	//       "required": true,
20331	//       "type": "string"
20332	//     }
20333	//   },
20334	//   "path": "v3/{+name}",
20335	//   "response": {
20336	//     "$ref": "GoogleCloudDialogflowCxV3Environment"
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.list":
20347
20348type ProjectsLocationsAgentsEnvironmentsListCall struct {
20349	s            *Service
20350	parent       string
20351	urlParams_   gensupport.URLParams
20352	ifNoneMatch_ string
20353	ctx_         context.Context
20354	header_      http.Header
20355}
20356
20357// List: Returns the list of all environments in the specified Agent.
20358//
20359// - parent: The Agent to list all environments for. Format:
20360//   `projects//locations//agents/`.
20361func (r *ProjectsLocationsAgentsEnvironmentsService) List(parent string) *ProjectsLocationsAgentsEnvironmentsListCall {
20362	c := &ProjectsLocationsAgentsEnvironmentsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20363	c.parent = parent
20364	return c
20365}
20366
20367// PageSize sets the optional parameter "pageSize": The maximum number
20368// of items to return in a single page. By default 20 and at most 100.
20369func (c *ProjectsLocationsAgentsEnvironmentsListCall) PageSize(pageSize int64) *ProjectsLocationsAgentsEnvironmentsListCall {
20370	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
20371	return c
20372}
20373
20374// PageToken sets the optional parameter "pageToken": The
20375// next_page_token value returned from a previous list request.
20376func (c *ProjectsLocationsAgentsEnvironmentsListCall) PageToken(pageToken string) *ProjectsLocationsAgentsEnvironmentsListCall {
20377	c.urlParams_.Set("pageToken", pageToken)
20378	return c
20379}
20380
20381// Fields allows partial responses to be retrieved. See
20382// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20383// for more information.
20384func (c *ProjectsLocationsAgentsEnvironmentsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsEnvironmentsListCall {
20385	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20386	return c
20387}
20388
20389// IfNoneMatch sets the optional parameter which makes the operation
20390// fail if the object's ETag matches the given value. This is useful for
20391// getting updates only after the object has changed since the last
20392// request. Use googleapi.IsNotModified to check whether the response
20393// error from Do is the result of In-None-Match.
20394func (c *ProjectsLocationsAgentsEnvironmentsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsEnvironmentsListCall {
20395	c.ifNoneMatch_ = entityTag
20396	return c
20397}
20398
20399// Context sets the context to be used in this call's Do method. Any
20400// pending HTTP request will be aborted if the provided context is
20401// canceled.
20402func (c *ProjectsLocationsAgentsEnvironmentsListCall) Context(ctx context.Context) *ProjectsLocationsAgentsEnvironmentsListCall {
20403	c.ctx_ = ctx
20404	return c
20405}
20406
20407// Header returns an http.Header that can be modified by the caller to
20408// add HTTP headers to the request.
20409func (c *ProjectsLocationsAgentsEnvironmentsListCall) Header() http.Header {
20410	if c.header_ == nil {
20411		c.header_ = make(http.Header)
20412	}
20413	return c.header_
20414}
20415
20416func (c *ProjectsLocationsAgentsEnvironmentsListCall) doRequest(alt string) (*http.Response, error) {
20417	reqHeaders := make(http.Header)
20418	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
20419	for k, v := range c.header_ {
20420		reqHeaders[k] = v
20421	}
20422	reqHeaders.Set("User-Agent", c.s.userAgent())
20423	if c.ifNoneMatch_ != "" {
20424		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
20425	}
20426	var body io.Reader = nil
20427	c.urlParams_.Set("alt", alt)
20428	c.urlParams_.Set("prettyPrint", "false")
20429	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/environments")
20430	urls += "?" + c.urlParams_.Encode()
20431	req, err := http.NewRequest("GET", urls, body)
20432	if err != nil {
20433		return nil, err
20434	}
20435	req.Header = reqHeaders
20436	googleapi.Expand(req.URL, map[string]string{
20437		"parent": c.parent,
20438	})
20439	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20440}
20441
20442// Do executes the "dialogflow.projects.locations.agents.environments.list" call.
20443// Exactly one of *GoogleCloudDialogflowCxV3ListEnvironmentsResponse or
20444// error will be non-nil. Any non-2xx status code is an error. Response
20445// headers are in either
20446// *GoogleCloudDialogflowCxV3ListEnvironmentsResponse.ServerResponse.Head
20447// er or (if a response was returned at all) in
20448// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
20449// whether the returned error was because http.StatusNotModified was
20450// returned.
20451func (c *ProjectsLocationsAgentsEnvironmentsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3ListEnvironmentsResponse, error) {
20452	gensupport.SetOptions(c.urlParams_, opts...)
20453	res, err := c.doRequest("json")
20454	if res != nil && res.StatusCode == http.StatusNotModified {
20455		if res.Body != nil {
20456			res.Body.Close()
20457		}
20458		return nil, &googleapi.Error{
20459			Code:   res.StatusCode,
20460			Header: res.Header,
20461		}
20462	}
20463	if err != nil {
20464		return nil, err
20465	}
20466	defer googleapi.CloseBody(res)
20467	if err := googleapi.CheckResponse(res); err != nil {
20468		return nil, err
20469	}
20470	ret := &GoogleCloudDialogflowCxV3ListEnvironmentsResponse{
20471		ServerResponse: googleapi.ServerResponse{
20472			Header:         res.Header,
20473			HTTPStatusCode: res.StatusCode,
20474		},
20475	}
20476	target := &ret
20477	if err := gensupport.DecodeResponse(target, res); err != nil {
20478		return nil, err
20479	}
20480	return ret, nil
20481	// {
20482	//   "description": "Returns the list of all environments in the specified Agent.",
20483	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments",
20484	//   "httpMethod": "GET",
20485	//   "id": "dialogflow.projects.locations.agents.environments.list",
20486	//   "parameterOrder": [
20487	//     "parent"
20488	//   ],
20489	//   "parameters": {
20490	//     "pageSize": {
20491	//       "description": "The maximum number of items to return in a single page. By default 20 and at most 100.",
20492	//       "format": "int32",
20493	//       "location": "query",
20494	//       "type": "integer"
20495	//     },
20496	//     "pageToken": {
20497	//       "description": "The next_page_token value returned from a previous list request.",
20498	//       "location": "query",
20499	//       "type": "string"
20500	//     },
20501	//     "parent": {
20502	//       "description": "Required. The Agent to list all environments for. Format: `projects//locations//agents/`.",
20503	//       "location": "path",
20504	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$",
20505	//       "required": true,
20506	//       "type": "string"
20507	//     }
20508	//   },
20509	//   "path": "v3/{+parent}/environments",
20510	//   "response": {
20511	//     "$ref": "GoogleCloudDialogflowCxV3ListEnvironmentsResponse"
20512	//   },
20513	//   "scopes": [
20514	//     "https://www.googleapis.com/auth/cloud-platform",
20515	//     "https://www.googleapis.com/auth/dialogflow"
20516	//   ]
20517	// }
20518
20519}
20520
20521// Pages invokes f for each page of results.
20522// A non-nil error returned from f will halt the iteration.
20523// The provided context supersedes any context provided to the Context method.
20524func (c *ProjectsLocationsAgentsEnvironmentsListCall) Pages(ctx context.Context, f func(*GoogleCloudDialogflowCxV3ListEnvironmentsResponse) error) error {
20525	c.ctx_ = ctx
20526	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
20527	for {
20528		x, err := c.Do()
20529		if err != nil {
20530			return err
20531		}
20532		if err := f(x); err != nil {
20533			return err
20534		}
20535		if x.NextPageToken == "" {
20536			return nil
20537		}
20538		c.PageToken(x.NextPageToken)
20539	}
20540}
20541
20542// method id "dialogflow.projects.locations.agents.environments.lookupEnvironmentHistory":
20543
20544type ProjectsLocationsAgentsEnvironmentsLookupEnvironmentHistoryCall struct {
20545	s            *Service
20546	name         string
20547	urlParams_   gensupport.URLParams
20548	ifNoneMatch_ string
20549	ctx_         context.Context
20550	header_      http.Header
20551}
20552
20553// LookupEnvironmentHistory: Looks up the history of the specified
20554// Environment.
20555//
20556// - name: Resource name of the environment to look up the history for.
20557//   Format: `projects//locations//agents//environments/`.
20558func (r *ProjectsLocationsAgentsEnvironmentsService) LookupEnvironmentHistory(name string) *ProjectsLocationsAgentsEnvironmentsLookupEnvironmentHistoryCall {
20559	c := &ProjectsLocationsAgentsEnvironmentsLookupEnvironmentHistoryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20560	c.name = name
20561	return c
20562}
20563
20564// PageSize sets the optional parameter "pageSize": The maximum number
20565// of items to return in a single page. By default 100 and at most 1000.
20566func (c *ProjectsLocationsAgentsEnvironmentsLookupEnvironmentHistoryCall) PageSize(pageSize int64) *ProjectsLocationsAgentsEnvironmentsLookupEnvironmentHistoryCall {
20567	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
20568	return c
20569}
20570
20571// PageToken sets the optional parameter "pageToken": The
20572// next_page_token value returned from a previous list request.
20573func (c *ProjectsLocationsAgentsEnvironmentsLookupEnvironmentHistoryCall) PageToken(pageToken string) *ProjectsLocationsAgentsEnvironmentsLookupEnvironmentHistoryCall {
20574	c.urlParams_.Set("pageToken", pageToken)
20575	return c
20576}
20577
20578// Fields allows partial responses to be retrieved. See
20579// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20580// for more information.
20581func (c *ProjectsLocationsAgentsEnvironmentsLookupEnvironmentHistoryCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsEnvironmentsLookupEnvironmentHistoryCall {
20582	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20583	return c
20584}
20585
20586// IfNoneMatch sets the optional parameter which makes the operation
20587// fail if the object's ETag matches the given value. This is useful for
20588// getting updates only after the object has changed since the last
20589// request. Use googleapi.IsNotModified to check whether the response
20590// error from Do is the result of In-None-Match.
20591func (c *ProjectsLocationsAgentsEnvironmentsLookupEnvironmentHistoryCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsEnvironmentsLookupEnvironmentHistoryCall {
20592	c.ifNoneMatch_ = entityTag
20593	return c
20594}
20595
20596// Context sets the context to be used in this call's Do method. Any
20597// pending HTTP request will be aborted if the provided context is
20598// canceled.
20599func (c *ProjectsLocationsAgentsEnvironmentsLookupEnvironmentHistoryCall) Context(ctx context.Context) *ProjectsLocationsAgentsEnvironmentsLookupEnvironmentHistoryCall {
20600	c.ctx_ = ctx
20601	return c
20602}
20603
20604// Header returns an http.Header that can be modified by the caller to
20605// add HTTP headers to the request.
20606func (c *ProjectsLocationsAgentsEnvironmentsLookupEnvironmentHistoryCall) Header() http.Header {
20607	if c.header_ == nil {
20608		c.header_ = make(http.Header)
20609	}
20610	return c.header_
20611}
20612
20613func (c *ProjectsLocationsAgentsEnvironmentsLookupEnvironmentHistoryCall) doRequest(alt string) (*http.Response, error) {
20614	reqHeaders := make(http.Header)
20615	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
20616	for k, v := range c.header_ {
20617		reqHeaders[k] = v
20618	}
20619	reqHeaders.Set("User-Agent", c.s.userAgent())
20620	if c.ifNoneMatch_ != "" {
20621		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
20622	}
20623	var body io.Reader = nil
20624	c.urlParams_.Set("alt", alt)
20625	c.urlParams_.Set("prettyPrint", "false")
20626	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}:lookupEnvironmentHistory")
20627	urls += "?" + c.urlParams_.Encode()
20628	req, err := http.NewRequest("GET", urls, body)
20629	if err != nil {
20630		return nil, err
20631	}
20632	req.Header = reqHeaders
20633	googleapi.Expand(req.URL, map[string]string{
20634		"name": c.name,
20635	})
20636	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20637}
20638
20639// Do executes the "dialogflow.projects.locations.agents.environments.lookupEnvironmentHistory" call.
20640// Exactly one of
20641// *GoogleCloudDialogflowCxV3LookupEnvironmentHistoryResponse or error
20642// will be non-nil. Any non-2xx status code is an error. Response
20643// headers are in either
20644// *GoogleCloudDialogflowCxV3LookupEnvironmentHistoryResponse.ServerRespo
20645// nse.Header or (if a response was returned at all) in
20646// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
20647// whether the returned error was because http.StatusNotModified was
20648// returned.
20649func (c *ProjectsLocationsAgentsEnvironmentsLookupEnvironmentHistoryCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3LookupEnvironmentHistoryResponse, error) {
20650	gensupport.SetOptions(c.urlParams_, opts...)
20651	res, err := c.doRequest("json")
20652	if res != nil && res.StatusCode == http.StatusNotModified {
20653		if res.Body != nil {
20654			res.Body.Close()
20655		}
20656		return nil, &googleapi.Error{
20657			Code:   res.StatusCode,
20658			Header: res.Header,
20659		}
20660	}
20661	if err != nil {
20662		return nil, err
20663	}
20664	defer googleapi.CloseBody(res)
20665	if err := googleapi.CheckResponse(res); err != nil {
20666		return nil, err
20667	}
20668	ret := &GoogleCloudDialogflowCxV3LookupEnvironmentHistoryResponse{
20669		ServerResponse: googleapi.ServerResponse{
20670			Header:         res.Header,
20671			HTTPStatusCode: res.StatusCode,
20672		},
20673	}
20674	target := &ret
20675	if err := gensupport.DecodeResponse(target, res); err != nil {
20676		return nil, err
20677	}
20678	return ret, nil
20679	// {
20680	//   "description": "Looks up the history of the specified Environment.",
20681	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}:lookupEnvironmentHistory",
20682	//   "httpMethod": "GET",
20683	//   "id": "dialogflow.projects.locations.agents.environments.lookupEnvironmentHistory",
20684	//   "parameterOrder": [
20685	//     "name"
20686	//   ],
20687	//   "parameters": {
20688	//     "name": {
20689	//       "description": "Required. Resource name of the environment to look up the history for. Format: `projects//locations//agents//environments/`.",
20690	//       "location": "path",
20691	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+$",
20692	//       "required": true,
20693	//       "type": "string"
20694	//     },
20695	//     "pageSize": {
20696	//       "description": "The maximum number of items to return in a single page. By default 100 and at most 1000.",
20697	//       "format": "int32",
20698	//       "location": "query",
20699	//       "type": "integer"
20700	//     },
20701	//     "pageToken": {
20702	//       "description": "The next_page_token value returned from a previous list request.",
20703	//       "location": "query",
20704	//       "type": "string"
20705	//     }
20706	//   },
20707	//   "path": "v3/{+name}:lookupEnvironmentHistory",
20708	//   "response": {
20709	//     "$ref": "GoogleCloudDialogflowCxV3LookupEnvironmentHistoryResponse"
20710	//   },
20711	//   "scopes": [
20712	//     "https://www.googleapis.com/auth/cloud-platform",
20713	//     "https://www.googleapis.com/auth/dialogflow"
20714	//   ]
20715	// }
20716
20717}
20718
20719// Pages invokes f for each page of results.
20720// A non-nil error returned from f will halt the iteration.
20721// The provided context supersedes any context provided to the Context method.
20722func (c *ProjectsLocationsAgentsEnvironmentsLookupEnvironmentHistoryCall) Pages(ctx context.Context, f func(*GoogleCloudDialogflowCxV3LookupEnvironmentHistoryResponse) error) error {
20723	c.ctx_ = ctx
20724	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
20725	for {
20726		x, err := c.Do()
20727		if err != nil {
20728			return err
20729		}
20730		if err := f(x); err != nil {
20731			return err
20732		}
20733		if x.NextPageToken == "" {
20734			return nil
20735		}
20736		c.PageToken(x.NextPageToken)
20737	}
20738}
20739
20740// method id "dialogflow.projects.locations.agents.environments.patch":
20741
20742type ProjectsLocationsAgentsEnvironmentsPatchCall struct {
20743	s                                    *Service
20744	name                                 string
20745	googleclouddialogflowcxv3environment *GoogleCloudDialogflowCxV3Environment
20746	urlParams_                           gensupport.URLParams
20747	ctx_                                 context.Context
20748	header_                              http.Header
20749}
20750
20751// Patch: Updates the specified Environment.
20752//
20753// - name: The name of the environment. Format:
20754//   `projects//locations//agents//environments/`.
20755func (r *ProjectsLocationsAgentsEnvironmentsService) Patch(name string, googleclouddialogflowcxv3environment *GoogleCloudDialogflowCxV3Environment) *ProjectsLocationsAgentsEnvironmentsPatchCall {
20756	c := &ProjectsLocationsAgentsEnvironmentsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20757	c.name = name
20758	c.googleclouddialogflowcxv3environment = googleclouddialogflowcxv3environment
20759	return c
20760}
20761
20762// UpdateMask sets the optional parameter "updateMask": Required. The
20763// mask to control which fields get updated.
20764func (c *ProjectsLocationsAgentsEnvironmentsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsAgentsEnvironmentsPatchCall {
20765	c.urlParams_.Set("updateMask", updateMask)
20766	return c
20767}
20768
20769// Fields allows partial responses to be retrieved. See
20770// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20771// for more information.
20772func (c *ProjectsLocationsAgentsEnvironmentsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsEnvironmentsPatchCall {
20773	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20774	return c
20775}
20776
20777// Context sets the context to be used in this call's Do method. Any
20778// pending HTTP request will be aborted if the provided context is
20779// canceled.
20780func (c *ProjectsLocationsAgentsEnvironmentsPatchCall) Context(ctx context.Context) *ProjectsLocationsAgentsEnvironmentsPatchCall {
20781	c.ctx_ = ctx
20782	return c
20783}
20784
20785// Header returns an http.Header that can be modified by the caller to
20786// add HTTP headers to the request.
20787func (c *ProjectsLocationsAgentsEnvironmentsPatchCall) Header() http.Header {
20788	if c.header_ == nil {
20789		c.header_ = make(http.Header)
20790	}
20791	return c.header_
20792}
20793
20794func (c *ProjectsLocationsAgentsEnvironmentsPatchCall) doRequest(alt string) (*http.Response, error) {
20795	reqHeaders := make(http.Header)
20796	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
20797	for k, v := range c.header_ {
20798		reqHeaders[k] = v
20799	}
20800	reqHeaders.Set("User-Agent", c.s.userAgent())
20801	var body io.Reader = nil
20802	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3environment)
20803	if err != nil {
20804		return nil, err
20805	}
20806	reqHeaders.Set("Content-Type", "application/json")
20807	c.urlParams_.Set("alt", alt)
20808	c.urlParams_.Set("prettyPrint", "false")
20809	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
20810	urls += "?" + c.urlParams_.Encode()
20811	req, err := http.NewRequest("PATCH", urls, body)
20812	if err != nil {
20813		return nil, err
20814	}
20815	req.Header = reqHeaders
20816	googleapi.Expand(req.URL, map[string]string{
20817		"name": c.name,
20818	})
20819	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20820}
20821
20822// Do executes the "dialogflow.projects.locations.agents.environments.patch" call.
20823// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
20824// Any non-2xx status code is an error. Response headers are in either
20825// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
20826// was returned at all) in error.(*googleapi.Error).Header. Use
20827// googleapi.IsNotModified to check whether the returned error was
20828// because http.StatusNotModified was returned.
20829func (c *ProjectsLocationsAgentsEnvironmentsPatchCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
20830	gensupport.SetOptions(c.urlParams_, opts...)
20831	res, err := c.doRequest("json")
20832	if res != nil && res.StatusCode == http.StatusNotModified {
20833		if res.Body != nil {
20834			res.Body.Close()
20835		}
20836		return nil, &googleapi.Error{
20837			Code:   res.StatusCode,
20838			Header: res.Header,
20839		}
20840	}
20841	if err != nil {
20842		return nil, err
20843	}
20844	defer googleapi.CloseBody(res)
20845	if err := googleapi.CheckResponse(res); err != nil {
20846		return nil, err
20847	}
20848	ret := &GoogleLongrunningOperation{
20849		ServerResponse: googleapi.ServerResponse{
20850			Header:         res.Header,
20851			HTTPStatusCode: res.StatusCode,
20852		},
20853	}
20854	target := &ret
20855	if err := gensupport.DecodeResponse(target, res); err != nil {
20856		return nil, err
20857	}
20858	return ret, nil
20859	// {
20860	//   "description": "Updates the specified Environment.",
20861	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}",
20862	//   "httpMethod": "PATCH",
20863	//   "id": "dialogflow.projects.locations.agents.environments.patch",
20864	//   "parameterOrder": [
20865	//     "name"
20866	//   ],
20867	//   "parameters": {
20868	//     "name": {
20869	//       "description": "The name of the environment. Format: `projects//locations//agents//environments/`.",
20870	//       "location": "path",
20871	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+$",
20872	//       "required": true,
20873	//       "type": "string"
20874	//     },
20875	//     "updateMask": {
20876	//       "description": "Required. The mask to control which fields get updated.",
20877	//       "format": "google-fieldmask",
20878	//       "location": "query",
20879	//       "type": "string"
20880	//     }
20881	//   },
20882	//   "path": "v3/{+name}",
20883	//   "request": {
20884	//     "$ref": "GoogleCloudDialogflowCxV3Environment"
20885	//   },
20886	//   "response": {
20887	//     "$ref": "GoogleLongrunningOperation"
20888	//   },
20889	//   "scopes": [
20890	//     "https://www.googleapis.com/auth/cloud-platform",
20891	//     "https://www.googleapis.com/auth/dialogflow"
20892	//   ]
20893	// }
20894
20895}
20896
20897// method id "dialogflow.projects.locations.agents.environments.runContinuousTest":
20898
20899type ProjectsLocationsAgentsEnvironmentsRunContinuousTestCall struct {
20900	s                                                 *Service
20901	environment                                       string
20902	googleclouddialogflowcxv3runcontinuoustestrequest *GoogleCloudDialogflowCxV3RunContinuousTestRequest
20903	urlParams_                                        gensupport.URLParams
20904	ctx_                                              context.Context
20905	header_                                           http.Header
20906}
20907
20908// RunContinuousTest: Kicks off a continuous test under the specified
20909// Environment.
20910//
20911// - environment: Format: `projects//locations//agents//environments/`.
20912func (r *ProjectsLocationsAgentsEnvironmentsService) RunContinuousTest(environment string, googleclouddialogflowcxv3runcontinuoustestrequest *GoogleCloudDialogflowCxV3RunContinuousTestRequest) *ProjectsLocationsAgentsEnvironmentsRunContinuousTestCall {
20913	c := &ProjectsLocationsAgentsEnvironmentsRunContinuousTestCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20914	c.environment = environment
20915	c.googleclouddialogflowcxv3runcontinuoustestrequest = googleclouddialogflowcxv3runcontinuoustestrequest
20916	return c
20917}
20918
20919// Fields allows partial responses to be retrieved. See
20920// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20921// for more information.
20922func (c *ProjectsLocationsAgentsEnvironmentsRunContinuousTestCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsEnvironmentsRunContinuousTestCall {
20923	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20924	return c
20925}
20926
20927// Context sets the context to be used in this call's Do method. Any
20928// pending HTTP request will be aborted if the provided context is
20929// canceled.
20930func (c *ProjectsLocationsAgentsEnvironmentsRunContinuousTestCall) Context(ctx context.Context) *ProjectsLocationsAgentsEnvironmentsRunContinuousTestCall {
20931	c.ctx_ = ctx
20932	return c
20933}
20934
20935// Header returns an http.Header that can be modified by the caller to
20936// add HTTP headers to the request.
20937func (c *ProjectsLocationsAgentsEnvironmentsRunContinuousTestCall) Header() http.Header {
20938	if c.header_ == nil {
20939		c.header_ = make(http.Header)
20940	}
20941	return c.header_
20942}
20943
20944func (c *ProjectsLocationsAgentsEnvironmentsRunContinuousTestCall) doRequest(alt string) (*http.Response, error) {
20945	reqHeaders := make(http.Header)
20946	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
20947	for k, v := range c.header_ {
20948		reqHeaders[k] = v
20949	}
20950	reqHeaders.Set("User-Agent", c.s.userAgent())
20951	var body io.Reader = nil
20952	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3runcontinuoustestrequest)
20953	if err != nil {
20954		return nil, err
20955	}
20956	reqHeaders.Set("Content-Type", "application/json")
20957	c.urlParams_.Set("alt", alt)
20958	c.urlParams_.Set("prettyPrint", "false")
20959	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+environment}:runContinuousTest")
20960	urls += "?" + c.urlParams_.Encode()
20961	req, err := http.NewRequest("POST", urls, body)
20962	if err != nil {
20963		return nil, err
20964	}
20965	req.Header = reqHeaders
20966	googleapi.Expand(req.URL, map[string]string{
20967		"environment": c.environment,
20968	})
20969	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20970}
20971
20972// Do executes the "dialogflow.projects.locations.agents.environments.runContinuousTest" call.
20973// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
20974// Any non-2xx status code is an error. Response headers are in either
20975// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
20976// was returned at all) in error.(*googleapi.Error).Header. Use
20977// googleapi.IsNotModified to check whether the returned error was
20978// because http.StatusNotModified was returned.
20979func (c *ProjectsLocationsAgentsEnvironmentsRunContinuousTestCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
20980	gensupport.SetOptions(c.urlParams_, opts...)
20981	res, err := c.doRequest("json")
20982	if res != nil && res.StatusCode == http.StatusNotModified {
20983		if res.Body != nil {
20984			res.Body.Close()
20985		}
20986		return nil, &googleapi.Error{
20987			Code:   res.StatusCode,
20988			Header: res.Header,
20989		}
20990	}
20991	if err != nil {
20992		return nil, err
20993	}
20994	defer googleapi.CloseBody(res)
20995	if err := googleapi.CheckResponse(res); err != nil {
20996		return nil, err
20997	}
20998	ret := &GoogleLongrunningOperation{
20999		ServerResponse: googleapi.ServerResponse{
21000			Header:         res.Header,
21001			HTTPStatusCode: res.StatusCode,
21002		},
21003	}
21004	target := &ret
21005	if err := gensupport.DecodeResponse(target, res); err != nil {
21006		return nil, err
21007	}
21008	return ret, nil
21009	// {
21010	//   "description": "Kicks off a continuous test under the specified Environment.",
21011	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}:runContinuousTest",
21012	//   "httpMethod": "POST",
21013	//   "id": "dialogflow.projects.locations.agents.environments.runContinuousTest",
21014	//   "parameterOrder": [
21015	//     "environment"
21016	//   ],
21017	//   "parameters": {
21018	//     "environment": {
21019	//       "description": "Required. Format: `projects//locations//agents//environments/`.",
21020	//       "location": "path",
21021	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+$",
21022	//       "required": true,
21023	//       "type": "string"
21024	//     }
21025	//   },
21026	//   "path": "v3/{+environment}:runContinuousTest",
21027	//   "request": {
21028	//     "$ref": "GoogleCloudDialogflowCxV3RunContinuousTestRequest"
21029	//   },
21030	//   "response": {
21031	//     "$ref": "GoogleLongrunningOperation"
21032	//   },
21033	//   "scopes": [
21034	//     "https://www.googleapis.com/auth/cloud-platform",
21035	//     "https://www.googleapis.com/auth/dialogflow"
21036	//   ]
21037	// }
21038
21039}
21040
21041// method id "dialogflow.projects.locations.agents.environments.continuousTestResults.list":
21042
21043type ProjectsLocationsAgentsEnvironmentsContinuousTestResultsListCall struct {
21044	s            *Service
21045	parent       string
21046	urlParams_   gensupport.URLParams
21047	ifNoneMatch_ string
21048	ctx_         context.Context
21049	header_      http.Header
21050}
21051
21052// List: Fetches a list of continuous test results for a given
21053// environment.
21054//
21055// - parent: The environment to list results for. Format:
21056//   `projects//locations//agents// environments/`.
21057func (r *ProjectsLocationsAgentsEnvironmentsContinuousTestResultsService) List(parent string) *ProjectsLocationsAgentsEnvironmentsContinuousTestResultsListCall {
21058	c := &ProjectsLocationsAgentsEnvironmentsContinuousTestResultsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21059	c.parent = parent
21060	return c
21061}
21062
21063// PageSize sets the optional parameter "pageSize": The maximum number
21064// of items to return in a single page. By default 100 and at most 1000.
21065func (c *ProjectsLocationsAgentsEnvironmentsContinuousTestResultsListCall) PageSize(pageSize int64) *ProjectsLocationsAgentsEnvironmentsContinuousTestResultsListCall {
21066	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
21067	return c
21068}
21069
21070// PageToken sets the optional parameter "pageToken": The
21071// next_page_token value returned from a previous list request.
21072func (c *ProjectsLocationsAgentsEnvironmentsContinuousTestResultsListCall) PageToken(pageToken string) *ProjectsLocationsAgentsEnvironmentsContinuousTestResultsListCall {
21073	c.urlParams_.Set("pageToken", pageToken)
21074	return c
21075}
21076
21077// Fields allows partial responses to be retrieved. See
21078// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21079// for more information.
21080func (c *ProjectsLocationsAgentsEnvironmentsContinuousTestResultsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsEnvironmentsContinuousTestResultsListCall {
21081	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21082	return c
21083}
21084
21085// IfNoneMatch sets the optional parameter which makes the operation
21086// fail if the object's ETag matches the given value. This is useful for
21087// getting updates only after the object has changed since the last
21088// request. Use googleapi.IsNotModified to check whether the response
21089// error from Do is the result of In-None-Match.
21090func (c *ProjectsLocationsAgentsEnvironmentsContinuousTestResultsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsEnvironmentsContinuousTestResultsListCall {
21091	c.ifNoneMatch_ = entityTag
21092	return c
21093}
21094
21095// Context sets the context to be used in this call's Do method. Any
21096// pending HTTP request will be aborted if the provided context is
21097// canceled.
21098func (c *ProjectsLocationsAgentsEnvironmentsContinuousTestResultsListCall) Context(ctx context.Context) *ProjectsLocationsAgentsEnvironmentsContinuousTestResultsListCall {
21099	c.ctx_ = ctx
21100	return c
21101}
21102
21103// Header returns an http.Header that can be modified by the caller to
21104// add HTTP headers to the request.
21105func (c *ProjectsLocationsAgentsEnvironmentsContinuousTestResultsListCall) Header() http.Header {
21106	if c.header_ == nil {
21107		c.header_ = make(http.Header)
21108	}
21109	return c.header_
21110}
21111
21112func (c *ProjectsLocationsAgentsEnvironmentsContinuousTestResultsListCall) doRequest(alt string) (*http.Response, error) {
21113	reqHeaders := make(http.Header)
21114	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
21115	for k, v := range c.header_ {
21116		reqHeaders[k] = v
21117	}
21118	reqHeaders.Set("User-Agent", c.s.userAgent())
21119	if c.ifNoneMatch_ != "" {
21120		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
21121	}
21122	var body io.Reader = nil
21123	c.urlParams_.Set("alt", alt)
21124	c.urlParams_.Set("prettyPrint", "false")
21125	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/continuousTestResults")
21126	urls += "?" + c.urlParams_.Encode()
21127	req, err := http.NewRequest("GET", urls, body)
21128	if err != nil {
21129		return nil, err
21130	}
21131	req.Header = reqHeaders
21132	googleapi.Expand(req.URL, map[string]string{
21133		"parent": c.parent,
21134	})
21135	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21136}
21137
21138// Do executes the "dialogflow.projects.locations.agents.environments.continuousTestResults.list" call.
21139// Exactly one of
21140// *GoogleCloudDialogflowCxV3ListContinuousTestResultsResponse or error
21141// will be non-nil. Any non-2xx status code is an error. Response
21142// headers are in either
21143// *GoogleCloudDialogflowCxV3ListContinuousTestResultsResponse.ServerResp
21144// onse.Header or (if a response was returned at all) in
21145// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
21146// whether the returned error was because http.StatusNotModified was
21147// returned.
21148func (c *ProjectsLocationsAgentsEnvironmentsContinuousTestResultsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3ListContinuousTestResultsResponse, error) {
21149	gensupport.SetOptions(c.urlParams_, opts...)
21150	res, err := c.doRequest("json")
21151	if res != nil && res.StatusCode == http.StatusNotModified {
21152		if res.Body != nil {
21153			res.Body.Close()
21154		}
21155		return nil, &googleapi.Error{
21156			Code:   res.StatusCode,
21157			Header: res.Header,
21158		}
21159	}
21160	if err != nil {
21161		return nil, err
21162	}
21163	defer googleapi.CloseBody(res)
21164	if err := googleapi.CheckResponse(res); err != nil {
21165		return nil, err
21166	}
21167	ret := &GoogleCloudDialogflowCxV3ListContinuousTestResultsResponse{
21168		ServerResponse: googleapi.ServerResponse{
21169			Header:         res.Header,
21170			HTTPStatusCode: res.StatusCode,
21171		},
21172	}
21173	target := &ret
21174	if err := gensupport.DecodeResponse(target, res); err != nil {
21175		return nil, err
21176	}
21177	return ret, nil
21178	// {
21179	//   "description": "Fetches a list of continuous test results for a given environment.",
21180	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}/continuousTestResults",
21181	//   "httpMethod": "GET",
21182	//   "id": "dialogflow.projects.locations.agents.environments.continuousTestResults.list",
21183	//   "parameterOrder": [
21184	//     "parent"
21185	//   ],
21186	//   "parameters": {
21187	//     "pageSize": {
21188	//       "description": "The maximum number of items to return in a single page. By default 100 and at most 1000.",
21189	//       "format": "int32",
21190	//       "location": "query",
21191	//       "type": "integer"
21192	//     },
21193	//     "pageToken": {
21194	//       "description": "The next_page_token value returned from a previous list request.",
21195	//       "location": "query",
21196	//       "type": "string"
21197	//     },
21198	//     "parent": {
21199	//       "description": "Required. The environment to list results for. Format: `projects//locations//agents// environments/`.",
21200	//       "location": "path",
21201	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+$",
21202	//       "required": true,
21203	//       "type": "string"
21204	//     }
21205	//   },
21206	//   "path": "v3/{+parent}/continuousTestResults",
21207	//   "response": {
21208	//     "$ref": "GoogleCloudDialogflowCxV3ListContinuousTestResultsResponse"
21209	//   },
21210	//   "scopes": [
21211	//     "https://www.googleapis.com/auth/cloud-platform",
21212	//     "https://www.googleapis.com/auth/dialogflow"
21213	//   ]
21214	// }
21215
21216}
21217
21218// Pages invokes f for each page of results.
21219// A non-nil error returned from f will halt the iteration.
21220// The provided context supersedes any context provided to the Context method.
21221func (c *ProjectsLocationsAgentsEnvironmentsContinuousTestResultsListCall) Pages(ctx context.Context, f func(*GoogleCloudDialogflowCxV3ListContinuousTestResultsResponse) error) error {
21222	c.ctx_ = ctx
21223	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
21224	for {
21225		x, err := c.Do()
21226		if err != nil {
21227			return err
21228		}
21229		if err := f(x); err != nil {
21230			return err
21231		}
21232		if x.NextPageToken == "" {
21233			return nil
21234		}
21235		c.PageToken(x.NextPageToken)
21236	}
21237}
21238
21239// method id "dialogflow.projects.locations.agents.environments.experiments.create":
21240
21241type ProjectsLocationsAgentsEnvironmentsExperimentsCreateCall struct {
21242	s                                   *Service
21243	parent                              string
21244	googleclouddialogflowcxv3experiment *GoogleCloudDialogflowCxV3Experiment
21245	urlParams_                          gensupport.URLParams
21246	ctx_                                context.Context
21247	header_                             http.Header
21248}
21249
21250// Create: Creates an Experiment in the specified Environment.
21251//
21252// - parent: The Agent to create an Environment for. Format:
21253//   `projects//locations//agents//environments/`.
21254func (r *ProjectsLocationsAgentsEnvironmentsExperimentsService) Create(parent string, googleclouddialogflowcxv3experiment *GoogleCloudDialogflowCxV3Experiment) *ProjectsLocationsAgentsEnvironmentsExperimentsCreateCall {
21255	c := &ProjectsLocationsAgentsEnvironmentsExperimentsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21256	c.parent = parent
21257	c.googleclouddialogflowcxv3experiment = googleclouddialogflowcxv3experiment
21258	return c
21259}
21260
21261// Fields allows partial responses to be retrieved. See
21262// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21263// for more information.
21264func (c *ProjectsLocationsAgentsEnvironmentsExperimentsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsEnvironmentsExperimentsCreateCall {
21265	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21266	return c
21267}
21268
21269// Context sets the context to be used in this call's Do method. Any
21270// pending HTTP request will be aborted if the provided context is
21271// canceled.
21272func (c *ProjectsLocationsAgentsEnvironmentsExperimentsCreateCall) Context(ctx context.Context) *ProjectsLocationsAgentsEnvironmentsExperimentsCreateCall {
21273	c.ctx_ = ctx
21274	return c
21275}
21276
21277// Header returns an http.Header that can be modified by the caller to
21278// add HTTP headers to the request.
21279func (c *ProjectsLocationsAgentsEnvironmentsExperimentsCreateCall) Header() http.Header {
21280	if c.header_ == nil {
21281		c.header_ = make(http.Header)
21282	}
21283	return c.header_
21284}
21285
21286func (c *ProjectsLocationsAgentsEnvironmentsExperimentsCreateCall) doRequest(alt string) (*http.Response, error) {
21287	reqHeaders := make(http.Header)
21288	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
21289	for k, v := range c.header_ {
21290		reqHeaders[k] = v
21291	}
21292	reqHeaders.Set("User-Agent", c.s.userAgent())
21293	var body io.Reader = nil
21294	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3experiment)
21295	if err != nil {
21296		return nil, err
21297	}
21298	reqHeaders.Set("Content-Type", "application/json")
21299	c.urlParams_.Set("alt", alt)
21300	c.urlParams_.Set("prettyPrint", "false")
21301	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/experiments")
21302	urls += "?" + c.urlParams_.Encode()
21303	req, err := http.NewRequest("POST", urls, body)
21304	if err != nil {
21305		return nil, err
21306	}
21307	req.Header = reqHeaders
21308	googleapi.Expand(req.URL, map[string]string{
21309		"parent": c.parent,
21310	})
21311	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21312}
21313
21314// Do executes the "dialogflow.projects.locations.agents.environments.experiments.create" call.
21315// Exactly one of *GoogleCloudDialogflowCxV3Experiment or error will be
21316// non-nil. Any non-2xx status code is an error. Response headers are in
21317// either *GoogleCloudDialogflowCxV3Experiment.ServerResponse.Header or
21318// (if a response was returned at all) in
21319// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
21320// whether the returned error was because http.StatusNotModified was
21321// returned.
21322func (c *ProjectsLocationsAgentsEnvironmentsExperimentsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3Experiment, error) {
21323	gensupport.SetOptions(c.urlParams_, opts...)
21324	res, err := c.doRequest("json")
21325	if res != nil && res.StatusCode == http.StatusNotModified {
21326		if res.Body != nil {
21327			res.Body.Close()
21328		}
21329		return nil, &googleapi.Error{
21330			Code:   res.StatusCode,
21331			Header: res.Header,
21332		}
21333	}
21334	if err != nil {
21335		return nil, err
21336	}
21337	defer googleapi.CloseBody(res)
21338	if err := googleapi.CheckResponse(res); err != nil {
21339		return nil, err
21340	}
21341	ret := &GoogleCloudDialogflowCxV3Experiment{
21342		ServerResponse: googleapi.ServerResponse{
21343			Header:         res.Header,
21344			HTTPStatusCode: res.StatusCode,
21345		},
21346	}
21347	target := &ret
21348	if err := gensupport.DecodeResponse(target, res); err != nil {
21349		return nil, err
21350	}
21351	return ret, nil
21352	// {
21353	//   "description": "Creates an Experiment in the specified Environment.",
21354	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}/experiments",
21355	//   "httpMethod": "POST",
21356	//   "id": "dialogflow.projects.locations.agents.environments.experiments.create",
21357	//   "parameterOrder": [
21358	//     "parent"
21359	//   ],
21360	//   "parameters": {
21361	//     "parent": {
21362	//       "description": "Required. The Agent to create an Environment for. Format: `projects//locations//agents//environments/`.",
21363	//       "location": "path",
21364	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+$",
21365	//       "required": true,
21366	//       "type": "string"
21367	//     }
21368	//   },
21369	//   "path": "v3/{+parent}/experiments",
21370	//   "request": {
21371	//     "$ref": "GoogleCloudDialogflowCxV3Experiment"
21372	//   },
21373	//   "response": {
21374	//     "$ref": "GoogleCloudDialogflowCxV3Experiment"
21375	//   },
21376	//   "scopes": [
21377	//     "https://www.googleapis.com/auth/cloud-platform",
21378	//     "https://www.googleapis.com/auth/dialogflow"
21379	//   ]
21380	// }
21381
21382}
21383
21384// method id "dialogflow.projects.locations.agents.environments.experiments.delete":
21385
21386type ProjectsLocationsAgentsEnvironmentsExperimentsDeleteCall struct {
21387	s          *Service
21388	name       string
21389	urlParams_ gensupport.URLParams
21390	ctx_       context.Context
21391	header_    http.Header
21392}
21393
21394// Delete: Deletes the specified Experiment.
21395//
21396// - name: The name of the Environment to delete. Format:
21397//   `projects//locations//agents//environments//experiments/`.
21398func (r *ProjectsLocationsAgentsEnvironmentsExperimentsService) Delete(name string) *ProjectsLocationsAgentsEnvironmentsExperimentsDeleteCall {
21399	c := &ProjectsLocationsAgentsEnvironmentsExperimentsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21400	c.name = name
21401	return c
21402}
21403
21404// Fields allows partial responses to be retrieved. See
21405// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21406// for more information.
21407func (c *ProjectsLocationsAgentsEnvironmentsExperimentsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsEnvironmentsExperimentsDeleteCall {
21408	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21409	return c
21410}
21411
21412// Context sets the context to be used in this call's Do method. Any
21413// pending HTTP request will be aborted if the provided context is
21414// canceled.
21415func (c *ProjectsLocationsAgentsEnvironmentsExperimentsDeleteCall) Context(ctx context.Context) *ProjectsLocationsAgentsEnvironmentsExperimentsDeleteCall {
21416	c.ctx_ = ctx
21417	return c
21418}
21419
21420// Header returns an http.Header that can be modified by the caller to
21421// add HTTP headers to the request.
21422func (c *ProjectsLocationsAgentsEnvironmentsExperimentsDeleteCall) Header() http.Header {
21423	if c.header_ == nil {
21424		c.header_ = make(http.Header)
21425	}
21426	return c.header_
21427}
21428
21429func (c *ProjectsLocationsAgentsEnvironmentsExperimentsDeleteCall) doRequest(alt string) (*http.Response, error) {
21430	reqHeaders := make(http.Header)
21431	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
21432	for k, v := range c.header_ {
21433		reqHeaders[k] = v
21434	}
21435	reqHeaders.Set("User-Agent", c.s.userAgent())
21436	var body io.Reader = nil
21437	c.urlParams_.Set("alt", alt)
21438	c.urlParams_.Set("prettyPrint", "false")
21439	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
21440	urls += "?" + c.urlParams_.Encode()
21441	req, err := http.NewRequest("DELETE", urls, body)
21442	if err != nil {
21443		return nil, err
21444	}
21445	req.Header = reqHeaders
21446	googleapi.Expand(req.URL, map[string]string{
21447		"name": c.name,
21448	})
21449	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21450}
21451
21452// Do executes the "dialogflow.projects.locations.agents.environments.experiments.delete" call.
21453// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
21454// non-2xx status code is an error. Response headers are in either
21455// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
21456// returned at all) in error.(*googleapi.Error).Header. Use
21457// googleapi.IsNotModified to check whether the returned error was
21458// because http.StatusNotModified was returned.
21459func (c *ProjectsLocationsAgentsEnvironmentsExperimentsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
21460	gensupport.SetOptions(c.urlParams_, opts...)
21461	res, err := c.doRequest("json")
21462	if res != nil && res.StatusCode == http.StatusNotModified {
21463		if res.Body != nil {
21464			res.Body.Close()
21465		}
21466		return nil, &googleapi.Error{
21467			Code:   res.StatusCode,
21468			Header: res.Header,
21469		}
21470	}
21471	if err != nil {
21472		return nil, err
21473	}
21474	defer googleapi.CloseBody(res)
21475	if err := googleapi.CheckResponse(res); err != nil {
21476		return nil, err
21477	}
21478	ret := &GoogleProtobufEmpty{
21479		ServerResponse: googleapi.ServerResponse{
21480			Header:         res.Header,
21481			HTTPStatusCode: res.StatusCode,
21482		},
21483	}
21484	target := &ret
21485	if err := gensupport.DecodeResponse(target, res); err != nil {
21486		return nil, err
21487	}
21488	return ret, nil
21489	// {
21490	//   "description": "Deletes the specified Experiment.",
21491	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}/experiments/{experimentsId}",
21492	//   "httpMethod": "DELETE",
21493	//   "id": "dialogflow.projects.locations.agents.environments.experiments.delete",
21494	//   "parameterOrder": [
21495	//     "name"
21496	//   ],
21497	//   "parameters": {
21498	//     "name": {
21499	//       "description": "Required. The name of the Environment to delete. Format: `projects//locations//agents//environments//experiments/`.",
21500	//       "location": "path",
21501	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+/experiments/[^/]+$",
21502	//       "required": true,
21503	//       "type": "string"
21504	//     }
21505	//   },
21506	//   "path": "v3/{+name}",
21507	//   "response": {
21508	//     "$ref": "GoogleProtobufEmpty"
21509	//   },
21510	//   "scopes": [
21511	//     "https://www.googleapis.com/auth/cloud-platform",
21512	//     "https://www.googleapis.com/auth/dialogflow"
21513	//   ]
21514	// }
21515
21516}
21517
21518// method id "dialogflow.projects.locations.agents.environments.experiments.get":
21519
21520type ProjectsLocationsAgentsEnvironmentsExperimentsGetCall struct {
21521	s            *Service
21522	name         string
21523	urlParams_   gensupport.URLParams
21524	ifNoneMatch_ string
21525	ctx_         context.Context
21526	header_      http.Header
21527}
21528
21529// Get: Retrieves the specified Experiment.
21530//
21531// - name: The name of the Environment. Format:
21532//   `projects//locations//agents//environments//experiments/`.
21533func (r *ProjectsLocationsAgentsEnvironmentsExperimentsService) Get(name string) *ProjectsLocationsAgentsEnvironmentsExperimentsGetCall {
21534	c := &ProjectsLocationsAgentsEnvironmentsExperimentsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21535	c.name = name
21536	return c
21537}
21538
21539// Fields allows partial responses to be retrieved. See
21540// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21541// for more information.
21542func (c *ProjectsLocationsAgentsEnvironmentsExperimentsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsEnvironmentsExperimentsGetCall {
21543	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21544	return c
21545}
21546
21547// IfNoneMatch sets the optional parameter which makes the operation
21548// fail if the object's ETag matches the given value. This is useful for
21549// getting updates only after the object has changed since the last
21550// request. Use googleapi.IsNotModified to check whether the response
21551// error from Do is the result of In-None-Match.
21552func (c *ProjectsLocationsAgentsEnvironmentsExperimentsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsEnvironmentsExperimentsGetCall {
21553	c.ifNoneMatch_ = entityTag
21554	return c
21555}
21556
21557// Context sets the context to be used in this call's Do method. Any
21558// pending HTTP request will be aborted if the provided context is
21559// canceled.
21560func (c *ProjectsLocationsAgentsEnvironmentsExperimentsGetCall) Context(ctx context.Context) *ProjectsLocationsAgentsEnvironmentsExperimentsGetCall {
21561	c.ctx_ = ctx
21562	return c
21563}
21564
21565// Header returns an http.Header that can be modified by the caller to
21566// add HTTP headers to the request.
21567func (c *ProjectsLocationsAgentsEnvironmentsExperimentsGetCall) Header() http.Header {
21568	if c.header_ == nil {
21569		c.header_ = make(http.Header)
21570	}
21571	return c.header_
21572}
21573
21574func (c *ProjectsLocationsAgentsEnvironmentsExperimentsGetCall) doRequest(alt string) (*http.Response, error) {
21575	reqHeaders := make(http.Header)
21576	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
21577	for k, v := range c.header_ {
21578		reqHeaders[k] = v
21579	}
21580	reqHeaders.Set("User-Agent", c.s.userAgent())
21581	if c.ifNoneMatch_ != "" {
21582		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
21583	}
21584	var body io.Reader = nil
21585	c.urlParams_.Set("alt", alt)
21586	c.urlParams_.Set("prettyPrint", "false")
21587	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
21588	urls += "?" + c.urlParams_.Encode()
21589	req, err := http.NewRequest("GET", urls, body)
21590	if err != nil {
21591		return nil, err
21592	}
21593	req.Header = reqHeaders
21594	googleapi.Expand(req.URL, map[string]string{
21595		"name": c.name,
21596	})
21597	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21598}
21599
21600// Do executes the "dialogflow.projects.locations.agents.environments.experiments.get" call.
21601// Exactly one of *GoogleCloudDialogflowCxV3Experiment or error will be
21602// non-nil. Any non-2xx status code is an error. Response headers are in
21603// either *GoogleCloudDialogflowCxV3Experiment.ServerResponse.Header or
21604// (if a response was returned at all) in
21605// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
21606// whether the returned error was because http.StatusNotModified was
21607// returned.
21608func (c *ProjectsLocationsAgentsEnvironmentsExperimentsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3Experiment, error) {
21609	gensupport.SetOptions(c.urlParams_, opts...)
21610	res, err := c.doRequest("json")
21611	if res != nil && res.StatusCode == http.StatusNotModified {
21612		if res.Body != nil {
21613			res.Body.Close()
21614		}
21615		return nil, &googleapi.Error{
21616			Code:   res.StatusCode,
21617			Header: res.Header,
21618		}
21619	}
21620	if err != nil {
21621		return nil, err
21622	}
21623	defer googleapi.CloseBody(res)
21624	if err := googleapi.CheckResponse(res); err != nil {
21625		return nil, err
21626	}
21627	ret := &GoogleCloudDialogflowCxV3Experiment{
21628		ServerResponse: googleapi.ServerResponse{
21629			Header:         res.Header,
21630			HTTPStatusCode: res.StatusCode,
21631		},
21632	}
21633	target := &ret
21634	if err := gensupport.DecodeResponse(target, res); err != nil {
21635		return nil, err
21636	}
21637	return ret, nil
21638	// {
21639	//   "description": "Retrieves the specified Experiment.",
21640	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}/experiments/{experimentsId}",
21641	//   "httpMethod": "GET",
21642	//   "id": "dialogflow.projects.locations.agents.environments.experiments.get",
21643	//   "parameterOrder": [
21644	//     "name"
21645	//   ],
21646	//   "parameters": {
21647	//     "name": {
21648	//       "description": "Required. The name of the Environment. Format: `projects//locations//agents//environments//experiments/`.",
21649	//       "location": "path",
21650	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+/experiments/[^/]+$",
21651	//       "required": true,
21652	//       "type": "string"
21653	//     }
21654	//   },
21655	//   "path": "v3/{+name}",
21656	//   "response": {
21657	//     "$ref": "GoogleCloudDialogflowCxV3Experiment"
21658	//   },
21659	//   "scopes": [
21660	//     "https://www.googleapis.com/auth/cloud-platform",
21661	//     "https://www.googleapis.com/auth/dialogflow"
21662	//   ]
21663	// }
21664
21665}
21666
21667// method id "dialogflow.projects.locations.agents.environments.experiments.list":
21668
21669type ProjectsLocationsAgentsEnvironmentsExperimentsListCall struct {
21670	s            *Service
21671	parent       string
21672	urlParams_   gensupport.URLParams
21673	ifNoneMatch_ string
21674	ctx_         context.Context
21675	header_      http.Header
21676}
21677
21678// List: Returns the list of all experiments in the specified
21679// Environment.
21680//
21681// - parent: The Environment to list all environments for. Format:
21682//   `projects//locations//agents//environments/`.
21683func (r *ProjectsLocationsAgentsEnvironmentsExperimentsService) List(parent string) *ProjectsLocationsAgentsEnvironmentsExperimentsListCall {
21684	c := &ProjectsLocationsAgentsEnvironmentsExperimentsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21685	c.parent = parent
21686	return c
21687}
21688
21689// PageSize sets the optional parameter "pageSize": The maximum number
21690// of items to return in a single page. By default 20 and at most 100.
21691func (c *ProjectsLocationsAgentsEnvironmentsExperimentsListCall) PageSize(pageSize int64) *ProjectsLocationsAgentsEnvironmentsExperimentsListCall {
21692	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
21693	return c
21694}
21695
21696// PageToken sets the optional parameter "pageToken": The
21697// next_page_token value returned from a previous list request.
21698func (c *ProjectsLocationsAgentsEnvironmentsExperimentsListCall) PageToken(pageToken string) *ProjectsLocationsAgentsEnvironmentsExperimentsListCall {
21699	c.urlParams_.Set("pageToken", pageToken)
21700	return c
21701}
21702
21703// Fields allows partial responses to be retrieved. See
21704// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21705// for more information.
21706func (c *ProjectsLocationsAgentsEnvironmentsExperimentsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsEnvironmentsExperimentsListCall {
21707	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21708	return c
21709}
21710
21711// IfNoneMatch sets the optional parameter which makes the operation
21712// fail if the object's ETag matches the given value. This is useful for
21713// getting updates only after the object has changed since the last
21714// request. Use googleapi.IsNotModified to check whether the response
21715// error from Do is the result of In-None-Match.
21716func (c *ProjectsLocationsAgentsEnvironmentsExperimentsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsEnvironmentsExperimentsListCall {
21717	c.ifNoneMatch_ = entityTag
21718	return c
21719}
21720
21721// Context sets the context to be used in this call's Do method. Any
21722// pending HTTP request will be aborted if the provided context is
21723// canceled.
21724func (c *ProjectsLocationsAgentsEnvironmentsExperimentsListCall) Context(ctx context.Context) *ProjectsLocationsAgentsEnvironmentsExperimentsListCall {
21725	c.ctx_ = ctx
21726	return c
21727}
21728
21729// Header returns an http.Header that can be modified by the caller to
21730// add HTTP headers to the request.
21731func (c *ProjectsLocationsAgentsEnvironmentsExperimentsListCall) Header() http.Header {
21732	if c.header_ == nil {
21733		c.header_ = make(http.Header)
21734	}
21735	return c.header_
21736}
21737
21738func (c *ProjectsLocationsAgentsEnvironmentsExperimentsListCall) doRequest(alt string) (*http.Response, error) {
21739	reqHeaders := make(http.Header)
21740	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
21741	for k, v := range c.header_ {
21742		reqHeaders[k] = v
21743	}
21744	reqHeaders.Set("User-Agent", c.s.userAgent())
21745	if c.ifNoneMatch_ != "" {
21746		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
21747	}
21748	var body io.Reader = nil
21749	c.urlParams_.Set("alt", alt)
21750	c.urlParams_.Set("prettyPrint", "false")
21751	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/experiments")
21752	urls += "?" + c.urlParams_.Encode()
21753	req, err := http.NewRequest("GET", urls, body)
21754	if err != nil {
21755		return nil, err
21756	}
21757	req.Header = reqHeaders
21758	googleapi.Expand(req.URL, map[string]string{
21759		"parent": c.parent,
21760	})
21761	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21762}
21763
21764// Do executes the "dialogflow.projects.locations.agents.environments.experiments.list" call.
21765// Exactly one of *GoogleCloudDialogflowCxV3ListExperimentsResponse or
21766// error will be non-nil. Any non-2xx status code is an error. Response
21767// headers are in either
21768// *GoogleCloudDialogflowCxV3ListExperimentsResponse.ServerResponse.Heade
21769// r or (if a response was returned at all) in
21770// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
21771// whether the returned error was because http.StatusNotModified was
21772// returned.
21773func (c *ProjectsLocationsAgentsEnvironmentsExperimentsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3ListExperimentsResponse, error) {
21774	gensupport.SetOptions(c.urlParams_, opts...)
21775	res, err := c.doRequest("json")
21776	if res != nil && res.StatusCode == http.StatusNotModified {
21777		if res.Body != nil {
21778			res.Body.Close()
21779		}
21780		return nil, &googleapi.Error{
21781			Code:   res.StatusCode,
21782			Header: res.Header,
21783		}
21784	}
21785	if err != nil {
21786		return nil, err
21787	}
21788	defer googleapi.CloseBody(res)
21789	if err := googleapi.CheckResponse(res); err != nil {
21790		return nil, err
21791	}
21792	ret := &GoogleCloudDialogflowCxV3ListExperimentsResponse{
21793		ServerResponse: googleapi.ServerResponse{
21794			Header:         res.Header,
21795			HTTPStatusCode: res.StatusCode,
21796		},
21797	}
21798	target := &ret
21799	if err := gensupport.DecodeResponse(target, res); err != nil {
21800		return nil, err
21801	}
21802	return ret, nil
21803	// {
21804	//   "description": "Returns the list of all experiments in the specified Environment.",
21805	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}/experiments",
21806	//   "httpMethod": "GET",
21807	//   "id": "dialogflow.projects.locations.agents.environments.experiments.list",
21808	//   "parameterOrder": [
21809	//     "parent"
21810	//   ],
21811	//   "parameters": {
21812	//     "pageSize": {
21813	//       "description": "The maximum number of items to return in a single page. By default 20 and at most 100.",
21814	//       "format": "int32",
21815	//       "location": "query",
21816	//       "type": "integer"
21817	//     },
21818	//     "pageToken": {
21819	//       "description": "The next_page_token value returned from a previous list request.",
21820	//       "location": "query",
21821	//       "type": "string"
21822	//     },
21823	//     "parent": {
21824	//       "description": "Required. The Environment to list all environments for. Format: `projects//locations//agents//environments/`.",
21825	//       "location": "path",
21826	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+$",
21827	//       "required": true,
21828	//       "type": "string"
21829	//     }
21830	//   },
21831	//   "path": "v3/{+parent}/experiments",
21832	//   "response": {
21833	//     "$ref": "GoogleCloudDialogflowCxV3ListExperimentsResponse"
21834	//   },
21835	//   "scopes": [
21836	//     "https://www.googleapis.com/auth/cloud-platform",
21837	//     "https://www.googleapis.com/auth/dialogflow"
21838	//   ]
21839	// }
21840
21841}
21842
21843// Pages invokes f for each page of results.
21844// A non-nil error returned from f will halt the iteration.
21845// The provided context supersedes any context provided to the Context method.
21846func (c *ProjectsLocationsAgentsEnvironmentsExperimentsListCall) Pages(ctx context.Context, f func(*GoogleCloudDialogflowCxV3ListExperimentsResponse) error) error {
21847	c.ctx_ = ctx
21848	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
21849	for {
21850		x, err := c.Do()
21851		if err != nil {
21852			return err
21853		}
21854		if err := f(x); err != nil {
21855			return err
21856		}
21857		if x.NextPageToken == "" {
21858			return nil
21859		}
21860		c.PageToken(x.NextPageToken)
21861	}
21862}
21863
21864// method id "dialogflow.projects.locations.agents.environments.experiments.patch":
21865
21866type ProjectsLocationsAgentsEnvironmentsExperimentsPatchCall struct {
21867	s                                   *Service
21868	name                                string
21869	googleclouddialogflowcxv3experiment *GoogleCloudDialogflowCxV3Experiment
21870	urlParams_                          gensupport.URLParams
21871	ctx_                                context.Context
21872	header_                             http.Header
21873}
21874
21875// Patch: Updates the specified Experiment.
21876//
21877// - name: The name of the experiment. Format:
21878//   projects//locations//agents//environments//experiments/..
21879func (r *ProjectsLocationsAgentsEnvironmentsExperimentsService) Patch(name string, googleclouddialogflowcxv3experiment *GoogleCloudDialogflowCxV3Experiment) *ProjectsLocationsAgentsEnvironmentsExperimentsPatchCall {
21880	c := &ProjectsLocationsAgentsEnvironmentsExperimentsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21881	c.name = name
21882	c.googleclouddialogflowcxv3experiment = googleclouddialogflowcxv3experiment
21883	return c
21884}
21885
21886// UpdateMask sets the optional parameter "updateMask": Required. The
21887// mask to control which fields get updated.
21888func (c *ProjectsLocationsAgentsEnvironmentsExperimentsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsAgentsEnvironmentsExperimentsPatchCall {
21889	c.urlParams_.Set("updateMask", updateMask)
21890	return c
21891}
21892
21893// Fields allows partial responses to be retrieved. See
21894// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21895// for more information.
21896func (c *ProjectsLocationsAgentsEnvironmentsExperimentsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsEnvironmentsExperimentsPatchCall {
21897	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21898	return c
21899}
21900
21901// Context sets the context to be used in this call's Do method. Any
21902// pending HTTP request will be aborted if the provided context is
21903// canceled.
21904func (c *ProjectsLocationsAgentsEnvironmentsExperimentsPatchCall) Context(ctx context.Context) *ProjectsLocationsAgentsEnvironmentsExperimentsPatchCall {
21905	c.ctx_ = ctx
21906	return c
21907}
21908
21909// Header returns an http.Header that can be modified by the caller to
21910// add HTTP headers to the request.
21911func (c *ProjectsLocationsAgentsEnvironmentsExperimentsPatchCall) Header() http.Header {
21912	if c.header_ == nil {
21913		c.header_ = make(http.Header)
21914	}
21915	return c.header_
21916}
21917
21918func (c *ProjectsLocationsAgentsEnvironmentsExperimentsPatchCall) doRequest(alt string) (*http.Response, error) {
21919	reqHeaders := make(http.Header)
21920	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
21921	for k, v := range c.header_ {
21922		reqHeaders[k] = v
21923	}
21924	reqHeaders.Set("User-Agent", c.s.userAgent())
21925	var body io.Reader = nil
21926	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3experiment)
21927	if err != nil {
21928		return nil, err
21929	}
21930	reqHeaders.Set("Content-Type", "application/json")
21931	c.urlParams_.Set("alt", alt)
21932	c.urlParams_.Set("prettyPrint", "false")
21933	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
21934	urls += "?" + c.urlParams_.Encode()
21935	req, err := http.NewRequest("PATCH", urls, body)
21936	if err != nil {
21937		return nil, err
21938	}
21939	req.Header = reqHeaders
21940	googleapi.Expand(req.URL, map[string]string{
21941		"name": c.name,
21942	})
21943	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21944}
21945
21946// Do executes the "dialogflow.projects.locations.agents.environments.experiments.patch" call.
21947// Exactly one of *GoogleCloudDialogflowCxV3Experiment or error will be
21948// non-nil. Any non-2xx status code is an error. Response headers are in
21949// either *GoogleCloudDialogflowCxV3Experiment.ServerResponse.Header or
21950// (if a response was returned at all) in
21951// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
21952// whether the returned error was because http.StatusNotModified was
21953// returned.
21954func (c *ProjectsLocationsAgentsEnvironmentsExperimentsPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3Experiment, error) {
21955	gensupport.SetOptions(c.urlParams_, opts...)
21956	res, err := c.doRequest("json")
21957	if res != nil && res.StatusCode == http.StatusNotModified {
21958		if res.Body != nil {
21959			res.Body.Close()
21960		}
21961		return nil, &googleapi.Error{
21962			Code:   res.StatusCode,
21963			Header: res.Header,
21964		}
21965	}
21966	if err != nil {
21967		return nil, err
21968	}
21969	defer googleapi.CloseBody(res)
21970	if err := googleapi.CheckResponse(res); err != nil {
21971		return nil, err
21972	}
21973	ret := &GoogleCloudDialogflowCxV3Experiment{
21974		ServerResponse: googleapi.ServerResponse{
21975			Header:         res.Header,
21976			HTTPStatusCode: res.StatusCode,
21977		},
21978	}
21979	target := &ret
21980	if err := gensupport.DecodeResponse(target, res); err != nil {
21981		return nil, err
21982	}
21983	return ret, nil
21984	// {
21985	//   "description": "Updates the specified Experiment.",
21986	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}/experiments/{experimentsId}",
21987	//   "httpMethod": "PATCH",
21988	//   "id": "dialogflow.projects.locations.agents.environments.experiments.patch",
21989	//   "parameterOrder": [
21990	//     "name"
21991	//   ],
21992	//   "parameters": {
21993	//     "name": {
21994	//       "description": "The name of the experiment. Format: projects//locations//agents//environments//experiments/..",
21995	//       "location": "path",
21996	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+/experiments/[^/]+$",
21997	//       "required": true,
21998	//       "type": "string"
21999	//     },
22000	//     "updateMask": {
22001	//       "description": "Required. The mask to control which fields get updated.",
22002	//       "format": "google-fieldmask",
22003	//       "location": "query",
22004	//       "type": "string"
22005	//     }
22006	//   },
22007	//   "path": "v3/{+name}",
22008	//   "request": {
22009	//     "$ref": "GoogleCloudDialogflowCxV3Experiment"
22010	//   },
22011	//   "response": {
22012	//     "$ref": "GoogleCloudDialogflowCxV3Experiment"
22013	//   },
22014	//   "scopes": [
22015	//     "https://www.googleapis.com/auth/cloud-platform",
22016	//     "https://www.googleapis.com/auth/dialogflow"
22017	//   ]
22018	// }
22019
22020}
22021
22022// method id "dialogflow.projects.locations.agents.environments.experiments.start":
22023
22024type ProjectsLocationsAgentsEnvironmentsExperimentsStartCall struct {
22025	s                                               *Service
22026	name                                            string
22027	googleclouddialogflowcxv3startexperimentrequest *GoogleCloudDialogflowCxV3StartExperimentRequest
22028	urlParams_                                      gensupport.URLParams
22029	ctx_                                            context.Context
22030	header_                                         http.Header
22031}
22032
22033// Start: Starts the specified Experiment. This rpc only changes the
22034// state of experiment from PENDING to RUNNING.
22035//
22036// - name: Resource name of the experiment to start. Format:
22037//   `projects//locations//agents//environments//experiments/`.
22038func (r *ProjectsLocationsAgentsEnvironmentsExperimentsService) Start(name string, googleclouddialogflowcxv3startexperimentrequest *GoogleCloudDialogflowCxV3StartExperimentRequest) *ProjectsLocationsAgentsEnvironmentsExperimentsStartCall {
22039	c := &ProjectsLocationsAgentsEnvironmentsExperimentsStartCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22040	c.name = name
22041	c.googleclouddialogflowcxv3startexperimentrequest = googleclouddialogflowcxv3startexperimentrequest
22042	return c
22043}
22044
22045// Fields allows partial responses to be retrieved. See
22046// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22047// for more information.
22048func (c *ProjectsLocationsAgentsEnvironmentsExperimentsStartCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsEnvironmentsExperimentsStartCall {
22049	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22050	return c
22051}
22052
22053// Context sets the context to be used in this call's Do method. Any
22054// pending HTTP request will be aborted if the provided context is
22055// canceled.
22056func (c *ProjectsLocationsAgentsEnvironmentsExperimentsStartCall) Context(ctx context.Context) *ProjectsLocationsAgentsEnvironmentsExperimentsStartCall {
22057	c.ctx_ = ctx
22058	return c
22059}
22060
22061// Header returns an http.Header that can be modified by the caller to
22062// add HTTP headers to the request.
22063func (c *ProjectsLocationsAgentsEnvironmentsExperimentsStartCall) Header() http.Header {
22064	if c.header_ == nil {
22065		c.header_ = make(http.Header)
22066	}
22067	return c.header_
22068}
22069
22070func (c *ProjectsLocationsAgentsEnvironmentsExperimentsStartCall) doRequest(alt string) (*http.Response, error) {
22071	reqHeaders := make(http.Header)
22072	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
22073	for k, v := range c.header_ {
22074		reqHeaders[k] = v
22075	}
22076	reqHeaders.Set("User-Agent", c.s.userAgent())
22077	var body io.Reader = nil
22078	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3startexperimentrequest)
22079	if err != nil {
22080		return nil, err
22081	}
22082	reqHeaders.Set("Content-Type", "application/json")
22083	c.urlParams_.Set("alt", alt)
22084	c.urlParams_.Set("prettyPrint", "false")
22085	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}:start")
22086	urls += "?" + c.urlParams_.Encode()
22087	req, err := http.NewRequest("POST", urls, body)
22088	if err != nil {
22089		return nil, err
22090	}
22091	req.Header = reqHeaders
22092	googleapi.Expand(req.URL, map[string]string{
22093		"name": c.name,
22094	})
22095	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22096}
22097
22098// Do executes the "dialogflow.projects.locations.agents.environments.experiments.start" call.
22099// Exactly one of *GoogleCloudDialogflowCxV3Experiment or error will be
22100// non-nil. Any non-2xx status code is an error. Response headers are in
22101// either *GoogleCloudDialogflowCxV3Experiment.ServerResponse.Header or
22102// (if a response was returned at all) in
22103// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
22104// whether the returned error was because http.StatusNotModified was
22105// returned.
22106func (c *ProjectsLocationsAgentsEnvironmentsExperimentsStartCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3Experiment, error) {
22107	gensupport.SetOptions(c.urlParams_, opts...)
22108	res, err := c.doRequest("json")
22109	if res != nil && res.StatusCode == http.StatusNotModified {
22110		if res.Body != nil {
22111			res.Body.Close()
22112		}
22113		return nil, &googleapi.Error{
22114			Code:   res.StatusCode,
22115			Header: res.Header,
22116		}
22117	}
22118	if err != nil {
22119		return nil, err
22120	}
22121	defer googleapi.CloseBody(res)
22122	if err := googleapi.CheckResponse(res); err != nil {
22123		return nil, err
22124	}
22125	ret := &GoogleCloudDialogflowCxV3Experiment{
22126		ServerResponse: googleapi.ServerResponse{
22127			Header:         res.Header,
22128			HTTPStatusCode: res.StatusCode,
22129		},
22130	}
22131	target := &ret
22132	if err := gensupport.DecodeResponse(target, res); err != nil {
22133		return nil, err
22134	}
22135	return ret, nil
22136	// {
22137	//   "description": "Starts the specified Experiment. This rpc only changes the state of experiment from PENDING to RUNNING.",
22138	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}/experiments/{experimentsId}:start",
22139	//   "httpMethod": "POST",
22140	//   "id": "dialogflow.projects.locations.agents.environments.experiments.start",
22141	//   "parameterOrder": [
22142	//     "name"
22143	//   ],
22144	//   "parameters": {
22145	//     "name": {
22146	//       "description": "Required. Resource name of the experiment to start. Format: `projects//locations//agents//environments//experiments/`.",
22147	//       "location": "path",
22148	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+/experiments/[^/]+$",
22149	//       "required": true,
22150	//       "type": "string"
22151	//     }
22152	//   },
22153	//   "path": "v3/{+name}:start",
22154	//   "request": {
22155	//     "$ref": "GoogleCloudDialogflowCxV3StartExperimentRequest"
22156	//   },
22157	//   "response": {
22158	//     "$ref": "GoogleCloudDialogflowCxV3Experiment"
22159	//   },
22160	//   "scopes": [
22161	//     "https://www.googleapis.com/auth/cloud-platform",
22162	//     "https://www.googleapis.com/auth/dialogflow"
22163	//   ]
22164	// }
22165
22166}
22167
22168// method id "dialogflow.projects.locations.agents.environments.experiments.stop":
22169
22170type ProjectsLocationsAgentsEnvironmentsExperimentsStopCall struct {
22171	s                                              *Service
22172	name                                           string
22173	googleclouddialogflowcxv3stopexperimentrequest *GoogleCloudDialogflowCxV3StopExperimentRequest
22174	urlParams_                                     gensupport.URLParams
22175	ctx_                                           context.Context
22176	header_                                        http.Header
22177}
22178
22179// Stop: Stops the specified Experiment. This rpc only changes the state
22180// of experiment from RUNNING to DONE.
22181//
22182// - name: Resource name of the experiment to stop. Format:
22183//   `projects//locations//agents//environments//experiments/`.
22184func (r *ProjectsLocationsAgentsEnvironmentsExperimentsService) Stop(name string, googleclouddialogflowcxv3stopexperimentrequest *GoogleCloudDialogflowCxV3StopExperimentRequest) *ProjectsLocationsAgentsEnvironmentsExperimentsStopCall {
22185	c := &ProjectsLocationsAgentsEnvironmentsExperimentsStopCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22186	c.name = name
22187	c.googleclouddialogflowcxv3stopexperimentrequest = googleclouddialogflowcxv3stopexperimentrequest
22188	return c
22189}
22190
22191// Fields allows partial responses to be retrieved. See
22192// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22193// for more information.
22194func (c *ProjectsLocationsAgentsEnvironmentsExperimentsStopCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsEnvironmentsExperimentsStopCall {
22195	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22196	return c
22197}
22198
22199// Context sets the context to be used in this call's Do method. Any
22200// pending HTTP request will be aborted if the provided context is
22201// canceled.
22202func (c *ProjectsLocationsAgentsEnvironmentsExperimentsStopCall) Context(ctx context.Context) *ProjectsLocationsAgentsEnvironmentsExperimentsStopCall {
22203	c.ctx_ = ctx
22204	return c
22205}
22206
22207// Header returns an http.Header that can be modified by the caller to
22208// add HTTP headers to the request.
22209func (c *ProjectsLocationsAgentsEnvironmentsExperimentsStopCall) Header() http.Header {
22210	if c.header_ == nil {
22211		c.header_ = make(http.Header)
22212	}
22213	return c.header_
22214}
22215
22216func (c *ProjectsLocationsAgentsEnvironmentsExperimentsStopCall) doRequest(alt string) (*http.Response, error) {
22217	reqHeaders := make(http.Header)
22218	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
22219	for k, v := range c.header_ {
22220		reqHeaders[k] = v
22221	}
22222	reqHeaders.Set("User-Agent", c.s.userAgent())
22223	var body io.Reader = nil
22224	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3stopexperimentrequest)
22225	if err != nil {
22226		return nil, err
22227	}
22228	reqHeaders.Set("Content-Type", "application/json")
22229	c.urlParams_.Set("alt", alt)
22230	c.urlParams_.Set("prettyPrint", "false")
22231	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}:stop")
22232	urls += "?" + c.urlParams_.Encode()
22233	req, err := http.NewRequest("POST", urls, body)
22234	if err != nil {
22235		return nil, err
22236	}
22237	req.Header = reqHeaders
22238	googleapi.Expand(req.URL, map[string]string{
22239		"name": c.name,
22240	})
22241	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22242}
22243
22244// Do executes the "dialogflow.projects.locations.agents.environments.experiments.stop" call.
22245// Exactly one of *GoogleCloudDialogflowCxV3Experiment or error will be
22246// non-nil. Any non-2xx status code is an error. Response headers are in
22247// either *GoogleCloudDialogflowCxV3Experiment.ServerResponse.Header or
22248// (if a response was returned at all) in
22249// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
22250// whether the returned error was because http.StatusNotModified was
22251// returned.
22252func (c *ProjectsLocationsAgentsEnvironmentsExperimentsStopCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3Experiment, error) {
22253	gensupport.SetOptions(c.urlParams_, opts...)
22254	res, err := c.doRequest("json")
22255	if res != nil && res.StatusCode == http.StatusNotModified {
22256		if res.Body != nil {
22257			res.Body.Close()
22258		}
22259		return nil, &googleapi.Error{
22260			Code:   res.StatusCode,
22261			Header: res.Header,
22262		}
22263	}
22264	if err != nil {
22265		return nil, err
22266	}
22267	defer googleapi.CloseBody(res)
22268	if err := googleapi.CheckResponse(res); err != nil {
22269		return nil, err
22270	}
22271	ret := &GoogleCloudDialogflowCxV3Experiment{
22272		ServerResponse: googleapi.ServerResponse{
22273			Header:         res.Header,
22274			HTTPStatusCode: res.StatusCode,
22275		},
22276	}
22277	target := &ret
22278	if err := gensupport.DecodeResponse(target, res); err != nil {
22279		return nil, err
22280	}
22281	return ret, nil
22282	// {
22283	//   "description": "Stops the specified Experiment. This rpc only changes the state of experiment from RUNNING to DONE.",
22284	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}/experiments/{experimentsId}:stop",
22285	//   "httpMethod": "POST",
22286	//   "id": "dialogflow.projects.locations.agents.environments.experiments.stop",
22287	//   "parameterOrder": [
22288	//     "name"
22289	//   ],
22290	//   "parameters": {
22291	//     "name": {
22292	//       "description": "Required. Resource name of the experiment to stop. Format: `projects//locations//agents//environments//experiments/`.",
22293	//       "location": "path",
22294	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+/experiments/[^/]+$",
22295	//       "required": true,
22296	//       "type": "string"
22297	//     }
22298	//   },
22299	//   "path": "v3/{+name}:stop",
22300	//   "request": {
22301	//     "$ref": "GoogleCloudDialogflowCxV3StopExperimentRequest"
22302	//   },
22303	//   "response": {
22304	//     "$ref": "GoogleCloudDialogflowCxV3Experiment"
22305	//   },
22306	//   "scopes": [
22307	//     "https://www.googleapis.com/auth/cloud-platform",
22308	//     "https://www.googleapis.com/auth/dialogflow"
22309	//   ]
22310	// }
22311
22312}
22313
22314// method id "dialogflow.projects.locations.agents.environments.sessions.detectIntent":
22315
22316type ProjectsLocationsAgentsEnvironmentsSessionsDetectIntentCall struct {
22317	s                                            *Service
22318	sessionid                                    string
22319	googleclouddialogflowcxv3detectintentrequest *GoogleCloudDialogflowCxV3DetectIntentRequest
22320	urlParams_                                   gensupport.URLParams
22321	ctx_                                         context.Context
22322	header_                                      http.Header
22323}
22324
22325// DetectIntent: Processes a natural language query and returns
22326// structured, actionable data as a result. This method is not
22327// idempotent, because it may cause session entity types to be updated,
22328// which in turn might affect results of future queries. Note: Always
22329// use agent versions for production traffic. See Versions and
22330// environments
22331// (https://cloud.google.com/dialogflow/cx/docs/concept/version).
22332//
22333// - session: The name of the session this query is sent to. Format:
22334//   `projects//locations//agents//sessions/` or
22335//   `projects//locations//agents//environments//sessions/`. If
22336//   `Environment ID` is not specified, we assume default 'draft'
22337//   environment. It's up to the API caller to choose an appropriate
22338//   `Session ID`. It can be a random number or some type of session
22339//   identifiers (preferably hashed). The length of the `Session ID`
22340//   must not exceed 36 characters. For more information, see the
22341//   sessions guide
22342//   (https://cloud.google.com/dialogflow/cx/docs/concept/session).
22343//   Note: Always use agent versions for production traffic. See
22344//   Versions and environments
22345//   (https://cloud.google.com/dialogflow/cx/docs/concept/version).
22346func (r *ProjectsLocationsAgentsEnvironmentsSessionsService) DetectIntent(sessionid string, googleclouddialogflowcxv3detectintentrequest *GoogleCloudDialogflowCxV3DetectIntentRequest) *ProjectsLocationsAgentsEnvironmentsSessionsDetectIntentCall {
22347	c := &ProjectsLocationsAgentsEnvironmentsSessionsDetectIntentCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22348	c.sessionid = sessionid
22349	c.googleclouddialogflowcxv3detectintentrequest = googleclouddialogflowcxv3detectintentrequest
22350	return c
22351}
22352
22353// Fields allows partial responses to be retrieved. See
22354// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22355// for more information.
22356func (c *ProjectsLocationsAgentsEnvironmentsSessionsDetectIntentCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsEnvironmentsSessionsDetectIntentCall {
22357	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22358	return c
22359}
22360
22361// Context sets the context to be used in this call's Do method. Any
22362// pending HTTP request will be aborted if the provided context is
22363// canceled.
22364func (c *ProjectsLocationsAgentsEnvironmentsSessionsDetectIntentCall) Context(ctx context.Context) *ProjectsLocationsAgentsEnvironmentsSessionsDetectIntentCall {
22365	c.ctx_ = ctx
22366	return c
22367}
22368
22369// Header returns an http.Header that can be modified by the caller to
22370// add HTTP headers to the request.
22371func (c *ProjectsLocationsAgentsEnvironmentsSessionsDetectIntentCall) Header() http.Header {
22372	if c.header_ == nil {
22373		c.header_ = make(http.Header)
22374	}
22375	return c.header_
22376}
22377
22378func (c *ProjectsLocationsAgentsEnvironmentsSessionsDetectIntentCall) doRequest(alt string) (*http.Response, error) {
22379	reqHeaders := make(http.Header)
22380	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
22381	for k, v := range c.header_ {
22382		reqHeaders[k] = v
22383	}
22384	reqHeaders.Set("User-Agent", c.s.userAgent())
22385	var body io.Reader = nil
22386	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3detectintentrequest)
22387	if err != nil {
22388		return nil, err
22389	}
22390	reqHeaders.Set("Content-Type", "application/json")
22391	c.urlParams_.Set("alt", alt)
22392	c.urlParams_.Set("prettyPrint", "false")
22393	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+session}:detectIntent")
22394	urls += "?" + c.urlParams_.Encode()
22395	req, err := http.NewRequest("POST", urls, body)
22396	if err != nil {
22397		return nil, err
22398	}
22399	req.Header = reqHeaders
22400	googleapi.Expand(req.URL, map[string]string{
22401		"session": c.sessionid,
22402	})
22403	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22404}
22405
22406// Do executes the "dialogflow.projects.locations.agents.environments.sessions.detectIntent" call.
22407// Exactly one of *GoogleCloudDialogflowCxV3DetectIntentResponse or
22408// error will be non-nil. Any non-2xx status code is an error. Response
22409// headers are in either
22410// *GoogleCloudDialogflowCxV3DetectIntentResponse.ServerResponse.Header
22411// or (if a response was returned at all) in
22412// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
22413// whether the returned error was because http.StatusNotModified was
22414// returned.
22415func (c *ProjectsLocationsAgentsEnvironmentsSessionsDetectIntentCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3DetectIntentResponse, error) {
22416	gensupport.SetOptions(c.urlParams_, opts...)
22417	res, err := c.doRequest("json")
22418	if res != nil && res.StatusCode == http.StatusNotModified {
22419		if res.Body != nil {
22420			res.Body.Close()
22421		}
22422		return nil, &googleapi.Error{
22423			Code:   res.StatusCode,
22424			Header: res.Header,
22425		}
22426	}
22427	if err != nil {
22428		return nil, err
22429	}
22430	defer googleapi.CloseBody(res)
22431	if err := googleapi.CheckResponse(res); err != nil {
22432		return nil, err
22433	}
22434	ret := &GoogleCloudDialogflowCxV3DetectIntentResponse{
22435		ServerResponse: googleapi.ServerResponse{
22436			Header:         res.Header,
22437			HTTPStatusCode: res.StatusCode,
22438		},
22439	}
22440	target := &ret
22441	if err := gensupport.DecodeResponse(target, res); err != nil {
22442		return nil, err
22443	}
22444	return ret, nil
22445	// {
22446	//   "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).",
22447	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}/sessions/{sessionsId}:detectIntent",
22448	//   "httpMethod": "POST",
22449	//   "id": "dialogflow.projects.locations.agents.environments.sessions.detectIntent",
22450	//   "parameterOrder": [
22451	//     "session"
22452	//   ],
22453	//   "parameters": {
22454	//     "session": {
22455	//       "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).",
22456	//       "location": "path",
22457	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+/sessions/[^/]+$",
22458	//       "required": true,
22459	//       "type": "string"
22460	//     }
22461	//   },
22462	//   "path": "v3/{+session}:detectIntent",
22463	//   "request": {
22464	//     "$ref": "GoogleCloudDialogflowCxV3DetectIntentRequest"
22465	//   },
22466	//   "response": {
22467	//     "$ref": "GoogleCloudDialogflowCxV3DetectIntentResponse"
22468	//   },
22469	//   "scopes": [
22470	//     "https://www.googleapis.com/auth/cloud-platform",
22471	//     "https://www.googleapis.com/auth/dialogflow"
22472	//   ]
22473	// }
22474
22475}
22476
22477// method id "dialogflow.projects.locations.agents.environments.sessions.fulfillIntent":
22478
22479type ProjectsLocationsAgentsEnvironmentsSessionsFulfillIntentCall struct {
22480	s                                             *Service
22481	sessionid                                     string
22482	googleclouddialogflowcxv3fulfillintentrequest *GoogleCloudDialogflowCxV3FulfillIntentRequest
22483	urlParams_                                    gensupport.URLParams
22484	ctx_                                          context.Context
22485	header_                                       http.Header
22486}
22487
22488// FulfillIntent: Fulfills a matched intent returned by MatchIntent.
22489// Must be called after MatchIntent, with input from
22490// MatchIntentResponse. Otherwise, the behavior is undefined.
22491//
22492// - session: The name of the session this query is sent to. Format:
22493//   `projects//locations//agents//sessions/` or
22494//   `projects//locations//agents//environments//sessions/`. If
22495//   `Environment ID` is not specified, we assume default 'draft'
22496//   environment. It's up to the API caller to choose an appropriate
22497//   `Session ID`. It can be a random number or some type of session
22498//   identifiers (preferably hashed). The length of the `Session ID`
22499//   must not exceed 36 characters. For more information, see the
22500//   sessions guide
22501//   (https://cloud.google.com/dialogflow/cx/docs/concept/session).
22502func (r *ProjectsLocationsAgentsEnvironmentsSessionsService) FulfillIntent(sessionid string, googleclouddialogflowcxv3fulfillintentrequest *GoogleCloudDialogflowCxV3FulfillIntentRequest) *ProjectsLocationsAgentsEnvironmentsSessionsFulfillIntentCall {
22503	c := &ProjectsLocationsAgentsEnvironmentsSessionsFulfillIntentCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22504	c.sessionid = sessionid
22505	c.googleclouddialogflowcxv3fulfillintentrequest = googleclouddialogflowcxv3fulfillintentrequest
22506	return c
22507}
22508
22509// Fields allows partial responses to be retrieved. See
22510// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22511// for more information.
22512func (c *ProjectsLocationsAgentsEnvironmentsSessionsFulfillIntentCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsEnvironmentsSessionsFulfillIntentCall {
22513	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22514	return c
22515}
22516
22517// Context sets the context to be used in this call's Do method. Any
22518// pending HTTP request will be aborted if the provided context is
22519// canceled.
22520func (c *ProjectsLocationsAgentsEnvironmentsSessionsFulfillIntentCall) Context(ctx context.Context) *ProjectsLocationsAgentsEnvironmentsSessionsFulfillIntentCall {
22521	c.ctx_ = ctx
22522	return c
22523}
22524
22525// Header returns an http.Header that can be modified by the caller to
22526// add HTTP headers to the request.
22527func (c *ProjectsLocationsAgentsEnvironmentsSessionsFulfillIntentCall) Header() http.Header {
22528	if c.header_ == nil {
22529		c.header_ = make(http.Header)
22530	}
22531	return c.header_
22532}
22533
22534func (c *ProjectsLocationsAgentsEnvironmentsSessionsFulfillIntentCall) doRequest(alt string) (*http.Response, error) {
22535	reqHeaders := make(http.Header)
22536	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
22537	for k, v := range c.header_ {
22538		reqHeaders[k] = v
22539	}
22540	reqHeaders.Set("User-Agent", c.s.userAgent())
22541	var body io.Reader = nil
22542	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3fulfillintentrequest)
22543	if err != nil {
22544		return nil, err
22545	}
22546	reqHeaders.Set("Content-Type", "application/json")
22547	c.urlParams_.Set("alt", alt)
22548	c.urlParams_.Set("prettyPrint", "false")
22549	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+session}:fulfillIntent")
22550	urls += "?" + c.urlParams_.Encode()
22551	req, err := http.NewRequest("POST", urls, body)
22552	if err != nil {
22553		return nil, err
22554	}
22555	req.Header = reqHeaders
22556	googleapi.Expand(req.URL, map[string]string{
22557		"session": c.sessionid,
22558	})
22559	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22560}
22561
22562// Do executes the "dialogflow.projects.locations.agents.environments.sessions.fulfillIntent" call.
22563// Exactly one of *GoogleCloudDialogflowCxV3FulfillIntentResponse or
22564// error will be non-nil. Any non-2xx status code is an error. Response
22565// headers are in either
22566// *GoogleCloudDialogflowCxV3FulfillIntentResponse.ServerResponse.Header
22567// or (if a response was returned at all) in
22568// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
22569// whether the returned error was because http.StatusNotModified was
22570// returned.
22571func (c *ProjectsLocationsAgentsEnvironmentsSessionsFulfillIntentCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3FulfillIntentResponse, error) {
22572	gensupport.SetOptions(c.urlParams_, opts...)
22573	res, err := c.doRequest("json")
22574	if res != nil && res.StatusCode == http.StatusNotModified {
22575		if res.Body != nil {
22576			res.Body.Close()
22577		}
22578		return nil, &googleapi.Error{
22579			Code:   res.StatusCode,
22580			Header: res.Header,
22581		}
22582	}
22583	if err != nil {
22584		return nil, err
22585	}
22586	defer googleapi.CloseBody(res)
22587	if err := googleapi.CheckResponse(res); err != nil {
22588		return nil, err
22589	}
22590	ret := &GoogleCloudDialogflowCxV3FulfillIntentResponse{
22591		ServerResponse: googleapi.ServerResponse{
22592			Header:         res.Header,
22593			HTTPStatusCode: res.StatusCode,
22594		},
22595	}
22596	target := &ret
22597	if err := gensupport.DecodeResponse(target, res); err != nil {
22598		return nil, err
22599	}
22600	return ret, nil
22601	// {
22602	//   "description": "Fulfills a matched intent returned by MatchIntent. Must be called after MatchIntent, with input from MatchIntentResponse. Otherwise, the behavior is undefined.",
22603	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}/sessions/{sessionsId}:fulfillIntent",
22604	//   "httpMethod": "POST",
22605	//   "id": "dialogflow.projects.locations.agents.environments.sessions.fulfillIntent",
22606	//   "parameterOrder": [
22607	//     "session"
22608	//   ],
22609	//   "parameters": {
22610	//     "session": {
22611	//       "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).",
22612	//       "location": "path",
22613	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+/sessions/[^/]+$",
22614	//       "required": true,
22615	//       "type": "string"
22616	//     }
22617	//   },
22618	//   "path": "v3/{+session}:fulfillIntent",
22619	//   "request": {
22620	//     "$ref": "GoogleCloudDialogflowCxV3FulfillIntentRequest"
22621	//   },
22622	//   "response": {
22623	//     "$ref": "GoogleCloudDialogflowCxV3FulfillIntentResponse"
22624	//   },
22625	//   "scopes": [
22626	//     "https://www.googleapis.com/auth/cloud-platform",
22627	//     "https://www.googleapis.com/auth/dialogflow"
22628	//   ]
22629	// }
22630
22631}
22632
22633// method id "dialogflow.projects.locations.agents.environments.sessions.matchIntent":
22634
22635type ProjectsLocationsAgentsEnvironmentsSessionsMatchIntentCall struct {
22636	s                                           *Service
22637	sessionid                                   string
22638	googleclouddialogflowcxv3matchintentrequest *GoogleCloudDialogflowCxV3MatchIntentRequest
22639	urlParams_                                  gensupport.URLParams
22640	ctx_                                        context.Context
22641	header_                                     http.Header
22642}
22643
22644// MatchIntent: Returns preliminary intent match results, doesn't change
22645// the session status.
22646//
22647// - session: The name of the session this query is sent to. Format:
22648//   `projects//locations//agents//sessions/` or
22649//   `projects//locations//agents//environments//sessions/`. If
22650//   `Environment ID` is not specified, we assume default 'draft'
22651//   environment. It's up to the API caller to choose an appropriate
22652//   `Session ID`. It can be a random number or some type of session
22653//   identifiers (preferably hashed). The length of the `Session ID`
22654//   must not exceed 36 characters. For more information, see the
22655//   sessions guide
22656//   (https://cloud.google.com/dialogflow/cx/docs/concept/session).
22657func (r *ProjectsLocationsAgentsEnvironmentsSessionsService) MatchIntent(sessionid string, googleclouddialogflowcxv3matchintentrequest *GoogleCloudDialogflowCxV3MatchIntentRequest) *ProjectsLocationsAgentsEnvironmentsSessionsMatchIntentCall {
22658	c := &ProjectsLocationsAgentsEnvironmentsSessionsMatchIntentCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22659	c.sessionid = sessionid
22660	c.googleclouddialogflowcxv3matchintentrequest = googleclouddialogflowcxv3matchintentrequest
22661	return c
22662}
22663
22664// Fields allows partial responses to be retrieved. See
22665// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22666// for more information.
22667func (c *ProjectsLocationsAgentsEnvironmentsSessionsMatchIntentCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsEnvironmentsSessionsMatchIntentCall {
22668	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22669	return c
22670}
22671
22672// Context sets the context to be used in this call's Do method. Any
22673// pending HTTP request will be aborted if the provided context is
22674// canceled.
22675func (c *ProjectsLocationsAgentsEnvironmentsSessionsMatchIntentCall) Context(ctx context.Context) *ProjectsLocationsAgentsEnvironmentsSessionsMatchIntentCall {
22676	c.ctx_ = ctx
22677	return c
22678}
22679
22680// Header returns an http.Header that can be modified by the caller to
22681// add HTTP headers to the request.
22682func (c *ProjectsLocationsAgentsEnvironmentsSessionsMatchIntentCall) Header() http.Header {
22683	if c.header_ == nil {
22684		c.header_ = make(http.Header)
22685	}
22686	return c.header_
22687}
22688
22689func (c *ProjectsLocationsAgentsEnvironmentsSessionsMatchIntentCall) doRequest(alt string) (*http.Response, error) {
22690	reqHeaders := make(http.Header)
22691	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
22692	for k, v := range c.header_ {
22693		reqHeaders[k] = v
22694	}
22695	reqHeaders.Set("User-Agent", c.s.userAgent())
22696	var body io.Reader = nil
22697	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3matchintentrequest)
22698	if err != nil {
22699		return nil, err
22700	}
22701	reqHeaders.Set("Content-Type", "application/json")
22702	c.urlParams_.Set("alt", alt)
22703	c.urlParams_.Set("prettyPrint", "false")
22704	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+session}:matchIntent")
22705	urls += "?" + c.urlParams_.Encode()
22706	req, err := http.NewRequest("POST", urls, body)
22707	if err != nil {
22708		return nil, err
22709	}
22710	req.Header = reqHeaders
22711	googleapi.Expand(req.URL, map[string]string{
22712		"session": c.sessionid,
22713	})
22714	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22715}
22716
22717// Do executes the "dialogflow.projects.locations.agents.environments.sessions.matchIntent" call.
22718// Exactly one of *GoogleCloudDialogflowCxV3MatchIntentResponse or error
22719// will be non-nil. Any non-2xx status code is an error. Response
22720// headers are in either
22721// *GoogleCloudDialogflowCxV3MatchIntentResponse.ServerResponse.Header
22722// or (if a response was returned at all) in
22723// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
22724// whether the returned error was because http.StatusNotModified was
22725// returned.
22726func (c *ProjectsLocationsAgentsEnvironmentsSessionsMatchIntentCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3MatchIntentResponse, error) {
22727	gensupport.SetOptions(c.urlParams_, opts...)
22728	res, err := c.doRequest("json")
22729	if res != nil && res.StatusCode == http.StatusNotModified {
22730		if res.Body != nil {
22731			res.Body.Close()
22732		}
22733		return nil, &googleapi.Error{
22734			Code:   res.StatusCode,
22735			Header: res.Header,
22736		}
22737	}
22738	if err != nil {
22739		return nil, err
22740	}
22741	defer googleapi.CloseBody(res)
22742	if err := googleapi.CheckResponse(res); err != nil {
22743		return nil, err
22744	}
22745	ret := &GoogleCloudDialogflowCxV3MatchIntentResponse{
22746		ServerResponse: googleapi.ServerResponse{
22747			Header:         res.Header,
22748			HTTPStatusCode: res.StatusCode,
22749		},
22750	}
22751	target := &ret
22752	if err := gensupport.DecodeResponse(target, res); err != nil {
22753		return nil, err
22754	}
22755	return ret, nil
22756	// {
22757	//   "description": "Returns preliminary intent match results, doesn't change the session status.",
22758	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}/sessions/{sessionsId}:matchIntent",
22759	//   "httpMethod": "POST",
22760	//   "id": "dialogflow.projects.locations.agents.environments.sessions.matchIntent",
22761	//   "parameterOrder": [
22762	//     "session"
22763	//   ],
22764	//   "parameters": {
22765	//     "session": {
22766	//       "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).",
22767	//       "location": "path",
22768	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+/sessions/[^/]+$",
22769	//       "required": true,
22770	//       "type": "string"
22771	//     }
22772	//   },
22773	//   "path": "v3/{+session}:matchIntent",
22774	//   "request": {
22775	//     "$ref": "GoogleCloudDialogflowCxV3MatchIntentRequest"
22776	//   },
22777	//   "response": {
22778	//     "$ref": "GoogleCloudDialogflowCxV3MatchIntentResponse"
22779	//   },
22780	//   "scopes": [
22781	//     "https://www.googleapis.com/auth/cloud-platform",
22782	//     "https://www.googleapis.com/auth/dialogflow"
22783	//   ]
22784	// }
22785
22786}
22787
22788// method id "dialogflow.projects.locations.agents.environments.sessions.entityTypes.create":
22789
22790type ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesCreateCall struct {
22791	s                                          *Service
22792	parent                                     string
22793	googleclouddialogflowcxv3sessionentitytype *GoogleCloudDialogflowCxV3SessionEntityType
22794	urlParams_                                 gensupport.URLParams
22795	ctx_                                       context.Context
22796	header_                                    http.Header
22797}
22798
22799// Create: Creates a session entity type.
22800//
22801// - parent: The session to create a session entity type for. Format:
22802//   `projects//locations//agents//sessions/` or
22803//   `projects//locations//agents//environments//sessions/`. If
22804//   `Environment ID` is not specified, we assume default 'draft'
22805//   environment.
22806func (r *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesService) Create(parent string, googleclouddialogflowcxv3sessionentitytype *GoogleCloudDialogflowCxV3SessionEntityType) *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesCreateCall {
22807	c := &ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22808	c.parent = parent
22809	c.googleclouddialogflowcxv3sessionentitytype = googleclouddialogflowcxv3sessionentitytype
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 *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesCreateCall {
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 *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesCreateCall) Context(ctx context.Context) *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesCreateCall {
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 *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesCreateCall) Header() http.Header {
22832	if c.header_ == nil {
22833		c.header_ = make(http.Header)
22834	}
22835	return c.header_
22836}
22837
22838func (c *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesCreateCall) doRequest(alt string) (*http.Response, error) {
22839	reqHeaders := make(http.Header)
22840	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
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.googleclouddialogflowcxv3sessionentitytype)
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/{+parent}/entityTypes")
22854	urls += "?" + c.urlParams_.Encode()
22855	req, err := http.NewRequest("POST", urls, body)
22856	if err != nil {
22857		return nil, err
22858	}
22859	req.Header = reqHeaders
22860	googleapi.Expand(req.URL, map[string]string{
22861		"parent": c.parent,
22862	})
22863	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22864}
22865
22866// Do executes the "dialogflow.projects.locations.agents.environments.sessions.entityTypes.create" call.
22867// Exactly one of *GoogleCloudDialogflowCxV3SessionEntityType or error
22868// will be non-nil. Any non-2xx status code is an error. Response
22869// headers are in either
22870// *GoogleCloudDialogflowCxV3SessionEntityType.ServerResponse.Header or
22871// (if a response was returned at all) in
22872// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
22873// whether the returned error was because http.StatusNotModified was
22874// returned.
22875func (c *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3SessionEntityType, error) {
22876	gensupport.SetOptions(c.urlParams_, opts...)
22877	res, err := c.doRequest("json")
22878	if res != nil && res.StatusCode == http.StatusNotModified {
22879		if res.Body != nil {
22880			res.Body.Close()
22881		}
22882		return nil, &googleapi.Error{
22883			Code:   res.StatusCode,
22884			Header: res.Header,
22885		}
22886	}
22887	if err != nil {
22888		return nil, err
22889	}
22890	defer googleapi.CloseBody(res)
22891	if err := googleapi.CheckResponse(res); err != nil {
22892		return nil, err
22893	}
22894	ret := &GoogleCloudDialogflowCxV3SessionEntityType{
22895		ServerResponse: googleapi.ServerResponse{
22896			Header:         res.Header,
22897			HTTPStatusCode: res.StatusCode,
22898		},
22899	}
22900	target := &ret
22901	if err := gensupport.DecodeResponse(target, res); err != nil {
22902		return nil, err
22903	}
22904	return ret, nil
22905	// {
22906	//   "description": "Creates a session entity type.",
22907	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}/sessions/{sessionsId}/entityTypes",
22908	//   "httpMethod": "POST",
22909	//   "id": "dialogflow.projects.locations.agents.environments.sessions.entityTypes.create",
22910	//   "parameterOrder": [
22911	//     "parent"
22912	//   ],
22913	//   "parameters": {
22914	//     "parent": {
22915	//       "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.",
22916	//       "location": "path",
22917	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+/sessions/[^/]+$",
22918	//       "required": true,
22919	//       "type": "string"
22920	//     }
22921	//   },
22922	//   "path": "v3/{+parent}/entityTypes",
22923	//   "request": {
22924	//     "$ref": "GoogleCloudDialogflowCxV3SessionEntityType"
22925	//   },
22926	//   "response": {
22927	//     "$ref": "GoogleCloudDialogflowCxV3SessionEntityType"
22928	//   },
22929	//   "scopes": [
22930	//     "https://www.googleapis.com/auth/cloud-platform",
22931	//     "https://www.googleapis.com/auth/dialogflow"
22932	//   ]
22933	// }
22934
22935}
22936
22937// method id "dialogflow.projects.locations.agents.environments.sessions.entityTypes.delete":
22938
22939type ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesDeleteCall struct {
22940	s          *Service
22941	name       string
22942	urlParams_ gensupport.URLParams
22943	ctx_       context.Context
22944	header_    http.Header
22945}
22946
22947// Delete: Deletes the specified session entity type.
22948//
22949// - name: The name of the session entity type to delete. Format:
22950//   `projects//locations//agents//sessions//entityTypes/` or
22951//   `projects//locations//agents//environments//sessions//entityTypes/`.
22952//    If `Environment ID` is not specified, we assume default 'draft'
22953//   environment.
22954func (r *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesService) Delete(name string) *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesDeleteCall {
22955	c := &ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22956	c.name = name
22957	return c
22958}
22959
22960// Fields allows partial responses to be retrieved. See
22961// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22962// for more information.
22963func (c *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesDeleteCall {
22964	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22965	return c
22966}
22967
22968// Context sets the context to be used in this call's Do method. Any
22969// pending HTTP request will be aborted if the provided context is
22970// canceled.
22971func (c *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesDeleteCall) Context(ctx context.Context) *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesDeleteCall {
22972	c.ctx_ = ctx
22973	return c
22974}
22975
22976// Header returns an http.Header that can be modified by the caller to
22977// add HTTP headers to the request.
22978func (c *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesDeleteCall) Header() http.Header {
22979	if c.header_ == nil {
22980		c.header_ = make(http.Header)
22981	}
22982	return c.header_
22983}
22984
22985func (c *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesDeleteCall) doRequest(alt string) (*http.Response, error) {
22986	reqHeaders := make(http.Header)
22987	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
22988	for k, v := range c.header_ {
22989		reqHeaders[k] = v
22990	}
22991	reqHeaders.Set("User-Agent", c.s.userAgent())
22992	var body io.Reader = nil
22993	c.urlParams_.Set("alt", alt)
22994	c.urlParams_.Set("prettyPrint", "false")
22995	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
22996	urls += "?" + c.urlParams_.Encode()
22997	req, err := http.NewRequest("DELETE", urls, body)
22998	if err != nil {
22999		return nil, err
23000	}
23001	req.Header = reqHeaders
23002	googleapi.Expand(req.URL, map[string]string{
23003		"name": c.name,
23004	})
23005	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23006}
23007
23008// Do executes the "dialogflow.projects.locations.agents.environments.sessions.entityTypes.delete" call.
23009// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
23010// non-2xx status code is an error. Response headers are in either
23011// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
23012// returned at all) in error.(*googleapi.Error).Header. Use
23013// googleapi.IsNotModified to check whether the returned error was
23014// because http.StatusNotModified was returned.
23015func (c *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
23016	gensupport.SetOptions(c.urlParams_, opts...)
23017	res, err := c.doRequest("json")
23018	if res != nil && res.StatusCode == http.StatusNotModified {
23019		if res.Body != nil {
23020			res.Body.Close()
23021		}
23022		return nil, &googleapi.Error{
23023			Code:   res.StatusCode,
23024			Header: res.Header,
23025		}
23026	}
23027	if err != nil {
23028		return nil, err
23029	}
23030	defer googleapi.CloseBody(res)
23031	if err := googleapi.CheckResponse(res); err != nil {
23032		return nil, err
23033	}
23034	ret := &GoogleProtobufEmpty{
23035		ServerResponse: googleapi.ServerResponse{
23036			Header:         res.Header,
23037			HTTPStatusCode: res.StatusCode,
23038		},
23039	}
23040	target := &ret
23041	if err := gensupport.DecodeResponse(target, res); err != nil {
23042		return nil, err
23043	}
23044	return ret, nil
23045	// {
23046	//   "description": "Deletes the specified session entity type.",
23047	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}/sessions/{sessionsId}/entityTypes/{entityTypesId}",
23048	//   "httpMethod": "DELETE",
23049	//   "id": "dialogflow.projects.locations.agents.environments.sessions.entityTypes.delete",
23050	//   "parameterOrder": [
23051	//     "name"
23052	//   ],
23053	//   "parameters": {
23054	//     "name": {
23055	//       "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.",
23056	//       "location": "path",
23057	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+/sessions/[^/]+/entityTypes/[^/]+$",
23058	//       "required": true,
23059	//       "type": "string"
23060	//     }
23061	//   },
23062	//   "path": "v3/{+name}",
23063	//   "response": {
23064	//     "$ref": "GoogleProtobufEmpty"
23065	//   },
23066	//   "scopes": [
23067	//     "https://www.googleapis.com/auth/cloud-platform",
23068	//     "https://www.googleapis.com/auth/dialogflow"
23069	//   ]
23070	// }
23071
23072}
23073
23074// method id "dialogflow.projects.locations.agents.environments.sessions.entityTypes.get":
23075
23076type ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesGetCall struct {
23077	s            *Service
23078	name         string
23079	urlParams_   gensupport.URLParams
23080	ifNoneMatch_ string
23081	ctx_         context.Context
23082	header_      http.Header
23083}
23084
23085// Get: Retrieves the specified session entity type.
23086//
23087// - name: The name of the session entity type. Format:
23088//   `projects//locations//agents//sessions//entityTypes/` or
23089//   `projects//locations//agents//environments//sessions//entityTypes/`.
23090//    If `Environment ID` is not specified, we assume default 'draft'
23091//   environment.
23092func (r *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesService) Get(name string) *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesGetCall {
23093	c := &ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23094	c.name = name
23095	return c
23096}
23097
23098// Fields allows partial responses to be retrieved. See
23099// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23100// for more information.
23101func (c *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesGetCall {
23102	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23103	return c
23104}
23105
23106// IfNoneMatch sets the optional parameter which makes the operation
23107// fail if the object's ETag matches the given value. This is useful for
23108// getting updates only after the object has changed since the last
23109// request. Use googleapi.IsNotModified to check whether the response
23110// error from Do is the result of In-None-Match.
23111func (c *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesGetCall {
23112	c.ifNoneMatch_ = entityTag
23113	return c
23114}
23115
23116// Context sets the context to be used in this call's Do method. Any
23117// pending HTTP request will be aborted if the provided context is
23118// canceled.
23119func (c *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesGetCall) Context(ctx context.Context) *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesGetCall {
23120	c.ctx_ = ctx
23121	return c
23122}
23123
23124// Header returns an http.Header that can be modified by the caller to
23125// add HTTP headers to the request.
23126func (c *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesGetCall) Header() http.Header {
23127	if c.header_ == nil {
23128		c.header_ = make(http.Header)
23129	}
23130	return c.header_
23131}
23132
23133func (c *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesGetCall) doRequest(alt string) (*http.Response, error) {
23134	reqHeaders := make(http.Header)
23135	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
23136	for k, v := range c.header_ {
23137		reqHeaders[k] = v
23138	}
23139	reqHeaders.Set("User-Agent", c.s.userAgent())
23140	if c.ifNoneMatch_ != "" {
23141		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
23142	}
23143	var body io.Reader = nil
23144	c.urlParams_.Set("alt", alt)
23145	c.urlParams_.Set("prettyPrint", "false")
23146	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
23147	urls += "?" + c.urlParams_.Encode()
23148	req, err := http.NewRequest("GET", urls, body)
23149	if err != nil {
23150		return nil, err
23151	}
23152	req.Header = reqHeaders
23153	googleapi.Expand(req.URL, map[string]string{
23154		"name": c.name,
23155	})
23156	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23157}
23158
23159// Do executes the "dialogflow.projects.locations.agents.environments.sessions.entityTypes.get" call.
23160// Exactly one of *GoogleCloudDialogflowCxV3SessionEntityType or error
23161// will be non-nil. Any non-2xx status code is an error. Response
23162// headers are in either
23163// *GoogleCloudDialogflowCxV3SessionEntityType.ServerResponse.Header or
23164// (if a response was returned at all) in
23165// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
23166// whether the returned error was because http.StatusNotModified was
23167// returned.
23168func (c *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3SessionEntityType, error) {
23169	gensupport.SetOptions(c.urlParams_, opts...)
23170	res, err := c.doRequest("json")
23171	if res != nil && res.StatusCode == http.StatusNotModified {
23172		if res.Body != nil {
23173			res.Body.Close()
23174		}
23175		return nil, &googleapi.Error{
23176			Code:   res.StatusCode,
23177			Header: res.Header,
23178		}
23179	}
23180	if err != nil {
23181		return nil, err
23182	}
23183	defer googleapi.CloseBody(res)
23184	if err := googleapi.CheckResponse(res); err != nil {
23185		return nil, err
23186	}
23187	ret := &GoogleCloudDialogflowCxV3SessionEntityType{
23188		ServerResponse: googleapi.ServerResponse{
23189			Header:         res.Header,
23190			HTTPStatusCode: res.StatusCode,
23191		},
23192	}
23193	target := &ret
23194	if err := gensupport.DecodeResponse(target, res); err != nil {
23195		return nil, err
23196	}
23197	return ret, nil
23198	// {
23199	//   "description": "Retrieves the specified session entity type.",
23200	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}/sessions/{sessionsId}/entityTypes/{entityTypesId}",
23201	//   "httpMethod": "GET",
23202	//   "id": "dialogflow.projects.locations.agents.environments.sessions.entityTypes.get",
23203	//   "parameterOrder": [
23204	//     "name"
23205	//   ],
23206	//   "parameters": {
23207	//     "name": {
23208	//       "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.",
23209	//       "location": "path",
23210	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+/sessions/[^/]+/entityTypes/[^/]+$",
23211	//       "required": true,
23212	//       "type": "string"
23213	//     }
23214	//   },
23215	//   "path": "v3/{+name}",
23216	//   "response": {
23217	//     "$ref": "GoogleCloudDialogflowCxV3SessionEntityType"
23218	//   },
23219	//   "scopes": [
23220	//     "https://www.googleapis.com/auth/cloud-platform",
23221	//     "https://www.googleapis.com/auth/dialogflow"
23222	//   ]
23223	// }
23224
23225}
23226
23227// method id "dialogflow.projects.locations.agents.environments.sessions.entityTypes.list":
23228
23229type ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesListCall struct {
23230	s            *Service
23231	parent       string
23232	urlParams_   gensupport.URLParams
23233	ifNoneMatch_ string
23234	ctx_         context.Context
23235	header_      http.Header
23236}
23237
23238// List: Returns the list of all session entity types in the specified
23239// session.
23240//
23241// - parent: The session to list all session entity types from. Format:
23242//   `projects//locations//agents//sessions/` or
23243//   `projects//locations//agents//environments//sessions/`. If
23244//   `Environment ID` is not specified, we assume default 'draft'
23245//   environment.
23246func (r *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesService) List(parent string) *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesListCall {
23247	c := &ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23248	c.parent = parent
23249	return c
23250}
23251
23252// PageSize sets the optional parameter "pageSize": The maximum number
23253// of items to return in a single page. By default 100 and at most 1000.
23254func (c *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesListCall) PageSize(pageSize int64) *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesListCall {
23255	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
23256	return c
23257}
23258
23259// PageToken sets the optional parameter "pageToken": The
23260// next_page_token value returned from a previous list request.
23261func (c *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesListCall) PageToken(pageToken string) *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesListCall {
23262	c.urlParams_.Set("pageToken", pageToken)
23263	return c
23264}
23265
23266// Fields allows partial responses to be retrieved. See
23267// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23268// for more information.
23269func (c *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesListCall {
23270	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23271	return c
23272}
23273
23274// IfNoneMatch sets the optional parameter which makes the operation
23275// fail if the object's ETag matches the given value. This is useful for
23276// getting updates only after the object has changed since the last
23277// request. Use googleapi.IsNotModified to check whether the response
23278// error from Do is the result of In-None-Match.
23279func (c *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesListCall {
23280	c.ifNoneMatch_ = entityTag
23281	return c
23282}
23283
23284// Context sets the context to be used in this call's Do method. Any
23285// pending HTTP request will be aborted if the provided context is
23286// canceled.
23287func (c *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesListCall) Context(ctx context.Context) *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesListCall {
23288	c.ctx_ = ctx
23289	return c
23290}
23291
23292// Header returns an http.Header that can be modified by the caller to
23293// add HTTP headers to the request.
23294func (c *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesListCall) Header() http.Header {
23295	if c.header_ == nil {
23296		c.header_ = make(http.Header)
23297	}
23298	return c.header_
23299}
23300
23301func (c *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesListCall) doRequest(alt string) (*http.Response, error) {
23302	reqHeaders := make(http.Header)
23303	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
23304	for k, v := range c.header_ {
23305		reqHeaders[k] = v
23306	}
23307	reqHeaders.Set("User-Agent", c.s.userAgent())
23308	if c.ifNoneMatch_ != "" {
23309		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
23310	}
23311	var body io.Reader = nil
23312	c.urlParams_.Set("alt", alt)
23313	c.urlParams_.Set("prettyPrint", "false")
23314	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/entityTypes")
23315	urls += "?" + c.urlParams_.Encode()
23316	req, err := http.NewRequest("GET", urls, body)
23317	if err != nil {
23318		return nil, err
23319	}
23320	req.Header = reqHeaders
23321	googleapi.Expand(req.URL, map[string]string{
23322		"parent": c.parent,
23323	})
23324	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23325}
23326
23327// Do executes the "dialogflow.projects.locations.agents.environments.sessions.entityTypes.list" call.
23328// Exactly one of
23329// *GoogleCloudDialogflowCxV3ListSessionEntityTypesResponse or error
23330// will be non-nil. Any non-2xx status code is an error. Response
23331// headers are in either
23332// *GoogleCloudDialogflowCxV3ListSessionEntityTypesResponse.ServerRespons
23333// e.Header or (if a response was returned at all) in
23334// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
23335// whether the returned error was because http.StatusNotModified was
23336// returned.
23337func (c *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3ListSessionEntityTypesResponse, error) {
23338	gensupport.SetOptions(c.urlParams_, opts...)
23339	res, err := c.doRequest("json")
23340	if res != nil && res.StatusCode == http.StatusNotModified {
23341		if res.Body != nil {
23342			res.Body.Close()
23343		}
23344		return nil, &googleapi.Error{
23345			Code:   res.StatusCode,
23346			Header: res.Header,
23347		}
23348	}
23349	if err != nil {
23350		return nil, err
23351	}
23352	defer googleapi.CloseBody(res)
23353	if err := googleapi.CheckResponse(res); err != nil {
23354		return nil, err
23355	}
23356	ret := &GoogleCloudDialogflowCxV3ListSessionEntityTypesResponse{
23357		ServerResponse: googleapi.ServerResponse{
23358			Header:         res.Header,
23359			HTTPStatusCode: res.StatusCode,
23360		},
23361	}
23362	target := &ret
23363	if err := gensupport.DecodeResponse(target, res); err != nil {
23364		return nil, err
23365	}
23366	return ret, nil
23367	// {
23368	//   "description": "Returns the list of all session entity types in the specified session.",
23369	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}/sessions/{sessionsId}/entityTypes",
23370	//   "httpMethod": "GET",
23371	//   "id": "dialogflow.projects.locations.agents.environments.sessions.entityTypes.list",
23372	//   "parameterOrder": [
23373	//     "parent"
23374	//   ],
23375	//   "parameters": {
23376	//     "pageSize": {
23377	//       "description": "The maximum number of items to return in a single page. By default 100 and at most 1000.",
23378	//       "format": "int32",
23379	//       "location": "query",
23380	//       "type": "integer"
23381	//     },
23382	//     "pageToken": {
23383	//       "description": "The next_page_token value returned from a previous list request.",
23384	//       "location": "query",
23385	//       "type": "string"
23386	//     },
23387	//     "parent": {
23388	//       "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.",
23389	//       "location": "path",
23390	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+/sessions/[^/]+$",
23391	//       "required": true,
23392	//       "type": "string"
23393	//     }
23394	//   },
23395	//   "path": "v3/{+parent}/entityTypes",
23396	//   "response": {
23397	//     "$ref": "GoogleCloudDialogflowCxV3ListSessionEntityTypesResponse"
23398	//   },
23399	//   "scopes": [
23400	//     "https://www.googleapis.com/auth/cloud-platform",
23401	//     "https://www.googleapis.com/auth/dialogflow"
23402	//   ]
23403	// }
23404
23405}
23406
23407// Pages invokes f for each page of results.
23408// A non-nil error returned from f will halt the iteration.
23409// The provided context supersedes any context provided to the Context method.
23410func (c *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesListCall) Pages(ctx context.Context, f func(*GoogleCloudDialogflowCxV3ListSessionEntityTypesResponse) error) error {
23411	c.ctx_ = ctx
23412	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
23413	for {
23414		x, err := c.Do()
23415		if err != nil {
23416			return err
23417		}
23418		if err := f(x); err != nil {
23419			return err
23420		}
23421		if x.NextPageToken == "" {
23422			return nil
23423		}
23424		c.PageToken(x.NextPageToken)
23425	}
23426}
23427
23428// method id "dialogflow.projects.locations.agents.environments.sessions.entityTypes.patch":
23429
23430type ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesPatchCall struct {
23431	s                                          *Service
23432	nameid                                     string
23433	googleclouddialogflowcxv3sessionentitytype *GoogleCloudDialogflowCxV3SessionEntityType
23434	urlParams_                                 gensupport.URLParams
23435	ctx_                                       context.Context
23436	header_                                    http.Header
23437}
23438
23439// Patch: Updates the specified session entity type.
23440//
23441// - name: The unique identifier of the session entity type. Format:
23442//   `projects//locations//agents//sessions//entityTypes/` or
23443//   `projects//locations//agents//environments//sessions//entityTypes/`.
23444//    If `Environment ID` is not specified, we assume default 'draft'
23445//   environment.
23446func (r *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesService) Patch(nameid string, googleclouddialogflowcxv3sessionentitytype *GoogleCloudDialogflowCxV3SessionEntityType) *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesPatchCall {
23447	c := &ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23448	c.nameid = nameid
23449	c.googleclouddialogflowcxv3sessionentitytype = googleclouddialogflowcxv3sessionentitytype
23450	return c
23451}
23452
23453// UpdateMask sets the optional parameter "updateMask": The mask to
23454// control which fields get updated.
23455func (c *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesPatchCall {
23456	c.urlParams_.Set("updateMask", updateMask)
23457	return c
23458}
23459
23460// Fields allows partial responses to be retrieved. See
23461// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23462// for more information.
23463func (c *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesPatchCall {
23464	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23465	return c
23466}
23467
23468// Context sets the context to be used in this call's Do method. Any
23469// pending HTTP request will be aborted if the provided context is
23470// canceled.
23471func (c *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesPatchCall) Context(ctx context.Context) *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesPatchCall {
23472	c.ctx_ = ctx
23473	return c
23474}
23475
23476// Header returns an http.Header that can be modified by the caller to
23477// add HTTP headers to the request.
23478func (c *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesPatchCall) Header() http.Header {
23479	if c.header_ == nil {
23480		c.header_ = make(http.Header)
23481	}
23482	return c.header_
23483}
23484
23485func (c *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesPatchCall) doRequest(alt string) (*http.Response, error) {
23486	reqHeaders := make(http.Header)
23487	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
23488	for k, v := range c.header_ {
23489		reqHeaders[k] = v
23490	}
23491	reqHeaders.Set("User-Agent", c.s.userAgent())
23492	var body io.Reader = nil
23493	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3sessionentitytype)
23494	if err != nil {
23495		return nil, err
23496	}
23497	reqHeaders.Set("Content-Type", "application/json")
23498	c.urlParams_.Set("alt", alt)
23499	c.urlParams_.Set("prettyPrint", "false")
23500	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
23501	urls += "?" + c.urlParams_.Encode()
23502	req, err := http.NewRequest("PATCH", urls, body)
23503	if err != nil {
23504		return nil, err
23505	}
23506	req.Header = reqHeaders
23507	googleapi.Expand(req.URL, map[string]string{
23508		"name": c.nameid,
23509	})
23510	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23511}
23512
23513// Do executes the "dialogflow.projects.locations.agents.environments.sessions.entityTypes.patch" call.
23514// Exactly one of *GoogleCloudDialogflowCxV3SessionEntityType or error
23515// will be non-nil. Any non-2xx status code is an error. Response
23516// headers are in either
23517// *GoogleCloudDialogflowCxV3SessionEntityType.ServerResponse.Header or
23518// (if a response was returned at all) in
23519// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
23520// whether the returned error was because http.StatusNotModified was
23521// returned.
23522func (c *ProjectsLocationsAgentsEnvironmentsSessionsEntityTypesPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3SessionEntityType, error) {
23523	gensupport.SetOptions(c.urlParams_, opts...)
23524	res, err := c.doRequest("json")
23525	if res != nil && res.StatusCode == http.StatusNotModified {
23526		if res.Body != nil {
23527			res.Body.Close()
23528		}
23529		return nil, &googleapi.Error{
23530			Code:   res.StatusCode,
23531			Header: res.Header,
23532		}
23533	}
23534	if err != nil {
23535		return nil, err
23536	}
23537	defer googleapi.CloseBody(res)
23538	if err := googleapi.CheckResponse(res); err != nil {
23539		return nil, err
23540	}
23541	ret := &GoogleCloudDialogflowCxV3SessionEntityType{
23542		ServerResponse: googleapi.ServerResponse{
23543			Header:         res.Header,
23544			HTTPStatusCode: res.StatusCode,
23545		},
23546	}
23547	target := &ret
23548	if err := gensupport.DecodeResponse(target, res); err != nil {
23549		return nil, err
23550	}
23551	return ret, nil
23552	// {
23553	//   "description": "Updates the specified session entity type.",
23554	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}/sessions/{sessionsId}/entityTypes/{entityTypesId}",
23555	//   "httpMethod": "PATCH",
23556	//   "id": "dialogflow.projects.locations.agents.environments.sessions.entityTypes.patch",
23557	//   "parameterOrder": [
23558	//     "name"
23559	//   ],
23560	//   "parameters": {
23561	//     "name": {
23562	//       "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.",
23563	//       "location": "path",
23564	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/environments/[^/]+/sessions/[^/]+/entityTypes/[^/]+$",
23565	//       "required": true,
23566	//       "type": "string"
23567	//     },
23568	//     "updateMask": {
23569	//       "description": "The mask to control which fields get updated.",
23570	//       "format": "google-fieldmask",
23571	//       "location": "query",
23572	//       "type": "string"
23573	//     }
23574	//   },
23575	//   "path": "v3/{+name}",
23576	//   "request": {
23577	//     "$ref": "GoogleCloudDialogflowCxV3SessionEntityType"
23578	//   },
23579	//   "response": {
23580	//     "$ref": "GoogleCloudDialogflowCxV3SessionEntityType"
23581	//   },
23582	//   "scopes": [
23583	//     "https://www.googleapis.com/auth/cloud-platform",
23584	//     "https://www.googleapis.com/auth/dialogflow"
23585	//   ]
23586	// }
23587
23588}
23589
23590// method id "dialogflow.projects.locations.agents.flows.create":
23591
23592type ProjectsLocationsAgentsFlowsCreateCall struct {
23593	s                             *Service
23594	parent                        string
23595	googleclouddialogflowcxv3flow *GoogleCloudDialogflowCxV3Flow
23596	urlParams_                    gensupport.URLParams
23597	ctx_                          context.Context
23598	header_                       http.Header
23599}
23600
23601// Create: Creates a flow in the specified agent. Note: You should
23602// always train a flow prior to sending it queries. See the training
23603// documentation
23604// (https://cloud.google.com/dialogflow/cx/docs/concept/training).
23605//
23606// - parent: The agent to create a flow for. Format:
23607//   `projects//locations//agents/`.
23608func (r *ProjectsLocationsAgentsFlowsService) Create(parent string, googleclouddialogflowcxv3flow *GoogleCloudDialogflowCxV3Flow) *ProjectsLocationsAgentsFlowsCreateCall {
23609	c := &ProjectsLocationsAgentsFlowsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23610	c.parent = parent
23611	c.googleclouddialogflowcxv3flow = googleclouddialogflowcxv3flow
23612	return c
23613}
23614
23615// LanguageCode sets the optional parameter "languageCode": The language
23616// of the following fields in `flow`: *
23617// `Flow.event_handlers.trigger_fulfillment.messages` *
23618// `Flow.event_handlers.trigger_fulfillment.conditional_cases` *
23619// `Flow.transition_routes.trigger_fulfillment.messages` *
23620// `Flow.transition_routes.trigger_fulfillment.conditional_cases` If not
23621// specified, the agent's default language is used. Many languages
23622// (https://cloud.google.com/dialogflow/cx/docs/reference/language) are
23623// supported. Note: languages must be enabled in the agent before they
23624// can be used.
23625func (c *ProjectsLocationsAgentsFlowsCreateCall) LanguageCode(languageCode string) *ProjectsLocationsAgentsFlowsCreateCall {
23626	c.urlParams_.Set("languageCode", languageCode)
23627	return c
23628}
23629
23630// Fields allows partial responses to be retrieved. See
23631// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23632// for more information.
23633func (c *ProjectsLocationsAgentsFlowsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsFlowsCreateCall {
23634	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23635	return c
23636}
23637
23638// Context sets the context to be used in this call's Do method. Any
23639// pending HTTP request will be aborted if the provided context is
23640// canceled.
23641func (c *ProjectsLocationsAgentsFlowsCreateCall) Context(ctx context.Context) *ProjectsLocationsAgentsFlowsCreateCall {
23642	c.ctx_ = ctx
23643	return c
23644}
23645
23646// Header returns an http.Header that can be modified by the caller to
23647// add HTTP headers to the request.
23648func (c *ProjectsLocationsAgentsFlowsCreateCall) Header() http.Header {
23649	if c.header_ == nil {
23650		c.header_ = make(http.Header)
23651	}
23652	return c.header_
23653}
23654
23655func (c *ProjectsLocationsAgentsFlowsCreateCall) doRequest(alt string) (*http.Response, error) {
23656	reqHeaders := make(http.Header)
23657	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
23658	for k, v := range c.header_ {
23659		reqHeaders[k] = v
23660	}
23661	reqHeaders.Set("User-Agent", c.s.userAgent())
23662	var body io.Reader = nil
23663	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3flow)
23664	if err != nil {
23665		return nil, err
23666	}
23667	reqHeaders.Set("Content-Type", "application/json")
23668	c.urlParams_.Set("alt", alt)
23669	c.urlParams_.Set("prettyPrint", "false")
23670	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/flows")
23671	urls += "?" + c.urlParams_.Encode()
23672	req, err := http.NewRequest("POST", urls, body)
23673	if err != nil {
23674		return nil, err
23675	}
23676	req.Header = reqHeaders
23677	googleapi.Expand(req.URL, map[string]string{
23678		"parent": c.parent,
23679	})
23680	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23681}
23682
23683// Do executes the "dialogflow.projects.locations.agents.flows.create" call.
23684// Exactly one of *GoogleCloudDialogflowCxV3Flow or error will be
23685// non-nil. Any non-2xx status code is an error. Response headers are in
23686// either *GoogleCloudDialogflowCxV3Flow.ServerResponse.Header or (if a
23687// response was returned at all) in error.(*googleapi.Error).Header. Use
23688// googleapi.IsNotModified to check whether the returned error was
23689// because http.StatusNotModified was returned.
23690func (c *ProjectsLocationsAgentsFlowsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3Flow, error) {
23691	gensupport.SetOptions(c.urlParams_, opts...)
23692	res, err := c.doRequest("json")
23693	if res != nil && res.StatusCode == http.StatusNotModified {
23694		if res.Body != nil {
23695			res.Body.Close()
23696		}
23697		return nil, &googleapi.Error{
23698			Code:   res.StatusCode,
23699			Header: res.Header,
23700		}
23701	}
23702	if err != nil {
23703		return nil, err
23704	}
23705	defer googleapi.CloseBody(res)
23706	if err := googleapi.CheckResponse(res); err != nil {
23707		return nil, err
23708	}
23709	ret := &GoogleCloudDialogflowCxV3Flow{
23710		ServerResponse: googleapi.ServerResponse{
23711			Header:         res.Header,
23712			HTTPStatusCode: res.StatusCode,
23713		},
23714	}
23715	target := &ret
23716	if err := gensupport.DecodeResponse(target, res); err != nil {
23717		return nil, err
23718	}
23719	return ret, nil
23720	// {
23721	//   "description": "Creates a flow in the specified agent. Note: You should always train a flow prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training).",
23722	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows",
23723	//   "httpMethod": "POST",
23724	//   "id": "dialogflow.projects.locations.agents.flows.create",
23725	//   "parameterOrder": [
23726	//     "parent"
23727	//   ],
23728	//   "parameters": {
23729	//     "languageCode": {
23730	//       "description": "The language of the following fields in `flow`: * `Flow.event_handlers.trigger_fulfillment.messages` * `Flow.event_handlers.trigger_fulfillment.conditional_cases` * `Flow.transition_routes.trigger_fulfillment.messages` * `Flow.transition_routes.trigger_fulfillment.conditional_cases` 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.",
23731	//       "location": "query",
23732	//       "type": "string"
23733	//     },
23734	//     "parent": {
23735	//       "description": "Required. The agent to create a flow for. Format: `projects//locations//agents/`.",
23736	//       "location": "path",
23737	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$",
23738	//       "required": true,
23739	//       "type": "string"
23740	//     }
23741	//   },
23742	//   "path": "v3/{+parent}/flows",
23743	//   "request": {
23744	//     "$ref": "GoogleCloudDialogflowCxV3Flow"
23745	//   },
23746	//   "response": {
23747	//     "$ref": "GoogleCloudDialogflowCxV3Flow"
23748	//   },
23749	//   "scopes": [
23750	//     "https://www.googleapis.com/auth/cloud-platform",
23751	//     "https://www.googleapis.com/auth/dialogflow"
23752	//   ]
23753	// }
23754
23755}
23756
23757// method id "dialogflow.projects.locations.agents.flows.delete":
23758
23759type ProjectsLocationsAgentsFlowsDeleteCall struct {
23760	s          *Service
23761	name       string
23762	urlParams_ gensupport.URLParams
23763	ctx_       context.Context
23764	header_    http.Header
23765}
23766
23767// Delete: Deletes a specified flow.
23768//
23769// - name: The name of the flow to delete. Format:
23770//   `projects//locations//agents//flows/`.
23771func (r *ProjectsLocationsAgentsFlowsService) Delete(name string) *ProjectsLocationsAgentsFlowsDeleteCall {
23772	c := &ProjectsLocationsAgentsFlowsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23773	c.name = name
23774	return c
23775}
23776
23777// Force sets the optional parameter "force": This field has no effect
23778// for flows with no incoming transitions. For flows with incoming
23779// transitions: * If `force` is set to false, an error will be returned
23780// with message indicating the incoming transitions. * If `force` is set
23781// to true, Dialogflow will remove the flow, as well as any transitions
23782// to the flow (i.e. Target flow in event handlers or Target flow in
23783// transition routes that point to this flow will be cleared).
23784func (c *ProjectsLocationsAgentsFlowsDeleteCall) Force(force bool) *ProjectsLocationsAgentsFlowsDeleteCall {
23785	c.urlParams_.Set("force", fmt.Sprint(force))
23786	return c
23787}
23788
23789// Fields allows partial responses to be retrieved. See
23790// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23791// for more information.
23792func (c *ProjectsLocationsAgentsFlowsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsFlowsDeleteCall {
23793	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23794	return c
23795}
23796
23797// Context sets the context to be used in this call's Do method. Any
23798// pending HTTP request will be aborted if the provided context is
23799// canceled.
23800func (c *ProjectsLocationsAgentsFlowsDeleteCall) Context(ctx context.Context) *ProjectsLocationsAgentsFlowsDeleteCall {
23801	c.ctx_ = ctx
23802	return c
23803}
23804
23805// Header returns an http.Header that can be modified by the caller to
23806// add HTTP headers to the request.
23807func (c *ProjectsLocationsAgentsFlowsDeleteCall) Header() http.Header {
23808	if c.header_ == nil {
23809		c.header_ = make(http.Header)
23810	}
23811	return c.header_
23812}
23813
23814func (c *ProjectsLocationsAgentsFlowsDeleteCall) doRequest(alt string) (*http.Response, error) {
23815	reqHeaders := make(http.Header)
23816	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
23817	for k, v := range c.header_ {
23818		reqHeaders[k] = v
23819	}
23820	reqHeaders.Set("User-Agent", c.s.userAgent())
23821	var body io.Reader = nil
23822	c.urlParams_.Set("alt", alt)
23823	c.urlParams_.Set("prettyPrint", "false")
23824	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
23825	urls += "?" + c.urlParams_.Encode()
23826	req, err := http.NewRequest("DELETE", urls, body)
23827	if err != nil {
23828		return nil, err
23829	}
23830	req.Header = reqHeaders
23831	googleapi.Expand(req.URL, map[string]string{
23832		"name": c.name,
23833	})
23834	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23835}
23836
23837// Do executes the "dialogflow.projects.locations.agents.flows.delete" call.
23838// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
23839// non-2xx status code is an error. Response headers are in either
23840// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
23841// returned at all) in error.(*googleapi.Error).Header. Use
23842// googleapi.IsNotModified to check whether the returned error was
23843// because http.StatusNotModified was returned.
23844func (c *ProjectsLocationsAgentsFlowsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
23845	gensupport.SetOptions(c.urlParams_, opts...)
23846	res, err := c.doRequest("json")
23847	if res != nil && res.StatusCode == http.StatusNotModified {
23848		if res.Body != nil {
23849			res.Body.Close()
23850		}
23851		return nil, &googleapi.Error{
23852			Code:   res.StatusCode,
23853			Header: res.Header,
23854		}
23855	}
23856	if err != nil {
23857		return nil, err
23858	}
23859	defer googleapi.CloseBody(res)
23860	if err := googleapi.CheckResponse(res); err != nil {
23861		return nil, err
23862	}
23863	ret := &GoogleProtobufEmpty{
23864		ServerResponse: googleapi.ServerResponse{
23865			Header:         res.Header,
23866			HTTPStatusCode: res.StatusCode,
23867		},
23868	}
23869	target := &ret
23870	if err := gensupport.DecodeResponse(target, res); err != nil {
23871		return nil, err
23872	}
23873	return ret, nil
23874	// {
23875	//   "description": "Deletes a specified flow.",
23876	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}",
23877	//   "httpMethod": "DELETE",
23878	//   "id": "dialogflow.projects.locations.agents.flows.delete",
23879	//   "parameterOrder": [
23880	//     "name"
23881	//   ],
23882	//   "parameters": {
23883	//     "force": {
23884	//       "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).",
23885	//       "location": "query",
23886	//       "type": "boolean"
23887	//     },
23888	//     "name": {
23889	//       "description": "Required. The name of the flow to delete. Format: `projects//locations//agents//flows/`.",
23890	//       "location": "path",
23891	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+$",
23892	//       "required": true,
23893	//       "type": "string"
23894	//     }
23895	//   },
23896	//   "path": "v3/{+name}",
23897	//   "response": {
23898	//     "$ref": "GoogleProtobufEmpty"
23899	//   },
23900	//   "scopes": [
23901	//     "https://www.googleapis.com/auth/cloud-platform",
23902	//     "https://www.googleapis.com/auth/dialogflow"
23903	//   ]
23904	// }
23905
23906}
23907
23908// method id "dialogflow.projects.locations.agents.flows.export":
23909
23910type ProjectsLocationsAgentsFlowsExportCall struct {
23911	s                                          *Service
23912	name                                       string
23913	googleclouddialogflowcxv3exportflowrequest *GoogleCloudDialogflowCxV3ExportFlowRequest
23914	urlParams_                                 gensupport.URLParams
23915	ctx_                                       context.Context
23916	header_                                    http.Header
23917}
23918
23919// Export: Exports the specified flow to a binary file. Note that
23920// resources (e.g. intents, entities, webhooks) that the flow references
23921// will also be exported.
23922//
23923// - name: The name of the flow to export. Format:
23924//   `projects//locations//agents//flows/`.
23925func (r *ProjectsLocationsAgentsFlowsService) Export(name string, googleclouddialogflowcxv3exportflowrequest *GoogleCloudDialogflowCxV3ExportFlowRequest) *ProjectsLocationsAgentsFlowsExportCall {
23926	c := &ProjectsLocationsAgentsFlowsExportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23927	c.name = name
23928	c.googleclouddialogflowcxv3exportflowrequest = googleclouddialogflowcxv3exportflowrequest
23929	return c
23930}
23931
23932// Fields allows partial responses to be retrieved. See
23933// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23934// for more information.
23935func (c *ProjectsLocationsAgentsFlowsExportCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsFlowsExportCall {
23936	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23937	return c
23938}
23939
23940// Context sets the context to be used in this call's Do method. Any
23941// pending HTTP request will be aborted if the provided context is
23942// canceled.
23943func (c *ProjectsLocationsAgentsFlowsExportCall) Context(ctx context.Context) *ProjectsLocationsAgentsFlowsExportCall {
23944	c.ctx_ = ctx
23945	return c
23946}
23947
23948// Header returns an http.Header that can be modified by the caller to
23949// add HTTP headers to the request.
23950func (c *ProjectsLocationsAgentsFlowsExportCall) Header() http.Header {
23951	if c.header_ == nil {
23952		c.header_ = make(http.Header)
23953	}
23954	return c.header_
23955}
23956
23957func (c *ProjectsLocationsAgentsFlowsExportCall) doRequest(alt string) (*http.Response, error) {
23958	reqHeaders := make(http.Header)
23959	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
23960	for k, v := range c.header_ {
23961		reqHeaders[k] = v
23962	}
23963	reqHeaders.Set("User-Agent", c.s.userAgent())
23964	var body io.Reader = nil
23965	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3exportflowrequest)
23966	if err != nil {
23967		return nil, err
23968	}
23969	reqHeaders.Set("Content-Type", "application/json")
23970	c.urlParams_.Set("alt", alt)
23971	c.urlParams_.Set("prettyPrint", "false")
23972	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}:export")
23973	urls += "?" + c.urlParams_.Encode()
23974	req, err := http.NewRequest("POST", urls, body)
23975	if err != nil {
23976		return nil, err
23977	}
23978	req.Header = reqHeaders
23979	googleapi.Expand(req.URL, map[string]string{
23980		"name": c.name,
23981	})
23982	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23983}
23984
23985// Do executes the "dialogflow.projects.locations.agents.flows.export" call.
23986// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
23987// Any non-2xx status code is an error. Response headers are in either
23988// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
23989// was returned at all) in error.(*googleapi.Error).Header. Use
23990// googleapi.IsNotModified to check whether the returned error was
23991// because http.StatusNotModified was returned.
23992func (c *ProjectsLocationsAgentsFlowsExportCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
23993	gensupport.SetOptions(c.urlParams_, opts...)
23994	res, err := c.doRequest("json")
23995	if res != nil && res.StatusCode == http.StatusNotModified {
23996		if res.Body != nil {
23997			res.Body.Close()
23998		}
23999		return nil, &googleapi.Error{
24000			Code:   res.StatusCode,
24001			Header: res.Header,
24002		}
24003	}
24004	if err != nil {
24005		return nil, err
24006	}
24007	defer googleapi.CloseBody(res)
24008	if err := googleapi.CheckResponse(res); err != nil {
24009		return nil, err
24010	}
24011	ret := &GoogleLongrunningOperation{
24012		ServerResponse: googleapi.ServerResponse{
24013			Header:         res.Header,
24014			HTTPStatusCode: res.StatusCode,
24015		},
24016	}
24017	target := &ret
24018	if err := gensupport.DecodeResponse(target, res); err != nil {
24019		return nil, err
24020	}
24021	return ret, nil
24022	// {
24023	//   "description": "Exports the specified flow to a binary file. Note that resources (e.g. intents, entities, webhooks) that the flow references will also be exported.",
24024	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}:export",
24025	//   "httpMethod": "POST",
24026	//   "id": "dialogflow.projects.locations.agents.flows.export",
24027	//   "parameterOrder": [
24028	//     "name"
24029	//   ],
24030	//   "parameters": {
24031	//     "name": {
24032	//       "description": "Required. The name of the flow to export. Format: `projects//locations//agents//flows/`.",
24033	//       "location": "path",
24034	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+$",
24035	//       "required": true,
24036	//       "type": "string"
24037	//     }
24038	//   },
24039	//   "path": "v3/{+name}:export",
24040	//   "request": {
24041	//     "$ref": "GoogleCloudDialogflowCxV3ExportFlowRequest"
24042	//   },
24043	//   "response": {
24044	//     "$ref": "GoogleLongrunningOperation"
24045	//   },
24046	//   "scopes": [
24047	//     "https://www.googleapis.com/auth/cloud-platform",
24048	//     "https://www.googleapis.com/auth/dialogflow"
24049	//   ]
24050	// }
24051
24052}
24053
24054// method id "dialogflow.projects.locations.agents.flows.get":
24055
24056type ProjectsLocationsAgentsFlowsGetCall struct {
24057	s            *Service
24058	name         string
24059	urlParams_   gensupport.URLParams
24060	ifNoneMatch_ string
24061	ctx_         context.Context
24062	header_      http.Header
24063}
24064
24065// Get: Retrieves the specified flow.
24066//
24067// - name: The name of the flow to get. Format:
24068//   `projects//locations//agents//flows/`.
24069func (r *ProjectsLocationsAgentsFlowsService) Get(name string) *ProjectsLocationsAgentsFlowsGetCall {
24070	c := &ProjectsLocationsAgentsFlowsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24071	c.name = name
24072	return c
24073}
24074
24075// LanguageCode sets the optional parameter "languageCode": The language
24076// to retrieve the flow for. The following fields are language
24077// dependent: * `Flow.event_handlers.trigger_fulfillment.messages` *
24078// `Flow.event_handlers.trigger_fulfillment.conditional_cases` *
24079// `Flow.transition_routes.trigger_fulfillment.messages` *
24080// `Flow.transition_routes.trigger_fulfillment.conditional_cases` If not
24081// specified, the agent's default language is used. Many languages
24082// (https://cloud.google.com/dialogflow/cx/docs/reference/language) are
24083// supported. Note: languages must be enabled in the agent before they
24084// can be used.
24085func (c *ProjectsLocationsAgentsFlowsGetCall) LanguageCode(languageCode string) *ProjectsLocationsAgentsFlowsGetCall {
24086	c.urlParams_.Set("languageCode", languageCode)
24087	return c
24088}
24089
24090// Fields allows partial responses to be retrieved. See
24091// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24092// for more information.
24093func (c *ProjectsLocationsAgentsFlowsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsFlowsGetCall {
24094	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24095	return c
24096}
24097
24098// IfNoneMatch sets the optional parameter which makes the operation
24099// fail if the object's ETag matches the given value. This is useful for
24100// getting updates only after the object has changed since the last
24101// request. Use googleapi.IsNotModified to check whether the response
24102// error from Do is the result of In-None-Match.
24103func (c *ProjectsLocationsAgentsFlowsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsFlowsGetCall {
24104	c.ifNoneMatch_ = entityTag
24105	return c
24106}
24107
24108// Context sets the context to be used in this call's Do method. Any
24109// pending HTTP request will be aborted if the provided context is
24110// canceled.
24111func (c *ProjectsLocationsAgentsFlowsGetCall) Context(ctx context.Context) *ProjectsLocationsAgentsFlowsGetCall {
24112	c.ctx_ = ctx
24113	return c
24114}
24115
24116// Header returns an http.Header that can be modified by the caller to
24117// add HTTP headers to the request.
24118func (c *ProjectsLocationsAgentsFlowsGetCall) Header() http.Header {
24119	if c.header_ == nil {
24120		c.header_ = make(http.Header)
24121	}
24122	return c.header_
24123}
24124
24125func (c *ProjectsLocationsAgentsFlowsGetCall) doRequest(alt string) (*http.Response, error) {
24126	reqHeaders := make(http.Header)
24127	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
24128	for k, v := range c.header_ {
24129		reqHeaders[k] = v
24130	}
24131	reqHeaders.Set("User-Agent", c.s.userAgent())
24132	if c.ifNoneMatch_ != "" {
24133		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
24134	}
24135	var body io.Reader = nil
24136	c.urlParams_.Set("alt", alt)
24137	c.urlParams_.Set("prettyPrint", "false")
24138	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
24139	urls += "?" + c.urlParams_.Encode()
24140	req, err := http.NewRequest("GET", urls, body)
24141	if err != nil {
24142		return nil, err
24143	}
24144	req.Header = reqHeaders
24145	googleapi.Expand(req.URL, map[string]string{
24146		"name": c.name,
24147	})
24148	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24149}
24150
24151// Do executes the "dialogflow.projects.locations.agents.flows.get" call.
24152// Exactly one of *GoogleCloudDialogflowCxV3Flow or error will be
24153// non-nil. Any non-2xx status code is an error. Response headers are in
24154// either *GoogleCloudDialogflowCxV3Flow.ServerResponse.Header or (if a
24155// response was returned at all) in error.(*googleapi.Error).Header. Use
24156// googleapi.IsNotModified to check whether the returned error was
24157// because http.StatusNotModified was returned.
24158func (c *ProjectsLocationsAgentsFlowsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3Flow, error) {
24159	gensupport.SetOptions(c.urlParams_, opts...)
24160	res, err := c.doRequest("json")
24161	if res != nil && res.StatusCode == http.StatusNotModified {
24162		if res.Body != nil {
24163			res.Body.Close()
24164		}
24165		return nil, &googleapi.Error{
24166			Code:   res.StatusCode,
24167			Header: res.Header,
24168		}
24169	}
24170	if err != nil {
24171		return nil, err
24172	}
24173	defer googleapi.CloseBody(res)
24174	if err := googleapi.CheckResponse(res); err != nil {
24175		return nil, err
24176	}
24177	ret := &GoogleCloudDialogflowCxV3Flow{
24178		ServerResponse: googleapi.ServerResponse{
24179			Header:         res.Header,
24180			HTTPStatusCode: res.StatusCode,
24181		},
24182	}
24183	target := &ret
24184	if err := gensupport.DecodeResponse(target, res); err != nil {
24185		return nil, err
24186	}
24187	return ret, nil
24188	// {
24189	//   "description": "Retrieves the specified flow.",
24190	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}",
24191	//   "httpMethod": "GET",
24192	//   "id": "dialogflow.projects.locations.agents.flows.get",
24193	//   "parameterOrder": [
24194	//     "name"
24195	//   ],
24196	//   "parameters": {
24197	//     "languageCode": {
24198	//       "description": "The language to retrieve the flow for. The following fields are language dependent: * `Flow.event_handlers.trigger_fulfillment.messages` * `Flow.event_handlers.trigger_fulfillment.conditional_cases` * `Flow.transition_routes.trigger_fulfillment.messages` * `Flow.transition_routes.trigger_fulfillment.conditional_cases` 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.",
24199	//       "location": "query",
24200	//       "type": "string"
24201	//     },
24202	//     "name": {
24203	//       "description": "Required. The name of the flow to get. Format: `projects//locations//agents//flows/`.",
24204	//       "location": "path",
24205	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+$",
24206	//       "required": true,
24207	//       "type": "string"
24208	//     }
24209	//   },
24210	//   "path": "v3/{+name}",
24211	//   "response": {
24212	//     "$ref": "GoogleCloudDialogflowCxV3Flow"
24213	//   },
24214	//   "scopes": [
24215	//     "https://www.googleapis.com/auth/cloud-platform",
24216	//     "https://www.googleapis.com/auth/dialogflow"
24217	//   ]
24218	// }
24219
24220}
24221
24222// method id "dialogflow.projects.locations.agents.flows.getValidationResult":
24223
24224type ProjectsLocationsAgentsFlowsGetValidationResultCall struct {
24225	s            *Service
24226	name         string
24227	urlParams_   gensupport.URLParams
24228	ifNoneMatch_ string
24229	ctx_         context.Context
24230	header_      http.Header
24231}
24232
24233// GetValidationResult: Gets the latest flow validation result. Flow
24234// validation is performed when ValidateFlow is called.
24235//
24236// - name: The flow name. Format:
24237//   `projects//locations//agents//flows//validationResult`.
24238func (r *ProjectsLocationsAgentsFlowsService) GetValidationResult(name string) *ProjectsLocationsAgentsFlowsGetValidationResultCall {
24239	c := &ProjectsLocationsAgentsFlowsGetValidationResultCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24240	c.name = name
24241	return c
24242}
24243
24244// LanguageCode sets the optional parameter "languageCode": If not
24245// specified, the agent's default language is used.
24246func (c *ProjectsLocationsAgentsFlowsGetValidationResultCall) LanguageCode(languageCode string) *ProjectsLocationsAgentsFlowsGetValidationResultCall {
24247	c.urlParams_.Set("languageCode", languageCode)
24248	return c
24249}
24250
24251// Fields allows partial responses to be retrieved. See
24252// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24253// for more information.
24254func (c *ProjectsLocationsAgentsFlowsGetValidationResultCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsFlowsGetValidationResultCall {
24255	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24256	return c
24257}
24258
24259// IfNoneMatch sets the optional parameter which makes the operation
24260// fail if the object's ETag matches the given value. This is useful for
24261// getting updates only after the object has changed since the last
24262// request. Use googleapi.IsNotModified to check whether the response
24263// error from Do is the result of In-None-Match.
24264func (c *ProjectsLocationsAgentsFlowsGetValidationResultCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsFlowsGetValidationResultCall {
24265	c.ifNoneMatch_ = entityTag
24266	return c
24267}
24268
24269// Context sets the context to be used in this call's Do method. Any
24270// pending HTTP request will be aborted if the provided context is
24271// canceled.
24272func (c *ProjectsLocationsAgentsFlowsGetValidationResultCall) Context(ctx context.Context) *ProjectsLocationsAgentsFlowsGetValidationResultCall {
24273	c.ctx_ = ctx
24274	return c
24275}
24276
24277// Header returns an http.Header that can be modified by the caller to
24278// add HTTP headers to the request.
24279func (c *ProjectsLocationsAgentsFlowsGetValidationResultCall) Header() http.Header {
24280	if c.header_ == nil {
24281		c.header_ = make(http.Header)
24282	}
24283	return c.header_
24284}
24285
24286func (c *ProjectsLocationsAgentsFlowsGetValidationResultCall) doRequest(alt string) (*http.Response, error) {
24287	reqHeaders := make(http.Header)
24288	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
24289	for k, v := range c.header_ {
24290		reqHeaders[k] = v
24291	}
24292	reqHeaders.Set("User-Agent", c.s.userAgent())
24293	if c.ifNoneMatch_ != "" {
24294		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
24295	}
24296	var body io.Reader = nil
24297	c.urlParams_.Set("alt", alt)
24298	c.urlParams_.Set("prettyPrint", "false")
24299	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
24300	urls += "?" + c.urlParams_.Encode()
24301	req, err := http.NewRequest("GET", urls, body)
24302	if err != nil {
24303		return nil, err
24304	}
24305	req.Header = reqHeaders
24306	googleapi.Expand(req.URL, map[string]string{
24307		"name": c.name,
24308	})
24309	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24310}
24311
24312// Do executes the "dialogflow.projects.locations.agents.flows.getValidationResult" call.
24313// Exactly one of *GoogleCloudDialogflowCxV3FlowValidationResult or
24314// error will be non-nil. Any non-2xx status code is an error. Response
24315// headers are in either
24316// *GoogleCloudDialogflowCxV3FlowValidationResult.ServerResponse.Header
24317// or (if a response was returned at all) in
24318// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
24319// whether the returned error was because http.StatusNotModified was
24320// returned.
24321func (c *ProjectsLocationsAgentsFlowsGetValidationResultCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3FlowValidationResult, error) {
24322	gensupport.SetOptions(c.urlParams_, opts...)
24323	res, err := c.doRequest("json")
24324	if res != nil && res.StatusCode == http.StatusNotModified {
24325		if res.Body != nil {
24326			res.Body.Close()
24327		}
24328		return nil, &googleapi.Error{
24329			Code:   res.StatusCode,
24330			Header: res.Header,
24331		}
24332	}
24333	if err != nil {
24334		return nil, err
24335	}
24336	defer googleapi.CloseBody(res)
24337	if err := googleapi.CheckResponse(res); err != nil {
24338		return nil, err
24339	}
24340	ret := &GoogleCloudDialogflowCxV3FlowValidationResult{
24341		ServerResponse: googleapi.ServerResponse{
24342			Header:         res.Header,
24343			HTTPStatusCode: res.StatusCode,
24344		},
24345	}
24346	target := &ret
24347	if err := gensupport.DecodeResponse(target, res); err != nil {
24348		return nil, err
24349	}
24350	return ret, nil
24351	// {
24352	//   "description": "Gets the latest flow validation result. Flow validation is performed when ValidateFlow is called.",
24353	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}/validationResult",
24354	//   "httpMethod": "GET",
24355	//   "id": "dialogflow.projects.locations.agents.flows.getValidationResult",
24356	//   "parameterOrder": [
24357	//     "name"
24358	//   ],
24359	//   "parameters": {
24360	//     "languageCode": {
24361	//       "description": "If not specified, the agent's default language is used.",
24362	//       "location": "query",
24363	//       "type": "string"
24364	//     },
24365	//     "name": {
24366	//       "description": "Required. The flow name. Format: `projects//locations//agents//flows//validationResult`.",
24367	//       "location": "path",
24368	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+/validationResult$",
24369	//       "required": true,
24370	//       "type": "string"
24371	//     }
24372	//   },
24373	//   "path": "v3/{+name}",
24374	//   "response": {
24375	//     "$ref": "GoogleCloudDialogflowCxV3FlowValidationResult"
24376	//   },
24377	//   "scopes": [
24378	//     "https://www.googleapis.com/auth/cloud-platform",
24379	//     "https://www.googleapis.com/auth/dialogflow"
24380	//   ]
24381	// }
24382
24383}
24384
24385// method id "dialogflow.projects.locations.agents.flows.import":
24386
24387type ProjectsLocationsAgentsFlowsImportCall struct {
24388	s                                          *Service
24389	parent                                     string
24390	googleclouddialogflowcxv3importflowrequest *GoogleCloudDialogflowCxV3ImportFlowRequest
24391	urlParams_                                 gensupport.URLParams
24392	ctx_                                       context.Context
24393	header_                                    http.Header
24394}
24395
24396// Import: Imports the specified flow to the specified agent from a
24397// binary file. Note: You should always train a flow prior to sending it
24398// queries. See the training documentation
24399// (https://cloud.google.com/dialogflow/cx/docs/concept/training).
24400//
24401// - parent: The agent to import the flow into. Format:
24402//   `projects//locations//agents/`.
24403func (r *ProjectsLocationsAgentsFlowsService) Import(parent string, googleclouddialogflowcxv3importflowrequest *GoogleCloudDialogflowCxV3ImportFlowRequest) *ProjectsLocationsAgentsFlowsImportCall {
24404	c := &ProjectsLocationsAgentsFlowsImportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24405	c.parent = parent
24406	c.googleclouddialogflowcxv3importflowrequest = googleclouddialogflowcxv3importflowrequest
24407	return c
24408}
24409
24410// Fields allows partial responses to be retrieved. See
24411// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24412// for more information.
24413func (c *ProjectsLocationsAgentsFlowsImportCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsFlowsImportCall {
24414	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24415	return c
24416}
24417
24418// Context sets the context to be used in this call's Do method. Any
24419// pending HTTP request will be aborted if the provided context is
24420// canceled.
24421func (c *ProjectsLocationsAgentsFlowsImportCall) Context(ctx context.Context) *ProjectsLocationsAgentsFlowsImportCall {
24422	c.ctx_ = ctx
24423	return c
24424}
24425
24426// Header returns an http.Header that can be modified by the caller to
24427// add HTTP headers to the request.
24428func (c *ProjectsLocationsAgentsFlowsImportCall) Header() http.Header {
24429	if c.header_ == nil {
24430		c.header_ = make(http.Header)
24431	}
24432	return c.header_
24433}
24434
24435func (c *ProjectsLocationsAgentsFlowsImportCall) doRequest(alt string) (*http.Response, error) {
24436	reqHeaders := make(http.Header)
24437	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
24438	for k, v := range c.header_ {
24439		reqHeaders[k] = v
24440	}
24441	reqHeaders.Set("User-Agent", c.s.userAgent())
24442	var body io.Reader = nil
24443	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3importflowrequest)
24444	if err != nil {
24445		return nil, err
24446	}
24447	reqHeaders.Set("Content-Type", "application/json")
24448	c.urlParams_.Set("alt", alt)
24449	c.urlParams_.Set("prettyPrint", "false")
24450	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/flows:import")
24451	urls += "?" + c.urlParams_.Encode()
24452	req, err := http.NewRequest("POST", urls, body)
24453	if err != nil {
24454		return nil, err
24455	}
24456	req.Header = reqHeaders
24457	googleapi.Expand(req.URL, map[string]string{
24458		"parent": c.parent,
24459	})
24460	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24461}
24462
24463// Do executes the "dialogflow.projects.locations.agents.flows.import" call.
24464// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
24465// Any non-2xx status code is an error. Response headers are in either
24466// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
24467// was returned at all) in error.(*googleapi.Error).Header. Use
24468// googleapi.IsNotModified to check whether the returned error was
24469// because http.StatusNotModified was returned.
24470func (c *ProjectsLocationsAgentsFlowsImportCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
24471	gensupport.SetOptions(c.urlParams_, opts...)
24472	res, err := c.doRequest("json")
24473	if res != nil && res.StatusCode == http.StatusNotModified {
24474		if res.Body != nil {
24475			res.Body.Close()
24476		}
24477		return nil, &googleapi.Error{
24478			Code:   res.StatusCode,
24479			Header: res.Header,
24480		}
24481	}
24482	if err != nil {
24483		return nil, err
24484	}
24485	defer googleapi.CloseBody(res)
24486	if err := googleapi.CheckResponse(res); err != nil {
24487		return nil, err
24488	}
24489	ret := &GoogleLongrunningOperation{
24490		ServerResponse: googleapi.ServerResponse{
24491			Header:         res.Header,
24492			HTTPStatusCode: res.StatusCode,
24493		},
24494	}
24495	target := &ret
24496	if err := gensupport.DecodeResponse(target, res); err != nil {
24497		return nil, err
24498	}
24499	return ret, nil
24500	// {
24501	//   "description": "Imports the specified flow to the specified agent from a binary file. Note: You should always train a flow prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training).",
24502	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows:import",
24503	//   "httpMethod": "POST",
24504	//   "id": "dialogflow.projects.locations.agents.flows.import",
24505	//   "parameterOrder": [
24506	//     "parent"
24507	//   ],
24508	//   "parameters": {
24509	//     "parent": {
24510	//       "description": "Required. The agent to import the flow into. Format: `projects//locations//agents/`.",
24511	//       "location": "path",
24512	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$",
24513	//       "required": true,
24514	//       "type": "string"
24515	//     }
24516	//   },
24517	//   "path": "v3/{+parent}/flows:import",
24518	//   "request": {
24519	//     "$ref": "GoogleCloudDialogflowCxV3ImportFlowRequest"
24520	//   },
24521	//   "response": {
24522	//     "$ref": "GoogleLongrunningOperation"
24523	//   },
24524	//   "scopes": [
24525	//     "https://www.googleapis.com/auth/cloud-platform",
24526	//     "https://www.googleapis.com/auth/dialogflow"
24527	//   ]
24528	// }
24529
24530}
24531
24532// method id "dialogflow.projects.locations.agents.flows.list":
24533
24534type ProjectsLocationsAgentsFlowsListCall struct {
24535	s            *Service
24536	parent       string
24537	urlParams_   gensupport.URLParams
24538	ifNoneMatch_ string
24539	ctx_         context.Context
24540	header_      http.Header
24541}
24542
24543// List: Returns the list of all flows in the specified agent.
24544//
24545// - parent: The agent containing the flows. Format:
24546//   `projects//locations//agents/`.
24547func (r *ProjectsLocationsAgentsFlowsService) List(parent string) *ProjectsLocationsAgentsFlowsListCall {
24548	c := &ProjectsLocationsAgentsFlowsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24549	c.parent = parent
24550	return c
24551}
24552
24553// LanguageCode sets the optional parameter "languageCode": The language
24554// to list flows for. The following fields are language dependent: *
24555// `Flow.event_handlers.trigger_fulfillment.messages` *
24556// `Flow.event_handlers.trigger_fulfillment.conditional_cases` *
24557// `Flow.transition_routes.trigger_fulfillment.messages` *
24558// `Flow.transition_routes.trigger_fulfillment.conditional_cases` If not
24559// specified, the agent's default language is used. Many languages
24560// (https://cloud.google.com/dialogflow/cx/docs/reference/language) are
24561// supported. Note: languages must be enabled in the agent before they
24562// can be used.
24563func (c *ProjectsLocationsAgentsFlowsListCall) LanguageCode(languageCode string) *ProjectsLocationsAgentsFlowsListCall {
24564	c.urlParams_.Set("languageCode", languageCode)
24565	return c
24566}
24567
24568// PageSize sets the optional parameter "pageSize": The maximum number
24569// of items to return in a single page. By default 100 and at most 1000.
24570func (c *ProjectsLocationsAgentsFlowsListCall) PageSize(pageSize int64) *ProjectsLocationsAgentsFlowsListCall {
24571	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
24572	return c
24573}
24574
24575// PageToken sets the optional parameter "pageToken": The
24576// next_page_token value returned from a previous list request.
24577func (c *ProjectsLocationsAgentsFlowsListCall) PageToken(pageToken string) *ProjectsLocationsAgentsFlowsListCall {
24578	c.urlParams_.Set("pageToken", pageToken)
24579	return c
24580}
24581
24582// Fields allows partial responses to be retrieved. See
24583// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24584// for more information.
24585func (c *ProjectsLocationsAgentsFlowsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsFlowsListCall {
24586	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24587	return c
24588}
24589
24590// IfNoneMatch sets the optional parameter which makes the operation
24591// fail if the object's ETag matches the given value. This is useful for
24592// getting updates only after the object has changed since the last
24593// request. Use googleapi.IsNotModified to check whether the response
24594// error from Do is the result of In-None-Match.
24595func (c *ProjectsLocationsAgentsFlowsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsFlowsListCall {
24596	c.ifNoneMatch_ = entityTag
24597	return c
24598}
24599
24600// Context sets the context to be used in this call's Do method. Any
24601// pending HTTP request will be aborted if the provided context is
24602// canceled.
24603func (c *ProjectsLocationsAgentsFlowsListCall) Context(ctx context.Context) *ProjectsLocationsAgentsFlowsListCall {
24604	c.ctx_ = ctx
24605	return c
24606}
24607
24608// Header returns an http.Header that can be modified by the caller to
24609// add HTTP headers to the request.
24610func (c *ProjectsLocationsAgentsFlowsListCall) Header() http.Header {
24611	if c.header_ == nil {
24612		c.header_ = make(http.Header)
24613	}
24614	return c.header_
24615}
24616
24617func (c *ProjectsLocationsAgentsFlowsListCall) doRequest(alt string) (*http.Response, error) {
24618	reqHeaders := make(http.Header)
24619	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
24620	for k, v := range c.header_ {
24621		reqHeaders[k] = v
24622	}
24623	reqHeaders.Set("User-Agent", c.s.userAgent())
24624	if c.ifNoneMatch_ != "" {
24625		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
24626	}
24627	var body io.Reader = nil
24628	c.urlParams_.Set("alt", alt)
24629	c.urlParams_.Set("prettyPrint", "false")
24630	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/flows")
24631	urls += "?" + c.urlParams_.Encode()
24632	req, err := http.NewRequest("GET", urls, body)
24633	if err != nil {
24634		return nil, err
24635	}
24636	req.Header = reqHeaders
24637	googleapi.Expand(req.URL, map[string]string{
24638		"parent": c.parent,
24639	})
24640	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24641}
24642
24643// Do executes the "dialogflow.projects.locations.agents.flows.list" call.
24644// Exactly one of *GoogleCloudDialogflowCxV3ListFlowsResponse or error
24645// will be non-nil. Any non-2xx status code is an error. Response
24646// headers are in either
24647// *GoogleCloudDialogflowCxV3ListFlowsResponse.ServerResponse.Header or
24648// (if a response was returned at all) in
24649// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
24650// whether the returned error was because http.StatusNotModified was
24651// returned.
24652func (c *ProjectsLocationsAgentsFlowsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3ListFlowsResponse, error) {
24653	gensupport.SetOptions(c.urlParams_, opts...)
24654	res, err := c.doRequest("json")
24655	if res != nil && res.StatusCode == http.StatusNotModified {
24656		if res.Body != nil {
24657			res.Body.Close()
24658		}
24659		return nil, &googleapi.Error{
24660			Code:   res.StatusCode,
24661			Header: res.Header,
24662		}
24663	}
24664	if err != nil {
24665		return nil, err
24666	}
24667	defer googleapi.CloseBody(res)
24668	if err := googleapi.CheckResponse(res); err != nil {
24669		return nil, err
24670	}
24671	ret := &GoogleCloudDialogflowCxV3ListFlowsResponse{
24672		ServerResponse: googleapi.ServerResponse{
24673			Header:         res.Header,
24674			HTTPStatusCode: res.StatusCode,
24675		},
24676	}
24677	target := &ret
24678	if err := gensupport.DecodeResponse(target, res); err != nil {
24679		return nil, err
24680	}
24681	return ret, nil
24682	// {
24683	//   "description": "Returns the list of all flows in the specified agent.",
24684	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows",
24685	//   "httpMethod": "GET",
24686	//   "id": "dialogflow.projects.locations.agents.flows.list",
24687	//   "parameterOrder": [
24688	//     "parent"
24689	//   ],
24690	//   "parameters": {
24691	//     "languageCode": {
24692	//       "description": "The language to list flows for. The following fields are language dependent: * `Flow.event_handlers.trigger_fulfillment.messages` * `Flow.event_handlers.trigger_fulfillment.conditional_cases` * `Flow.transition_routes.trigger_fulfillment.messages` * `Flow.transition_routes.trigger_fulfillment.conditional_cases` 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.",
24693	//       "location": "query",
24694	//       "type": "string"
24695	//     },
24696	//     "pageSize": {
24697	//       "description": "The maximum number of items to return in a single page. By default 100 and at most 1000.",
24698	//       "format": "int32",
24699	//       "location": "query",
24700	//       "type": "integer"
24701	//     },
24702	//     "pageToken": {
24703	//       "description": "The next_page_token value returned from a previous list request.",
24704	//       "location": "query",
24705	//       "type": "string"
24706	//     },
24707	//     "parent": {
24708	//       "description": "Required. The agent containing the flows. Format: `projects//locations//agents/`.",
24709	//       "location": "path",
24710	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$",
24711	//       "required": true,
24712	//       "type": "string"
24713	//     }
24714	//   },
24715	//   "path": "v3/{+parent}/flows",
24716	//   "response": {
24717	//     "$ref": "GoogleCloudDialogflowCxV3ListFlowsResponse"
24718	//   },
24719	//   "scopes": [
24720	//     "https://www.googleapis.com/auth/cloud-platform",
24721	//     "https://www.googleapis.com/auth/dialogflow"
24722	//   ]
24723	// }
24724
24725}
24726
24727// Pages invokes f for each page of results.
24728// A non-nil error returned from f will halt the iteration.
24729// The provided context supersedes any context provided to the Context method.
24730func (c *ProjectsLocationsAgentsFlowsListCall) Pages(ctx context.Context, f func(*GoogleCloudDialogflowCxV3ListFlowsResponse) error) error {
24731	c.ctx_ = ctx
24732	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
24733	for {
24734		x, err := c.Do()
24735		if err != nil {
24736			return err
24737		}
24738		if err := f(x); err != nil {
24739			return err
24740		}
24741		if x.NextPageToken == "" {
24742			return nil
24743		}
24744		c.PageToken(x.NextPageToken)
24745	}
24746}
24747
24748// method id "dialogflow.projects.locations.agents.flows.patch":
24749
24750type ProjectsLocationsAgentsFlowsPatchCall struct {
24751	s                             *Service
24752	nameid                        string
24753	googleclouddialogflowcxv3flow *GoogleCloudDialogflowCxV3Flow
24754	urlParams_                    gensupport.URLParams
24755	ctx_                          context.Context
24756	header_                       http.Header
24757}
24758
24759// Patch: Updates the specified flow. Note: You should always train a
24760// flow prior to sending it queries. See the training documentation
24761// (https://cloud.google.com/dialogflow/cx/docs/concept/training).
24762//
24763// - name: The unique identifier of the flow. Format:
24764//   `projects//locations//agents//flows/`.
24765func (r *ProjectsLocationsAgentsFlowsService) Patch(nameid string, googleclouddialogflowcxv3flow *GoogleCloudDialogflowCxV3Flow) *ProjectsLocationsAgentsFlowsPatchCall {
24766	c := &ProjectsLocationsAgentsFlowsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24767	c.nameid = nameid
24768	c.googleclouddialogflowcxv3flow = googleclouddialogflowcxv3flow
24769	return c
24770}
24771
24772// LanguageCode sets the optional parameter "languageCode": The language
24773// of the following fields in `flow`: *
24774// `Flow.event_handlers.trigger_fulfillment.messages` *
24775// `Flow.event_handlers.trigger_fulfillment.conditional_cases` *
24776// `Flow.transition_routes.trigger_fulfillment.messages` *
24777// `Flow.transition_routes.trigger_fulfillment.conditional_cases` If not
24778// specified, the agent's default language is used. Many languages
24779// (https://cloud.google.com/dialogflow/cx/docs/reference/language) are
24780// supported. Note: languages must be enabled in the agent before they
24781// can be used.
24782func (c *ProjectsLocationsAgentsFlowsPatchCall) LanguageCode(languageCode string) *ProjectsLocationsAgentsFlowsPatchCall {
24783	c.urlParams_.Set("languageCode", languageCode)
24784	return c
24785}
24786
24787// UpdateMask sets the optional parameter "updateMask": Required. The
24788// mask to control which fields get updated. If `update_mask` is not
24789// specified, an error will be returned.
24790func (c *ProjectsLocationsAgentsFlowsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsAgentsFlowsPatchCall {
24791	c.urlParams_.Set("updateMask", updateMask)
24792	return c
24793}
24794
24795// Fields allows partial responses to be retrieved. See
24796// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24797// for more information.
24798func (c *ProjectsLocationsAgentsFlowsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsFlowsPatchCall {
24799	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24800	return c
24801}
24802
24803// Context sets the context to be used in this call's Do method. Any
24804// pending HTTP request will be aborted if the provided context is
24805// canceled.
24806func (c *ProjectsLocationsAgentsFlowsPatchCall) Context(ctx context.Context) *ProjectsLocationsAgentsFlowsPatchCall {
24807	c.ctx_ = ctx
24808	return c
24809}
24810
24811// Header returns an http.Header that can be modified by the caller to
24812// add HTTP headers to the request.
24813func (c *ProjectsLocationsAgentsFlowsPatchCall) Header() http.Header {
24814	if c.header_ == nil {
24815		c.header_ = make(http.Header)
24816	}
24817	return c.header_
24818}
24819
24820func (c *ProjectsLocationsAgentsFlowsPatchCall) doRequest(alt string) (*http.Response, error) {
24821	reqHeaders := make(http.Header)
24822	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
24823	for k, v := range c.header_ {
24824		reqHeaders[k] = v
24825	}
24826	reqHeaders.Set("User-Agent", c.s.userAgent())
24827	var body io.Reader = nil
24828	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3flow)
24829	if err != nil {
24830		return nil, err
24831	}
24832	reqHeaders.Set("Content-Type", "application/json")
24833	c.urlParams_.Set("alt", alt)
24834	c.urlParams_.Set("prettyPrint", "false")
24835	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
24836	urls += "?" + c.urlParams_.Encode()
24837	req, err := http.NewRequest("PATCH", urls, body)
24838	if err != nil {
24839		return nil, err
24840	}
24841	req.Header = reqHeaders
24842	googleapi.Expand(req.URL, map[string]string{
24843		"name": c.nameid,
24844	})
24845	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24846}
24847
24848// Do executes the "dialogflow.projects.locations.agents.flows.patch" call.
24849// Exactly one of *GoogleCloudDialogflowCxV3Flow or error will be
24850// non-nil. Any non-2xx status code is an error. Response headers are in
24851// either *GoogleCloudDialogflowCxV3Flow.ServerResponse.Header or (if a
24852// response was returned at all) in error.(*googleapi.Error).Header. Use
24853// googleapi.IsNotModified to check whether the returned error was
24854// because http.StatusNotModified was returned.
24855func (c *ProjectsLocationsAgentsFlowsPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3Flow, error) {
24856	gensupport.SetOptions(c.urlParams_, opts...)
24857	res, err := c.doRequest("json")
24858	if res != nil && res.StatusCode == http.StatusNotModified {
24859		if res.Body != nil {
24860			res.Body.Close()
24861		}
24862		return nil, &googleapi.Error{
24863			Code:   res.StatusCode,
24864			Header: res.Header,
24865		}
24866	}
24867	if err != nil {
24868		return nil, err
24869	}
24870	defer googleapi.CloseBody(res)
24871	if err := googleapi.CheckResponse(res); err != nil {
24872		return nil, err
24873	}
24874	ret := &GoogleCloudDialogflowCxV3Flow{
24875		ServerResponse: googleapi.ServerResponse{
24876			Header:         res.Header,
24877			HTTPStatusCode: res.StatusCode,
24878		},
24879	}
24880	target := &ret
24881	if err := gensupport.DecodeResponse(target, res); err != nil {
24882		return nil, err
24883	}
24884	return ret, nil
24885	// {
24886	//   "description": "Updates the specified flow. Note: You should always train a flow prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training).",
24887	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}",
24888	//   "httpMethod": "PATCH",
24889	//   "id": "dialogflow.projects.locations.agents.flows.patch",
24890	//   "parameterOrder": [
24891	//     "name"
24892	//   ],
24893	//   "parameters": {
24894	//     "languageCode": {
24895	//       "description": "The language of the following fields in `flow`: * `Flow.event_handlers.trigger_fulfillment.messages` * `Flow.event_handlers.trigger_fulfillment.conditional_cases` * `Flow.transition_routes.trigger_fulfillment.messages` * `Flow.transition_routes.trigger_fulfillment.conditional_cases` 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.",
24896	//       "location": "query",
24897	//       "type": "string"
24898	//     },
24899	//     "name": {
24900	//       "description": "The unique identifier of the flow. Format: `projects//locations//agents//flows/`.",
24901	//       "location": "path",
24902	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+$",
24903	//       "required": true,
24904	//       "type": "string"
24905	//     },
24906	//     "updateMask": {
24907	//       "description": "Required. The mask to control which fields get updated. If `update_mask` is not specified, an error will be returned.",
24908	//       "format": "google-fieldmask",
24909	//       "location": "query",
24910	//       "type": "string"
24911	//     }
24912	//   },
24913	//   "path": "v3/{+name}",
24914	//   "request": {
24915	//     "$ref": "GoogleCloudDialogflowCxV3Flow"
24916	//   },
24917	//   "response": {
24918	//     "$ref": "GoogleCloudDialogflowCxV3Flow"
24919	//   },
24920	//   "scopes": [
24921	//     "https://www.googleapis.com/auth/cloud-platform",
24922	//     "https://www.googleapis.com/auth/dialogflow"
24923	//   ]
24924	// }
24925
24926}
24927
24928// method id "dialogflow.projects.locations.agents.flows.train":
24929
24930type ProjectsLocationsAgentsFlowsTrainCall struct {
24931	s                                         *Service
24932	name                                      string
24933	googleclouddialogflowcxv3trainflowrequest *GoogleCloudDialogflowCxV3TrainFlowRequest
24934	urlParams_                                gensupport.URLParams
24935	ctx_                                      context.Context
24936	header_                                   http.Header
24937}
24938
24939// Train: Trains the specified flow. Note that only the flow in 'draft'
24940// environment is trained. Note: You should always train a flow prior to
24941// sending it queries. See the training documentation
24942// (https://cloud.google.com/dialogflow/cx/docs/concept/training).
24943//
24944// - name: The flow to train. Format:
24945//   `projects//locations//agents//flows/`.
24946func (r *ProjectsLocationsAgentsFlowsService) Train(name string, googleclouddialogflowcxv3trainflowrequest *GoogleCloudDialogflowCxV3TrainFlowRequest) *ProjectsLocationsAgentsFlowsTrainCall {
24947	c := &ProjectsLocationsAgentsFlowsTrainCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24948	c.name = name
24949	c.googleclouddialogflowcxv3trainflowrequest = googleclouddialogflowcxv3trainflowrequest
24950	return c
24951}
24952
24953// Fields allows partial responses to be retrieved. See
24954// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24955// for more information.
24956func (c *ProjectsLocationsAgentsFlowsTrainCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsFlowsTrainCall {
24957	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24958	return c
24959}
24960
24961// Context sets the context to be used in this call's Do method. Any
24962// pending HTTP request will be aborted if the provided context is
24963// canceled.
24964func (c *ProjectsLocationsAgentsFlowsTrainCall) Context(ctx context.Context) *ProjectsLocationsAgentsFlowsTrainCall {
24965	c.ctx_ = ctx
24966	return c
24967}
24968
24969// Header returns an http.Header that can be modified by the caller to
24970// add HTTP headers to the request.
24971func (c *ProjectsLocationsAgentsFlowsTrainCall) Header() http.Header {
24972	if c.header_ == nil {
24973		c.header_ = make(http.Header)
24974	}
24975	return c.header_
24976}
24977
24978func (c *ProjectsLocationsAgentsFlowsTrainCall) doRequest(alt string) (*http.Response, error) {
24979	reqHeaders := make(http.Header)
24980	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
24981	for k, v := range c.header_ {
24982		reqHeaders[k] = v
24983	}
24984	reqHeaders.Set("User-Agent", c.s.userAgent())
24985	var body io.Reader = nil
24986	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3trainflowrequest)
24987	if err != nil {
24988		return nil, err
24989	}
24990	reqHeaders.Set("Content-Type", "application/json")
24991	c.urlParams_.Set("alt", alt)
24992	c.urlParams_.Set("prettyPrint", "false")
24993	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}:train")
24994	urls += "?" + c.urlParams_.Encode()
24995	req, err := http.NewRequest("POST", urls, body)
24996	if err != nil {
24997		return nil, err
24998	}
24999	req.Header = reqHeaders
25000	googleapi.Expand(req.URL, map[string]string{
25001		"name": c.name,
25002	})
25003	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25004}
25005
25006// Do executes the "dialogflow.projects.locations.agents.flows.train" call.
25007// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
25008// Any non-2xx status code is an error. Response headers are in either
25009// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
25010// was returned at all) in error.(*googleapi.Error).Header. Use
25011// googleapi.IsNotModified to check whether the returned error was
25012// because http.StatusNotModified was returned.
25013func (c *ProjectsLocationsAgentsFlowsTrainCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
25014	gensupport.SetOptions(c.urlParams_, opts...)
25015	res, err := c.doRequest("json")
25016	if res != nil && res.StatusCode == http.StatusNotModified {
25017		if res.Body != nil {
25018			res.Body.Close()
25019		}
25020		return nil, &googleapi.Error{
25021			Code:   res.StatusCode,
25022			Header: res.Header,
25023		}
25024	}
25025	if err != nil {
25026		return nil, err
25027	}
25028	defer googleapi.CloseBody(res)
25029	if err := googleapi.CheckResponse(res); err != nil {
25030		return nil, err
25031	}
25032	ret := &GoogleLongrunningOperation{
25033		ServerResponse: googleapi.ServerResponse{
25034			Header:         res.Header,
25035			HTTPStatusCode: res.StatusCode,
25036		},
25037	}
25038	target := &ret
25039	if err := gensupport.DecodeResponse(target, res); err != nil {
25040		return nil, err
25041	}
25042	return ret, nil
25043	// {
25044	//   "description": "Trains the specified flow. Note that only the flow in 'draft' environment is trained. Note: You should always train a flow prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training).",
25045	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}:train",
25046	//   "httpMethod": "POST",
25047	//   "id": "dialogflow.projects.locations.agents.flows.train",
25048	//   "parameterOrder": [
25049	//     "name"
25050	//   ],
25051	//   "parameters": {
25052	//     "name": {
25053	//       "description": "Required. The flow to train. Format: `projects//locations//agents//flows/`.",
25054	//       "location": "path",
25055	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+$",
25056	//       "required": true,
25057	//       "type": "string"
25058	//     }
25059	//   },
25060	//   "path": "v3/{+name}:train",
25061	//   "request": {
25062	//     "$ref": "GoogleCloudDialogflowCxV3TrainFlowRequest"
25063	//   },
25064	//   "response": {
25065	//     "$ref": "GoogleLongrunningOperation"
25066	//   },
25067	//   "scopes": [
25068	//     "https://www.googleapis.com/auth/cloud-platform",
25069	//     "https://www.googleapis.com/auth/dialogflow"
25070	//   ]
25071	// }
25072
25073}
25074
25075// method id "dialogflow.projects.locations.agents.flows.validate":
25076
25077type ProjectsLocationsAgentsFlowsValidateCall struct {
25078	s                                            *Service
25079	name                                         string
25080	googleclouddialogflowcxv3validateflowrequest *GoogleCloudDialogflowCxV3ValidateFlowRequest
25081	urlParams_                                   gensupport.URLParams
25082	ctx_                                         context.Context
25083	header_                                      http.Header
25084}
25085
25086// Validate: Validates the specified flow and creates or updates
25087// validation results. Please call this API after the training is
25088// completed to get the complete validation results.
25089//
25090// - name: The flow to validate. Format:
25091//   `projects//locations//agents//flows/`.
25092func (r *ProjectsLocationsAgentsFlowsService) Validate(name string, googleclouddialogflowcxv3validateflowrequest *GoogleCloudDialogflowCxV3ValidateFlowRequest) *ProjectsLocationsAgentsFlowsValidateCall {
25093	c := &ProjectsLocationsAgentsFlowsValidateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25094	c.name = name
25095	c.googleclouddialogflowcxv3validateflowrequest = googleclouddialogflowcxv3validateflowrequest
25096	return c
25097}
25098
25099// Fields allows partial responses to be retrieved. See
25100// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25101// for more information.
25102func (c *ProjectsLocationsAgentsFlowsValidateCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsFlowsValidateCall {
25103	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25104	return c
25105}
25106
25107// Context sets the context to be used in this call's Do method. Any
25108// pending HTTP request will be aborted if the provided context is
25109// canceled.
25110func (c *ProjectsLocationsAgentsFlowsValidateCall) Context(ctx context.Context) *ProjectsLocationsAgentsFlowsValidateCall {
25111	c.ctx_ = ctx
25112	return c
25113}
25114
25115// Header returns an http.Header that can be modified by the caller to
25116// add HTTP headers to the request.
25117func (c *ProjectsLocationsAgentsFlowsValidateCall) Header() http.Header {
25118	if c.header_ == nil {
25119		c.header_ = make(http.Header)
25120	}
25121	return c.header_
25122}
25123
25124func (c *ProjectsLocationsAgentsFlowsValidateCall) doRequest(alt string) (*http.Response, error) {
25125	reqHeaders := make(http.Header)
25126	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
25127	for k, v := range c.header_ {
25128		reqHeaders[k] = v
25129	}
25130	reqHeaders.Set("User-Agent", c.s.userAgent())
25131	var body io.Reader = nil
25132	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3validateflowrequest)
25133	if err != nil {
25134		return nil, err
25135	}
25136	reqHeaders.Set("Content-Type", "application/json")
25137	c.urlParams_.Set("alt", alt)
25138	c.urlParams_.Set("prettyPrint", "false")
25139	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}:validate")
25140	urls += "?" + c.urlParams_.Encode()
25141	req, err := http.NewRequest("POST", urls, body)
25142	if err != nil {
25143		return nil, err
25144	}
25145	req.Header = reqHeaders
25146	googleapi.Expand(req.URL, map[string]string{
25147		"name": c.name,
25148	})
25149	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25150}
25151
25152// Do executes the "dialogflow.projects.locations.agents.flows.validate" call.
25153// Exactly one of *GoogleCloudDialogflowCxV3FlowValidationResult or
25154// error will be non-nil. Any non-2xx status code is an error. Response
25155// headers are in either
25156// *GoogleCloudDialogflowCxV3FlowValidationResult.ServerResponse.Header
25157// or (if a response was returned at all) in
25158// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
25159// whether the returned error was because http.StatusNotModified was
25160// returned.
25161func (c *ProjectsLocationsAgentsFlowsValidateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3FlowValidationResult, error) {
25162	gensupport.SetOptions(c.urlParams_, opts...)
25163	res, err := c.doRequest("json")
25164	if res != nil && res.StatusCode == http.StatusNotModified {
25165		if res.Body != nil {
25166			res.Body.Close()
25167		}
25168		return nil, &googleapi.Error{
25169			Code:   res.StatusCode,
25170			Header: res.Header,
25171		}
25172	}
25173	if err != nil {
25174		return nil, err
25175	}
25176	defer googleapi.CloseBody(res)
25177	if err := googleapi.CheckResponse(res); err != nil {
25178		return nil, err
25179	}
25180	ret := &GoogleCloudDialogflowCxV3FlowValidationResult{
25181		ServerResponse: googleapi.ServerResponse{
25182			Header:         res.Header,
25183			HTTPStatusCode: res.StatusCode,
25184		},
25185	}
25186	target := &ret
25187	if err := gensupport.DecodeResponse(target, res); err != nil {
25188		return nil, err
25189	}
25190	return ret, nil
25191	// {
25192	//   "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.",
25193	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}:validate",
25194	//   "httpMethod": "POST",
25195	//   "id": "dialogflow.projects.locations.agents.flows.validate",
25196	//   "parameterOrder": [
25197	//     "name"
25198	//   ],
25199	//   "parameters": {
25200	//     "name": {
25201	//       "description": "Required. The flow to validate. Format: `projects//locations//agents//flows/`.",
25202	//       "location": "path",
25203	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+$",
25204	//       "required": true,
25205	//       "type": "string"
25206	//     }
25207	//   },
25208	//   "path": "v3/{+name}:validate",
25209	//   "request": {
25210	//     "$ref": "GoogleCloudDialogflowCxV3ValidateFlowRequest"
25211	//   },
25212	//   "response": {
25213	//     "$ref": "GoogleCloudDialogflowCxV3FlowValidationResult"
25214	//   },
25215	//   "scopes": [
25216	//     "https://www.googleapis.com/auth/cloud-platform",
25217	//     "https://www.googleapis.com/auth/dialogflow"
25218	//   ]
25219	// }
25220
25221}
25222
25223// method id "dialogflow.projects.locations.agents.flows.pages.create":
25224
25225type ProjectsLocationsAgentsFlowsPagesCreateCall struct {
25226	s                             *Service
25227	parent                        string
25228	googleclouddialogflowcxv3page *GoogleCloudDialogflowCxV3Page
25229	urlParams_                    gensupport.URLParams
25230	ctx_                          context.Context
25231	header_                       http.Header
25232}
25233
25234// Create: Creates a page in the specified flow. Note: You should always
25235// train a flow prior to sending it queries. See the training
25236// documentation
25237// (https://cloud.google.com/dialogflow/cx/docs/concept/training).
25238//
25239// - parent: The flow to create a page for. Format:
25240//   `projects//locations//agents//flows/`.
25241func (r *ProjectsLocationsAgentsFlowsPagesService) Create(parent string, googleclouddialogflowcxv3page *GoogleCloudDialogflowCxV3Page) *ProjectsLocationsAgentsFlowsPagesCreateCall {
25242	c := &ProjectsLocationsAgentsFlowsPagesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25243	c.parent = parent
25244	c.googleclouddialogflowcxv3page = googleclouddialogflowcxv3page
25245	return c
25246}
25247
25248// LanguageCode sets the optional parameter "languageCode": The language
25249// of the following fields in `page`: *
25250// `Page.entry_fulfillment.messages` *
25251// `Page.entry_fulfillment.conditional_cases` *
25252// `Page.event_handlers.trigger_fulfillment.messages` *
25253// `Page.event_handlers.trigger_fulfillment.conditional_cases` *
25254// `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.message
25255// s` *
25256// `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.conditi
25257// onal_cases` *
25258// `Page.form.parameters.fill_behavior.reprompt_event_handlers.messages`
25259// *
25260// `Page.form.parameters.fill_behavior.reprompt_event_handlers.conditiona
25261// l_cases` * `Page.transition_routes.trigger_fulfillment.messages` *
25262// `Page.transition_routes.trigger_fulfillment.conditional_cases` If not
25263// specified, the agent's default language is used. Many languages
25264// (https://cloud.google.com/dialogflow/cx/docs/reference/language) are
25265// supported. Note: languages must be enabled in the agent before they
25266// can be used.
25267func (c *ProjectsLocationsAgentsFlowsPagesCreateCall) LanguageCode(languageCode string) *ProjectsLocationsAgentsFlowsPagesCreateCall {
25268	c.urlParams_.Set("languageCode", languageCode)
25269	return c
25270}
25271
25272// Fields allows partial responses to be retrieved. See
25273// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25274// for more information.
25275func (c *ProjectsLocationsAgentsFlowsPagesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsFlowsPagesCreateCall {
25276	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25277	return c
25278}
25279
25280// Context sets the context to be used in this call's Do method. Any
25281// pending HTTP request will be aborted if the provided context is
25282// canceled.
25283func (c *ProjectsLocationsAgentsFlowsPagesCreateCall) Context(ctx context.Context) *ProjectsLocationsAgentsFlowsPagesCreateCall {
25284	c.ctx_ = ctx
25285	return c
25286}
25287
25288// Header returns an http.Header that can be modified by the caller to
25289// add HTTP headers to the request.
25290func (c *ProjectsLocationsAgentsFlowsPagesCreateCall) Header() http.Header {
25291	if c.header_ == nil {
25292		c.header_ = make(http.Header)
25293	}
25294	return c.header_
25295}
25296
25297func (c *ProjectsLocationsAgentsFlowsPagesCreateCall) doRequest(alt string) (*http.Response, error) {
25298	reqHeaders := make(http.Header)
25299	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
25300	for k, v := range c.header_ {
25301		reqHeaders[k] = v
25302	}
25303	reqHeaders.Set("User-Agent", c.s.userAgent())
25304	var body io.Reader = nil
25305	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3page)
25306	if err != nil {
25307		return nil, err
25308	}
25309	reqHeaders.Set("Content-Type", "application/json")
25310	c.urlParams_.Set("alt", alt)
25311	c.urlParams_.Set("prettyPrint", "false")
25312	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/pages")
25313	urls += "?" + c.urlParams_.Encode()
25314	req, err := http.NewRequest("POST", urls, body)
25315	if err != nil {
25316		return nil, err
25317	}
25318	req.Header = reqHeaders
25319	googleapi.Expand(req.URL, map[string]string{
25320		"parent": c.parent,
25321	})
25322	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25323}
25324
25325// Do executes the "dialogflow.projects.locations.agents.flows.pages.create" call.
25326// Exactly one of *GoogleCloudDialogflowCxV3Page or error will be
25327// non-nil. Any non-2xx status code is an error. Response headers are in
25328// either *GoogleCloudDialogflowCxV3Page.ServerResponse.Header or (if a
25329// response was returned at all) in error.(*googleapi.Error).Header. Use
25330// googleapi.IsNotModified to check whether the returned error was
25331// because http.StatusNotModified was returned.
25332func (c *ProjectsLocationsAgentsFlowsPagesCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3Page, error) {
25333	gensupport.SetOptions(c.urlParams_, opts...)
25334	res, err := c.doRequest("json")
25335	if res != nil && res.StatusCode == http.StatusNotModified {
25336		if res.Body != nil {
25337			res.Body.Close()
25338		}
25339		return nil, &googleapi.Error{
25340			Code:   res.StatusCode,
25341			Header: res.Header,
25342		}
25343	}
25344	if err != nil {
25345		return nil, err
25346	}
25347	defer googleapi.CloseBody(res)
25348	if err := googleapi.CheckResponse(res); err != nil {
25349		return nil, err
25350	}
25351	ret := &GoogleCloudDialogflowCxV3Page{
25352		ServerResponse: googleapi.ServerResponse{
25353			Header:         res.Header,
25354			HTTPStatusCode: res.StatusCode,
25355		},
25356	}
25357	target := &ret
25358	if err := gensupport.DecodeResponse(target, res); err != nil {
25359		return nil, err
25360	}
25361	return ret, nil
25362	// {
25363	//   "description": "Creates a page in the specified flow. Note: You should always train a flow prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training).",
25364	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}/pages",
25365	//   "httpMethod": "POST",
25366	//   "id": "dialogflow.projects.locations.agents.flows.pages.create",
25367	//   "parameterOrder": [
25368	//     "parent"
25369	//   ],
25370	//   "parameters": {
25371	//     "languageCode": {
25372	//       "description": "The language of the following fields in `page`: * `Page.entry_fulfillment.messages` * `Page.entry_fulfillment.conditional_cases` * `Page.event_handlers.trigger_fulfillment.messages` * `Page.event_handlers.trigger_fulfillment.conditional_cases` * `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.messages` * `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.conditional_cases` * `Page.form.parameters.fill_behavior.reprompt_event_handlers.messages` * `Page.form.parameters.fill_behavior.reprompt_event_handlers.conditional_cases` * `Page.transition_routes.trigger_fulfillment.messages` * `Page.transition_routes.trigger_fulfillment.conditional_cases` 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.",
25373	//       "location": "query",
25374	//       "type": "string"
25375	//     },
25376	//     "parent": {
25377	//       "description": "Required. The flow to create a page for. Format: `projects//locations//agents//flows/`.",
25378	//       "location": "path",
25379	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+$",
25380	//       "required": true,
25381	//       "type": "string"
25382	//     }
25383	//   },
25384	//   "path": "v3/{+parent}/pages",
25385	//   "request": {
25386	//     "$ref": "GoogleCloudDialogflowCxV3Page"
25387	//   },
25388	//   "response": {
25389	//     "$ref": "GoogleCloudDialogflowCxV3Page"
25390	//   },
25391	//   "scopes": [
25392	//     "https://www.googleapis.com/auth/cloud-platform",
25393	//     "https://www.googleapis.com/auth/dialogflow"
25394	//   ]
25395	// }
25396
25397}
25398
25399// method id "dialogflow.projects.locations.agents.flows.pages.delete":
25400
25401type ProjectsLocationsAgentsFlowsPagesDeleteCall struct {
25402	s          *Service
25403	name       string
25404	urlParams_ gensupport.URLParams
25405	ctx_       context.Context
25406	header_    http.Header
25407}
25408
25409// Delete: Deletes the specified page. Note: You should always train a
25410// flow prior to sending it queries. See the training documentation
25411// (https://cloud.google.com/dialogflow/cx/docs/concept/training).
25412//
25413// - name: The name of the page to delete. Format:
25414//   `projects//locations//agents//Flows//pages/`.
25415func (r *ProjectsLocationsAgentsFlowsPagesService) Delete(name string) *ProjectsLocationsAgentsFlowsPagesDeleteCall {
25416	c := &ProjectsLocationsAgentsFlowsPagesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25417	c.name = name
25418	return c
25419}
25420
25421// Force sets the optional parameter "force": This field has no effect
25422// for pages with no incoming transitions. For pages with incoming
25423// transitions: * If `force` is set to false, an error will be returned
25424// with message indicating the incoming transitions. * If `force` is set
25425// to true, Dialogflow will remove the page, as well as any transitions
25426// to the page (i.e. Target page in event handlers or Target page in
25427// transition routes that point to this page will be cleared).
25428func (c *ProjectsLocationsAgentsFlowsPagesDeleteCall) Force(force bool) *ProjectsLocationsAgentsFlowsPagesDeleteCall {
25429	c.urlParams_.Set("force", fmt.Sprint(force))
25430	return c
25431}
25432
25433// Fields allows partial responses to be retrieved. See
25434// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25435// for more information.
25436func (c *ProjectsLocationsAgentsFlowsPagesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsFlowsPagesDeleteCall {
25437	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25438	return c
25439}
25440
25441// Context sets the context to be used in this call's Do method. Any
25442// pending HTTP request will be aborted if the provided context is
25443// canceled.
25444func (c *ProjectsLocationsAgentsFlowsPagesDeleteCall) Context(ctx context.Context) *ProjectsLocationsAgentsFlowsPagesDeleteCall {
25445	c.ctx_ = ctx
25446	return c
25447}
25448
25449// Header returns an http.Header that can be modified by the caller to
25450// add HTTP headers to the request.
25451func (c *ProjectsLocationsAgentsFlowsPagesDeleteCall) Header() http.Header {
25452	if c.header_ == nil {
25453		c.header_ = make(http.Header)
25454	}
25455	return c.header_
25456}
25457
25458func (c *ProjectsLocationsAgentsFlowsPagesDeleteCall) doRequest(alt string) (*http.Response, error) {
25459	reqHeaders := make(http.Header)
25460	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
25461	for k, v := range c.header_ {
25462		reqHeaders[k] = v
25463	}
25464	reqHeaders.Set("User-Agent", c.s.userAgent())
25465	var body io.Reader = nil
25466	c.urlParams_.Set("alt", alt)
25467	c.urlParams_.Set("prettyPrint", "false")
25468	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
25469	urls += "?" + c.urlParams_.Encode()
25470	req, err := http.NewRequest("DELETE", urls, body)
25471	if err != nil {
25472		return nil, err
25473	}
25474	req.Header = reqHeaders
25475	googleapi.Expand(req.URL, map[string]string{
25476		"name": c.name,
25477	})
25478	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25479}
25480
25481// Do executes the "dialogflow.projects.locations.agents.flows.pages.delete" call.
25482// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
25483// non-2xx status code is an error. Response headers are in either
25484// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
25485// returned at all) in error.(*googleapi.Error).Header. Use
25486// googleapi.IsNotModified to check whether the returned error was
25487// because http.StatusNotModified was returned.
25488func (c *ProjectsLocationsAgentsFlowsPagesDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
25489	gensupport.SetOptions(c.urlParams_, opts...)
25490	res, err := c.doRequest("json")
25491	if res != nil && res.StatusCode == http.StatusNotModified {
25492		if res.Body != nil {
25493			res.Body.Close()
25494		}
25495		return nil, &googleapi.Error{
25496			Code:   res.StatusCode,
25497			Header: res.Header,
25498		}
25499	}
25500	if err != nil {
25501		return nil, err
25502	}
25503	defer googleapi.CloseBody(res)
25504	if err := googleapi.CheckResponse(res); err != nil {
25505		return nil, err
25506	}
25507	ret := &GoogleProtobufEmpty{
25508		ServerResponse: googleapi.ServerResponse{
25509			Header:         res.Header,
25510			HTTPStatusCode: res.StatusCode,
25511		},
25512	}
25513	target := &ret
25514	if err := gensupport.DecodeResponse(target, res); err != nil {
25515		return nil, err
25516	}
25517	return ret, nil
25518	// {
25519	//   "description": "Deletes the specified page. Note: You should always train a flow prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training).",
25520	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}/pages/{pagesId}",
25521	//   "httpMethod": "DELETE",
25522	//   "id": "dialogflow.projects.locations.agents.flows.pages.delete",
25523	//   "parameterOrder": [
25524	//     "name"
25525	//   ],
25526	//   "parameters": {
25527	//     "force": {
25528	//       "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).",
25529	//       "location": "query",
25530	//       "type": "boolean"
25531	//     },
25532	//     "name": {
25533	//       "description": "Required. The name of the page to delete. Format: `projects//locations//agents//Flows//pages/`.",
25534	//       "location": "path",
25535	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+/pages/[^/]+$",
25536	//       "required": true,
25537	//       "type": "string"
25538	//     }
25539	//   },
25540	//   "path": "v3/{+name}",
25541	//   "response": {
25542	//     "$ref": "GoogleProtobufEmpty"
25543	//   },
25544	//   "scopes": [
25545	//     "https://www.googleapis.com/auth/cloud-platform",
25546	//     "https://www.googleapis.com/auth/dialogflow"
25547	//   ]
25548	// }
25549
25550}
25551
25552// method id "dialogflow.projects.locations.agents.flows.pages.get":
25553
25554type ProjectsLocationsAgentsFlowsPagesGetCall struct {
25555	s            *Service
25556	name         string
25557	urlParams_   gensupport.URLParams
25558	ifNoneMatch_ string
25559	ctx_         context.Context
25560	header_      http.Header
25561}
25562
25563// Get: Retrieves the specified page.
25564//
25565// - name: The name of the page. Format:
25566//   `projects//locations//agents//flows//pages/`.
25567func (r *ProjectsLocationsAgentsFlowsPagesService) Get(name string) *ProjectsLocationsAgentsFlowsPagesGetCall {
25568	c := &ProjectsLocationsAgentsFlowsPagesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25569	c.name = name
25570	return c
25571}
25572
25573// LanguageCode sets the optional parameter "languageCode": The language
25574// to retrieve the page for. The following fields are language
25575// dependent: * `Page.entry_fulfillment.messages` *
25576// `Page.entry_fulfillment.conditional_cases` *
25577// `Page.event_handlers.trigger_fulfillment.messages` *
25578// `Page.event_handlers.trigger_fulfillment.conditional_cases` *
25579// `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.message
25580// s` *
25581// `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.conditi
25582// onal_cases` *
25583// `Page.form.parameters.fill_behavior.reprompt_event_handlers.messages`
25584// *
25585// `Page.form.parameters.fill_behavior.reprompt_event_handlers.conditiona
25586// l_cases` * `Page.transition_routes.trigger_fulfillment.messages` *
25587// `Page.transition_routes.trigger_fulfillment.conditional_cases` If not
25588// specified, the agent's default language is used. Many languages
25589// (https://cloud.google.com/dialogflow/cx/docs/reference/language) are
25590// supported. Note: languages must be enabled in the agent before they
25591// can be used.
25592func (c *ProjectsLocationsAgentsFlowsPagesGetCall) LanguageCode(languageCode string) *ProjectsLocationsAgentsFlowsPagesGetCall {
25593	c.urlParams_.Set("languageCode", languageCode)
25594	return c
25595}
25596
25597// Fields allows partial responses to be retrieved. See
25598// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25599// for more information.
25600func (c *ProjectsLocationsAgentsFlowsPagesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsFlowsPagesGetCall {
25601	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25602	return c
25603}
25604
25605// IfNoneMatch sets the optional parameter which makes the operation
25606// fail if the object's ETag matches the given value. This is useful for
25607// getting updates only after the object has changed since the last
25608// request. Use googleapi.IsNotModified to check whether the response
25609// error from Do is the result of In-None-Match.
25610func (c *ProjectsLocationsAgentsFlowsPagesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsFlowsPagesGetCall {
25611	c.ifNoneMatch_ = entityTag
25612	return c
25613}
25614
25615// Context sets the context to be used in this call's Do method. Any
25616// pending HTTP request will be aborted if the provided context is
25617// canceled.
25618func (c *ProjectsLocationsAgentsFlowsPagesGetCall) Context(ctx context.Context) *ProjectsLocationsAgentsFlowsPagesGetCall {
25619	c.ctx_ = ctx
25620	return c
25621}
25622
25623// Header returns an http.Header that can be modified by the caller to
25624// add HTTP headers to the request.
25625func (c *ProjectsLocationsAgentsFlowsPagesGetCall) Header() http.Header {
25626	if c.header_ == nil {
25627		c.header_ = make(http.Header)
25628	}
25629	return c.header_
25630}
25631
25632func (c *ProjectsLocationsAgentsFlowsPagesGetCall) doRequest(alt string) (*http.Response, error) {
25633	reqHeaders := make(http.Header)
25634	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
25635	for k, v := range c.header_ {
25636		reqHeaders[k] = v
25637	}
25638	reqHeaders.Set("User-Agent", c.s.userAgent())
25639	if c.ifNoneMatch_ != "" {
25640		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
25641	}
25642	var body io.Reader = nil
25643	c.urlParams_.Set("alt", alt)
25644	c.urlParams_.Set("prettyPrint", "false")
25645	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
25646	urls += "?" + c.urlParams_.Encode()
25647	req, err := http.NewRequest("GET", urls, body)
25648	if err != nil {
25649		return nil, err
25650	}
25651	req.Header = reqHeaders
25652	googleapi.Expand(req.URL, map[string]string{
25653		"name": c.name,
25654	})
25655	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25656}
25657
25658// Do executes the "dialogflow.projects.locations.agents.flows.pages.get" call.
25659// Exactly one of *GoogleCloudDialogflowCxV3Page or error will be
25660// non-nil. Any non-2xx status code is an error. Response headers are in
25661// either *GoogleCloudDialogflowCxV3Page.ServerResponse.Header or (if a
25662// response was returned at all) in error.(*googleapi.Error).Header. Use
25663// googleapi.IsNotModified to check whether the returned error was
25664// because http.StatusNotModified was returned.
25665func (c *ProjectsLocationsAgentsFlowsPagesGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3Page, error) {
25666	gensupport.SetOptions(c.urlParams_, opts...)
25667	res, err := c.doRequest("json")
25668	if res != nil && res.StatusCode == http.StatusNotModified {
25669		if res.Body != nil {
25670			res.Body.Close()
25671		}
25672		return nil, &googleapi.Error{
25673			Code:   res.StatusCode,
25674			Header: res.Header,
25675		}
25676	}
25677	if err != nil {
25678		return nil, err
25679	}
25680	defer googleapi.CloseBody(res)
25681	if err := googleapi.CheckResponse(res); err != nil {
25682		return nil, err
25683	}
25684	ret := &GoogleCloudDialogflowCxV3Page{
25685		ServerResponse: googleapi.ServerResponse{
25686			Header:         res.Header,
25687			HTTPStatusCode: res.StatusCode,
25688		},
25689	}
25690	target := &ret
25691	if err := gensupport.DecodeResponse(target, res); err != nil {
25692		return nil, err
25693	}
25694	return ret, nil
25695	// {
25696	//   "description": "Retrieves the specified page.",
25697	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}/pages/{pagesId}",
25698	//   "httpMethod": "GET",
25699	//   "id": "dialogflow.projects.locations.agents.flows.pages.get",
25700	//   "parameterOrder": [
25701	//     "name"
25702	//   ],
25703	//   "parameters": {
25704	//     "languageCode": {
25705	//       "description": "The language to retrieve the page for. The following fields are language dependent: * `Page.entry_fulfillment.messages` * `Page.entry_fulfillment.conditional_cases` * `Page.event_handlers.trigger_fulfillment.messages` * `Page.event_handlers.trigger_fulfillment.conditional_cases` * `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.messages` * `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.conditional_cases` * `Page.form.parameters.fill_behavior.reprompt_event_handlers.messages` * `Page.form.parameters.fill_behavior.reprompt_event_handlers.conditional_cases` * `Page.transition_routes.trigger_fulfillment.messages` * `Page.transition_routes.trigger_fulfillment.conditional_cases` 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.",
25706	//       "location": "query",
25707	//       "type": "string"
25708	//     },
25709	//     "name": {
25710	//       "description": "Required. The name of the page. Format: `projects//locations//agents//flows//pages/`.",
25711	//       "location": "path",
25712	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+/pages/[^/]+$",
25713	//       "required": true,
25714	//       "type": "string"
25715	//     }
25716	//   },
25717	//   "path": "v3/{+name}",
25718	//   "response": {
25719	//     "$ref": "GoogleCloudDialogflowCxV3Page"
25720	//   },
25721	//   "scopes": [
25722	//     "https://www.googleapis.com/auth/cloud-platform",
25723	//     "https://www.googleapis.com/auth/dialogflow"
25724	//   ]
25725	// }
25726
25727}
25728
25729// method id "dialogflow.projects.locations.agents.flows.pages.list":
25730
25731type ProjectsLocationsAgentsFlowsPagesListCall struct {
25732	s            *Service
25733	parent       string
25734	urlParams_   gensupport.URLParams
25735	ifNoneMatch_ string
25736	ctx_         context.Context
25737	header_      http.Header
25738}
25739
25740// List: Returns the list of all pages in the specified flow.
25741//
25742// - parent: The flow to list all pages for. Format:
25743//   `projects//locations//agents//flows/`.
25744func (r *ProjectsLocationsAgentsFlowsPagesService) List(parent string) *ProjectsLocationsAgentsFlowsPagesListCall {
25745	c := &ProjectsLocationsAgentsFlowsPagesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25746	c.parent = parent
25747	return c
25748}
25749
25750// LanguageCode sets the optional parameter "languageCode": The language
25751// to list pages for. The following fields are language dependent: *
25752// `Page.entry_fulfillment.messages` *
25753// `Page.entry_fulfillment.conditional_cases` *
25754// `Page.event_handlers.trigger_fulfillment.messages` *
25755// `Page.event_handlers.trigger_fulfillment.conditional_cases` *
25756// `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.message
25757// s` *
25758// `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.conditi
25759// onal_cases` *
25760// `Page.form.parameters.fill_behavior.reprompt_event_handlers.messages`
25761// *
25762// `Page.form.parameters.fill_behavior.reprompt_event_handlers.conditiona
25763// l_cases` * `Page.transition_routes.trigger_fulfillment.messages` *
25764// `Page.transition_routes.trigger_fulfillment.conditional_cases` If not
25765// specified, the agent's default language is used. Many languages
25766// (https://cloud.google.com/dialogflow/cx/docs/reference/language) are
25767// supported. Note: languages must be enabled in the agent before they
25768// can be used.
25769func (c *ProjectsLocationsAgentsFlowsPagesListCall) LanguageCode(languageCode string) *ProjectsLocationsAgentsFlowsPagesListCall {
25770	c.urlParams_.Set("languageCode", languageCode)
25771	return c
25772}
25773
25774// PageSize sets the optional parameter "pageSize": The maximum number
25775// of items to return in a single page. By default 100 and at most 1000.
25776func (c *ProjectsLocationsAgentsFlowsPagesListCall) PageSize(pageSize int64) *ProjectsLocationsAgentsFlowsPagesListCall {
25777	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
25778	return c
25779}
25780
25781// PageToken sets the optional parameter "pageToken": The
25782// next_page_token value returned from a previous list request.
25783func (c *ProjectsLocationsAgentsFlowsPagesListCall) PageToken(pageToken string) *ProjectsLocationsAgentsFlowsPagesListCall {
25784	c.urlParams_.Set("pageToken", pageToken)
25785	return c
25786}
25787
25788// Fields allows partial responses to be retrieved. See
25789// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25790// for more information.
25791func (c *ProjectsLocationsAgentsFlowsPagesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsFlowsPagesListCall {
25792	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25793	return c
25794}
25795
25796// IfNoneMatch sets the optional parameter which makes the operation
25797// fail if the object's ETag matches the given value. This is useful for
25798// getting updates only after the object has changed since the last
25799// request. Use googleapi.IsNotModified to check whether the response
25800// error from Do is the result of In-None-Match.
25801func (c *ProjectsLocationsAgentsFlowsPagesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsFlowsPagesListCall {
25802	c.ifNoneMatch_ = entityTag
25803	return c
25804}
25805
25806// Context sets the context to be used in this call's Do method. Any
25807// pending HTTP request will be aborted if the provided context is
25808// canceled.
25809func (c *ProjectsLocationsAgentsFlowsPagesListCall) Context(ctx context.Context) *ProjectsLocationsAgentsFlowsPagesListCall {
25810	c.ctx_ = ctx
25811	return c
25812}
25813
25814// Header returns an http.Header that can be modified by the caller to
25815// add HTTP headers to the request.
25816func (c *ProjectsLocationsAgentsFlowsPagesListCall) Header() http.Header {
25817	if c.header_ == nil {
25818		c.header_ = make(http.Header)
25819	}
25820	return c.header_
25821}
25822
25823func (c *ProjectsLocationsAgentsFlowsPagesListCall) doRequest(alt string) (*http.Response, error) {
25824	reqHeaders := make(http.Header)
25825	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
25826	for k, v := range c.header_ {
25827		reqHeaders[k] = v
25828	}
25829	reqHeaders.Set("User-Agent", c.s.userAgent())
25830	if c.ifNoneMatch_ != "" {
25831		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
25832	}
25833	var body io.Reader = nil
25834	c.urlParams_.Set("alt", alt)
25835	c.urlParams_.Set("prettyPrint", "false")
25836	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/pages")
25837	urls += "?" + c.urlParams_.Encode()
25838	req, err := http.NewRequest("GET", urls, body)
25839	if err != nil {
25840		return nil, err
25841	}
25842	req.Header = reqHeaders
25843	googleapi.Expand(req.URL, map[string]string{
25844		"parent": c.parent,
25845	})
25846	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25847}
25848
25849// Do executes the "dialogflow.projects.locations.agents.flows.pages.list" call.
25850// Exactly one of *GoogleCloudDialogflowCxV3ListPagesResponse or error
25851// will be non-nil. Any non-2xx status code is an error. Response
25852// headers are in either
25853// *GoogleCloudDialogflowCxV3ListPagesResponse.ServerResponse.Header or
25854// (if a response was returned at all) in
25855// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
25856// whether the returned error was because http.StatusNotModified was
25857// returned.
25858func (c *ProjectsLocationsAgentsFlowsPagesListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3ListPagesResponse, error) {
25859	gensupport.SetOptions(c.urlParams_, opts...)
25860	res, err := c.doRequest("json")
25861	if res != nil && res.StatusCode == http.StatusNotModified {
25862		if res.Body != nil {
25863			res.Body.Close()
25864		}
25865		return nil, &googleapi.Error{
25866			Code:   res.StatusCode,
25867			Header: res.Header,
25868		}
25869	}
25870	if err != nil {
25871		return nil, err
25872	}
25873	defer googleapi.CloseBody(res)
25874	if err := googleapi.CheckResponse(res); err != nil {
25875		return nil, err
25876	}
25877	ret := &GoogleCloudDialogflowCxV3ListPagesResponse{
25878		ServerResponse: googleapi.ServerResponse{
25879			Header:         res.Header,
25880			HTTPStatusCode: res.StatusCode,
25881		},
25882	}
25883	target := &ret
25884	if err := gensupport.DecodeResponse(target, res); err != nil {
25885		return nil, err
25886	}
25887	return ret, nil
25888	// {
25889	//   "description": "Returns the list of all pages in the specified flow.",
25890	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}/pages",
25891	//   "httpMethod": "GET",
25892	//   "id": "dialogflow.projects.locations.agents.flows.pages.list",
25893	//   "parameterOrder": [
25894	//     "parent"
25895	//   ],
25896	//   "parameters": {
25897	//     "languageCode": {
25898	//       "description": "The language to list pages for. The following fields are language dependent: * `Page.entry_fulfillment.messages` * `Page.entry_fulfillment.conditional_cases` * `Page.event_handlers.trigger_fulfillment.messages` * `Page.event_handlers.trigger_fulfillment.conditional_cases` * `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.messages` * `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.conditional_cases` * `Page.form.parameters.fill_behavior.reprompt_event_handlers.messages` * `Page.form.parameters.fill_behavior.reprompt_event_handlers.conditional_cases` * `Page.transition_routes.trigger_fulfillment.messages` * `Page.transition_routes.trigger_fulfillment.conditional_cases` 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.",
25899	//       "location": "query",
25900	//       "type": "string"
25901	//     },
25902	//     "pageSize": {
25903	//       "description": "The maximum number of items to return in a single page. By default 100 and at most 1000.",
25904	//       "format": "int32",
25905	//       "location": "query",
25906	//       "type": "integer"
25907	//     },
25908	//     "pageToken": {
25909	//       "description": "The next_page_token value returned from a previous list request.",
25910	//       "location": "query",
25911	//       "type": "string"
25912	//     },
25913	//     "parent": {
25914	//       "description": "Required. The flow to list all pages for. Format: `projects//locations//agents//flows/`.",
25915	//       "location": "path",
25916	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+$",
25917	//       "required": true,
25918	//       "type": "string"
25919	//     }
25920	//   },
25921	//   "path": "v3/{+parent}/pages",
25922	//   "response": {
25923	//     "$ref": "GoogleCloudDialogflowCxV3ListPagesResponse"
25924	//   },
25925	//   "scopes": [
25926	//     "https://www.googleapis.com/auth/cloud-platform",
25927	//     "https://www.googleapis.com/auth/dialogflow"
25928	//   ]
25929	// }
25930
25931}
25932
25933// Pages invokes f for each page of results.
25934// A non-nil error returned from f will halt the iteration.
25935// The provided context supersedes any context provided to the Context method.
25936func (c *ProjectsLocationsAgentsFlowsPagesListCall) Pages(ctx context.Context, f func(*GoogleCloudDialogflowCxV3ListPagesResponse) error) error {
25937	c.ctx_ = ctx
25938	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
25939	for {
25940		x, err := c.Do()
25941		if err != nil {
25942			return err
25943		}
25944		if err := f(x); err != nil {
25945			return err
25946		}
25947		if x.NextPageToken == "" {
25948			return nil
25949		}
25950		c.PageToken(x.NextPageToken)
25951	}
25952}
25953
25954// method id "dialogflow.projects.locations.agents.flows.pages.patch":
25955
25956type ProjectsLocationsAgentsFlowsPagesPatchCall struct {
25957	s                             *Service
25958	nameid                        string
25959	googleclouddialogflowcxv3page *GoogleCloudDialogflowCxV3Page
25960	urlParams_                    gensupport.URLParams
25961	ctx_                          context.Context
25962	header_                       http.Header
25963}
25964
25965// Patch: Updates the specified page. Note: You should always train a
25966// flow prior to sending it queries. See the training documentation
25967// (https://cloud.google.com/dialogflow/cx/docs/concept/training).
25968//
25969// - name: The unique identifier of the page. Required for the
25970//   Pages.UpdatePage method. Pages.CreatePage populates the name
25971//   automatically. Format:
25972//   `projects//locations//agents//flows//pages/`.
25973func (r *ProjectsLocationsAgentsFlowsPagesService) Patch(nameid string, googleclouddialogflowcxv3page *GoogleCloudDialogflowCxV3Page) *ProjectsLocationsAgentsFlowsPagesPatchCall {
25974	c := &ProjectsLocationsAgentsFlowsPagesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25975	c.nameid = nameid
25976	c.googleclouddialogflowcxv3page = googleclouddialogflowcxv3page
25977	return c
25978}
25979
25980// LanguageCode sets the optional parameter "languageCode": The language
25981// of the following fields in `page`: *
25982// `Page.entry_fulfillment.messages` *
25983// `Page.entry_fulfillment.conditional_cases` *
25984// `Page.event_handlers.trigger_fulfillment.messages` *
25985// `Page.event_handlers.trigger_fulfillment.conditional_cases` *
25986// `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.message
25987// s` *
25988// `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.conditi
25989// onal_cases` *
25990// `Page.form.parameters.fill_behavior.reprompt_event_handlers.messages`
25991// *
25992// `Page.form.parameters.fill_behavior.reprompt_event_handlers.conditiona
25993// l_cases` * `Page.transition_routes.trigger_fulfillment.messages` *
25994// `Page.transition_routes.trigger_fulfillment.conditional_cases` If not
25995// specified, the agent's default language is used. Many languages
25996// (https://cloud.google.com/dialogflow/cx/docs/reference/language) are
25997// supported. Note: languages must be enabled in the agent before they
25998// can be used.
25999func (c *ProjectsLocationsAgentsFlowsPagesPatchCall) LanguageCode(languageCode string) *ProjectsLocationsAgentsFlowsPagesPatchCall {
26000	c.urlParams_.Set("languageCode", languageCode)
26001	return c
26002}
26003
26004// UpdateMask sets the optional parameter "updateMask": The mask to
26005// control which fields get updated. If the mask is not present, all
26006// fields will be updated.
26007func (c *ProjectsLocationsAgentsFlowsPagesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsAgentsFlowsPagesPatchCall {
26008	c.urlParams_.Set("updateMask", updateMask)
26009	return c
26010}
26011
26012// Fields allows partial responses to be retrieved. See
26013// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26014// for more information.
26015func (c *ProjectsLocationsAgentsFlowsPagesPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsFlowsPagesPatchCall {
26016	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26017	return c
26018}
26019
26020// Context sets the context to be used in this call's Do method. Any
26021// pending HTTP request will be aborted if the provided context is
26022// canceled.
26023func (c *ProjectsLocationsAgentsFlowsPagesPatchCall) Context(ctx context.Context) *ProjectsLocationsAgentsFlowsPagesPatchCall {
26024	c.ctx_ = ctx
26025	return c
26026}
26027
26028// Header returns an http.Header that can be modified by the caller to
26029// add HTTP headers to the request.
26030func (c *ProjectsLocationsAgentsFlowsPagesPatchCall) Header() http.Header {
26031	if c.header_ == nil {
26032		c.header_ = make(http.Header)
26033	}
26034	return c.header_
26035}
26036
26037func (c *ProjectsLocationsAgentsFlowsPagesPatchCall) doRequest(alt string) (*http.Response, error) {
26038	reqHeaders := make(http.Header)
26039	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
26040	for k, v := range c.header_ {
26041		reqHeaders[k] = v
26042	}
26043	reqHeaders.Set("User-Agent", c.s.userAgent())
26044	var body io.Reader = nil
26045	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3page)
26046	if err != nil {
26047		return nil, err
26048	}
26049	reqHeaders.Set("Content-Type", "application/json")
26050	c.urlParams_.Set("alt", alt)
26051	c.urlParams_.Set("prettyPrint", "false")
26052	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
26053	urls += "?" + c.urlParams_.Encode()
26054	req, err := http.NewRequest("PATCH", urls, body)
26055	if err != nil {
26056		return nil, err
26057	}
26058	req.Header = reqHeaders
26059	googleapi.Expand(req.URL, map[string]string{
26060		"name": c.nameid,
26061	})
26062	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26063}
26064
26065// Do executes the "dialogflow.projects.locations.agents.flows.pages.patch" call.
26066// Exactly one of *GoogleCloudDialogflowCxV3Page or error will be
26067// non-nil. Any non-2xx status code is an error. Response headers are in
26068// either *GoogleCloudDialogflowCxV3Page.ServerResponse.Header or (if a
26069// response was returned at all) in error.(*googleapi.Error).Header. Use
26070// googleapi.IsNotModified to check whether the returned error was
26071// because http.StatusNotModified was returned.
26072func (c *ProjectsLocationsAgentsFlowsPagesPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3Page, error) {
26073	gensupport.SetOptions(c.urlParams_, opts...)
26074	res, err := c.doRequest("json")
26075	if res != nil && res.StatusCode == http.StatusNotModified {
26076		if res.Body != nil {
26077			res.Body.Close()
26078		}
26079		return nil, &googleapi.Error{
26080			Code:   res.StatusCode,
26081			Header: res.Header,
26082		}
26083	}
26084	if err != nil {
26085		return nil, err
26086	}
26087	defer googleapi.CloseBody(res)
26088	if err := googleapi.CheckResponse(res); err != nil {
26089		return nil, err
26090	}
26091	ret := &GoogleCloudDialogflowCxV3Page{
26092		ServerResponse: googleapi.ServerResponse{
26093			Header:         res.Header,
26094			HTTPStatusCode: res.StatusCode,
26095		},
26096	}
26097	target := &ret
26098	if err := gensupport.DecodeResponse(target, res); err != nil {
26099		return nil, err
26100	}
26101	return ret, nil
26102	// {
26103	//   "description": "Updates the specified page. Note: You should always train a flow prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training).",
26104	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}/pages/{pagesId}",
26105	//   "httpMethod": "PATCH",
26106	//   "id": "dialogflow.projects.locations.agents.flows.pages.patch",
26107	//   "parameterOrder": [
26108	//     "name"
26109	//   ],
26110	//   "parameters": {
26111	//     "languageCode": {
26112	//       "description": "The language of the following fields in `page`: * `Page.entry_fulfillment.messages` * `Page.entry_fulfillment.conditional_cases` * `Page.event_handlers.trigger_fulfillment.messages` * `Page.event_handlers.trigger_fulfillment.conditional_cases` * `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.messages` * `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.conditional_cases` * `Page.form.parameters.fill_behavior.reprompt_event_handlers.messages` * `Page.form.parameters.fill_behavior.reprompt_event_handlers.conditional_cases` * `Page.transition_routes.trigger_fulfillment.messages` * `Page.transition_routes.trigger_fulfillment.conditional_cases` 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.",
26113	//       "location": "query",
26114	//       "type": "string"
26115	//     },
26116	//     "name": {
26117	//       "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/`.",
26118	//       "location": "path",
26119	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+/pages/[^/]+$",
26120	//       "required": true,
26121	//       "type": "string"
26122	//     },
26123	//     "updateMask": {
26124	//       "description": "The mask to control which fields get updated. If the mask is not present, all fields will be updated.",
26125	//       "format": "google-fieldmask",
26126	//       "location": "query",
26127	//       "type": "string"
26128	//     }
26129	//   },
26130	//   "path": "v3/{+name}",
26131	//   "request": {
26132	//     "$ref": "GoogleCloudDialogflowCxV3Page"
26133	//   },
26134	//   "response": {
26135	//     "$ref": "GoogleCloudDialogflowCxV3Page"
26136	//   },
26137	//   "scopes": [
26138	//     "https://www.googleapis.com/auth/cloud-platform",
26139	//     "https://www.googleapis.com/auth/dialogflow"
26140	//   ]
26141	// }
26142
26143}
26144
26145// method id "dialogflow.projects.locations.agents.flows.transitionRouteGroups.create":
26146
26147type ProjectsLocationsAgentsFlowsTransitionRouteGroupsCreateCall struct {
26148	s                                             *Service
26149	parent                                        string
26150	googleclouddialogflowcxv3transitionroutegroup *GoogleCloudDialogflowCxV3TransitionRouteGroup
26151	urlParams_                                    gensupport.URLParams
26152	ctx_                                          context.Context
26153	header_                                       http.Header
26154}
26155
26156// Create: Creates an TransitionRouteGroup in the specified flow. Note:
26157// You should always train a flow prior to sending it queries. See the
26158// training documentation
26159// (https://cloud.google.com/dialogflow/cx/docs/concept/training).
26160//
26161// - parent: The flow to create an TransitionRouteGroup for. Format:
26162//   `projects//locations//agents//flows/`.
26163func (r *ProjectsLocationsAgentsFlowsTransitionRouteGroupsService) Create(parent string, googleclouddialogflowcxv3transitionroutegroup *GoogleCloudDialogflowCxV3TransitionRouteGroup) *ProjectsLocationsAgentsFlowsTransitionRouteGroupsCreateCall {
26164	c := &ProjectsLocationsAgentsFlowsTransitionRouteGroupsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26165	c.parent = parent
26166	c.googleclouddialogflowcxv3transitionroutegroup = googleclouddialogflowcxv3transitionroutegroup
26167	return c
26168}
26169
26170// LanguageCode sets the optional parameter "languageCode": The language
26171// of the following fields in `TransitionRouteGroup`: *
26172// `TransitionRouteGroup.transition_routes.trigger_fulfillment.messages`
26173// *
26174// `TransitionRouteGroup.transition_routes.trigger_fulfillment.conditiona
26175// l_cases` If not specified, the agent's default language is used. Many
26176// languages
26177// (https://cloud.google.com/dialogflow/cx/docs/reference/language) are
26178// supported. Note: languages must be enabled in the agent before they
26179// can be used.
26180func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsCreateCall) LanguageCode(languageCode string) *ProjectsLocationsAgentsFlowsTransitionRouteGroupsCreateCall {
26181	c.urlParams_.Set("languageCode", languageCode)
26182	return c
26183}
26184
26185// Fields allows partial responses to be retrieved. See
26186// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26187// for more information.
26188func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsFlowsTransitionRouteGroupsCreateCall {
26189	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26190	return c
26191}
26192
26193// Context sets the context to be used in this call's Do method. Any
26194// pending HTTP request will be aborted if the provided context is
26195// canceled.
26196func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsCreateCall) Context(ctx context.Context) *ProjectsLocationsAgentsFlowsTransitionRouteGroupsCreateCall {
26197	c.ctx_ = ctx
26198	return c
26199}
26200
26201// Header returns an http.Header that can be modified by the caller to
26202// add HTTP headers to the request.
26203func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsCreateCall) Header() http.Header {
26204	if c.header_ == nil {
26205		c.header_ = make(http.Header)
26206	}
26207	return c.header_
26208}
26209
26210func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsCreateCall) doRequest(alt string) (*http.Response, error) {
26211	reqHeaders := make(http.Header)
26212	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
26213	for k, v := range c.header_ {
26214		reqHeaders[k] = v
26215	}
26216	reqHeaders.Set("User-Agent", c.s.userAgent())
26217	var body io.Reader = nil
26218	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3transitionroutegroup)
26219	if err != nil {
26220		return nil, err
26221	}
26222	reqHeaders.Set("Content-Type", "application/json")
26223	c.urlParams_.Set("alt", alt)
26224	c.urlParams_.Set("prettyPrint", "false")
26225	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/transitionRouteGroups")
26226	urls += "?" + c.urlParams_.Encode()
26227	req, err := http.NewRequest("POST", urls, body)
26228	if err != nil {
26229		return nil, err
26230	}
26231	req.Header = reqHeaders
26232	googleapi.Expand(req.URL, map[string]string{
26233		"parent": c.parent,
26234	})
26235	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26236}
26237
26238// Do executes the "dialogflow.projects.locations.agents.flows.transitionRouteGroups.create" call.
26239// Exactly one of *GoogleCloudDialogflowCxV3TransitionRouteGroup or
26240// error will be non-nil. Any non-2xx status code is an error. Response
26241// headers are in either
26242// *GoogleCloudDialogflowCxV3TransitionRouteGroup.ServerResponse.Header
26243// or (if a response was returned at all) in
26244// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
26245// whether the returned error was because http.StatusNotModified was
26246// returned.
26247func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3TransitionRouteGroup, error) {
26248	gensupport.SetOptions(c.urlParams_, opts...)
26249	res, err := c.doRequest("json")
26250	if res != nil && res.StatusCode == http.StatusNotModified {
26251		if res.Body != nil {
26252			res.Body.Close()
26253		}
26254		return nil, &googleapi.Error{
26255			Code:   res.StatusCode,
26256			Header: res.Header,
26257		}
26258	}
26259	if err != nil {
26260		return nil, err
26261	}
26262	defer googleapi.CloseBody(res)
26263	if err := googleapi.CheckResponse(res); err != nil {
26264		return nil, err
26265	}
26266	ret := &GoogleCloudDialogflowCxV3TransitionRouteGroup{
26267		ServerResponse: googleapi.ServerResponse{
26268			Header:         res.Header,
26269			HTTPStatusCode: res.StatusCode,
26270		},
26271	}
26272	target := &ret
26273	if err := gensupport.DecodeResponse(target, res); err != nil {
26274		return nil, err
26275	}
26276	return ret, nil
26277	// {
26278	//   "description": "Creates an TransitionRouteGroup in the specified flow. Note: You should always train a flow prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training).",
26279	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}/transitionRouteGroups",
26280	//   "httpMethod": "POST",
26281	//   "id": "dialogflow.projects.locations.agents.flows.transitionRouteGroups.create",
26282	//   "parameterOrder": [
26283	//     "parent"
26284	//   ],
26285	//   "parameters": {
26286	//     "languageCode": {
26287	//       "description": "The language of the following fields in `TransitionRouteGroup`: * `TransitionRouteGroup.transition_routes.trigger_fulfillment.messages` * `TransitionRouteGroup.transition_routes.trigger_fulfillment.conditional_cases` 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.",
26288	//       "location": "query",
26289	//       "type": "string"
26290	//     },
26291	//     "parent": {
26292	//       "description": "Required. The flow to create an TransitionRouteGroup for. Format: `projects//locations//agents//flows/`.",
26293	//       "location": "path",
26294	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+$",
26295	//       "required": true,
26296	//       "type": "string"
26297	//     }
26298	//   },
26299	//   "path": "v3/{+parent}/transitionRouteGroups",
26300	//   "request": {
26301	//     "$ref": "GoogleCloudDialogflowCxV3TransitionRouteGroup"
26302	//   },
26303	//   "response": {
26304	//     "$ref": "GoogleCloudDialogflowCxV3TransitionRouteGroup"
26305	//   },
26306	//   "scopes": [
26307	//     "https://www.googleapis.com/auth/cloud-platform",
26308	//     "https://www.googleapis.com/auth/dialogflow"
26309	//   ]
26310	// }
26311
26312}
26313
26314// method id "dialogflow.projects.locations.agents.flows.transitionRouteGroups.delete":
26315
26316type ProjectsLocationsAgentsFlowsTransitionRouteGroupsDeleteCall struct {
26317	s          *Service
26318	name       string
26319	urlParams_ gensupport.URLParams
26320	ctx_       context.Context
26321	header_    http.Header
26322}
26323
26324// Delete: Deletes the specified TransitionRouteGroup. Note: You should
26325// always train a flow prior to sending it queries. See the training
26326// documentation
26327// (https://cloud.google.com/dialogflow/cx/docs/concept/training).
26328//
26329// - name: The name of the TransitionRouteGroup to delete. Format:
26330//   `projects//locations//agents//flows//transitionRouteGroups/`.
26331func (r *ProjectsLocationsAgentsFlowsTransitionRouteGroupsService) Delete(name string) *ProjectsLocationsAgentsFlowsTransitionRouteGroupsDeleteCall {
26332	c := &ProjectsLocationsAgentsFlowsTransitionRouteGroupsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26333	c.name = name
26334	return c
26335}
26336
26337// Force sets the optional parameter "force": This field has no effect
26338// for transition route group that no page is using. If the transition
26339// route group is referenced by any page: * If `force` is set to false,
26340// an error will be returned with message indicating pages that
26341// reference the transition route group. * If `force` is set to true,
26342// Dialogflow will remove the transition route group, as well as any
26343// reference to it.
26344func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsDeleteCall) Force(force bool) *ProjectsLocationsAgentsFlowsTransitionRouteGroupsDeleteCall {
26345	c.urlParams_.Set("force", fmt.Sprint(force))
26346	return c
26347}
26348
26349// Fields allows partial responses to be retrieved. See
26350// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26351// for more information.
26352func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsFlowsTransitionRouteGroupsDeleteCall {
26353	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26354	return c
26355}
26356
26357// Context sets the context to be used in this call's Do method. Any
26358// pending HTTP request will be aborted if the provided context is
26359// canceled.
26360func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsDeleteCall) Context(ctx context.Context) *ProjectsLocationsAgentsFlowsTransitionRouteGroupsDeleteCall {
26361	c.ctx_ = ctx
26362	return c
26363}
26364
26365// Header returns an http.Header that can be modified by the caller to
26366// add HTTP headers to the request.
26367func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsDeleteCall) Header() http.Header {
26368	if c.header_ == nil {
26369		c.header_ = make(http.Header)
26370	}
26371	return c.header_
26372}
26373
26374func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
26375	reqHeaders := make(http.Header)
26376	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
26377	for k, v := range c.header_ {
26378		reqHeaders[k] = v
26379	}
26380	reqHeaders.Set("User-Agent", c.s.userAgent())
26381	var body io.Reader = nil
26382	c.urlParams_.Set("alt", alt)
26383	c.urlParams_.Set("prettyPrint", "false")
26384	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
26385	urls += "?" + c.urlParams_.Encode()
26386	req, err := http.NewRequest("DELETE", urls, body)
26387	if err != nil {
26388		return nil, err
26389	}
26390	req.Header = reqHeaders
26391	googleapi.Expand(req.URL, map[string]string{
26392		"name": c.name,
26393	})
26394	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26395}
26396
26397// Do executes the "dialogflow.projects.locations.agents.flows.transitionRouteGroups.delete" call.
26398// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
26399// non-2xx status code is an error. Response headers are in either
26400// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
26401// returned at all) in error.(*googleapi.Error).Header. Use
26402// googleapi.IsNotModified to check whether the returned error was
26403// because http.StatusNotModified was returned.
26404func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
26405	gensupport.SetOptions(c.urlParams_, opts...)
26406	res, err := c.doRequest("json")
26407	if res != nil && res.StatusCode == http.StatusNotModified {
26408		if res.Body != nil {
26409			res.Body.Close()
26410		}
26411		return nil, &googleapi.Error{
26412			Code:   res.StatusCode,
26413			Header: res.Header,
26414		}
26415	}
26416	if err != nil {
26417		return nil, err
26418	}
26419	defer googleapi.CloseBody(res)
26420	if err := googleapi.CheckResponse(res); err != nil {
26421		return nil, err
26422	}
26423	ret := &GoogleProtobufEmpty{
26424		ServerResponse: googleapi.ServerResponse{
26425			Header:         res.Header,
26426			HTTPStatusCode: res.StatusCode,
26427		},
26428	}
26429	target := &ret
26430	if err := gensupport.DecodeResponse(target, res); err != nil {
26431		return nil, err
26432	}
26433	return ret, nil
26434	// {
26435	//   "description": "Deletes the specified TransitionRouteGroup. Note: You should always train a flow prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training).",
26436	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}/transitionRouteGroups/{transitionRouteGroupsId}",
26437	//   "httpMethod": "DELETE",
26438	//   "id": "dialogflow.projects.locations.agents.flows.transitionRouteGroups.delete",
26439	//   "parameterOrder": [
26440	//     "name"
26441	//   ],
26442	//   "parameters": {
26443	//     "force": {
26444	//       "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.",
26445	//       "location": "query",
26446	//       "type": "boolean"
26447	//     },
26448	//     "name": {
26449	//       "description": "Required. The name of the TransitionRouteGroup to delete. Format: `projects//locations//agents//flows//transitionRouteGroups/`.",
26450	//       "location": "path",
26451	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+/transitionRouteGroups/[^/]+$",
26452	//       "required": true,
26453	//       "type": "string"
26454	//     }
26455	//   },
26456	//   "path": "v3/{+name}",
26457	//   "response": {
26458	//     "$ref": "GoogleProtobufEmpty"
26459	//   },
26460	//   "scopes": [
26461	//     "https://www.googleapis.com/auth/cloud-platform",
26462	//     "https://www.googleapis.com/auth/dialogflow"
26463	//   ]
26464	// }
26465
26466}
26467
26468// method id "dialogflow.projects.locations.agents.flows.transitionRouteGroups.get":
26469
26470type ProjectsLocationsAgentsFlowsTransitionRouteGroupsGetCall struct {
26471	s            *Service
26472	name         string
26473	urlParams_   gensupport.URLParams
26474	ifNoneMatch_ string
26475	ctx_         context.Context
26476	header_      http.Header
26477}
26478
26479// Get: Retrieves the specified TransitionRouteGroup.
26480//
26481// - name: The name of the TransitionRouteGroup. Format:
26482//   `projects//locations//agents//flows//transitionRouteGroups/`.
26483func (r *ProjectsLocationsAgentsFlowsTransitionRouteGroupsService) Get(name string) *ProjectsLocationsAgentsFlowsTransitionRouteGroupsGetCall {
26484	c := &ProjectsLocationsAgentsFlowsTransitionRouteGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26485	c.name = name
26486	return c
26487}
26488
26489// LanguageCode sets the optional parameter "languageCode": The language
26490// to retrieve the transition route group for. The following fields are
26491// language dependent: *
26492// `TransitionRouteGroup.transition_routes.trigger_fulfillment.messages`
26493// *
26494// `TransitionRouteGroup.transition_routes.trigger_fulfillment.conditiona
26495// l_cases` If not specified, the agent's default language is used. Many
26496// languages
26497// (https://cloud.google.com/dialogflow/cx/docs/reference/language) are
26498// supported. Note: languages must be enabled in the agent before they
26499// can be used.
26500func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsGetCall) LanguageCode(languageCode string) *ProjectsLocationsAgentsFlowsTransitionRouteGroupsGetCall {
26501	c.urlParams_.Set("languageCode", languageCode)
26502	return c
26503}
26504
26505// Fields allows partial responses to be retrieved. See
26506// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26507// for more information.
26508func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsFlowsTransitionRouteGroupsGetCall {
26509	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26510	return c
26511}
26512
26513// IfNoneMatch sets the optional parameter which makes the operation
26514// fail if the object's ETag matches the given value. This is useful for
26515// getting updates only after the object has changed since the last
26516// request. Use googleapi.IsNotModified to check whether the response
26517// error from Do is the result of In-None-Match.
26518func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsFlowsTransitionRouteGroupsGetCall {
26519	c.ifNoneMatch_ = entityTag
26520	return c
26521}
26522
26523// Context sets the context to be used in this call's Do method. Any
26524// pending HTTP request will be aborted if the provided context is
26525// canceled.
26526func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsGetCall) Context(ctx context.Context) *ProjectsLocationsAgentsFlowsTransitionRouteGroupsGetCall {
26527	c.ctx_ = ctx
26528	return c
26529}
26530
26531// Header returns an http.Header that can be modified by the caller to
26532// add HTTP headers to the request.
26533func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsGetCall) Header() http.Header {
26534	if c.header_ == nil {
26535		c.header_ = make(http.Header)
26536	}
26537	return c.header_
26538}
26539
26540func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsGetCall) doRequest(alt string) (*http.Response, error) {
26541	reqHeaders := make(http.Header)
26542	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
26543	for k, v := range c.header_ {
26544		reqHeaders[k] = v
26545	}
26546	reqHeaders.Set("User-Agent", c.s.userAgent())
26547	if c.ifNoneMatch_ != "" {
26548		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
26549	}
26550	var body io.Reader = nil
26551	c.urlParams_.Set("alt", alt)
26552	c.urlParams_.Set("prettyPrint", "false")
26553	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
26554	urls += "?" + c.urlParams_.Encode()
26555	req, err := http.NewRequest("GET", urls, body)
26556	if err != nil {
26557		return nil, err
26558	}
26559	req.Header = reqHeaders
26560	googleapi.Expand(req.URL, map[string]string{
26561		"name": c.name,
26562	})
26563	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26564}
26565
26566// Do executes the "dialogflow.projects.locations.agents.flows.transitionRouteGroups.get" call.
26567// Exactly one of *GoogleCloudDialogflowCxV3TransitionRouteGroup or
26568// error will be non-nil. Any non-2xx status code is an error. Response
26569// headers are in either
26570// *GoogleCloudDialogflowCxV3TransitionRouteGroup.ServerResponse.Header
26571// or (if a response was returned at all) in
26572// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
26573// whether the returned error was because http.StatusNotModified was
26574// returned.
26575func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3TransitionRouteGroup, error) {
26576	gensupport.SetOptions(c.urlParams_, opts...)
26577	res, err := c.doRequest("json")
26578	if res != nil && res.StatusCode == http.StatusNotModified {
26579		if res.Body != nil {
26580			res.Body.Close()
26581		}
26582		return nil, &googleapi.Error{
26583			Code:   res.StatusCode,
26584			Header: res.Header,
26585		}
26586	}
26587	if err != nil {
26588		return nil, err
26589	}
26590	defer googleapi.CloseBody(res)
26591	if err := googleapi.CheckResponse(res); err != nil {
26592		return nil, err
26593	}
26594	ret := &GoogleCloudDialogflowCxV3TransitionRouteGroup{
26595		ServerResponse: googleapi.ServerResponse{
26596			Header:         res.Header,
26597			HTTPStatusCode: res.StatusCode,
26598		},
26599	}
26600	target := &ret
26601	if err := gensupport.DecodeResponse(target, res); err != nil {
26602		return nil, err
26603	}
26604	return ret, nil
26605	// {
26606	//   "description": "Retrieves the specified TransitionRouteGroup.",
26607	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}/transitionRouteGroups/{transitionRouteGroupsId}",
26608	//   "httpMethod": "GET",
26609	//   "id": "dialogflow.projects.locations.agents.flows.transitionRouteGroups.get",
26610	//   "parameterOrder": [
26611	//     "name"
26612	//   ],
26613	//   "parameters": {
26614	//     "languageCode": {
26615	//       "description": "The language to retrieve the transition route group for. The following fields are language dependent: * `TransitionRouteGroup.transition_routes.trigger_fulfillment.messages` * `TransitionRouteGroup.transition_routes.trigger_fulfillment.conditional_cases` 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.",
26616	//       "location": "query",
26617	//       "type": "string"
26618	//     },
26619	//     "name": {
26620	//       "description": "Required. The name of the TransitionRouteGroup. Format: `projects//locations//agents//flows//transitionRouteGroups/`.",
26621	//       "location": "path",
26622	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+/transitionRouteGroups/[^/]+$",
26623	//       "required": true,
26624	//       "type": "string"
26625	//     }
26626	//   },
26627	//   "path": "v3/{+name}",
26628	//   "response": {
26629	//     "$ref": "GoogleCloudDialogflowCxV3TransitionRouteGroup"
26630	//   },
26631	//   "scopes": [
26632	//     "https://www.googleapis.com/auth/cloud-platform",
26633	//     "https://www.googleapis.com/auth/dialogflow"
26634	//   ]
26635	// }
26636
26637}
26638
26639// method id "dialogflow.projects.locations.agents.flows.transitionRouteGroups.list":
26640
26641type ProjectsLocationsAgentsFlowsTransitionRouteGroupsListCall struct {
26642	s            *Service
26643	parent       string
26644	urlParams_   gensupport.URLParams
26645	ifNoneMatch_ string
26646	ctx_         context.Context
26647	header_      http.Header
26648}
26649
26650// List: Returns the list of all transition route groups in the
26651// specified flow.
26652//
26653// - parent: The flow to list all transition route groups for. Format:
26654//   `projects//locations//agents//flows/`.
26655func (r *ProjectsLocationsAgentsFlowsTransitionRouteGroupsService) List(parent string) *ProjectsLocationsAgentsFlowsTransitionRouteGroupsListCall {
26656	c := &ProjectsLocationsAgentsFlowsTransitionRouteGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26657	c.parent = parent
26658	return c
26659}
26660
26661// LanguageCode sets the optional parameter "languageCode": The language
26662// to list transition route groups for. The following fields are
26663// language dependent: *
26664// `TransitionRouteGroup.transition_routes.trigger_fulfillment.messages`
26665// *
26666// `TransitionRouteGroup.transition_routes.trigger_fulfillment.conditiona
26667// l_cases` If not specified, the agent's default language is used. Many
26668// languages
26669// (https://cloud.google.com/dialogflow/cx/docs/reference/language) are
26670// supported. Note: languages must be enabled in the agent before they
26671// can be used.
26672func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsListCall) LanguageCode(languageCode string) *ProjectsLocationsAgentsFlowsTransitionRouteGroupsListCall {
26673	c.urlParams_.Set("languageCode", languageCode)
26674	return c
26675}
26676
26677// PageSize sets the optional parameter "pageSize": The maximum number
26678// of items to return in a single page. By default 100 and at most 1000.
26679func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsListCall) PageSize(pageSize int64) *ProjectsLocationsAgentsFlowsTransitionRouteGroupsListCall {
26680	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
26681	return c
26682}
26683
26684// PageToken sets the optional parameter "pageToken": The
26685// next_page_token value returned from a previous list request.
26686func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsListCall) PageToken(pageToken string) *ProjectsLocationsAgentsFlowsTransitionRouteGroupsListCall {
26687	c.urlParams_.Set("pageToken", pageToken)
26688	return c
26689}
26690
26691// Fields allows partial responses to be retrieved. See
26692// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26693// for more information.
26694func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsFlowsTransitionRouteGroupsListCall {
26695	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26696	return c
26697}
26698
26699// IfNoneMatch sets the optional parameter which makes the operation
26700// fail if the object's ETag matches the given value. This is useful for
26701// getting updates only after the object has changed since the last
26702// request. Use googleapi.IsNotModified to check whether the response
26703// error from Do is the result of In-None-Match.
26704func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsFlowsTransitionRouteGroupsListCall {
26705	c.ifNoneMatch_ = entityTag
26706	return c
26707}
26708
26709// Context sets the context to be used in this call's Do method. Any
26710// pending HTTP request will be aborted if the provided context is
26711// canceled.
26712func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsListCall) Context(ctx context.Context) *ProjectsLocationsAgentsFlowsTransitionRouteGroupsListCall {
26713	c.ctx_ = ctx
26714	return c
26715}
26716
26717// Header returns an http.Header that can be modified by the caller to
26718// add HTTP headers to the request.
26719func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsListCall) Header() http.Header {
26720	if c.header_ == nil {
26721		c.header_ = make(http.Header)
26722	}
26723	return c.header_
26724}
26725
26726func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsListCall) doRequest(alt string) (*http.Response, error) {
26727	reqHeaders := make(http.Header)
26728	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
26729	for k, v := range c.header_ {
26730		reqHeaders[k] = v
26731	}
26732	reqHeaders.Set("User-Agent", c.s.userAgent())
26733	if c.ifNoneMatch_ != "" {
26734		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
26735	}
26736	var body io.Reader = nil
26737	c.urlParams_.Set("alt", alt)
26738	c.urlParams_.Set("prettyPrint", "false")
26739	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/transitionRouteGroups")
26740	urls += "?" + c.urlParams_.Encode()
26741	req, err := http.NewRequest("GET", urls, body)
26742	if err != nil {
26743		return nil, err
26744	}
26745	req.Header = reqHeaders
26746	googleapi.Expand(req.URL, map[string]string{
26747		"parent": c.parent,
26748	})
26749	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26750}
26751
26752// Do executes the "dialogflow.projects.locations.agents.flows.transitionRouteGroups.list" call.
26753// Exactly one of
26754// *GoogleCloudDialogflowCxV3ListTransitionRouteGroupsResponse or error
26755// will be non-nil. Any non-2xx status code is an error. Response
26756// headers are in either
26757// *GoogleCloudDialogflowCxV3ListTransitionRouteGroupsResponse.ServerResp
26758// onse.Header or (if a response was returned at all) in
26759// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
26760// whether the returned error was because http.StatusNotModified was
26761// returned.
26762func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3ListTransitionRouteGroupsResponse, error) {
26763	gensupport.SetOptions(c.urlParams_, opts...)
26764	res, err := c.doRequest("json")
26765	if res != nil && res.StatusCode == http.StatusNotModified {
26766		if res.Body != nil {
26767			res.Body.Close()
26768		}
26769		return nil, &googleapi.Error{
26770			Code:   res.StatusCode,
26771			Header: res.Header,
26772		}
26773	}
26774	if err != nil {
26775		return nil, err
26776	}
26777	defer googleapi.CloseBody(res)
26778	if err := googleapi.CheckResponse(res); err != nil {
26779		return nil, err
26780	}
26781	ret := &GoogleCloudDialogflowCxV3ListTransitionRouteGroupsResponse{
26782		ServerResponse: googleapi.ServerResponse{
26783			Header:         res.Header,
26784			HTTPStatusCode: res.StatusCode,
26785		},
26786	}
26787	target := &ret
26788	if err := gensupport.DecodeResponse(target, res); err != nil {
26789		return nil, err
26790	}
26791	return ret, nil
26792	// {
26793	//   "description": "Returns the list of all transition route groups in the specified flow.",
26794	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}/transitionRouteGroups",
26795	//   "httpMethod": "GET",
26796	//   "id": "dialogflow.projects.locations.agents.flows.transitionRouteGroups.list",
26797	//   "parameterOrder": [
26798	//     "parent"
26799	//   ],
26800	//   "parameters": {
26801	//     "languageCode": {
26802	//       "description": "The language to list transition route groups for. The following fields are language dependent: * `TransitionRouteGroup.transition_routes.trigger_fulfillment.messages` * `TransitionRouteGroup.transition_routes.trigger_fulfillment.conditional_cases` 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.",
26803	//       "location": "query",
26804	//       "type": "string"
26805	//     },
26806	//     "pageSize": {
26807	//       "description": "The maximum number of items to return in a single page. By default 100 and at most 1000.",
26808	//       "format": "int32",
26809	//       "location": "query",
26810	//       "type": "integer"
26811	//     },
26812	//     "pageToken": {
26813	//       "description": "The next_page_token value returned from a previous list request.",
26814	//       "location": "query",
26815	//       "type": "string"
26816	//     },
26817	//     "parent": {
26818	//       "description": "Required. The flow to list all transition route groups for. Format: `projects//locations//agents//flows/`.",
26819	//       "location": "path",
26820	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+$",
26821	//       "required": true,
26822	//       "type": "string"
26823	//     }
26824	//   },
26825	//   "path": "v3/{+parent}/transitionRouteGroups",
26826	//   "response": {
26827	//     "$ref": "GoogleCloudDialogflowCxV3ListTransitionRouteGroupsResponse"
26828	//   },
26829	//   "scopes": [
26830	//     "https://www.googleapis.com/auth/cloud-platform",
26831	//     "https://www.googleapis.com/auth/dialogflow"
26832	//   ]
26833	// }
26834
26835}
26836
26837// Pages invokes f for each page of results.
26838// A non-nil error returned from f will halt the iteration.
26839// The provided context supersedes any context provided to the Context method.
26840func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsListCall) Pages(ctx context.Context, f func(*GoogleCloudDialogflowCxV3ListTransitionRouteGroupsResponse) error) error {
26841	c.ctx_ = ctx
26842	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
26843	for {
26844		x, err := c.Do()
26845		if err != nil {
26846			return err
26847		}
26848		if err := f(x); err != nil {
26849			return err
26850		}
26851		if x.NextPageToken == "" {
26852			return nil
26853		}
26854		c.PageToken(x.NextPageToken)
26855	}
26856}
26857
26858// method id "dialogflow.projects.locations.agents.flows.transitionRouteGroups.patch":
26859
26860type ProjectsLocationsAgentsFlowsTransitionRouteGroupsPatchCall struct {
26861	s                                             *Service
26862	nameid                                        string
26863	googleclouddialogflowcxv3transitionroutegroup *GoogleCloudDialogflowCxV3TransitionRouteGroup
26864	urlParams_                                    gensupport.URLParams
26865	ctx_                                          context.Context
26866	header_                                       http.Header
26867}
26868
26869// Patch: Updates the specified TransitionRouteGroup. Note: You should
26870// always train a flow prior to sending it queries. See the training
26871// documentation
26872// (https://cloud.google.com/dialogflow/cx/docs/concept/training).
26873//
26874// - name: The unique identifier of the transition route group.
26875//   TransitionRouteGroups.CreateTransitionRouteGroup populates the name
26876//   automatically. Format:
26877//   `projects//locations//agents//flows//transitionRouteGroups/`.
26878func (r *ProjectsLocationsAgentsFlowsTransitionRouteGroupsService) Patch(nameid string, googleclouddialogflowcxv3transitionroutegroup *GoogleCloudDialogflowCxV3TransitionRouteGroup) *ProjectsLocationsAgentsFlowsTransitionRouteGroupsPatchCall {
26879	c := &ProjectsLocationsAgentsFlowsTransitionRouteGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26880	c.nameid = nameid
26881	c.googleclouddialogflowcxv3transitionroutegroup = googleclouddialogflowcxv3transitionroutegroup
26882	return c
26883}
26884
26885// LanguageCode sets the optional parameter "languageCode": The language
26886// of the following fields in `TransitionRouteGroup`: *
26887// `TransitionRouteGroup.transition_routes.trigger_fulfillment.messages`
26888// *
26889// `TransitionRouteGroup.transition_routes.trigger_fulfillment.conditiona
26890// l_cases` If not specified, the agent's default language is used. Many
26891// languages
26892// (https://cloud.google.com/dialogflow/cx/docs/reference/language) are
26893// supported. Note: languages must be enabled in the agent before they
26894// can be used.
26895func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsPatchCall) LanguageCode(languageCode string) *ProjectsLocationsAgentsFlowsTransitionRouteGroupsPatchCall {
26896	c.urlParams_.Set("languageCode", languageCode)
26897	return c
26898}
26899
26900// UpdateMask sets the optional parameter "updateMask": The mask to
26901// control which fields get updated.
26902func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsAgentsFlowsTransitionRouteGroupsPatchCall {
26903	c.urlParams_.Set("updateMask", updateMask)
26904	return c
26905}
26906
26907// Fields allows partial responses to be retrieved. See
26908// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26909// for more information.
26910func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsFlowsTransitionRouteGroupsPatchCall {
26911	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26912	return c
26913}
26914
26915// Context sets the context to be used in this call's Do method. Any
26916// pending HTTP request will be aborted if the provided context is
26917// canceled.
26918func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsPatchCall) Context(ctx context.Context) *ProjectsLocationsAgentsFlowsTransitionRouteGroupsPatchCall {
26919	c.ctx_ = ctx
26920	return c
26921}
26922
26923// Header returns an http.Header that can be modified by the caller to
26924// add HTTP headers to the request.
26925func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsPatchCall) Header() http.Header {
26926	if c.header_ == nil {
26927		c.header_ = make(http.Header)
26928	}
26929	return c.header_
26930}
26931
26932func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
26933	reqHeaders := make(http.Header)
26934	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
26935	for k, v := range c.header_ {
26936		reqHeaders[k] = v
26937	}
26938	reqHeaders.Set("User-Agent", c.s.userAgent())
26939	var body io.Reader = nil
26940	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3transitionroutegroup)
26941	if err != nil {
26942		return nil, err
26943	}
26944	reqHeaders.Set("Content-Type", "application/json")
26945	c.urlParams_.Set("alt", alt)
26946	c.urlParams_.Set("prettyPrint", "false")
26947	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
26948	urls += "?" + c.urlParams_.Encode()
26949	req, err := http.NewRequest("PATCH", urls, body)
26950	if err != nil {
26951		return nil, err
26952	}
26953	req.Header = reqHeaders
26954	googleapi.Expand(req.URL, map[string]string{
26955		"name": c.nameid,
26956	})
26957	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26958}
26959
26960// Do executes the "dialogflow.projects.locations.agents.flows.transitionRouteGroups.patch" call.
26961// Exactly one of *GoogleCloudDialogflowCxV3TransitionRouteGroup or
26962// error will be non-nil. Any non-2xx status code is an error. Response
26963// headers are in either
26964// *GoogleCloudDialogflowCxV3TransitionRouteGroup.ServerResponse.Header
26965// or (if a response was returned at all) in
26966// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
26967// whether the returned error was because http.StatusNotModified was
26968// returned.
26969func (c *ProjectsLocationsAgentsFlowsTransitionRouteGroupsPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3TransitionRouteGroup, error) {
26970	gensupport.SetOptions(c.urlParams_, opts...)
26971	res, err := c.doRequest("json")
26972	if res != nil && res.StatusCode == http.StatusNotModified {
26973		if res.Body != nil {
26974			res.Body.Close()
26975		}
26976		return nil, &googleapi.Error{
26977			Code:   res.StatusCode,
26978			Header: res.Header,
26979		}
26980	}
26981	if err != nil {
26982		return nil, err
26983	}
26984	defer googleapi.CloseBody(res)
26985	if err := googleapi.CheckResponse(res); err != nil {
26986		return nil, err
26987	}
26988	ret := &GoogleCloudDialogflowCxV3TransitionRouteGroup{
26989		ServerResponse: googleapi.ServerResponse{
26990			Header:         res.Header,
26991			HTTPStatusCode: res.StatusCode,
26992		},
26993	}
26994	target := &ret
26995	if err := gensupport.DecodeResponse(target, res); err != nil {
26996		return nil, err
26997	}
26998	return ret, nil
26999	// {
27000	//   "description": "Updates the specified TransitionRouteGroup. Note: You should always train a flow prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training).",
27001	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}/transitionRouteGroups/{transitionRouteGroupsId}",
27002	//   "httpMethod": "PATCH",
27003	//   "id": "dialogflow.projects.locations.agents.flows.transitionRouteGroups.patch",
27004	//   "parameterOrder": [
27005	//     "name"
27006	//   ],
27007	//   "parameters": {
27008	//     "languageCode": {
27009	//       "description": "The language of the following fields in `TransitionRouteGroup`: * `TransitionRouteGroup.transition_routes.trigger_fulfillment.messages` * `TransitionRouteGroup.transition_routes.trigger_fulfillment.conditional_cases` 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.",
27010	//       "location": "query",
27011	//       "type": "string"
27012	//     },
27013	//     "name": {
27014	//       "description": "The unique identifier of the transition route group. TransitionRouteGroups.CreateTransitionRouteGroup populates the name automatically. Format: `projects//locations//agents//flows//transitionRouteGroups/`.",
27015	//       "location": "path",
27016	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+/transitionRouteGroups/[^/]+$",
27017	//       "required": true,
27018	//       "type": "string"
27019	//     },
27020	//     "updateMask": {
27021	//       "description": "The mask to control which fields get updated.",
27022	//       "format": "google-fieldmask",
27023	//       "location": "query",
27024	//       "type": "string"
27025	//     }
27026	//   },
27027	//   "path": "v3/{+name}",
27028	//   "request": {
27029	//     "$ref": "GoogleCloudDialogflowCxV3TransitionRouteGroup"
27030	//   },
27031	//   "response": {
27032	//     "$ref": "GoogleCloudDialogflowCxV3TransitionRouteGroup"
27033	//   },
27034	//   "scopes": [
27035	//     "https://www.googleapis.com/auth/cloud-platform",
27036	//     "https://www.googleapis.com/auth/dialogflow"
27037	//   ]
27038	// }
27039
27040}
27041
27042// method id "dialogflow.projects.locations.agents.flows.versions.create":
27043
27044type ProjectsLocationsAgentsFlowsVersionsCreateCall struct {
27045	s                                *Service
27046	parent                           string
27047	googleclouddialogflowcxv3version *GoogleCloudDialogflowCxV3Version
27048	urlParams_                       gensupport.URLParams
27049	ctx_                             context.Context
27050	header_                          http.Header
27051}
27052
27053// Create: Creates a Version in the specified Flow.
27054//
27055// - parent: The Flow to create an Version for. Format:
27056//   `projects//locations//agents//flows/`.
27057func (r *ProjectsLocationsAgentsFlowsVersionsService) Create(parent string, googleclouddialogflowcxv3version *GoogleCloudDialogflowCxV3Version) *ProjectsLocationsAgentsFlowsVersionsCreateCall {
27058	c := &ProjectsLocationsAgentsFlowsVersionsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27059	c.parent = parent
27060	c.googleclouddialogflowcxv3version = googleclouddialogflowcxv3version
27061	return c
27062}
27063
27064// Fields allows partial responses to be retrieved. See
27065// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27066// for more information.
27067func (c *ProjectsLocationsAgentsFlowsVersionsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsFlowsVersionsCreateCall {
27068	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27069	return c
27070}
27071
27072// Context sets the context to be used in this call's Do method. Any
27073// pending HTTP request will be aborted if the provided context is
27074// canceled.
27075func (c *ProjectsLocationsAgentsFlowsVersionsCreateCall) Context(ctx context.Context) *ProjectsLocationsAgentsFlowsVersionsCreateCall {
27076	c.ctx_ = ctx
27077	return c
27078}
27079
27080// Header returns an http.Header that can be modified by the caller to
27081// add HTTP headers to the request.
27082func (c *ProjectsLocationsAgentsFlowsVersionsCreateCall) Header() http.Header {
27083	if c.header_ == nil {
27084		c.header_ = make(http.Header)
27085	}
27086	return c.header_
27087}
27088
27089func (c *ProjectsLocationsAgentsFlowsVersionsCreateCall) doRequest(alt string) (*http.Response, error) {
27090	reqHeaders := make(http.Header)
27091	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
27092	for k, v := range c.header_ {
27093		reqHeaders[k] = v
27094	}
27095	reqHeaders.Set("User-Agent", c.s.userAgent())
27096	var body io.Reader = nil
27097	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3version)
27098	if err != nil {
27099		return nil, err
27100	}
27101	reqHeaders.Set("Content-Type", "application/json")
27102	c.urlParams_.Set("alt", alt)
27103	c.urlParams_.Set("prettyPrint", "false")
27104	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/versions")
27105	urls += "?" + c.urlParams_.Encode()
27106	req, err := http.NewRequest("POST", urls, body)
27107	if err != nil {
27108		return nil, err
27109	}
27110	req.Header = reqHeaders
27111	googleapi.Expand(req.URL, map[string]string{
27112		"parent": c.parent,
27113	})
27114	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27115}
27116
27117// Do executes the "dialogflow.projects.locations.agents.flows.versions.create" call.
27118// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
27119// Any non-2xx status code is an error. Response headers are in either
27120// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
27121// was returned at all) in error.(*googleapi.Error).Header. Use
27122// googleapi.IsNotModified to check whether the returned error was
27123// because http.StatusNotModified was returned.
27124func (c *ProjectsLocationsAgentsFlowsVersionsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
27125	gensupport.SetOptions(c.urlParams_, opts...)
27126	res, err := c.doRequest("json")
27127	if res != nil && res.StatusCode == http.StatusNotModified {
27128		if res.Body != nil {
27129			res.Body.Close()
27130		}
27131		return nil, &googleapi.Error{
27132			Code:   res.StatusCode,
27133			Header: res.Header,
27134		}
27135	}
27136	if err != nil {
27137		return nil, err
27138	}
27139	defer googleapi.CloseBody(res)
27140	if err := googleapi.CheckResponse(res); err != nil {
27141		return nil, err
27142	}
27143	ret := &GoogleLongrunningOperation{
27144		ServerResponse: googleapi.ServerResponse{
27145			Header:         res.Header,
27146			HTTPStatusCode: res.StatusCode,
27147		},
27148	}
27149	target := &ret
27150	if err := gensupport.DecodeResponse(target, res); err != nil {
27151		return nil, err
27152	}
27153	return ret, nil
27154	// {
27155	//   "description": "Creates a Version in the specified Flow.",
27156	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}/versions",
27157	//   "httpMethod": "POST",
27158	//   "id": "dialogflow.projects.locations.agents.flows.versions.create",
27159	//   "parameterOrder": [
27160	//     "parent"
27161	//   ],
27162	//   "parameters": {
27163	//     "parent": {
27164	//       "description": "Required. The Flow to create an Version for. Format: `projects//locations//agents//flows/`.",
27165	//       "location": "path",
27166	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+$",
27167	//       "required": true,
27168	//       "type": "string"
27169	//     }
27170	//   },
27171	//   "path": "v3/{+parent}/versions",
27172	//   "request": {
27173	//     "$ref": "GoogleCloudDialogflowCxV3Version"
27174	//   },
27175	//   "response": {
27176	//     "$ref": "GoogleLongrunningOperation"
27177	//   },
27178	//   "scopes": [
27179	//     "https://www.googleapis.com/auth/cloud-platform",
27180	//     "https://www.googleapis.com/auth/dialogflow"
27181	//   ]
27182	// }
27183
27184}
27185
27186// method id "dialogflow.projects.locations.agents.flows.versions.delete":
27187
27188type ProjectsLocationsAgentsFlowsVersionsDeleteCall struct {
27189	s          *Service
27190	name       string
27191	urlParams_ gensupport.URLParams
27192	ctx_       context.Context
27193	header_    http.Header
27194}
27195
27196// Delete: Deletes the specified Version.
27197//
27198// - name: The name of the Version to delete. Format:
27199//   `projects//locations//agents//flows//versions/`.
27200func (r *ProjectsLocationsAgentsFlowsVersionsService) Delete(name string) *ProjectsLocationsAgentsFlowsVersionsDeleteCall {
27201	c := &ProjectsLocationsAgentsFlowsVersionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27202	c.name = name
27203	return c
27204}
27205
27206// Fields allows partial responses to be retrieved. See
27207// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27208// for more information.
27209func (c *ProjectsLocationsAgentsFlowsVersionsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsFlowsVersionsDeleteCall {
27210	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27211	return c
27212}
27213
27214// Context sets the context to be used in this call's Do method. Any
27215// pending HTTP request will be aborted if the provided context is
27216// canceled.
27217func (c *ProjectsLocationsAgentsFlowsVersionsDeleteCall) Context(ctx context.Context) *ProjectsLocationsAgentsFlowsVersionsDeleteCall {
27218	c.ctx_ = ctx
27219	return c
27220}
27221
27222// Header returns an http.Header that can be modified by the caller to
27223// add HTTP headers to the request.
27224func (c *ProjectsLocationsAgentsFlowsVersionsDeleteCall) Header() http.Header {
27225	if c.header_ == nil {
27226		c.header_ = make(http.Header)
27227	}
27228	return c.header_
27229}
27230
27231func (c *ProjectsLocationsAgentsFlowsVersionsDeleteCall) doRequest(alt string) (*http.Response, error) {
27232	reqHeaders := make(http.Header)
27233	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
27234	for k, v := range c.header_ {
27235		reqHeaders[k] = v
27236	}
27237	reqHeaders.Set("User-Agent", c.s.userAgent())
27238	var body io.Reader = nil
27239	c.urlParams_.Set("alt", alt)
27240	c.urlParams_.Set("prettyPrint", "false")
27241	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
27242	urls += "?" + c.urlParams_.Encode()
27243	req, err := http.NewRequest("DELETE", urls, body)
27244	if err != nil {
27245		return nil, err
27246	}
27247	req.Header = reqHeaders
27248	googleapi.Expand(req.URL, map[string]string{
27249		"name": c.name,
27250	})
27251	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27252}
27253
27254// Do executes the "dialogflow.projects.locations.agents.flows.versions.delete" call.
27255// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
27256// non-2xx status code is an error. Response headers are in either
27257// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
27258// returned at all) in error.(*googleapi.Error).Header. Use
27259// googleapi.IsNotModified to check whether the returned error was
27260// because http.StatusNotModified was returned.
27261func (c *ProjectsLocationsAgentsFlowsVersionsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
27262	gensupport.SetOptions(c.urlParams_, opts...)
27263	res, err := c.doRequest("json")
27264	if res != nil && res.StatusCode == http.StatusNotModified {
27265		if res.Body != nil {
27266			res.Body.Close()
27267		}
27268		return nil, &googleapi.Error{
27269			Code:   res.StatusCode,
27270			Header: res.Header,
27271		}
27272	}
27273	if err != nil {
27274		return nil, err
27275	}
27276	defer googleapi.CloseBody(res)
27277	if err := googleapi.CheckResponse(res); err != nil {
27278		return nil, err
27279	}
27280	ret := &GoogleProtobufEmpty{
27281		ServerResponse: googleapi.ServerResponse{
27282			Header:         res.Header,
27283			HTTPStatusCode: res.StatusCode,
27284		},
27285	}
27286	target := &ret
27287	if err := gensupport.DecodeResponse(target, res); err != nil {
27288		return nil, err
27289	}
27290	return ret, nil
27291	// {
27292	//   "description": "Deletes the specified Version.",
27293	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}/versions/{versionsId}",
27294	//   "httpMethod": "DELETE",
27295	//   "id": "dialogflow.projects.locations.agents.flows.versions.delete",
27296	//   "parameterOrder": [
27297	//     "name"
27298	//   ],
27299	//   "parameters": {
27300	//     "name": {
27301	//       "description": "Required. The name of the Version to delete. Format: `projects//locations//agents//flows//versions/`.",
27302	//       "location": "path",
27303	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+/versions/[^/]+$",
27304	//       "required": true,
27305	//       "type": "string"
27306	//     }
27307	//   },
27308	//   "path": "v3/{+name}",
27309	//   "response": {
27310	//     "$ref": "GoogleProtobufEmpty"
27311	//   },
27312	//   "scopes": [
27313	//     "https://www.googleapis.com/auth/cloud-platform",
27314	//     "https://www.googleapis.com/auth/dialogflow"
27315	//   ]
27316	// }
27317
27318}
27319
27320// method id "dialogflow.projects.locations.agents.flows.versions.get":
27321
27322type ProjectsLocationsAgentsFlowsVersionsGetCall struct {
27323	s            *Service
27324	name         string
27325	urlParams_   gensupport.URLParams
27326	ifNoneMatch_ string
27327	ctx_         context.Context
27328	header_      http.Header
27329}
27330
27331// Get: Retrieves the specified Version.
27332//
27333// - name: The name of the Version. Format:
27334//   `projects//locations//agents//flows//versions/`.
27335func (r *ProjectsLocationsAgentsFlowsVersionsService) Get(name string) *ProjectsLocationsAgentsFlowsVersionsGetCall {
27336	c := &ProjectsLocationsAgentsFlowsVersionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27337	c.name = name
27338	return c
27339}
27340
27341// Fields allows partial responses to be retrieved. See
27342// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27343// for more information.
27344func (c *ProjectsLocationsAgentsFlowsVersionsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsFlowsVersionsGetCall {
27345	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27346	return c
27347}
27348
27349// IfNoneMatch sets the optional parameter which makes the operation
27350// fail if the object's ETag matches the given value. This is useful for
27351// getting updates only after the object has changed since the last
27352// request. Use googleapi.IsNotModified to check whether the response
27353// error from Do is the result of In-None-Match.
27354func (c *ProjectsLocationsAgentsFlowsVersionsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsFlowsVersionsGetCall {
27355	c.ifNoneMatch_ = entityTag
27356	return c
27357}
27358
27359// Context sets the context to be used in this call's Do method. Any
27360// pending HTTP request will be aborted if the provided context is
27361// canceled.
27362func (c *ProjectsLocationsAgentsFlowsVersionsGetCall) Context(ctx context.Context) *ProjectsLocationsAgentsFlowsVersionsGetCall {
27363	c.ctx_ = ctx
27364	return c
27365}
27366
27367// Header returns an http.Header that can be modified by the caller to
27368// add HTTP headers to the request.
27369func (c *ProjectsLocationsAgentsFlowsVersionsGetCall) Header() http.Header {
27370	if c.header_ == nil {
27371		c.header_ = make(http.Header)
27372	}
27373	return c.header_
27374}
27375
27376func (c *ProjectsLocationsAgentsFlowsVersionsGetCall) doRequest(alt string) (*http.Response, error) {
27377	reqHeaders := make(http.Header)
27378	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
27379	for k, v := range c.header_ {
27380		reqHeaders[k] = v
27381	}
27382	reqHeaders.Set("User-Agent", c.s.userAgent())
27383	if c.ifNoneMatch_ != "" {
27384		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
27385	}
27386	var body io.Reader = nil
27387	c.urlParams_.Set("alt", alt)
27388	c.urlParams_.Set("prettyPrint", "false")
27389	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
27390	urls += "?" + c.urlParams_.Encode()
27391	req, err := http.NewRequest("GET", urls, body)
27392	if err != nil {
27393		return nil, err
27394	}
27395	req.Header = reqHeaders
27396	googleapi.Expand(req.URL, map[string]string{
27397		"name": c.name,
27398	})
27399	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27400}
27401
27402// Do executes the "dialogflow.projects.locations.agents.flows.versions.get" call.
27403// Exactly one of *GoogleCloudDialogflowCxV3Version or error will be
27404// non-nil. Any non-2xx status code is an error. Response headers are in
27405// either *GoogleCloudDialogflowCxV3Version.ServerResponse.Header or (if
27406// a response was returned at all) in error.(*googleapi.Error).Header.
27407// Use googleapi.IsNotModified to check whether the returned error was
27408// because http.StatusNotModified was returned.
27409func (c *ProjectsLocationsAgentsFlowsVersionsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3Version, error) {
27410	gensupport.SetOptions(c.urlParams_, opts...)
27411	res, err := c.doRequest("json")
27412	if res != nil && res.StatusCode == http.StatusNotModified {
27413		if res.Body != nil {
27414			res.Body.Close()
27415		}
27416		return nil, &googleapi.Error{
27417			Code:   res.StatusCode,
27418			Header: res.Header,
27419		}
27420	}
27421	if err != nil {
27422		return nil, err
27423	}
27424	defer googleapi.CloseBody(res)
27425	if err := googleapi.CheckResponse(res); err != nil {
27426		return nil, err
27427	}
27428	ret := &GoogleCloudDialogflowCxV3Version{
27429		ServerResponse: googleapi.ServerResponse{
27430			Header:         res.Header,
27431			HTTPStatusCode: res.StatusCode,
27432		},
27433	}
27434	target := &ret
27435	if err := gensupport.DecodeResponse(target, res); err != nil {
27436		return nil, err
27437	}
27438	return ret, nil
27439	// {
27440	//   "description": "Retrieves the specified Version.",
27441	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}/versions/{versionsId}",
27442	//   "httpMethod": "GET",
27443	//   "id": "dialogflow.projects.locations.agents.flows.versions.get",
27444	//   "parameterOrder": [
27445	//     "name"
27446	//   ],
27447	//   "parameters": {
27448	//     "name": {
27449	//       "description": "Required. The name of the Version. Format: `projects//locations//agents//flows//versions/`.",
27450	//       "location": "path",
27451	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+/versions/[^/]+$",
27452	//       "required": true,
27453	//       "type": "string"
27454	//     }
27455	//   },
27456	//   "path": "v3/{+name}",
27457	//   "response": {
27458	//     "$ref": "GoogleCloudDialogflowCxV3Version"
27459	//   },
27460	//   "scopes": [
27461	//     "https://www.googleapis.com/auth/cloud-platform",
27462	//     "https://www.googleapis.com/auth/dialogflow"
27463	//   ]
27464	// }
27465
27466}
27467
27468// method id "dialogflow.projects.locations.agents.flows.versions.list":
27469
27470type ProjectsLocationsAgentsFlowsVersionsListCall struct {
27471	s            *Service
27472	parent       string
27473	urlParams_   gensupport.URLParams
27474	ifNoneMatch_ string
27475	ctx_         context.Context
27476	header_      http.Header
27477}
27478
27479// List: Returns the list of all versions in the specified Flow.
27480//
27481// - parent: The Flow to list all versions for. Format:
27482//   `projects//locations//agents//flows/`.
27483func (r *ProjectsLocationsAgentsFlowsVersionsService) List(parent string) *ProjectsLocationsAgentsFlowsVersionsListCall {
27484	c := &ProjectsLocationsAgentsFlowsVersionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27485	c.parent = parent
27486	return c
27487}
27488
27489// PageSize sets the optional parameter "pageSize": The maximum number
27490// of items to return in a single page. By default 20 and at most 100.
27491func (c *ProjectsLocationsAgentsFlowsVersionsListCall) PageSize(pageSize int64) *ProjectsLocationsAgentsFlowsVersionsListCall {
27492	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
27493	return c
27494}
27495
27496// PageToken sets the optional parameter "pageToken": The
27497// next_page_token value returned from a previous list request.
27498func (c *ProjectsLocationsAgentsFlowsVersionsListCall) PageToken(pageToken string) *ProjectsLocationsAgentsFlowsVersionsListCall {
27499	c.urlParams_.Set("pageToken", pageToken)
27500	return c
27501}
27502
27503// Fields allows partial responses to be retrieved. See
27504// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27505// for more information.
27506func (c *ProjectsLocationsAgentsFlowsVersionsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsFlowsVersionsListCall {
27507	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27508	return c
27509}
27510
27511// IfNoneMatch sets the optional parameter which makes the operation
27512// fail if the object's ETag matches the given value. This is useful for
27513// getting updates only after the object has changed since the last
27514// request. Use googleapi.IsNotModified to check whether the response
27515// error from Do is the result of In-None-Match.
27516func (c *ProjectsLocationsAgentsFlowsVersionsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsFlowsVersionsListCall {
27517	c.ifNoneMatch_ = entityTag
27518	return c
27519}
27520
27521// Context sets the context to be used in this call's Do method. Any
27522// pending HTTP request will be aborted if the provided context is
27523// canceled.
27524func (c *ProjectsLocationsAgentsFlowsVersionsListCall) Context(ctx context.Context) *ProjectsLocationsAgentsFlowsVersionsListCall {
27525	c.ctx_ = ctx
27526	return c
27527}
27528
27529// Header returns an http.Header that can be modified by the caller to
27530// add HTTP headers to the request.
27531func (c *ProjectsLocationsAgentsFlowsVersionsListCall) Header() http.Header {
27532	if c.header_ == nil {
27533		c.header_ = make(http.Header)
27534	}
27535	return c.header_
27536}
27537
27538func (c *ProjectsLocationsAgentsFlowsVersionsListCall) doRequest(alt string) (*http.Response, error) {
27539	reqHeaders := make(http.Header)
27540	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
27541	for k, v := range c.header_ {
27542		reqHeaders[k] = v
27543	}
27544	reqHeaders.Set("User-Agent", c.s.userAgent())
27545	if c.ifNoneMatch_ != "" {
27546		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
27547	}
27548	var body io.Reader = nil
27549	c.urlParams_.Set("alt", alt)
27550	c.urlParams_.Set("prettyPrint", "false")
27551	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/versions")
27552	urls += "?" + c.urlParams_.Encode()
27553	req, err := http.NewRequest("GET", urls, body)
27554	if err != nil {
27555		return nil, err
27556	}
27557	req.Header = reqHeaders
27558	googleapi.Expand(req.URL, map[string]string{
27559		"parent": c.parent,
27560	})
27561	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27562}
27563
27564// Do executes the "dialogflow.projects.locations.agents.flows.versions.list" call.
27565// Exactly one of *GoogleCloudDialogflowCxV3ListVersionsResponse or
27566// error will be non-nil. Any non-2xx status code is an error. Response
27567// headers are in either
27568// *GoogleCloudDialogflowCxV3ListVersionsResponse.ServerResponse.Header
27569// or (if a response was returned at all) in
27570// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
27571// whether the returned error was because http.StatusNotModified was
27572// returned.
27573func (c *ProjectsLocationsAgentsFlowsVersionsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3ListVersionsResponse, error) {
27574	gensupport.SetOptions(c.urlParams_, opts...)
27575	res, err := c.doRequest("json")
27576	if res != nil && res.StatusCode == http.StatusNotModified {
27577		if res.Body != nil {
27578			res.Body.Close()
27579		}
27580		return nil, &googleapi.Error{
27581			Code:   res.StatusCode,
27582			Header: res.Header,
27583		}
27584	}
27585	if err != nil {
27586		return nil, err
27587	}
27588	defer googleapi.CloseBody(res)
27589	if err := googleapi.CheckResponse(res); err != nil {
27590		return nil, err
27591	}
27592	ret := &GoogleCloudDialogflowCxV3ListVersionsResponse{
27593		ServerResponse: googleapi.ServerResponse{
27594			Header:         res.Header,
27595			HTTPStatusCode: res.StatusCode,
27596		},
27597	}
27598	target := &ret
27599	if err := gensupport.DecodeResponse(target, res); err != nil {
27600		return nil, err
27601	}
27602	return ret, nil
27603	// {
27604	//   "description": "Returns the list of all versions in the specified Flow.",
27605	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}/versions",
27606	//   "httpMethod": "GET",
27607	//   "id": "dialogflow.projects.locations.agents.flows.versions.list",
27608	//   "parameterOrder": [
27609	//     "parent"
27610	//   ],
27611	//   "parameters": {
27612	//     "pageSize": {
27613	//       "description": "The maximum number of items to return in a single page. By default 20 and at most 100.",
27614	//       "format": "int32",
27615	//       "location": "query",
27616	//       "type": "integer"
27617	//     },
27618	//     "pageToken": {
27619	//       "description": "The next_page_token value returned from a previous list request.",
27620	//       "location": "query",
27621	//       "type": "string"
27622	//     },
27623	//     "parent": {
27624	//       "description": "Required. The Flow to list all versions for. Format: `projects//locations//agents//flows/`.",
27625	//       "location": "path",
27626	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+$",
27627	//       "required": true,
27628	//       "type": "string"
27629	//     }
27630	//   },
27631	//   "path": "v3/{+parent}/versions",
27632	//   "response": {
27633	//     "$ref": "GoogleCloudDialogflowCxV3ListVersionsResponse"
27634	//   },
27635	//   "scopes": [
27636	//     "https://www.googleapis.com/auth/cloud-platform",
27637	//     "https://www.googleapis.com/auth/dialogflow"
27638	//   ]
27639	// }
27640
27641}
27642
27643// Pages invokes f for each page of results.
27644// A non-nil error returned from f will halt the iteration.
27645// The provided context supersedes any context provided to the Context method.
27646func (c *ProjectsLocationsAgentsFlowsVersionsListCall) Pages(ctx context.Context, f func(*GoogleCloudDialogflowCxV3ListVersionsResponse) error) error {
27647	c.ctx_ = ctx
27648	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
27649	for {
27650		x, err := c.Do()
27651		if err != nil {
27652			return err
27653		}
27654		if err := f(x); err != nil {
27655			return err
27656		}
27657		if x.NextPageToken == "" {
27658			return nil
27659		}
27660		c.PageToken(x.NextPageToken)
27661	}
27662}
27663
27664// method id "dialogflow.projects.locations.agents.flows.versions.load":
27665
27666type ProjectsLocationsAgentsFlowsVersionsLoadCall struct {
27667	s                                           *Service
27668	name                                        string
27669	googleclouddialogflowcxv3loadversionrequest *GoogleCloudDialogflowCxV3LoadVersionRequest
27670	urlParams_                                  gensupport.URLParams
27671	ctx_                                        context.Context
27672	header_                                     http.Header
27673}
27674
27675// Load: Loads resources in the specified version to the draft flow.
27676//
27677// - name: The Version to be loaded to draft flow. Format:
27678//   `projects//locations//agents//flows//versions/`.
27679func (r *ProjectsLocationsAgentsFlowsVersionsService) Load(name string, googleclouddialogflowcxv3loadversionrequest *GoogleCloudDialogflowCxV3LoadVersionRequest) *ProjectsLocationsAgentsFlowsVersionsLoadCall {
27680	c := &ProjectsLocationsAgentsFlowsVersionsLoadCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27681	c.name = name
27682	c.googleclouddialogflowcxv3loadversionrequest = googleclouddialogflowcxv3loadversionrequest
27683	return c
27684}
27685
27686// Fields allows partial responses to be retrieved. See
27687// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27688// for more information.
27689func (c *ProjectsLocationsAgentsFlowsVersionsLoadCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsFlowsVersionsLoadCall {
27690	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27691	return c
27692}
27693
27694// Context sets the context to be used in this call's Do method. Any
27695// pending HTTP request will be aborted if the provided context is
27696// canceled.
27697func (c *ProjectsLocationsAgentsFlowsVersionsLoadCall) Context(ctx context.Context) *ProjectsLocationsAgentsFlowsVersionsLoadCall {
27698	c.ctx_ = ctx
27699	return c
27700}
27701
27702// Header returns an http.Header that can be modified by the caller to
27703// add HTTP headers to the request.
27704func (c *ProjectsLocationsAgentsFlowsVersionsLoadCall) Header() http.Header {
27705	if c.header_ == nil {
27706		c.header_ = make(http.Header)
27707	}
27708	return c.header_
27709}
27710
27711func (c *ProjectsLocationsAgentsFlowsVersionsLoadCall) doRequest(alt string) (*http.Response, error) {
27712	reqHeaders := make(http.Header)
27713	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
27714	for k, v := range c.header_ {
27715		reqHeaders[k] = v
27716	}
27717	reqHeaders.Set("User-Agent", c.s.userAgent())
27718	var body io.Reader = nil
27719	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3loadversionrequest)
27720	if err != nil {
27721		return nil, err
27722	}
27723	reqHeaders.Set("Content-Type", "application/json")
27724	c.urlParams_.Set("alt", alt)
27725	c.urlParams_.Set("prettyPrint", "false")
27726	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}:load")
27727	urls += "?" + c.urlParams_.Encode()
27728	req, err := http.NewRequest("POST", urls, body)
27729	if err != nil {
27730		return nil, err
27731	}
27732	req.Header = reqHeaders
27733	googleapi.Expand(req.URL, map[string]string{
27734		"name": c.name,
27735	})
27736	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27737}
27738
27739// Do executes the "dialogflow.projects.locations.agents.flows.versions.load" call.
27740// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
27741// Any non-2xx status code is an error. Response headers are in either
27742// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
27743// was returned at all) in error.(*googleapi.Error).Header. Use
27744// googleapi.IsNotModified to check whether the returned error was
27745// because http.StatusNotModified was returned.
27746func (c *ProjectsLocationsAgentsFlowsVersionsLoadCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
27747	gensupport.SetOptions(c.urlParams_, opts...)
27748	res, err := c.doRequest("json")
27749	if res != nil && res.StatusCode == http.StatusNotModified {
27750		if res.Body != nil {
27751			res.Body.Close()
27752		}
27753		return nil, &googleapi.Error{
27754			Code:   res.StatusCode,
27755			Header: res.Header,
27756		}
27757	}
27758	if err != nil {
27759		return nil, err
27760	}
27761	defer googleapi.CloseBody(res)
27762	if err := googleapi.CheckResponse(res); err != nil {
27763		return nil, err
27764	}
27765	ret := &GoogleLongrunningOperation{
27766		ServerResponse: googleapi.ServerResponse{
27767			Header:         res.Header,
27768			HTTPStatusCode: res.StatusCode,
27769		},
27770	}
27771	target := &ret
27772	if err := gensupport.DecodeResponse(target, res); err != nil {
27773		return nil, err
27774	}
27775	return ret, nil
27776	// {
27777	//   "description": "Loads resources in the specified version to the draft flow.",
27778	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}/versions/{versionsId}:load",
27779	//   "httpMethod": "POST",
27780	//   "id": "dialogflow.projects.locations.agents.flows.versions.load",
27781	//   "parameterOrder": [
27782	//     "name"
27783	//   ],
27784	//   "parameters": {
27785	//     "name": {
27786	//       "description": "Required. The Version to be loaded to draft flow. Format: `projects//locations//agents//flows//versions/`.",
27787	//       "location": "path",
27788	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+/versions/[^/]+$",
27789	//       "required": true,
27790	//       "type": "string"
27791	//     }
27792	//   },
27793	//   "path": "v3/{+name}:load",
27794	//   "request": {
27795	//     "$ref": "GoogleCloudDialogflowCxV3LoadVersionRequest"
27796	//   },
27797	//   "response": {
27798	//     "$ref": "GoogleLongrunningOperation"
27799	//   },
27800	//   "scopes": [
27801	//     "https://www.googleapis.com/auth/cloud-platform",
27802	//     "https://www.googleapis.com/auth/dialogflow"
27803	//   ]
27804	// }
27805
27806}
27807
27808// method id "dialogflow.projects.locations.agents.flows.versions.patch":
27809
27810type ProjectsLocationsAgentsFlowsVersionsPatchCall struct {
27811	s                                *Service
27812	name                             string
27813	googleclouddialogflowcxv3version *GoogleCloudDialogflowCxV3Version
27814	urlParams_                       gensupport.URLParams
27815	ctx_                             context.Context
27816	header_                          http.Header
27817}
27818
27819// Patch: Updates the specified Version.
27820//
27821// - name: Format: projects//locations//agents//flows//versions/.
27822//   Version ID is a self-increasing number generated by Dialogflow upon
27823//   version creation.
27824func (r *ProjectsLocationsAgentsFlowsVersionsService) Patch(name string, googleclouddialogflowcxv3version *GoogleCloudDialogflowCxV3Version) *ProjectsLocationsAgentsFlowsVersionsPatchCall {
27825	c := &ProjectsLocationsAgentsFlowsVersionsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27826	c.name = name
27827	c.googleclouddialogflowcxv3version = googleclouddialogflowcxv3version
27828	return c
27829}
27830
27831// UpdateMask sets the optional parameter "updateMask": Required. The
27832// mask to control which fields get updated. Currently only
27833// `description` and `display_name` can be updated.
27834func (c *ProjectsLocationsAgentsFlowsVersionsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsAgentsFlowsVersionsPatchCall {
27835	c.urlParams_.Set("updateMask", updateMask)
27836	return c
27837}
27838
27839// Fields allows partial responses to be retrieved. See
27840// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27841// for more information.
27842func (c *ProjectsLocationsAgentsFlowsVersionsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsFlowsVersionsPatchCall {
27843	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27844	return c
27845}
27846
27847// Context sets the context to be used in this call's Do method. Any
27848// pending HTTP request will be aborted if the provided context is
27849// canceled.
27850func (c *ProjectsLocationsAgentsFlowsVersionsPatchCall) Context(ctx context.Context) *ProjectsLocationsAgentsFlowsVersionsPatchCall {
27851	c.ctx_ = ctx
27852	return c
27853}
27854
27855// Header returns an http.Header that can be modified by the caller to
27856// add HTTP headers to the request.
27857func (c *ProjectsLocationsAgentsFlowsVersionsPatchCall) Header() http.Header {
27858	if c.header_ == nil {
27859		c.header_ = make(http.Header)
27860	}
27861	return c.header_
27862}
27863
27864func (c *ProjectsLocationsAgentsFlowsVersionsPatchCall) doRequest(alt string) (*http.Response, error) {
27865	reqHeaders := make(http.Header)
27866	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
27867	for k, v := range c.header_ {
27868		reqHeaders[k] = v
27869	}
27870	reqHeaders.Set("User-Agent", c.s.userAgent())
27871	var body io.Reader = nil
27872	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3version)
27873	if err != nil {
27874		return nil, err
27875	}
27876	reqHeaders.Set("Content-Type", "application/json")
27877	c.urlParams_.Set("alt", alt)
27878	c.urlParams_.Set("prettyPrint", "false")
27879	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
27880	urls += "?" + c.urlParams_.Encode()
27881	req, err := http.NewRequest("PATCH", urls, body)
27882	if err != nil {
27883		return nil, err
27884	}
27885	req.Header = reqHeaders
27886	googleapi.Expand(req.URL, map[string]string{
27887		"name": c.name,
27888	})
27889	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27890}
27891
27892// Do executes the "dialogflow.projects.locations.agents.flows.versions.patch" call.
27893// Exactly one of *GoogleCloudDialogflowCxV3Version or error will be
27894// non-nil. Any non-2xx status code is an error. Response headers are in
27895// either *GoogleCloudDialogflowCxV3Version.ServerResponse.Header or (if
27896// a response was returned at all) in error.(*googleapi.Error).Header.
27897// Use googleapi.IsNotModified to check whether the returned error was
27898// because http.StatusNotModified was returned.
27899func (c *ProjectsLocationsAgentsFlowsVersionsPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3Version, error) {
27900	gensupport.SetOptions(c.urlParams_, opts...)
27901	res, err := c.doRequest("json")
27902	if res != nil && res.StatusCode == http.StatusNotModified {
27903		if res.Body != nil {
27904			res.Body.Close()
27905		}
27906		return nil, &googleapi.Error{
27907			Code:   res.StatusCode,
27908			Header: res.Header,
27909		}
27910	}
27911	if err != nil {
27912		return nil, err
27913	}
27914	defer googleapi.CloseBody(res)
27915	if err := googleapi.CheckResponse(res); err != nil {
27916		return nil, err
27917	}
27918	ret := &GoogleCloudDialogflowCxV3Version{
27919		ServerResponse: googleapi.ServerResponse{
27920			Header:         res.Header,
27921			HTTPStatusCode: res.StatusCode,
27922		},
27923	}
27924	target := &ret
27925	if err := gensupport.DecodeResponse(target, res); err != nil {
27926		return nil, err
27927	}
27928	return ret, nil
27929	// {
27930	//   "description": "Updates the specified Version.",
27931	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}/versions/{versionsId}",
27932	//   "httpMethod": "PATCH",
27933	//   "id": "dialogflow.projects.locations.agents.flows.versions.patch",
27934	//   "parameterOrder": [
27935	//     "name"
27936	//   ],
27937	//   "parameters": {
27938	//     "name": {
27939	//       "description": "Format: projects//locations//agents//flows//versions/. Version ID is a self-increasing number generated by Dialogflow upon version creation.",
27940	//       "location": "path",
27941	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/flows/[^/]+/versions/[^/]+$",
27942	//       "required": true,
27943	//       "type": "string"
27944	//     },
27945	//     "updateMask": {
27946	//       "description": "Required. The mask to control which fields get updated. Currently only `description` and `display_name` can be updated.",
27947	//       "format": "google-fieldmask",
27948	//       "location": "query",
27949	//       "type": "string"
27950	//     }
27951	//   },
27952	//   "path": "v3/{+name}",
27953	//   "request": {
27954	//     "$ref": "GoogleCloudDialogflowCxV3Version"
27955	//   },
27956	//   "response": {
27957	//     "$ref": "GoogleCloudDialogflowCxV3Version"
27958	//   },
27959	//   "scopes": [
27960	//     "https://www.googleapis.com/auth/cloud-platform",
27961	//     "https://www.googleapis.com/auth/dialogflow"
27962	//   ]
27963	// }
27964
27965}
27966
27967// method id "dialogflow.projects.locations.agents.intents.create":
27968
27969type ProjectsLocationsAgentsIntentsCreateCall struct {
27970	s                               *Service
27971	parent                          string
27972	googleclouddialogflowcxv3intent *GoogleCloudDialogflowCxV3Intent
27973	urlParams_                      gensupport.URLParams
27974	ctx_                            context.Context
27975	header_                         http.Header
27976}
27977
27978// Create: Creates an intent in the specified agent. Note: You should
27979// always train a flow prior to sending it queries. See the training
27980// documentation
27981// (https://cloud.google.com/dialogflow/cx/docs/concept/training).
27982//
27983// - parent: The agent to create an intent for. Format:
27984//   `projects//locations//agents/`.
27985func (r *ProjectsLocationsAgentsIntentsService) Create(parent string, googleclouddialogflowcxv3intent *GoogleCloudDialogflowCxV3Intent) *ProjectsLocationsAgentsIntentsCreateCall {
27986	c := &ProjectsLocationsAgentsIntentsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27987	c.parent = parent
27988	c.googleclouddialogflowcxv3intent = googleclouddialogflowcxv3intent
27989	return c
27990}
27991
27992// LanguageCode sets the optional parameter "languageCode": The language
27993// of the following fields in `intent`: *
27994// `Intent.training_phrases.parts.text` If not specified, the agent's
27995// default language is used. Many languages
27996// (https://cloud.google.com/dialogflow/cx/docs/reference/language) are
27997// supported. Note: languages must be enabled in the agent before they
27998// can be used.
27999func (c *ProjectsLocationsAgentsIntentsCreateCall) LanguageCode(languageCode string) *ProjectsLocationsAgentsIntentsCreateCall {
28000	c.urlParams_.Set("languageCode", languageCode)
28001	return c
28002}
28003
28004// Fields allows partial responses to be retrieved. See
28005// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28006// for more information.
28007func (c *ProjectsLocationsAgentsIntentsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsIntentsCreateCall {
28008	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28009	return c
28010}
28011
28012// Context sets the context to be used in this call's Do method. Any
28013// pending HTTP request will be aborted if the provided context is
28014// canceled.
28015func (c *ProjectsLocationsAgentsIntentsCreateCall) Context(ctx context.Context) *ProjectsLocationsAgentsIntentsCreateCall {
28016	c.ctx_ = ctx
28017	return c
28018}
28019
28020// Header returns an http.Header that can be modified by the caller to
28021// add HTTP headers to the request.
28022func (c *ProjectsLocationsAgentsIntentsCreateCall) Header() http.Header {
28023	if c.header_ == nil {
28024		c.header_ = make(http.Header)
28025	}
28026	return c.header_
28027}
28028
28029func (c *ProjectsLocationsAgentsIntentsCreateCall) doRequest(alt string) (*http.Response, error) {
28030	reqHeaders := make(http.Header)
28031	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
28032	for k, v := range c.header_ {
28033		reqHeaders[k] = v
28034	}
28035	reqHeaders.Set("User-Agent", c.s.userAgent())
28036	var body io.Reader = nil
28037	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3intent)
28038	if err != nil {
28039		return nil, err
28040	}
28041	reqHeaders.Set("Content-Type", "application/json")
28042	c.urlParams_.Set("alt", alt)
28043	c.urlParams_.Set("prettyPrint", "false")
28044	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/intents")
28045	urls += "?" + c.urlParams_.Encode()
28046	req, err := http.NewRequest("POST", urls, body)
28047	if err != nil {
28048		return nil, err
28049	}
28050	req.Header = reqHeaders
28051	googleapi.Expand(req.URL, map[string]string{
28052		"parent": c.parent,
28053	})
28054	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28055}
28056
28057// Do executes the "dialogflow.projects.locations.agents.intents.create" call.
28058// Exactly one of *GoogleCloudDialogflowCxV3Intent or error will be
28059// non-nil. Any non-2xx status code is an error. Response headers are in
28060// either *GoogleCloudDialogflowCxV3Intent.ServerResponse.Header or (if
28061// a response was returned at all) in error.(*googleapi.Error).Header.
28062// Use googleapi.IsNotModified to check whether the returned error was
28063// because http.StatusNotModified was returned.
28064func (c *ProjectsLocationsAgentsIntentsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3Intent, error) {
28065	gensupport.SetOptions(c.urlParams_, opts...)
28066	res, err := c.doRequest("json")
28067	if res != nil && res.StatusCode == http.StatusNotModified {
28068		if res.Body != nil {
28069			res.Body.Close()
28070		}
28071		return nil, &googleapi.Error{
28072			Code:   res.StatusCode,
28073			Header: res.Header,
28074		}
28075	}
28076	if err != nil {
28077		return nil, err
28078	}
28079	defer googleapi.CloseBody(res)
28080	if err := googleapi.CheckResponse(res); err != nil {
28081		return nil, err
28082	}
28083	ret := &GoogleCloudDialogflowCxV3Intent{
28084		ServerResponse: googleapi.ServerResponse{
28085			Header:         res.Header,
28086			HTTPStatusCode: res.StatusCode,
28087		},
28088	}
28089	target := &ret
28090	if err := gensupport.DecodeResponse(target, res); err != nil {
28091		return nil, err
28092	}
28093	return ret, nil
28094	// {
28095	//   "description": "Creates an intent in the specified agent. Note: You should always train a flow prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training).",
28096	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/intents",
28097	//   "httpMethod": "POST",
28098	//   "id": "dialogflow.projects.locations.agents.intents.create",
28099	//   "parameterOrder": [
28100	//     "parent"
28101	//   ],
28102	//   "parameters": {
28103	//     "languageCode": {
28104	//       "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.",
28105	//       "location": "query",
28106	//       "type": "string"
28107	//     },
28108	//     "parent": {
28109	//       "description": "Required. The agent to create an intent for. Format: `projects//locations//agents/`.",
28110	//       "location": "path",
28111	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$",
28112	//       "required": true,
28113	//       "type": "string"
28114	//     }
28115	//   },
28116	//   "path": "v3/{+parent}/intents",
28117	//   "request": {
28118	//     "$ref": "GoogleCloudDialogflowCxV3Intent"
28119	//   },
28120	//   "response": {
28121	//     "$ref": "GoogleCloudDialogflowCxV3Intent"
28122	//   },
28123	//   "scopes": [
28124	//     "https://www.googleapis.com/auth/cloud-platform",
28125	//     "https://www.googleapis.com/auth/dialogflow"
28126	//   ]
28127	// }
28128
28129}
28130
28131// method id "dialogflow.projects.locations.agents.intents.delete":
28132
28133type ProjectsLocationsAgentsIntentsDeleteCall struct {
28134	s          *Service
28135	name       string
28136	urlParams_ gensupport.URLParams
28137	ctx_       context.Context
28138	header_    http.Header
28139}
28140
28141// Delete: Deletes the specified intent. Note: You should always train a
28142// flow prior to sending it queries. See the training documentation
28143// (https://cloud.google.com/dialogflow/cx/docs/concept/training).
28144//
28145// - name: The name of the intent to delete. Format:
28146//   `projects//locations//agents//intents/`.
28147func (r *ProjectsLocationsAgentsIntentsService) Delete(name string) *ProjectsLocationsAgentsIntentsDeleteCall {
28148	c := &ProjectsLocationsAgentsIntentsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28149	c.name = name
28150	return c
28151}
28152
28153// Fields allows partial responses to be retrieved. See
28154// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28155// for more information.
28156func (c *ProjectsLocationsAgentsIntentsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsIntentsDeleteCall {
28157	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28158	return c
28159}
28160
28161// Context sets the context to be used in this call's Do method. Any
28162// pending HTTP request will be aborted if the provided context is
28163// canceled.
28164func (c *ProjectsLocationsAgentsIntentsDeleteCall) Context(ctx context.Context) *ProjectsLocationsAgentsIntentsDeleteCall {
28165	c.ctx_ = ctx
28166	return c
28167}
28168
28169// Header returns an http.Header that can be modified by the caller to
28170// add HTTP headers to the request.
28171func (c *ProjectsLocationsAgentsIntentsDeleteCall) Header() http.Header {
28172	if c.header_ == nil {
28173		c.header_ = make(http.Header)
28174	}
28175	return c.header_
28176}
28177
28178func (c *ProjectsLocationsAgentsIntentsDeleteCall) doRequest(alt string) (*http.Response, error) {
28179	reqHeaders := make(http.Header)
28180	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
28181	for k, v := range c.header_ {
28182		reqHeaders[k] = v
28183	}
28184	reqHeaders.Set("User-Agent", c.s.userAgent())
28185	var body io.Reader = nil
28186	c.urlParams_.Set("alt", alt)
28187	c.urlParams_.Set("prettyPrint", "false")
28188	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
28189	urls += "?" + c.urlParams_.Encode()
28190	req, err := http.NewRequest("DELETE", urls, body)
28191	if err != nil {
28192		return nil, err
28193	}
28194	req.Header = reqHeaders
28195	googleapi.Expand(req.URL, map[string]string{
28196		"name": c.name,
28197	})
28198	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28199}
28200
28201// Do executes the "dialogflow.projects.locations.agents.intents.delete" call.
28202// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
28203// non-2xx status code is an error. Response headers are in either
28204// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
28205// returned at all) in error.(*googleapi.Error).Header. Use
28206// googleapi.IsNotModified to check whether the returned error was
28207// because http.StatusNotModified was returned.
28208func (c *ProjectsLocationsAgentsIntentsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
28209	gensupport.SetOptions(c.urlParams_, opts...)
28210	res, err := c.doRequest("json")
28211	if res != nil && res.StatusCode == http.StatusNotModified {
28212		if res.Body != nil {
28213			res.Body.Close()
28214		}
28215		return nil, &googleapi.Error{
28216			Code:   res.StatusCode,
28217			Header: res.Header,
28218		}
28219	}
28220	if err != nil {
28221		return nil, err
28222	}
28223	defer googleapi.CloseBody(res)
28224	if err := googleapi.CheckResponse(res); err != nil {
28225		return nil, err
28226	}
28227	ret := &GoogleProtobufEmpty{
28228		ServerResponse: googleapi.ServerResponse{
28229			Header:         res.Header,
28230			HTTPStatusCode: res.StatusCode,
28231		},
28232	}
28233	target := &ret
28234	if err := gensupport.DecodeResponse(target, res); err != nil {
28235		return nil, err
28236	}
28237	return ret, nil
28238	// {
28239	//   "description": "Deletes the specified intent. Note: You should always train a flow prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training).",
28240	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/intents/{intentsId}",
28241	//   "httpMethod": "DELETE",
28242	//   "id": "dialogflow.projects.locations.agents.intents.delete",
28243	//   "parameterOrder": [
28244	//     "name"
28245	//   ],
28246	//   "parameters": {
28247	//     "name": {
28248	//       "description": "Required. The name of the intent to delete. Format: `projects//locations//agents//intents/`.",
28249	//       "location": "path",
28250	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/intents/[^/]+$",
28251	//       "required": true,
28252	//       "type": "string"
28253	//     }
28254	//   },
28255	//   "path": "v3/{+name}",
28256	//   "response": {
28257	//     "$ref": "GoogleProtobufEmpty"
28258	//   },
28259	//   "scopes": [
28260	//     "https://www.googleapis.com/auth/cloud-platform",
28261	//     "https://www.googleapis.com/auth/dialogflow"
28262	//   ]
28263	// }
28264
28265}
28266
28267// method id "dialogflow.projects.locations.agents.intents.get":
28268
28269type ProjectsLocationsAgentsIntentsGetCall struct {
28270	s            *Service
28271	name         string
28272	urlParams_   gensupport.URLParams
28273	ifNoneMatch_ string
28274	ctx_         context.Context
28275	header_      http.Header
28276}
28277
28278// Get: Retrieves the specified intent.
28279//
28280// - name: The name of the intent. Format:
28281//   `projects//locations//agents//intents/`.
28282func (r *ProjectsLocationsAgentsIntentsService) Get(name string) *ProjectsLocationsAgentsIntentsGetCall {
28283	c := &ProjectsLocationsAgentsIntentsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28284	c.name = name
28285	return c
28286}
28287
28288// LanguageCode sets the optional parameter "languageCode": The language
28289// to retrieve the intent for. The following fields are language
28290// dependent: * `Intent.training_phrases.parts.text` If not specified,
28291// the agent's default language is used. Many languages
28292// (https://cloud.google.com/dialogflow/cx/docs/reference/language) are
28293// supported. Note: languages must be enabled in the agent before they
28294// can be used.
28295func (c *ProjectsLocationsAgentsIntentsGetCall) LanguageCode(languageCode string) *ProjectsLocationsAgentsIntentsGetCall {
28296	c.urlParams_.Set("languageCode", languageCode)
28297	return c
28298}
28299
28300// Fields allows partial responses to be retrieved. See
28301// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28302// for more information.
28303func (c *ProjectsLocationsAgentsIntentsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsIntentsGetCall {
28304	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28305	return c
28306}
28307
28308// IfNoneMatch sets the optional parameter which makes the operation
28309// fail if the object's ETag matches the given value. This is useful for
28310// getting updates only after the object has changed since the last
28311// request. Use googleapi.IsNotModified to check whether the response
28312// error from Do is the result of In-None-Match.
28313func (c *ProjectsLocationsAgentsIntentsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsIntentsGetCall {
28314	c.ifNoneMatch_ = entityTag
28315	return c
28316}
28317
28318// Context sets the context to be used in this call's Do method. Any
28319// pending HTTP request will be aborted if the provided context is
28320// canceled.
28321func (c *ProjectsLocationsAgentsIntentsGetCall) Context(ctx context.Context) *ProjectsLocationsAgentsIntentsGetCall {
28322	c.ctx_ = ctx
28323	return c
28324}
28325
28326// Header returns an http.Header that can be modified by the caller to
28327// add HTTP headers to the request.
28328func (c *ProjectsLocationsAgentsIntentsGetCall) Header() http.Header {
28329	if c.header_ == nil {
28330		c.header_ = make(http.Header)
28331	}
28332	return c.header_
28333}
28334
28335func (c *ProjectsLocationsAgentsIntentsGetCall) doRequest(alt string) (*http.Response, error) {
28336	reqHeaders := make(http.Header)
28337	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
28338	for k, v := range c.header_ {
28339		reqHeaders[k] = v
28340	}
28341	reqHeaders.Set("User-Agent", c.s.userAgent())
28342	if c.ifNoneMatch_ != "" {
28343		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
28344	}
28345	var body io.Reader = nil
28346	c.urlParams_.Set("alt", alt)
28347	c.urlParams_.Set("prettyPrint", "false")
28348	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
28349	urls += "?" + c.urlParams_.Encode()
28350	req, err := http.NewRequest("GET", urls, body)
28351	if err != nil {
28352		return nil, err
28353	}
28354	req.Header = reqHeaders
28355	googleapi.Expand(req.URL, map[string]string{
28356		"name": c.name,
28357	})
28358	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28359}
28360
28361// Do executes the "dialogflow.projects.locations.agents.intents.get" call.
28362// Exactly one of *GoogleCloudDialogflowCxV3Intent or error will be
28363// non-nil. Any non-2xx status code is an error. Response headers are in
28364// either *GoogleCloudDialogflowCxV3Intent.ServerResponse.Header or (if
28365// a response was returned at all) in error.(*googleapi.Error).Header.
28366// Use googleapi.IsNotModified to check whether the returned error was
28367// because http.StatusNotModified was returned.
28368func (c *ProjectsLocationsAgentsIntentsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3Intent, error) {
28369	gensupport.SetOptions(c.urlParams_, opts...)
28370	res, err := c.doRequest("json")
28371	if res != nil && res.StatusCode == http.StatusNotModified {
28372		if res.Body != nil {
28373			res.Body.Close()
28374		}
28375		return nil, &googleapi.Error{
28376			Code:   res.StatusCode,
28377			Header: res.Header,
28378		}
28379	}
28380	if err != nil {
28381		return nil, err
28382	}
28383	defer googleapi.CloseBody(res)
28384	if err := googleapi.CheckResponse(res); err != nil {
28385		return nil, err
28386	}
28387	ret := &GoogleCloudDialogflowCxV3Intent{
28388		ServerResponse: googleapi.ServerResponse{
28389			Header:         res.Header,
28390			HTTPStatusCode: res.StatusCode,
28391		},
28392	}
28393	target := &ret
28394	if err := gensupport.DecodeResponse(target, res); err != nil {
28395		return nil, err
28396	}
28397	return ret, nil
28398	// {
28399	//   "description": "Retrieves the specified intent.",
28400	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/intents/{intentsId}",
28401	//   "httpMethod": "GET",
28402	//   "id": "dialogflow.projects.locations.agents.intents.get",
28403	//   "parameterOrder": [
28404	//     "name"
28405	//   ],
28406	//   "parameters": {
28407	//     "languageCode": {
28408	//       "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.",
28409	//       "location": "query",
28410	//       "type": "string"
28411	//     },
28412	//     "name": {
28413	//       "description": "Required. The name of the intent. Format: `projects//locations//agents//intents/`.",
28414	//       "location": "path",
28415	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/intents/[^/]+$",
28416	//       "required": true,
28417	//       "type": "string"
28418	//     }
28419	//   },
28420	//   "path": "v3/{+name}",
28421	//   "response": {
28422	//     "$ref": "GoogleCloudDialogflowCxV3Intent"
28423	//   },
28424	//   "scopes": [
28425	//     "https://www.googleapis.com/auth/cloud-platform",
28426	//     "https://www.googleapis.com/auth/dialogflow"
28427	//   ]
28428	// }
28429
28430}
28431
28432// method id "dialogflow.projects.locations.agents.intents.list":
28433
28434type ProjectsLocationsAgentsIntentsListCall struct {
28435	s            *Service
28436	parent       string
28437	urlParams_   gensupport.URLParams
28438	ifNoneMatch_ string
28439	ctx_         context.Context
28440	header_      http.Header
28441}
28442
28443// List: Returns the list of all intents in the specified agent.
28444//
28445// - parent: The agent to list all intents for. Format:
28446//   `projects//locations//agents/`.
28447func (r *ProjectsLocationsAgentsIntentsService) List(parent string) *ProjectsLocationsAgentsIntentsListCall {
28448	c := &ProjectsLocationsAgentsIntentsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28449	c.parent = parent
28450	return c
28451}
28452
28453// IntentView sets the optional parameter "intentView": The resource
28454// view to apply to the returned intent.
28455//
28456// Possible values:
28457//   "INTENT_VIEW_UNSPECIFIED" - Not specified. Treated as
28458// INTENT_VIEW_FULL.
28459//   "INTENT_VIEW_PARTIAL" - Training phrases field is not populated in
28460// the response.
28461//   "INTENT_VIEW_FULL" - All fields are populated.
28462func (c *ProjectsLocationsAgentsIntentsListCall) IntentView(intentView string) *ProjectsLocationsAgentsIntentsListCall {
28463	c.urlParams_.Set("intentView", intentView)
28464	return c
28465}
28466
28467// LanguageCode sets the optional parameter "languageCode": The language
28468// to list intents for. The following fields are language dependent: *
28469// `Intent.training_phrases.parts.text` If not specified, the agent's
28470// default language is used. Many languages
28471// (https://cloud.google.com/dialogflow/cx/docs/reference/language) are
28472// supported. Note: languages must be enabled in the agent before they
28473// can be used.
28474func (c *ProjectsLocationsAgentsIntentsListCall) LanguageCode(languageCode string) *ProjectsLocationsAgentsIntentsListCall {
28475	c.urlParams_.Set("languageCode", languageCode)
28476	return c
28477}
28478
28479// PageSize sets the optional parameter "pageSize": The maximum number
28480// of items to return in a single page. By default 100 and at most 1000.
28481func (c *ProjectsLocationsAgentsIntentsListCall) PageSize(pageSize int64) *ProjectsLocationsAgentsIntentsListCall {
28482	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
28483	return c
28484}
28485
28486// PageToken sets the optional parameter "pageToken": The
28487// next_page_token value returned from a previous list request.
28488func (c *ProjectsLocationsAgentsIntentsListCall) PageToken(pageToken string) *ProjectsLocationsAgentsIntentsListCall {
28489	c.urlParams_.Set("pageToken", pageToken)
28490	return c
28491}
28492
28493// Fields allows partial responses to be retrieved. See
28494// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28495// for more information.
28496func (c *ProjectsLocationsAgentsIntentsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsIntentsListCall {
28497	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28498	return c
28499}
28500
28501// IfNoneMatch sets the optional parameter which makes the operation
28502// fail if the object's ETag matches the given value. This is useful for
28503// getting updates only after the object has changed since the last
28504// request. Use googleapi.IsNotModified to check whether the response
28505// error from Do is the result of In-None-Match.
28506func (c *ProjectsLocationsAgentsIntentsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsIntentsListCall {
28507	c.ifNoneMatch_ = entityTag
28508	return c
28509}
28510
28511// Context sets the context to be used in this call's Do method. Any
28512// pending HTTP request will be aborted if the provided context is
28513// canceled.
28514func (c *ProjectsLocationsAgentsIntentsListCall) Context(ctx context.Context) *ProjectsLocationsAgentsIntentsListCall {
28515	c.ctx_ = ctx
28516	return c
28517}
28518
28519// Header returns an http.Header that can be modified by the caller to
28520// add HTTP headers to the request.
28521func (c *ProjectsLocationsAgentsIntentsListCall) Header() http.Header {
28522	if c.header_ == nil {
28523		c.header_ = make(http.Header)
28524	}
28525	return c.header_
28526}
28527
28528func (c *ProjectsLocationsAgentsIntentsListCall) doRequest(alt string) (*http.Response, error) {
28529	reqHeaders := make(http.Header)
28530	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
28531	for k, v := range c.header_ {
28532		reqHeaders[k] = v
28533	}
28534	reqHeaders.Set("User-Agent", c.s.userAgent())
28535	if c.ifNoneMatch_ != "" {
28536		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
28537	}
28538	var body io.Reader = nil
28539	c.urlParams_.Set("alt", alt)
28540	c.urlParams_.Set("prettyPrint", "false")
28541	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/intents")
28542	urls += "?" + c.urlParams_.Encode()
28543	req, err := http.NewRequest("GET", urls, body)
28544	if err != nil {
28545		return nil, err
28546	}
28547	req.Header = reqHeaders
28548	googleapi.Expand(req.URL, map[string]string{
28549		"parent": c.parent,
28550	})
28551	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28552}
28553
28554// Do executes the "dialogflow.projects.locations.agents.intents.list" call.
28555// Exactly one of *GoogleCloudDialogflowCxV3ListIntentsResponse or error
28556// will be non-nil. Any non-2xx status code is an error. Response
28557// headers are in either
28558// *GoogleCloudDialogflowCxV3ListIntentsResponse.ServerResponse.Header
28559// or (if a response was returned at all) in
28560// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
28561// whether the returned error was because http.StatusNotModified was
28562// returned.
28563func (c *ProjectsLocationsAgentsIntentsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3ListIntentsResponse, error) {
28564	gensupport.SetOptions(c.urlParams_, opts...)
28565	res, err := c.doRequest("json")
28566	if res != nil && res.StatusCode == http.StatusNotModified {
28567		if res.Body != nil {
28568			res.Body.Close()
28569		}
28570		return nil, &googleapi.Error{
28571			Code:   res.StatusCode,
28572			Header: res.Header,
28573		}
28574	}
28575	if err != nil {
28576		return nil, err
28577	}
28578	defer googleapi.CloseBody(res)
28579	if err := googleapi.CheckResponse(res); err != nil {
28580		return nil, err
28581	}
28582	ret := &GoogleCloudDialogflowCxV3ListIntentsResponse{
28583		ServerResponse: googleapi.ServerResponse{
28584			Header:         res.Header,
28585			HTTPStatusCode: res.StatusCode,
28586		},
28587	}
28588	target := &ret
28589	if err := gensupport.DecodeResponse(target, res); err != nil {
28590		return nil, err
28591	}
28592	return ret, nil
28593	// {
28594	//   "description": "Returns the list of all intents in the specified agent.",
28595	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/intents",
28596	//   "httpMethod": "GET",
28597	//   "id": "dialogflow.projects.locations.agents.intents.list",
28598	//   "parameterOrder": [
28599	//     "parent"
28600	//   ],
28601	//   "parameters": {
28602	//     "intentView": {
28603	//       "description": "The resource view to apply to the returned intent.",
28604	//       "enum": [
28605	//         "INTENT_VIEW_UNSPECIFIED",
28606	//         "INTENT_VIEW_PARTIAL",
28607	//         "INTENT_VIEW_FULL"
28608	//       ],
28609	//       "enumDescriptions": [
28610	//         "Not specified. Treated as INTENT_VIEW_FULL.",
28611	//         "Training phrases field is not populated in the response.",
28612	//         "All fields are populated."
28613	//       ],
28614	//       "location": "query",
28615	//       "type": "string"
28616	//     },
28617	//     "languageCode": {
28618	//       "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.",
28619	//       "location": "query",
28620	//       "type": "string"
28621	//     },
28622	//     "pageSize": {
28623	//       "description": "The maximum number of items to return in a single page. By default 100 and at most 1000.",
28624	//       "format": "int32",
28625	//       "location": "query",
28626	//       "type": "integer"
28627	//     },
28628	//     "pageToken": {
28629	//       "description": "The next_page_token value returned from a previous list request.",
28630	//       "location": "query",
28631	//       "type": "string"
28632	//     },
28633	//     "parent": {
28634	//       "description": "Required. The agent to list all intents for. Format: `projects//locations//agents/`.",
28635	//       "location": "path",
28636	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$",
28637	//       "required": true,
28638	//       "type": "string"
28639	//     }
28640	//   },
28641	//   "path": "v3/{+parent}/intents",
28642	//   "response": {
28643	//     "$ref": "GoogleCloudDialogflowCxV3ListIntentsResponse"
28644	//   },
28645	//   "scopes": [
28646	//     "https://www.googleapis.com/auth/cloud-platform",
28647	//     "https://www.googleapis.com/auth/dialogflow"
28648	//   ]
28649	// }
28650
28651}
28652
28653// Pages invokes f for each page of results.
28654// A non-nil error returned from f will halt the iteration.
28655// The provided context supersedes any context provided to the Context method.
28656func (c *ProjectsLocationsAgentsIntentsListCall) Pages(ctx context.Context, f func(*GoogleCloudDialogflowCxV3ListIntentsResponse) error) error {
28657	c.ctx_ = ctx
28658	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
28659	for {
28660		x, err := c.Do()
28661		if err != nil {
28662			return err
28663		}
28664		if err := f(x); err != nil {
28665			return err
28666		}
28667		if x.NextPageToken == "" {
28668			return nil
28669		}
28670		c.PageToken(x.NextPageToken)
28671	}
28672}
28673
28674// method id "dialogflow.projects.locations.agents.intents.patch":
28675
28676type ProjectsLocationsAgentsIntentsPatchCall struct {
28677	s                               *Service
28678	nameid                          string
28679	googleclouddialogflowcxv3intent *GoogleCloudDialogflowCxV3Intent
28680	urlParams_                      gensupport.URLParams
28681	ctx_                            context.Context
28682	header_                         http.Header
28683}
28684
28685// Patch: Updates the specified intent. Note: You should always train a
28686// flow prior to sending it queries. See the training documentation
28687// (https://cloud.google.com/dialogflow/cx/docs/concept/training).
28688//
28689// - name: The unique identifier of the intent. Required for the
28690//   Intents.UpdateIntent method. Intents.CreateIntent populates the
28691//   name automatically. Format:
28692//   `projects//locations//agents//intents/`.
28693func (r *ProjectsLocationsAgentsIntentsService) Patch(nameid string, googleclouddialogflowcxv3intent *GoogleCloudDialogflowCxV3Intent) *ProjectsLocationsAgentsIntentsPatchCall {
28694	c := &ProjectsLocationsAgentsIntentsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28695	c.nameid = nameid
28696	c.googleclouddialogflowcxv3intent = googleclouddialogflowcxv3intent
28697	return c
28698}
28699
28700// LanguageCode sets the optional parameter "languageCode": The language
28701// of the following fields in `intent`: *
28702// `Intent.training_phrases.parts.text` If not specified, the agent's
28703// default language is used. Many languages
28704// (https://cloud.google.com/dialogflow/cx/docs/reference/language) are
28705// supported. Note: languages must be enabled in the agent before they
28706// can be used.
28707func (c *ProjectsLocationsAgentsIntentsPatchCall) LanguageCode(languageCode string) *ProjectsLocationsAgentsIntentsPatchCall {
28708	c.urlParams_.Set("languageCode", languageCode)
28709	return c
28710}
28711
28712// UpdateMask sets the optional parameter "updateMask": The mask to
28713// control which fields get updated. If the mask is not present, all
28714// fields will be updated.
28715func (c *ProjectsLocationsAgentsIntentsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsAgentsIntentsPatchCall {
28716	c.urlParams_.Set("updateMask", updateMask)
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 *ProjectsLocationsAgentsIntentsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsIntentsPatchCall {
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 *ProjectsLocationsAgentsIntentsPatchCall) Context(ctx context.Context) *ProjectsLocationsAgentsIntentsPatchCall {
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 *ProjectsLocationsAgentsIntentsPatchCall) Header() http.Header {
28739	if c.header_ == nil {
28740		c.header_ = make(http.Header)
28741	}
28742	return c.header_
28743}
28744
28745func (c *ProjectsLocationsAgentsIntentsPatchCall) doRequest(alt string) (*http.Response, error) {
28746	reqHeaders := make(http.Header)
28747	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
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.googleclouddialogflowcxv3intent)
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/{+name}")
28761	urls += "?" + c.urlParams_.Encode()
28762	req, err := http.NewRequest("PATCH", urls, body)
28763	if err != nil {
28764		return nil, err
28765	}
28766	req.Header = reqHeaders
28767	googleapi.Expand(req.URL, map[string]string{
28768		"name": c.nameid,
28769	})
28770	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28771}
28772
28773// Do executes the "dialogflow.projects.locations.agents.intents.patch" call.
28774// Exactly one of *GoogleCloudDialogflowCxV3Intent or error will be
28775// non-nil. Any non-2xx status code is an error. Response headers are in
28776// either *GoogleCloudDialogflowCxV3Intent.ServerResponse.Header or (if
28777// a response was returned at all) in error.(*googleapi.Error).Header.
28778// Use googleapi.IsNotModified to check whether the returned error was
28779// because http.StatusNotModified was returned.
28780func (c *ProjectsLocationsAgentsIntentsPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3Intent, 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 := &GoogleCloudDialogflowCxV3Intent{
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": "Updates the specified intent. Note: You should always train a flow prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training).",
28812	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/intents/{intentsId}",
28813	//   "httpMethod": "PATCH",
28814	//   "id": "dialogflow.projects.locations.agents.intents.patch",
28815	//   "parameterOrder": [
28816	//     "name"
28817	//   ],
28818	//   "parameters": {
28819	//     "languageCode": {
28820	//       "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.",
28821	//       "location": "query",
28822	//       "type": "string"
28823	//     },
28824	//     "name": {
28825	//       "description": "The unique identifier of the intent. Required for the Intents.UpdateIntent method. Intents.CreateIntent populates the name automatically. Format: `projects//locations//agents//intents/`.",
28826	//       "location": "path",
28827	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/intents/[^/]+$",
28828	//       "required": true,
28829	//       "type": "string"
28830	//     },
28831	//     "updateMask": {
28832	//       "description": "The mask to control which fields get updated. If the mask is not present, all fields will be updated.",
28833	//       "format": "google-fieldmask",
28834	//       "location": "query",
28835	//       "type": "string"
28836	//     }
28837	//   },
28838	//   "path": "v3/{+name}",
28839	//   "request": {
28840	//     "$ref": "GoogleCloudDialogflowCxV3Intent"
28841	//   },
28842	//   "response": {
28843	//     "$ref": "GoogleCloudDialogflowCxV3Intent"
28844	//   },
28845	//   "scopes": [
28846	//     "https://www.googleapis.com/auth/cloud-platform",
28847	//     "https://www.googleapis.com/auth/dialogflow"
28848	//   ]
28849	// }
28850
28851}
28852
28853// method id "dialogflow.projects.locations.agents.sessions.detectIntent":
28854
28855type ProjectsLocationsAgentsSessionsDetectIntentCall struct {
28856	s                                            *Service
28857	sessionid                                    string
28858	googleclouddialogflowcxv3detectintentrequest *GoogleCloudDialogflowCxV3DetectIntentRequest
28859	urlParams_                                   gensupport.URLParams
28860	ctx_                                         context.Context
28861	header_                                      http.Header
28862}
28863
28864// DetectIntent: Processes a natural language query and returns
28865// structured, actionable data as a result. This method is not
28866// idempotent, because it may cause session entity types to be updated,
28867// which in turn might affect results of future queries. Note: Always
28868// use agent versions for production traffic. See Versions and
28869// environments
28870// (https://cloud.google.com/dialogflow/cx/docs/concept/version).
28871//
28872// - session: The name of the session this query is sent to. Format:
28873//   `projects//locations//agents//sessions/` or
28874//   `projects//locations//agents//environments//sessions/`. If
28875//   `Environment ID` is not specified, we assume default 'draft'
28876//   environment. It's up to the API caller to choose an appropriate
28877//   `Session ID`. It can be a random number or some type of session
28878//   identifiers (preferably hashed). The length of the `Session ID`
28879//   must not exceed 36 characters. For more information, see the
28880//   sessions guide
28881//   (https://cloud.google.com/dialogflow/cx/docs/concept/session).
28882//   Note: Always use agent versions for production traffic. See
28883//   Versions and environments
28884//   (https://cloud.google.com/dialogflow/cx/docs/concept/version).
28885func (r *ProjectsLocationsAgentsSessionsService) DetectIntent(sessionid string, googleclouddialogflowcxv3detectintentrequest *GoogleCloudDialogflowCxV3DetectIntentRequest) *ProjectsLocationsAgentsSessionsDetectIntentCall {
28886	c := &ProjectsLocationsAgentsSessionsDetectIntentCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28887	c.sessionid = sessionid
28888	c.googleclouddialogflowcxv3detectintentrequest = googleclouddialogflowcxv3detectintentrequest
28889	return c
28890}
28891
28892// Fields allows partial responses to be retrieved. See
28893// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28894// for more information.
28895func (c *ProjectsLocationsAgentsSessionsDetectIntentCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsSessionsDetectIntentCall {
28896	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28897	return c
28898}
28899
28900// Context sets the context to be used in this call's Do method. Any
28901// pending HTTP request will be aborted if the provided context is
28902// canceled.
28903func (c *ProjectsLocationsAgentsSessionsDetectIntentCall) Context(ctx context.Context) *ProjectsLocationsAgentsSessionsDetectIntentCall {
28904	c.ctx_ = ctx
28905	return c
28906}
28907
28908// Header returns an http.Header that can be modified by the caller to
28909// add HTTP headers to the request.
28910func (c *ProjectsLocationsAgentsSessionsDetectIntentCall) Header() http.Header {
28911	if c.header_ == nil {
28912		c.header_ = make(http.Header)
28913	}
28914	return c.header_
28915}
28916
28917func (c *ProjectsLocationsAgentsSessionsDetectIntentCall) doRequest(alt string) (*http.Response, error) {
28918	reqHeaders := make(http.Header)
28919	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
28920	for k, v := range c.header_ {
28921		reqHeaders[k] = v
28922	}
28923	reqHeaders.Set("User-Agent", c.s.userAgent())
28924	var body io.Reader = nil
28925	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3detectintentrequest)
28926	if err != nil {
28927		return nil, err
28928	}
28929	reqHeaders.Set("Content-Type", "application/json")
28930	c.urlParams_.Set("alt", alt)
28931	c.urlParams_.Set("prettyPrint", "false")
28932	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+session}:detectIntent")
28933	urls += "?" + c.urlParams_.Encode()
28934	req, err := http.NewRequest("POST", urls, body)
28935	if err != nil {
28936		return nil, err
28937	}
28938	req.Header = reqHeaders
28939	googleapi.Expand(req.URL, map[string]string{
28940		"session": c.sessionid,
28941	})
28942	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28943}
28944
28945// Do executes the "dialogflow.projects.locations.agents.sessions.detectIntent" call.
28946// Exactly one of *GoogleCloudDialogflowCxV3DetectIntentResponse or
28947// error will be non-nil. Any non-2xx status code is an error. Response
28948// headers are in either
28949// *GoogleCloudDialogflowCxV3DetectIntentResponse.ServerResponse.Header
28950// or (if a response was returned at all) in
28951// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
28952// whether the returned error was because http.StatusNotModified was
28953// returned.
28954func (c *ProjectsLocationsAgentsSessionsDetectIntentCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3DetectIntentResponse, error) {
28955	gensupport.SetOptions(c.urlParams_, opts...)
28956	res, err := c.doRequest("json")
28957	if res != nil && res.StatusCode == http.StatusNotModified {
28958		if res.Body != nil {
28959			res.Body.Close()
28960		}
28961		return nil, &googleapi.Error{
28962			Code:   res.StatusCode,
28963			Header: res.Header,
28964		}
28965	}
28966	if err != nil {
28967		return nil, err
28968	}
28969	defer googleapi.CloseBody(res)
28970	if err := googleapi.CheckResponse(res); err != nil {
28971		return nil, err
28972	}
28973	ret := &GoogleCloudDialogflowCxV3DetectIntentResponse{
28974		ServerResponse: googleapi.ServerResponse{
28975			Header:         res.Header,
28976			HTTPStatusCode: res.StatusCode,
28977		},
28978	}
28979	target := &ret
28980	if err := gensupport.DecodeResponse(target, res); err != nil {
28981		return nil, err
28982	}
28983	return ret, nil
28984	// {
28985	//   "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).",
28986	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/sessions/{sessionsId}:detectIntent",
28987	//   "httpMethod": "POST",
28988	//   "id": "dialogflow.projects.locations.agents.sessions.detectIntent",
28989	//   "parameterOrder": [
28990	//     "session"
28991	//   ],
28992	//   "parameters": {
28993	//     "session": {
28994	//       "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).",
28995	//       "location": "path",
28996	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/sessions/[^/]+$",
28997	//       "required": true,
28998	//       "type": "string"
28999	//     }
29000	//   },
29001	//   "path": "v3/{+session}:detectIntent",
29002	//   "request": {
29003	//     "$ref": "GoogleCloudDialogflowCxV3DetectIntentRequest"
29004	//   },
29005	//   "response": {
29006	//     "$ref": "GoogleCloudDialogflowCxV3DetectIntentResponse"
29007	//   },
29008	//   "scopes": [
29009	//     "https://www.googleapis.com/auth/cloud-platform",
29010	//     "https://www.googleapis.com/auth/dialogflow"
29011	//   ]
29012	// }
29013
29014}
29015
29016// method id "dialogflow.projects.locations.agents.sessions.fulfillIntent":
29017
29018type ProjectsLocationsAgentsSessionsFulfillIntentCall struct {
29019	s                                             *Service
29020	sessionid                                     string
29021	googleclouddialogflowcxv3fulfillintentrequest *GoogleCloudDialogflowCxV3FulfillIntentRequest
29022	urlParams_                                    gensupport.URLParams
29023	ctx_                                          context.Context
29024	header_                                       http.Header
29025}
29026
29027// FulfillIntent: Fulfills a matched intent returned by MatchIntent.
29028// Must be called after MatchIntent, with input from
29029// MatchIntentResponse. Otherwise, the behavior is undefined.
29030//
29031// - session: The name of the session this query is sent to. Format:
29032//   `projects//locations//agents//sessions/` or
29033//   `projects//locations//agents//environments//sessions/`. If
29034//   `Environment ID` is not specified, we assume default 'draft'
29035//   environment. It's up to the API caller to choose an appropriate
29036//   `Session ID`. It can be a random number or some type of session
29037//   identifiers (preferably hashed). The length of the `Session ID`
29038//   must not exceed 36 characters. For more information, see the
29039//   sessions guide
29040//   (https://cloud.google.com/dialogflow/cx/docs/concept/session).
29041func (r *ProjectsLocationsAgentsSessionsService) FulfillIntent(sessionid string, googleclouddialogflowcxv3fulfillintentrequest *GoogleCloudDialogflowCxV3FulfillIntentRequest) *ProjectsLocationsAgentsSessionsFulfillIntentCall {
29042	c := &ProjectsLocationsAgentsSessionsFulfillIntentCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29043	c.sessionid = sessionid
29044	c.googleclouddialogflowcxv3fulfillintentrequest = googleclouddialogflowcxv3fulfillintentrequest
29045	return c
29046}
29047
29048// Fields allows partial responses to be retrieved. See
29049// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29050// for more information.
29051func (c *ProjectsLocationsAgentsSessionsFulfillIntentCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsSessionsFulfillIntentCall {
29052	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29053	return c
29054}
29055
29056// Context sets the context to be used in this call's Do method. Any
29057// pending HTTP request will be aborted if the provided context is
29058// canceled.
29059func (c *ProjectsLocationsAgentsSessionsFulfillIntentCall) Context(ctx context.Context) *ProjectsLocationsAgentsSessionsFulfillIntentCall {
29060	c.ctx_ = ctx
29061	return c
29062}
29063
29064// Header returns an http.Header that can be modified by the caller to
29065// add HTTP headers to the request.
29066func (c *ProjectsLocationsAgentsSessionsFulfillIntentCall) Header() http.Header {
29067	if c.header_ == nil {
29068		c.header_ = make(http.Header)
29069	}
29070	return c.header_
29071}
29072
29073func (c *ProjectsLocationsAgentsSessionsFulfillIntentCall) doRequest(alt string) (*http.Response, error) {
29074	reqHeaders := make(http.Header)
29075	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
29076	for k, v := range c.header_ {
29077		reqHeaders[k] = v
29078	}
29079	reqHeaders.Set("User-Agent", c.s.userAgent())
29080	var body io.Reader = nil
29081	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3fulfillintentrequest)
29082	if err != nil {
29083		return nil, err
29084	}
29085	reqHeaders.Set("Content-Type", "application/json")
29086	c.urlParams_.Set("alt", alt)
29087	c.urlParams_.Set("prettyPrint", "false")
29088	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+session}:fulfillIntent")
29089	urls += "?" + c.urlParams_.Encode()
29090	req, err := http.NewRequest("POST", urls, body)
29091	if err != nil {
29092		return nil, err
29093	}
29094	req.Header = reqHeaders
29095	googleapi.Expand(req.URL, map[string]string{
29096		"session": c.sessionid,
29097	})
29098	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29099}
29100
29101// Do executes the "dialogflow.projects.locations.agents.sessions.fulfillIntent" call.
29102// Exactly one of *GoogleCloudDialogflowCxV3FulfillIntentResponse or
29103// error will be non-nil. Any non-2xx status code is an error. Response
29104// headers are in either
29105// *GoogleCloudDialogflowCxV3FulfillIntentResponse.ServerResponse.Header
29106// or (if a response was returned at all) in
29107// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
29108// whether the returned error was because http.StatusNotModified was
29109// returned.
29110func (c *ProjectsLocationsAgentsSessionsFulfillIntentCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3FulfillIntentResponse, error) {
29111	gensupport.SetOptions(c.urlParams_, opts...)
29112	res, err := c.doRequest("json")
29113	if res != nil && res.StatusCode == http.StatusNotModified {
29114		if res.Body != nil {
29115			res.Body.Close()
29116		}
29117		return nil, &googleapi.Error{
29118			Code:   res.StatusCode,
29119			Header: res.Header,
29120		}
29121	}
29122	if err != nil {
29123		return nil, err
29124	}
29125	defer googleapi.CloseBody(res)
29126	if err := googleapi.CheckResponse(res); err != nil {
29127		return nil, err
29128	}
29129	ret := &GoogleCloudDialogflowCxV3FulfillIntentResponse{
29130		ServerResponse: googleapi.ServerResponse{
29131			Header:         res.Header,
29132			HTTPStatusCode: res.StatusCode,
29133		},
29134	}
29135	target := &ret
29136	if err := gensupport.DecodeResponse(target, res); err != nil {
29137		return nil, err
29138	}
29139	return ret, nil
29140	// {
29141	//   "description": "Fulfills a matched intent returned by MatchIntent. Must be called after MatchIntent, with input from MatchIntentResponse. Otherwise, the behavior is undefined.",
29142	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/sessions/{sessionsId}:fulfillIntent",
29143	//   "httpMethod": "POST",
29144	//   "id": "dialogflow.projects.locations.agents.sessions.fulfillIntent",
29145	//   "parameterOrder": [
29146	//     "session"
29147	//   ],
29148	//   "parameters": {
29149	//     "session": {
29150	//       "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).",
29151	//       "location": "path",
29152	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/sessions/[^/]+$",
29153	//       "required": true,
29154	//       "type": "string"
29155	//     }
29156	//   },
29157	//   "path": "v3/{+session}:fulfillIntent",
29158	//   "request": {
29159	//     "$ref": "GoogleCloudDialogflowCxV3FulfillIntentRequest"
29160	//   },
29161	//   "response": {
29162	//     "$ref": "GoogleCloudDialogflowCxV3FulfillIntentResponse"
29163	//   },
29164	//   "scopes": [
29165	//     "https://www.googleapis.com/auth/cloud-platform",
29166	//     "https://www.googleapis.com/auth/dialogflow"
29167	//   ]
29168	// }
29169
29170}
29171
29172// method id "dialogflow.projects.locations.agents.sessions.matchIntent":
29173
29174type ProjectsLocationsAgentsSessionsMatchIntentCall struct {
29175	s                                           *Service
29176	sessionid                                   string
29177	googleclouddialogflowcxv3matchintentrequest *GoogleCloudDialogflowCxV3MatchIntentRequest
29178	urlParams_                                  gensupport.URLParams
29179	ctx_                                        context.Context
29180	header_                                     http.Header
29181}
29182
29183// MatchIntent: Returns preliminary intent match results, doesn't change
29184// the session status.
29185//
29186// - session: The name of the session this query is sent to. Format:
29187//   `projects//locations//agents//sessions/` or
29188//   `projects//locations//agents//environments//sessions/`. If
29189//   `Environment ID` is not specified, we assume default 'draft'
29190//   environment. It's up to the API caller to choose an appropriate
29191//   `Session ID`. It can be a random number or some type of session
29192//   identifiers (preferably hashed). The length of the `Session ID`
29193//   must not exceed 36 characters. For more information, see the
29194//   sessions guide
29195//   (https://cloud.google.com/dialogflow/cx/docs/concept/session).
29196func (r *ProjectsLocationsAgentsSessionsService) MatchIntent(sessionid string, googleclouddialogflowcxv3matchintentrequest *GoogleCloudDialogflowCxV3MatchIntentRequest) *ProjectsLocationsAgentsSessionsMatchIntentCall {
29197	c := &ProjectsLocationsAgentsSessionsMatchIntentCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29198	c.sessionid = sessionid
29199	c.googleclouddialogflowcxv3matchintentrequest = googleclouddialogflowcxv3matchintentrequest
29200	return c
29201}
29202
29203// Fields allows partial responses to be retrieved. See
29204// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29205// for more information.
29206func (c *ProjectsLocationsAgentsSessionsMatchIntentCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsSessionsMatchIntentCall {
29207	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29208	return c
29209}
29210
29211// Context sets the context to be used in this call's Do method. Any
29212// pending HTTP request will be aborted if the provided context is
29213// canceled.
29214func (c *ProjectsLocationsAgentsSessionsMatchIntentCall) Context(ctx context.Context) *ProjectsLocationsAgentsSessionsMatchIntentCall {
29215	c.ctx_ = ctx
29216	return c
29217}
29218
29219// Header returns an http.Header that can be modified by the caller to
29220// add HTTP headers to the request.
29221func (c *ProjectsLocationsAgentsSessionsMatchIntentCall) Header() http.Header {
29222	if c.header_ == nil {
29223		c.header_ = make(http.Header)
29224	}
29225	return c.header_
29226}
29227
29228func (c *ProjectsLocationsAgentsSessionsMatchIntentCall) doRequest(alt string) (*http.Response, error) {
29229	reqHeaders := make(http.Header)
29230	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
29231	for k, v := range c.header_ {
29232		reqHeaders[k] = v
29233	}
29234	reqHeaders.Set("User-Agent", c.s.userAgent())
29235	var body io.Reader = nil
29236	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3matchintentrequest)
29237	if err != nil {
29238		return nil, err
29239	}
29240	reqHeaders.Set("Content-Type", "application/json")
29241	c.urlParams_.Set("alt", alt)
29242	c.urlParams_.Set("prettyPrint", "false")
29243	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+session}:matchIntent")
29244	urls += "?" + c.urlParams_.Encode()
29245	req, err := http.NewRequest("POST", urls, body)
29246	if err != nil {
29247		return nil, err
29248	}
29249	req.Header = reqHeaders
29250	googleapi.Expand(req.URL, map[string]string{
29251		"session": c.sessionid,
29252	})
29253	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29254}
29255
29256// Do executes the "dialogflow.projects.locations.agents.sessions.matchIntent" call.
29257// Exactly one of *GoogleCloudDialogflowCxV3MatchIntentResponse or error
29258// will be non-nil. Any non-2xx status code is an error. Response
29259// headers are in either
29260// *GoogleCloudDialogflowCxV3MatchIntentResponse.ServerResponse.Header
29261// or (if a response was returned at all) in
29262// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
29263// whether the returned error was because http.StatusNotModified was
29264// returned.
29265func (c *ProjectsLocationsAgentsSessionsMatchIntentCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3MatchIntentResponse, error) {
29266	gensupport.SetOptions(c.urlParams_, opts...)
29267	res, err := c.doRequest("json")
29268	if res != nil && res.StatusCode == http.StatusNotModified {
29269		if res.Body != nil {
29270			res.Body.Close()
29271		}
29272		return nil, &googleapi.Error{
29273			Code:   res.StatusCode,
29274			Header: res.Header,
29275		}
29276	}
29277	if err != nil {
29278		return nil, err
29279	}
29280	defer googleapi.CloseBody(res)
29281	if err := googleapi.CheckResponse(res); err != nil {
29282		return nil, err
29283	}
29284	ret := &GoogleCloudDialogflowCxV3MatchIntentResponse{
29285		ServerResponse: googleapi.ServerResponse{
29286			Header:         res.Header,
29287			HTTPStatusCode: res.StatusCode,
29288		},
29289	}
29290	target := &ret
29291	if err := gensupport.DecodeResponse(target, res); err != nil {
29292		return nil, err
29293	}
29294	return ret, nil
29295	// {
29296	//   "description": "Returns preliminary intent match results, doesn't change the session status.",
29297	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/sessions/{sessionsId}:matchIntent",
29298	//   "httpMethod": "POST",
29299	//   "id": "dialogflow.projects.locations.agents.sessions.matchIntent",
29300	//   "parameterOrder": [
29301	//     "session"
29302	//   ],
29303	//   "parameters": {
29304	//     "session": {
29305	//       "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).",
29306	//       "location": "path",
29307	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/sessions/[^/]+$",
29308	//       "required": true,
29309	//       "type": "string"
29310	//     }
29311	//   },
29312	//   "path": "v3/{+session}:matchIntent",
29313	//   "request": {
29314	//     "$ref": "GoogleCloudDialogflowCxV3MatchIntentRequest"
29315	//   },
29316	//   "response": {
29317	//     "$ref": "GoogleCloudDialogflowCxV3MatchIntentResponse"
29318	//   },
29319	//   "scopes": [
29320	//     "https://www.googleapis.com/auth/cloud-platform",
29321	//     "https://www.googleapis.com/auth/dialogflow"
29322	//   ]
29323	// }
29324
29325}
29326
29327// method id "dialogflow.projects.locations.agents.sessions.entityTypes.create":
29328
29329type ProjectsLocationsAgentsSessionsEntityTypesCreateCall struct {
29330	s                                          *Service
29331	parent                                     string
29332	googleclouddialogflowcxv3sessionentitytype *GoogleCloudDialogflowCxV3SessionEntityType
29333	urlParams_                                 gensupport.URLParams
29334	ctx_                                       context.Context
29335	header_                                    http.Header
29336}
29337
29338// Create: Creates a session entity type.
29339//
29340// - parent: The session to create a session entity type for. Format:
29341//   `projects//locations//agents//sessions/` or
29342//   `projects//locations//agents//environments//sessions/`. If
29343//   `Environment ID` is not specified, we assume default 'draft'
29344//   environment.
29345func (r *ProjectsLocationsAgentsSessionsEntityTypesService) Create(parent string, googleclouddialogflowcxv3sessionentitytype *GoogleCloudDialogflowCxV3SessionEntityType) *ProjectsLocationsAgentsSessionsEntityTypesCreateCall {
29346	c := &ProjectsLocationsAgentsSessionsEntityTypesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29347	c.parent = parent
29348	c.googleclouddialogflowcxv3sessionentitytype = googleclouddialogflowcxv3sessionentitytype
29349	return c
29350}
29351
29352// Fields allows partial responses to be retrieved. See
29353// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29354// for more information.
29355func (c *ProjectsLocationsAgentsSessionsEntityTypesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsSessionsEntityTypesCreateCall {
29356	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29357	return c
29358}
29359
29360// Context sets the context to be used in this call's Do method. Any
29361// pending HTTP request will be aborted if the provided context is
29362// canceled.
29363func (c *ProjectsLocationsAgentsSessionsEntityTypesCreateCall) Context(ctx context.Context) *ProjectsLocationsAgentsSessionsEntityTypesCreateCall {
29364	c.ctx_ = ctx
29365	return c
29366}
29367
29368// Header returns an http.Header that can be modified by the caller to
29369// add HTTP headers to the request.
29370func (c *ProjectsLocationsAgentsSessionsEntityTypesCreateCall) Header() http.Header {
29371	if c.header_ == nil {
29372		c.header_ = make(http.Header)
29373	}
29374	return c.header_
29375}
29376
29377func (c *ProjectsLocationsAgentsSessionsEntityTypesCreateCall) doRequest(alt string) (*http.Response, error) {
29378	reqHeaders := make(http.Header)
29379	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
29380	for k, v := range c.header_ {
29381		reqHeaders[k] = v
29382	}
29383	reqHeaders.Set("User-Agent", c.s.userAgent())
29384	var body io.Reader = nil
29385	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3sessionentitytype)
29386	if err != nil {
29387		return nil, err
29388	}
29389	reqHeaders.Set("Content-Type", "application/json")
29390	c.urlParams_.Set("alt", alt)
29391	c.urlParams_.Set("prettyPrint", "false")
29392	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/entityTypes")
29393	urls += "?" + c.urlParams_.Encode()
29394	req, err := http.NewRequest("POST", urls, body)
29395	if err != nil {
29396		return nil, err
29397	}
29398	req.Header = reqHeaders
29399	googleapi.Expand(req.URL, map[string]string{
29400		"parent": c.parent,
29401	})
29402	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29403}
29404
29405// Do executes the "dialogflow.projects.locations.agents.sessions.entityTypes.create" call.
29406// Exactly one of *GoogleCloudDialogflowCxV3SessionEntityType or error
29407// will be non-nil. Any non-2xx status code is an error. Response
29408// headers are in either
29409// *GoogleCloudDialogflowCxV3SessionEntityType.ServerResponse.Header or
29410// (if a response was returned at all) in
29411// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
29412// whether the returned error was because http.StatusNotModified was
29413// returned.
29414func (c *ProjectsLocationsAgentsSessionsEntityTypesCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3SessionEntityType, error) {
29415	gensupport.SetOptions(c.urlParams_, opts...)
29416	res, err := c.doRequest("json")
29417	if res != nil && res.StatusCode == http.StatusNotModified {
29418		if res.Body != nil {
29419			res.Body.Close()
29420		}
29421		return nil, &googleapi.Error{
29422			Code:   res.StatusCode,
29423			Header: res.Header,
29424		}
29425	}
29426	if err != nil {
29427		return nil, err
29428	}
29429	defer googleapi.CloseBody(res)
29430	if err := googleapi.CheckResponse(res); err != nil {
29431		return nil, err
29432	}
29433	ret := &GoogleCloudDialogflowCxV3SessionEntityType{
29434		ServerResponse: googleapi.ServerResponse{
29435			Header:         res.Header,
29436			HTTPStatusCode: res.StatusCode,
29437		},
29438	}
29439	target := &ret
29440	if err := gensupport.DecodeResponse(target, res); err != nil {
29441		return nil, err
29442	}
29443	return ret, nil
29444	// {
29445	//   "description": "Creates a session entity type.",
29446	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/sessions/{sessionsId}/entityTypes",
29447	//   "httpMethod": "POST",
29448	//   "id": "dialogflow.projects.locations.agents.sessions.entityTypes.create",
29449	//   "parameterOrder": [
29450	//     "parent"
29451	//   ],
29452	//   "parameters": {
29453	//     "parent": {
29454	//       "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.",
29455	//       "location": "path",
29456	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/sessions/[^/]+$",
29457	//       "required": true,
29458	//       "type": "string"
29459	//     }
29460	//   },
29461	//   "path": "v3/{+parent}/entityTypes",
29462	//   "request": {
29463	//     "$ref": "GoogleCloudDialogflowCxV3SessionEntityType"
29464	//   },
29465	//   "response": {
29466	//     "$ref": "GoogleCloudDialogflowCxV3SessionEntityType"
29467	//   },
29468	//   "scopes": [
29469	//     "https://www.googleapis.com/auth/cloud-platform",
29470	//     "https://www.googleapis.com/auth/dialogflow"
29471	//   ]
29472	// }
29473
29474}
29475
29476// method id "dialogflow.projects.locations.agents.sessions.entityTypes.delete":
29477
29478type ProjectsLocationsAgentsSessionsEntityTypesDeleteCall struct {
29479	s          *Service
29480	name       string
29481	urlParams_ gensupport.URLParams
29482	ctx_       context.Context
29483	header_    http.Header
29484}
29485
29486// Delete: Deletes the specified session entity type.
29487//
29488// - name: The name of the session entity type to delete. Format:
29489//   `projects//locations//agents//sessions//entityTypes/` or
29490//   `projects//locations//agents//environments//sessions//entityTypes/`.
29491//    If `Environment ID` is not specified, we assume default 'draft'
29492//   environment.
29493func (r *ProjectsLocationsAgentsSessionsEntityTypesService) Delete(name string) *ProjectsLocationsAgentsSessionsEntityTypesDeleteCall {
29494	c := &ProjectsLocationsAgentsSessionsEntityTypesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29495	c.name = name
29496	return c
29497}
29498
29499// Fields allows partial responses to be retrieved. See
29500// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29501// for more information.
29502func (c *ProjectsLocationsAgentsSessionsEntityTypesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsSessionsEntityTypesDeleteCall {
29503	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29504	return c
29505}
29506
29507// Context sets the context to be used in this call's Do method. Any
29508// pending HTTP request will be aborted if the provided context is
29509// canceled.
29510func (c *ProjectsLocationsAgentsSessionsEntityTypesDeleteCall) Context(ctx context.Context) *ProjectsLocationsAgentsSessionsEntityTypesDeleteCall {
29511	c.ctx_ = ctx
29512	return c
29513}
29514
29515// Header returns an http.Header that can be modified by the caller to
29516// add HTTP headers to the request.
29517func (c *ProjectsLocationsAgentsSessionsEntityTypesDeleteCall) Header() http.Header {
29518	if c.header_ == nil {
29519		c.header_ = make(http.Header)
29520	}
29521	return c.header_
29522}
29523
29524func (c *ProjectsLocationsAgentsSessionsEntityTypesDeleteCall) doRequest(alt string) (*http.Response, error) {
29525	reqHeaders := make(http.Header)
29526	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
29527	for k, v := range c.header_ {
29528		reqHeaders[k] = v
29529	}
29530	reqHeaders.Set("User-Agent", c.s.userAgent())
29531	var body io.Reader = nil
29532	c.urlParams_.Set("alt", alt)
29533	c.urlParams_.Set("prettyPrint", "false")
29534	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
29535	urls += "?" + c.urlParams_.Encode()
29536	req, err := http.NewRequest("DELETE", urls, body)
29537	if err != nil {
29538		return nil, err
29539	}
29540	req.Header = reqHeaders
29541	googleapi.Expand(req.URL, map[string]string{
29542		"name": c.name,
29543	})
29544	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29545}
29546
29547// Do executes the "dialogflow.projects.locations.agents.sessions.entityTypes.delete" call.
29548// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
29549// non-2xx status code is an error. Response headers are in either
29550// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
29551// returned at all) in error.(*googleapi.Error).Header. Use
29552// googleapi.IsNotModified to check whether the returned error was
29553// because http.StatusNotModified was returned.
29554func (c *ProjectsLocationsAgentsSessionsEntityTypesDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
29555	gensupport.SetOptions(c.urlParams_, opts...)
29556	res, err := c.doRequest("json")
29557	if res != nil && res.StatusCode == http.StatusNotModified {
29558		if res.Body != nil {
29559			res.Body.Close()
29560		}
29561		return nil, &googleapi.Error{
29562			Code:   res.StatusCode,
29563			Header: res.Header,
29564		}
29565	}
29566	if err != nil {
29567		return nil, err
29568	}
29569	defer googleapi.CloseBody(res)
29570	if err := googleapi.CheckResponse(res); err != nil {
29571		return nil, err
29572	}
29573	ret := &GoogleProtobufEmpty{
29574		ServerResponse: googleapi.ServerResponse{
29575			Header:         res.Header,
29576			HTTPStatusCode: res.StatusCode,
29577		},
29578	}
29579	target := &ret
29580	if err := gensupport.DecodeResponse(target, res); err != nil {
29581		return nil, err
29582	}
29583	return ret, nil
29584	// {
29585	//   "description": "Deletes the specified session entity type.",
29586	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/sessions/{sessionsId}/entityTypes/{entityTypesId}",
29587	//   "httpMethod": "DELETE",
29588	//   "id": "dialogflow.projects.locations.agents.sessions.entityTypes.delete",
29589	//   "parameterOrder": [
29590	//     "name"
29591	//   ],
29592	//   "parameters": {
29593	//     "name": {
29594	//       "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.",
29595	//       "location": "path",
29596	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/sessions/[^/]+/entityTypes/[^/]+$",
29597	//       "required": true,
29598	//       "type": "string"
29599	//     }
29600	//   },
29601	//   "path": "v3/{+name}",
29602	//   "response": {
29603	//     "$ref": "GoogleProtobufEmpty"
29604	//   },
29605	//   "scopes": [
29606	//     "https://www.googleapis.com/auth/cloud-platform",
29607	//     "https://www.googleapis.com/auth/dialogflow"
29608	//   ]
29609	// }
29610
29611}
29612
29613// method id "dialogflow.projects.locations.agents.sessions.entityTypes.get":
29614
29615type ProjectsLocationsAgentsSessionsEntityTypesGetCall struct {
29616	s            *Service
29617	name         string
29618	urlParams_   gensupport.URLParams
29619	ifNoneMatch_ string
29620	ctx_         context.Context
29621	header_      http.Header
29622}
29623
29624// Get: Retrieves the specified session entity type.
29625//
29626// - name: The name of the session entity type. Format:
29627//   `projects//locations//agents//sessions//entityTypes/` or
29628//   `projects//locations//agents//environments//sessions//entityTypes/`.
29629//    If `Environment ID` is not specified, we assume default 'draft'
29630//   environment.
29631func (r *ProjectsLocationsAgentsSessionsEntityTypesService) Get(name string) *ProjectsLocationsAgentsSessionsEntityTypesGetCall {
29632	c := &ProjectsLocationsAgentsSessionsEntityTypesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29633	c.name = name
29634	return c
29635}
29636
29637// Fields allows partial responses to be retrieved. See
29638// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29639// for more information.
29640func (c *ProjectsLocationsAgentsSessionsEntityTypesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsSessionsEntityTypesGetCall {
29641	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29642	return c
29643}
29644
29645// IfNoneMatch sets the optional parameter which makes the operation
29646// fail if the object's ETag matches the given value. This is useful for
29647// getting updates only after the object has changed since the last
29648// request. Use googleapi.IsNotModified to check whether the response
29649// error from Do is the result of In-None-Match.
29650func (c *ProjectsLocationsAgentsSessionsEntityTypesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsSessionsEntityTypesGetCall {
29651	c.ifNoneMatch_ = entityTag
29652	return c
29653}
29654
29655// Context sets the context to be used in this call's Do method. Any
29656// pending HTTP request will be aborted if the provided context is
29657// canceled.
29658func (c *ProjectsLocationsAgentsSessionsEntityTypesGetCall) Context(ctx context.Context) *ProjectsLocationsAgentsSessionsEntityTypesGetCall {
29659	c.ctx_ = ctx
29660	return c
29661}
29662
29663// Header returns an http.Header that can be modified by the caller to
29664// add HTTP headers to the request.
29665func (c *ProjectsLocationsAgentsSessionsEntityTypesGetCall) Header() http.Header {
29666	if c.header_ == nil {
29667		c.header_ = make(http.Header)
29668	}
29669	return c.header_
29670}
29671
29672func (c *ProjectsLocationsAgentsSessionsEntityTypesGetCall) doRequest(alt string) (*http.Response, error) {
29673	reqHeaders := make(http.Header)
29674	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
29675	for k, v := range c.header_ {
29676		reqHeaders[k] = v
29677	}
29678	reqHeaders.Set("User-Agent", c.s.userAgent())
29679	if c.ifNoneMatch_ != "" {
29680		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
29681	}
29682	var body io.Reader = nil
29683	c.urlParams_.Set("alt", alt)
29684	c.urlParams_.Set("prettyPrint", "false")
29685	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
29686	urls += "?" + c.urlParams_.Encode()
29687	req, err := http.NewRequest("GET", urls, body)
29688	if err != nil {
29689		return nil, err
29690	}
29691	req.Header = reqHeaders
29692	googleapi.Expand(req.URL, map[string]string{
29693		"name": c.name,
29694	})
29695	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29696}
29697
29698// Do executes the "dialogflow.projects.locations.agents.sessions.entityTypes.get" call.
29699// Exactly one of *GoogleCloudDialogflowCxV3SessionEntityType or error
29700// will be non-nil. Any non-2xx status code is an error. Response
29701// headers are in either
29702// *GoogleCloudDialogflowCxV3SessionEntityType.ServerResponse.Header or
29703// (if a response was returned at all) in
29704// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
29705// whether the returned error was because http.StatusNotModified was
29706// returned.
29707func (c *ProjectsLocationsAgentsSessionsEntityTypesGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3SessionEntityType, error) {
29708	gensupport.SetOptions(c.urlParams_, opts...)
29709	res, err := c.doRequest("json")
29710	if res != nil && res.StatusCode == http.StatusNotModified {
29711		if res.Body != nil {
29712			res.Body.Close()
29713		}
29714		return nil, &googleapi.Error{
29715			Code:   res.StatusCode,
29716			Header: res.Header,
29717		}
29718	}
29719	if err != nil {
29720		return nil, err
29721	}
29722	defer googleapi.CloseBody(res)
29723	if err := googleapi.CheckResponse(res); err != nil {
29724		return nil, err
29725	}
29726	ret := &GoogleCloudDialogflowCxV3SessionEntityType{
29727		ServerResponse: googleapi.ServerResponse{
29728			Header:         res.Header,
29729			HTTPStatusCode: res.StatusCode,
29730		},
29731	}
29732	target := &ret
29733	if err := gensupport.DecodeResponse(target, res); err != nil {
29734		return nil, err
29735	}
29736	return ret, nil
29737	// {
29738	//   "description": "Retrieves the specified session entity type.",
29739	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/sessions/{sessionsId}/entityTypes/{entityTypesId}",
29740	//   "httpMethod": "GET",
29741	//   "id": "dialogflow.projects.locations.agents.sessions.entityTypes.get",
29742	//   "parameterOrder": [
29743	//     "name"
29744	//   ],
29745	//   "parameters": {
29746	//     "name": {
29747	//       "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.",
29748	//       "location": "path",
29749	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/sessions/[^/]+/entityTypes/[^/]+$",
29750	//       "required": true,
29751	//       "type": "string"
29752	//     }
29753	//   },
29754	//   "path": "v3/{+name}",
29755	//   "response": {
29756	//     "$ref": "GoogleCloudDialogflowCxV3SessionEntityType"
29757	//   },
29758	//   "scopes": [
29759	//     "https://www.googleapis.com/auth/cloud-platform",
29760	//     "https://www.googleapis.com/auth/dialogflow"
29761	//   ]
29762	// }
29763
29764}
29765
29766// method id "dialogflow.projects.locations.agents.sessions.entityTypes.list":
29767
29768type ProjectsLocationsAgentsSessionsEntityTypesListCall struct {
29769	s            *Service
29770	parent       string
29771	urlParams_   gensupport.URLParams
29772	ifNoneMatch_ string
29773	ctx_         context.Context
29774	header_      http.Header
29775}
29776
29777// List: Returns the list of all session entity types in the specified
29778// session.
29779//
29780// - parent: The session to list all session entity types from. Format:
29781//   `projects//locations//agents//sessions/` or
29782//   `projects//locations//agents//environments//sessions/`. If
29783//   `Environment ID` is not specified, we assume default 'draft'
29784//   environment.
29785func (r *ProjectsLocationsAgentsSessionsEntityTypesService) List(parent string) *ProjectsLocationsAgentsSessionsEntityTypesListCall {
29786	c := &ProjectsLocationsAgentsSessionsEntityTypesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29787	c.parent = parent
29788	return c
29789}
29790
29791// PageSize sets the optional parameter "pageSize": The maximum number
29792// of items to return in a single page. By default 100 and at most 1000.
29793func (c *ProjectsLocationsAgentsSessionsEntityTypesListCall) PageSize(pageSize int64) *ProjectsLocationsAgentsSessionsEntityTypesListCall {
29794	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
29795	return c
29796}
29797
29798// PageToken sets the optional parameter "pageToken": The
29799// next_page_token value returned from a previous list request.
29800func (c *ProjectsLocationsAgentsSessionsEntityTypesListCall) PageToken(pageToken string) *ProjectsLocationsAgentsSessionsEntityTypesListCall {
29801	c.urlParams_.Set("pageToken", pageToken)
29802	return c
29803}
29804
29805// Fields allows partial responses to be retrieved. See
29806// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29807// for more information.
29808func (c *ProjectsLocationsAgentsSessionsEntityTypesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsSessionsEntityTypesListCall {
29809	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29810	return c
29811}
29812
29813// IfNoneMatch sets the optional parameter which makes the operation
29814// fail if the object's ETag matches the given value. This is useful for
29815// getting updates only after the object has changed since the last
29816// request. Use googleapi.IsNotModified to check whether the response
29817// error from Do is the result of In-None-Match.
29818func (c *ProjectsLocationsAgentsSessionsEntityTypesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsSessionsEntityTypesListCall {
29819	c.ifNoneMatch_ = entityTag
29820	return c
29821}
29822
29823// Context sets the context to be used in this call's Do method. Any
29824// pending HTTP request will be aborted if the provided context is
29825// canceled.
29826func (c *ProjectsLocationsAgentsSessionsEntityTypesListCall) Context(ctx context.Context) *ProjectsLocationsAgentsSessionsEntityTypesListCall {
29827	c.ctx_ = ctx
29828	return c
29829}
29830
29831// Header returns an http.Header that can be modified by the caller to
29832// add HTTP headers to the request.
29833func (c *ProjectsLocationsAgentsSessionsEntityTypesListCall) Header() http.Header {
29834	if c.header_ == nil {
29835		c.header_ = make(http.Header)
29836	}
29837	return c.header_
29838}
29839
29840func (c *ProjectsLocationsAgentsSessionsEntityTypesListCall) doRequest(alt string) (*http.Response, error) {
29841	reqHeaders := make(http.Header)
29842	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
29843	for k, v := range c.header_ {
29844		reqHeaders[k] = v
29845	}
29846	reqHeaders.Set("User-Agent", c.s.userAgent())
29847	if c.ifNoneMatch_ != "" {
29848		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
29849	}
29850	var body io.Reader = nil
29851	c.urlParams_.Set("alt", alt)
29852	c.urlParams_.Set("prettyPrint", "false")
29853	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/entityTypes")
29854	urls += "?" + c.urlParams_.Encode()
29855	req, err := http.NewRequest("GET", urls, body)
29856	if err != nil {
29857		return nil, err
29858	}
29859	req.Header = reqHeaders
29860	googleapi.Expand(req.URL, map[string]string{
29861		"parent": c.parent,
29862	})
29863	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29864}
29865
29866// Do executes the "dialogflow.projects.locations.agents.sessions.entityTypes.list" call.
29867// Exactly one of
29868// *GoogleCloudDialogflowCxV3ListSessionEntityTypesResponse or error
29869// will be non-nil. Any non-2xx status code is an error. Response
29870// headers are in either
29871// *GoogleCloudDialogflowCxV3ListSessionEntityTypesResponse.ServerRespons
29872// e.Header or (if a response was returned at all) in
29873// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
29874// whether the returned error was because http.StatusNotModified was
29875// returned.
29876func (c *ProjectsLocationsAgentsSessionsEntityTypesListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3ListSessionEntityTypesResponse, error) {
29877	gensupport.SetOptions(c.urlParams_, opts...)
29878	res, err := c.doRequest("json")
29879	if res != nil && res.StatusCode == http.StatusNotModified {
29880		if res.Body != nil {
29881			res.Body.Close()
29882		}
29883		return nil, &googleapi.Error{
29884			Code:   res.StatusCode,
29885			Header: res.Header,
29886		}
29887	}
29888	if err != nil {
29889		return nil, err
29890	}
29891	defer googleapi.CloseBody(res)
29892	if err := googleapi.CheckResponse(res); err != nil {
29893		return nil, err
29894	}
29895	ret := &GoogleCloudDialogflowCxV3ListSessionEntityTypesResponse{
29896		ServerResponse: googleapi.ServerResponse{
29897			Header:         res.Header,
29898			HTTPStatusCode: res.StatusCode,
29899		},
29900	}
29901	target := &ret
29902	if err := gensupport.DecodeResponse(target, res); err != nil {
29903		return nil, err
29904	}
29905	return ret, nil
29906	// {
29907	//   "description": "Returns the list of all session entity types in the specified session.",
29908	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/sessions/{sessionsId}/entityTypes",
29909	//   "httpMethod": "GET",
29910	//   "id": "dialogflow.projects.locations.agents.sessions.entityTypes.list",
29911	//   "parameterOrder": [
29912	//     "parent"
29913	//   ],
29914	//   "parameters": {
29915	//     "pageSize": {
29916	//       "description": "The maximum number of items to return in a single page. By default 100 and at most 1000.",
29917	//       "format": "int32",
29918	//       "location": "query",
29919	//       "type": "integer"
29920	//     },
29921	//     "pageToken": {
29922	//       "description": "The next_page_token value returned from a previous list request.",
29923	//       "location": "query",
29924	//       "type": "string"
29925	//     },
29926	//     "parent": {
29927	//       "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.",
29928	//       "location": "path",
29929	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/sessions/[^/]+$",
29930	//       "required": true,
29931	//       "type": "string"
29932	//     }
29933	//   },
29934	//   "path": "v3/{+parent}/entityTypes",
29935	//   "response": {
29936	//     "$ref": "GoogleCloudDialogflowCxV3ListSessionEntityTypesResponse"
29937	//   },
29938	//   "scopes": [
29939	//     "https://www.googleapis.com/auth/cloud-platform",
29940	//     "https://www.googleapis.com/auth/dialogflow"
29941	//   ]
29942	// }
29943
29944}
29945
29946// Pages invokes f for each page of results.
29947// A non-nil error returned from f will halt the iteration.
29948// The provided context supersedes any context provided to the Context method.
29949func (c *ProjectsLocationsAgentsSessionsEntityTypesListCall) Pages(ctx context.Context, f func(*GoogleCloudDialogflowCxV3ListSessionEntityTypesResponse) error) error {
29950	c.ctx_ = ctx
29951	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
29952	for {
29953		x, err := c.Do()
29954		if err != nil {
29955			return err
29956		}
29957		if err := f(x); err != nil {
29958			return err
29959		}
29960		if x.NextPageToken == "" {
29961			return nil
29962		}
29963		c.PageToken(x.NextPageToken)
29964	}
29965}
29966
29967// method id "dialogflow.projects.locations.agents.sessions.entityTypes.patch":
29968
29969type ProjectsLocationsAgentsSessionsEntityTypesPatchCall struct {
29970	s                                          *Service
29971	nameid                                     string
29972	googleclouddialogflowcxv3sessionentitytype *GoogleCloudDialogflowCxV3SessionEntityType
29973	urlParams_                                 gensupport.URLParams
29974	ctx_                                       context.Context
29975	header_                                    http.Header
29976}
29977
29978// Patch: Updates the specified session entity type.
29979//
29980// - name: The unique identifier of the session entity type. Format:
29981//   `projects//locations//agents//sessions//entityTypes/` or
29982//   `projects//locations//agents//environments//sessions//entityTypes/`.
29983//    If `Environment ID` is not specified, we assume default 'draft'
29984//   environment.
29985func (r *ProjectsLocationsAgentsSessionsEntityTypesService) Patch(nameid string, googleclouddialogflowcxv3sessionentitytype *GoogleCloudDialogflowCxV3SessionEntityType) *ProjectsLocationsAgentsSessionsEntityTypesPatchCall {
29986	c := &ProjectsLocationsAgentsSessionsEntityTypesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29987	c.nameid = nameid
29988	c.googleclouddialogflowcxv3sessionentitytype = googleclouddialogflowcxv3sessionentitytype
29989	return c
29990}
29991
29992// UpdateMask sets the optional parameter "updateMask": The mask to
29993// control which fields get updated.
29994func (c *ProjectsLocationsAgentsSessionsEntityTypesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsAgentsSessionsEntityTypesPatchCall {
29995	c.urlParams_.Set("updateMask", updateMask)
29996	return c
29997}
29998
29999// Fields allows partial responses to be retrieved. See
30000// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30001// for more information.
30002func (c *ProjectsLocationsAgentsSessionsEntityTypesPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsSessionsEntityTypesPatchCall {
30003	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30004	return c
30005}
30006
30007// Context sets the context to be used in this call's Do method. Any
30008// pending HTTP request will be aborted if the provided context is
30009// canceled.
30010func (c *ProjectsLocationsAgentsSessionsEntityTypesPatchCall) Context(ctx context.Context) *ProjectsLocationsAgentsSessionsEntityTypesPatchCall {
30011	c.ctx_ = ctx
30012	return c
30013}
30014
30015// Header returns an http.Header that can be modified by the caller to
30016// add HTTP headers to the request.
30017func (c *ProjectsLocationsAgentsSessionsEntityTypesPatchCall) Header() http.Header {
30018	if c.header_ == nil {
30019		c.header_ = make(http.Header)
30020	}
30021	return c.header_
30022}
30023
30024func (c *ProjectsLocationsAgentsSessionsEntityTypesPatchCall) doRequest(alt string) (*http.Response, error) {
30025	reqHeaders := make(http.Header)
30026	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
30027	for k, v := range c.header_ {
30028		reqHeaders[k] = v
30029	}
30030	reqHeaders.Set("User-Agent", c.s.userAgent())
30031	var body io.Reader = nil
30032	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3sessionentitytype)
30033	if err != nil {
30034		return nil, err
30035	}
30036	reqHeaders.Set("Content-Type", "application/json")
30037	c.urlParams_.Set("alt", alt)
30038	c.urlParams_.Set("prettyPrint", "false")
30039	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
30040	urls += "?" + c.urlParams_.Encode()
30041	req, err := http.NewRequest("PATCH", urls, body)
30042	if err != nil {
30043		return nil, err
30044	}
30045	req.Header = reqHeaders
30046	googleapi.Expand(req.URL, map[string]string{
30047		"name": c.nameid,
30048	})
30049	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30050}
30051
30052// Do executes the "dialogflow.projects.locations.agents.sessions.entityTypes.patch" call.
30053// Exactly one of *GoogleCloudDialogflowCxV3SessionEntityType or error
30054// will be non-nil. Any non-2xx status code is an error. Response
30055// headers are in either
30056// *GoogleCloudDialogflowCxV3SessionEntityType.ServerResponse.Header or
30057// (if a response was returned at all) in
30058// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
30059// whether the returned error was because http.StatusNotModified was
30060// returned.
30061func (c *ProjectsLocationsAgentsSessionsEntityTypesPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3SessionEntityType, error) {
30062	gensupport.SetOptions(c.urlParams_, opts...)
30063	res, err := c.doRequest("json")
30064	if res != nil && res.StatusCode == http.StatusNotModified {
30065		if res.Body != nil {
30066			res.Body.Close()
30067		}
30068		return nil, &googleapi.Error{
30069			Code:   res.StatusCode,
30070			Header: res.Header,
30071		}
30072	}
30073	if err != nil {
30074		return nil, err
30075	}
30076	defer googleapi.CloseBody(res)
30077	if err := googleapi.CheckResponse(res); err != nil {
30078		return nil, err
30079	}
30080	ret := &GoogleCloudDialogflowCxV3SessionEntityType{
30081		ServerResponse: googleapi.ServerResponse{
30082			Header:         res.Header,
30083			HTTPStatusCode: res.StatusCode,
30084		},
30085	}
30086	target := &ret
30087	if err := gensupport.DecodeResponse(target, res); err != nil {
30088		return nil, err
30089	}
30090	return ret, nil
30091	// {
30092	//   "description": "Updates the specified session entity type.",
30093	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/sessions/{sessionsId}/entityTypes/{entityTypesId}",
30094	//   "httpMethod": "PATCH",
30095	//   "id": "dialogflow.projects.locations.agents.sessions.entityTypes.patch",
30096	//   "parameterOrder": [
30097	//     "name"
30098	//   ],
30099	//   "parameters": {
30100	//     "name": {
30101	//       "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.",
30102	//       "location": "path",
30103	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/sessions/[^/]+/entityTypes/[^/]+$",
30104	//       "required": true,
30105	//       "type": "string"
30106	//     },
30107	//     "updateMask": {
30108	//       "description": "The mask to control which fields get updated.",
30109	//       "format": "google-fieldmask",
30110	//       "location": "query",
30111	//       "type": "string"
30112	//     }
30113	//   },
30114	//   "path": "v3/{+name}",
30115	//   "request": {
30116	//     "$ref": "GoogleCloudDialogflowCxV3SessionEntityType"
30117	//   },
30118	//   "response": {
30119	//     "$ref": "GoogleCloudDialogflowCxV3SessionEntityType"
30120	//   },
30121	//   "scopes": [
30122	//     "https://www.googleapis.com/auth/cloud-platform",
30123	//     "https://www.googleapis.com/auth/dialogflow"
30124	//   ]
30125	// }
30126
30127}
30128
30129// method id "dialogflow.projects.locations.agents.testCases.batchDelete":
30130
30131type ProjectsLocationsAgentsTestCasesBatchDeleteCall struct {
30132	s                                                    *Service
30133	parent                                               string
30134	googleclouddialogflowcxv3batchdeletetestcasesrequest *GoogleCloudDialogflowCxV3BatchDeleteTestCasesRequest
30135	urlParams_                                           gensupport.URLParams
30136	ctx_                                                 context.Context
30137	header_                                              http.Header
30138}
30139
30140// BatchDelete: Batch deletes test cases.
30141//
30142// - parent: The agent to delete test cases from. Format:
30143//   `projects//locations//agents/`.
30144func (r *ProjectsLocationsAgentsTestCasesService) BatchDelete(parent string, googleclouddialogflowcxv3batchdeletetestcasesrequest *GoogleCloudDialogflowCxV3BatchDeleteTestCasesRequest) *ProjectsLocationsAgentsTestCasesBatchDeleteCall {
30145	c := &ProjectsLocationsAgentsTestCasesBatchDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30146	c.parent = parent
30147	c.googleclouddialogflowcxv3batchdeletetestcasesrequest = googleclouddialogflowcxv3batchdeletetestcasesrequest
30148	return c
30149}
30150
30151// Fields allows partial responses to be retrieved. See
30152// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30153// for more information.
30154func (c *ProjectsLocationsAgentsTestCasesBatchDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsTestCasesBatchDeleteCall {
30155	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30156	return c
30157}
30158
30159// Context sets the context to be used in this call's Do method. Any
30160// pending HTTP request will be aborted if the provided context is
30161// canceled.
30162func (c *ProjectsLocationsAgentsTestCasesBatchDeleteCall) Context(ctx context.Context) *ProjectsLocationsAgentsTestCasesBatchDeleteCall {
30163	c.ctx_ = ctx
30164	return c
30165}
30166
30167// Header returns an http.Header that can be modified by the caller to
30168// add HTTP headers to the request.
30169func (c *ProjectsLocationsAgentsTestCasesBatchDeleteCall) Header() http.Header {
30170	if c.header_ == nil {
30171		c.header_ = make(http.Header)
30172	}
30173	return c.header_
30174}
30175
30176func (c *ProjectsLocationsAgentsTestCasesBatchDeleteCall) doRequest(alt string) (*http.Response, error) {
30177	reqHeaders := make(http.Header)
30178	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
30179	for k, v := range c.header_ {
30180		reqHeaders[k] = v
30181	}
30182	reqHeaders.Set("User-Agent", c.s.userAgent())
30183	var body io.Reader = nil
30184	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3batchdeletetestcasesrequest)
30185	if err != nil {
30186		return nil, err
30187	}
30188	reqHeaders.Set("Content-Type", "application/json")
30189	c.urlParams_.Set("alt", alt)
30190	c.urlParams_.Set("prettyPrint", "false")
30191	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/testCases:batchDelete")
30192	urls += "?" + c.urlParams_.Encode()
30193	req, err := http.NewRequest("POST", urls, body)
30194	if err != nil {
30195		return nil, err
30196	}
30197	req.Header = reqHeaders
30198	googleapi.Expand(req.URL, map[string]string{
30199		"parent": c.parent,
30200	})
30201	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30202}
30203
30204// Do executes the "dialogflow.projects.locations.agents.testCases.batchDelete" call.
30205// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
30206// non-2xx status code is an error. Response headers are in either
30207// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
30208// returned at all) in error.(*googleapi.Error).Header. Use
30209// googleapi.IsNotModified to check whether the returned error was
30210// because http.StatusNotModified was returned.
30211func (c *ProjectsLocationsAgentsTestCasesBatchDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
30212	gensupport.SetOptions(c.urlParams_, opts...)
30213	res, err := c.doRequest("json")
30214	if res != nil && res.StatusCode == http.StatusNotModified {
30215		if res.Body != nil {
30216			res.Body.Close()
30217		}
30218		return nil, &googleapi.Error{
30219			Code:   res.StatusCode,
30220			Header: res.Header,
30221		}
30222	}
30223	if err != nil {
30224		return nil, err
30225	}
30226	defer googleapi.CloseBody(res)
30227	if err := googleapi.CheckResponse(res); err != nil {
30228		return nil, err
30229	}
30230	ret := &GoogleProtobufEmpty{
30231		ServerResponse: googleapi.ServerResponse{
30232			Header:         res.Header,
30233			HTTPStatusCode: res.StatusCode,
30234		},
30235	}
30236	target := &ret
30237	if err := gensupport.DecodeResponse(target, res); err != nil {
30238		return nil, err
30239	}
30240	return ret, nil
30241	// {
30242	//   "description": "Batch deletes test cases.",
30243	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/testCases:batchDelete",
30244	//   "httpMethod": "POST",
30245	//   "id": "dialogflow.projects.locations.agents.testCases.batchDelete",
30246	//   "parameterOrder": [
30247	//     "parent"
30248	//   ],
30249	//   "parameters": {
30250	//     "parent": {
30251	//       "description": "Required. The agent to delete test cases from. Format: `projects//locations//agents/`.",
30252	//       "location": "path",
30253	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$",
30254	//       "required": true,
30255	//       "type": "string"
30256	//     }
30257	//   },
30258	//   "path": "v3/{+parent}/testCases:batchDelete",
30259	//   "request": {
30260	//     "$ref": "GoogleCloudDialogflowCxV3BatchDeleteTestCasesRequest"
30261	//   },
30262	//   "response": {
30263	//     "$ref": "GoogleProtobufEmpty"
30264	//   },
30265	//   "scopes": [
30266	//     "https://www.googleapis.com/auth/cloud-platform",
30267	//     "https://www.googleapis.com/auth/dialogflow"
30268	//   ]
30269	// }
30270
30271}
30272
30273// method id "dialogflow.projects.locations.agents.testCases.batchRun":
30274
30275type ProjectsLocationsAgentsTestCasesBatchRunCall struct {
30276	s                                                 *Service
30277	parent                                            string
30278	googleclouddialogflowcxv3batchruntestcasesrequest *GoogleCloudDialogflowCxV3BatchRunTestCasesRequest
30279	urlParams_                                        gensupport.URLParams
30280	ctx_                                              context.Context
30281	header_                                           http.Header
30282}
30283
30284// BatchRun: Kicks off a batch run of test cases.
30285//
30286// - parent: Agent name. Format: `projects//locations//agents/ `.
30287func (r *ProjectsLocationsAgentsTestCasesService) BatchRun(parent string, googleclouddialogflowcxv3batchruntestcasesrequest *GoogleCloudDialogflowCxV3BatchRunTestCasesRequest) *ProjectsLocationsAgentsTestCasesBatchRunCall {
30288	c := &ProjectsLocationsAgentsTestCasesBatchRunCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30289	c.parent = parent
30290	c.googleclouddialogflowcxv3batchruntestcasesrequest = googleclouddialogflowcxv3batchruntestcasesrequest
30291	return c
30292}
30293
30294// Fields allows partial responses to be retrieved. See
30295// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30296// for more information.
30297func (c *ProjectsLocationsAgentsTestCasesBatchRunCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsTestCasesBatchRunCall {
30298	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30299	return c
30300}
30301
30302// Context sets the context to be used in this call's Do method. Any
30303// pending HTTP request will be aborted if the provided context is
30304// canceled.
30305func (c *ProjectsLocationsAgentsTestCasesBatchRunCall) Context(ctx context.Context) *ProjectsLocationsAgentsTestCasesBatchRunCall {
30306	c.ctx_ = ctx
30307	return c
30308}
30309
30310// Header returns an http.Header that can be modified by the caller to
30311// add HTTP headers to the request.
30312func (c *ProjectsLocationsAgentsTestCasesBatchRunCall) Header() http.Header {
30313	if c.header_ == nil {
30314		c.header_ = make(http.Header)
30315	}
30316	return c.header_
30317}
30318
30319func (c *ProjectsLocationsAgentsTestCasesBatchRunCall) doRequest(alt string) (*http.Response, error) {
30320	reqHeaders := make(http.Header)
30321	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
30322	for k, v := range c.header_ {
30323		reqHeaders[k] = v
30324	}
30325	reqHeaders.Set("User-Agent", c.s.userAgent())
30326	var body io.Reader = nil
30327	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3batchruntestcasesrequest)
30328	if err != nil {
30329		return nil, err
30330	}
30331	reqHeaders.Set("Content-Type", "application/json")
30332	c.urlParams_.Set("alt", alt)
30333	c.urlParams_.Set("prettyPrint", "false")
30334	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/testCases:batchRun")
30335	urls += "?" + c.urlParams_.Encode()
30336	req, err := http.NewRequest("POST", urls, body)
30337	if err != nil {
30338		return nil, err
30339	}
30340	req.Header = reqHeaders
30341	googleapi.Expand(req.URL, map[string]string{
30342		"parent": c.parent,
30343	})
30344	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30345}
30346
30347// Do executes the "dialogflow.projects.locations.agents.testCases.batchRun" call.
30348// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
30349// Any non-2xx status code is an error. Response headers are in either
30350// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
30351// was returned at all) in error.(*googleapi.Error).Header. Use
30352// googleapi.IsNotModified to check whether the returned error was
30353// because http.StatusNotModified was returned.
30354func (c *ProjectsLocationsAgentsTestCasesBatchRunCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
30355	gensupport.SetOptions(c.urlParams_, opts...)
30356	res, err := c.doRequest("json")
30357	if res != nil && res.StatusCode == http.StatusNotModified {
30358		if res.Body != nil {
30359			res.Body.Close()
30360		}
30361		return nil, &googleapi.Error{
30362			Code:   res.StatusCode,
30363			Header: res.Header,
30364		}
30365	}
30366	if err != nil {
30367		return nil, err
30368	}
30369	defer googleapi.CloseBody(res)
30370	if err := googleapi.CheckResponse(res); err != nil {
30371		return nil, err
30372	}
30373	ret := &GoogleLongrunningOperation{
30374		ServerResponse: googleapi.ServerResponse{
30375			Header:         res.Header,
30376			HTTPStatusCode: res.StatusCode,
30377		},
30378	}
30379	target := &ret
30380	if err := gensupport.DecodeResponse(target, res); err != nil {
30381		return nil, err
30382	}
30383	return ret, nil
30384	// {
30385	//   "description": "Kicks off a batch run of test cases.",
30386	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/testCases:batchRun",
30387	//   "httpMethod": "POST",
30388	//   "id": "dialogflow.projects.locations.agents.testCases.batchRun",
30389	//   "parameterOrder": [
30390	//     "parent"
30391	//   ],
30392	//   "parameters": {
30393	//     "parent": {
30394	//       "description": "Required. Agent name. Format: `projects//locations//agents/ `.",
30395	//       "location": "path",
30396	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$",
30397	//       "required": true,
30398	//       "type": "string"
30399	//     }
30400	//   },
30401	//   "path": "v3/{+parent}/testCases:batchRun",
30402	//   "request": {
30403	//     "$ref": "GoogleCloudDialogflowCxV3BatchRunTestCasesRequest"
30404	//   },
30405	//   "response": {
30406	//     "$ref": "GoogleLongrunningOperation"
30407	//   },
30408	//   "scopes": [
30409	//     "https://www.googleapis.com/auth/cloud-platform",
30410	//     "https://www.googleapis.com/auth/dialogflow"
30411	//   ]
30412	// }
30413
30414}
30415
30416// method id "dialogflow.projects.locations.agents.testCases.calculateCoverage":
30417
30418type ProjectsLocationsAgentsTestCasesCalculateCoverageCall struct {
30419	s            *Service
30420	agent        string
30421	urlParams_   gensupport.URLParams
30422	ifNoneMatch_ string
30423	ctx_         context.Context
30424	header_      http.Header
30425}
30426
30427// CalculateCoverage: Calculates the test coverage for an agent.
30428//
30429// - agent: The agent to calculate coverage for. Format:
30430//   `projects//locations//agents/`.
30431func (r *ProjectsLocationsAgentsTestCasesService) CalculateCoverage(agent string) *ProjectsLocationsAgentsTestCasesCalculateCoverageCall {
30432	c := &ProjectsLocationsAgentsTestCasesCalculateCoverageCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30433	c.agent = agent
30434	return c
30435}
30436
30437// Type sets the optional parameter "type": Required. The type of
30438// coverage requested.
30439//
30440// Possible values:
30441//   "COVERAGE_TYPE_UNSPECIFIED" - Should never be used.
30442//   "INTENT" - Intent coverage.
30443//   "PAGE_TRANSITION" - Page transition coverage.
30444//   "TRANSITION_ROUTE_GROUP" - Transition route group coverage.
30445func (c *ProjectsLocationsAgentsTestCasesCalculateCoverageCall) Type(type_ string) *ProjectsLocationsAgentsTestCasesCalculateCoverageCall {
30446	c.urlParams_.Set("type", type_)
30447	return c
30448}
30449
30450// Fields allows partial responses to be retrieved. See
30451// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30452// for more information.
30453func (c *ProjectsLocationsAgentsTestCasesCalculateCoverageCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsTestCasesCalculateCoverageCall {
30454	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30455	return c
30456}
30457
30458// IfNoneMatch sets the optional parameter which makes the operation
30459// fail if the object's ETag matches the given value. This is useful for
30460// getting updates only after the object has changed since the last
30461// request. Use googleapi.IsNotModified to check whether the response
30462// error from Do is the result of In-None-Match.
30463func (c *ProjectsLocationsAgentsTestCasesCalculateCoverageCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsTestCasesCalculateCoverageCall {
30464	c.ifNoneMatch_ = entityTag
30465	return c
30466}
30467
30468// Context sets the context to be used in this call's Do method. Any
30469// pending HTTP request will be aborted if the provided context is
30470// canceled.
30471func (c *ProjectsLocationsAgentsTestCasesCalculateCoverageCall) Context(ctx context.Context) *ProjectsLocationsAgentsTestCasesCalculateCoverageCall {
30472	c.ctx_ = ctx
30473	return c
30474}
30475
30476// Header returns an http.Header that can be modified by the caller to
30477// add HTTP headers to the request.
30478func (c *ProjectsLocationsAgentsTestCasesCalculateCoverageCall) Header() http.Header {
30479	if c.header_ == nil {
30480		c.header_ = make(http.Header)
30481	}
30482	return c.header_
30483}
30484
30485func (c *ProjectsLocationsAgentsTestCasesCalculateCoverageCall) doRequest(alt string) (*http.Response, error) {
30486	reqHeaders := make(http.Header)
30487	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
30488	for k, v := range c.header_ {
30489		reqHeaders[k] = v
30490	}
30491	reqHeaders.Set("User-Agent", c.s.userAgent())
30492	if c.ifNoneMatch_ != "" {
30493		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
30494	}
30495	var body io.Reader = nil
30496	c.urlParams_.Set("alt", alt)
30497	c.urlParams_.Set("prettyPrint", "false")
30498	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+agent}/testCases:calculateCoverage")
30499	urls += "?" + c.urlParams_.Encode()
30500	req, err := http.NewRequest("GET", urls, body)
30501	if err != nil {
30502		return nil, err
30503	}
30504	req.Header = reqHeaders
30505	googleapi.Expand(req.URL, map[string]string{
30506		"agent": c.agent,
30507	})
30508	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30509}
30510
30511// Do executes the "dialogflow.projects.locations.agents.testCases.calculateCoverage" call.
30512// Exactly one of *GoogleCloudDialogflowCxV3CalculateCoverageResponse or
30513// error will be non-nil. Any non-2xx status code is an error. Response
30514// headers are in either
30515// *GoogleCloudDialogflowCxV3CalculateCoverageResponse.ServerResponse.Hea
30516// der or (if a response was returned at all) in
30517// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
30518// whether the returned error was because http.StatusNotModified was
30519// returned.
30520func (c *ProjectsLocationsAgentsTestCasesCalculateCoverageCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3CalculateCoverageResponse, error) {
30521	gensupport.SetOptions(c.urlParams_, opts...)
30522	res, err := c.doRequest("json")
30523	if res != nil && res.StatusCode == http.StatusNotModified {
30524		if res.Body != nil {
30525			res.Body.Close()
30526		}
30527		return nil, &googleapi.Error{
30528			Code:   res.StatusCode,
30529			Header: res.Header,
30530		}
30531	}
30532	if err != nil {
30533		return nil, err
30534	}
30535	defer googleapi.CloseBody(res)
30536	if err := googleapi.CheckResponse(res); err != nil {
30537		return nil, err
30538	}
30539	ret := &GoogleCloudDialogflowCxV3CalculateCoverageResponse{
30540		ServerResponse: googleapi.ServerResponse{
30541			Header:         res.Header,
30542			HTTPStatusCode: res.StatusCode,
30543		},
30544	}
30545	target := &ret
30546	if err := gensupport.DecodeResponse(target, res); err != nil {
30547		return nil, err
30548	}
30549	return ret, nil
30550	// {
30551	//   "description": "Calculates the test coverage for an agent.",
30552	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/testCases:calculateCoverage",
30553	//   "httpMethod": "GET",
30554	//   "id": "dialogflow.projects.locations.agents.testCases.calculateCoverage",
30555	//   "parameterOrder": [
30556	//     "agent"
30557	//   ],
30558	//   "parameters": {
30559	//     "agent": {
30560	//       "description": "Required. The agent to calculate coverage for. Format: `projects//locations//agents/`.",
30561	//       "location": "path",
30562	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$",
30563	//       "required": true,
30564	//       "type": "string"
30565	//     },
30566	//     "type": {
30567	//       "description": "Required. The type of coverage requested.",
30568	//       "enum": [
30569	//         "COVERAGE_TYPE_UNSPECIFIED",
30570	//         "INTENT",
30571	//         "PAGE_TRANSITION",
30572	//         "TRANSITION_ROUTE_GROUP"
30573	//       ],
30574	//       "enumDescriptions": [
30575	//         "Should never be used.",
30576	//         "Intent coverage.",
30577	//         "Page transition coverage.",
30578	//         "Transition route group coverage."
30579	//       ],
30580	//       "location": "query",
30581	//       "type": "string"
30582	//     }
30583	//   },
30584	//   "path": "v3/{+agent}/testCases:calculateCoverage",
30585	//   "response": {
30586	//     "$ref": "GoogleCloudDialogflowCxV3CalculateCoverageResponse"
30587	//   },
30588	//   "scopes": [
30589	//     "https://www.googleapis.com/auth/cloud-platform",
30590	//     "https://www.googleapis.com/auth/dialogflow"
30591	//   ]
30592	// }
30593
30594}
30595
30596// method id "dialogflow.projects.locations.agents.testCases.create":
30597
30598type ProjectsLocationsAgentsTestCasesCreateCall struct {
30599	s                                 *Service
30600	parent                            string
30601	googleclouddialogflowcxv3testcase *GoogleCloudDialogflowCxV3TestCase
30602	urlParams_                        gensupport.URLParams
30603	ctx_                              context.Context
30604	header_                           http.Header
30605}
30606
30607// Create: Creates a test case for the given agent.
30608//
30609// - parent: The agent to create the test case for. Format:
30610//   `projects//locations//agents/`.
30611func (r *ProjectsLocationsAgentsTestCasesService) Create(parent string, googleclouddialogflowcxv3testcase *GoogleCloudDialogflowCxV3TestCase) *ProjectsLocationsAgentsTestCasesCreateCall {
30612	c := &ProjectsLocationsAgentsTestCasesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30613	c.parent = parent
30614	c.googleclouddialogflowcxv3testcase = googleclouddialogflowcxv3testcase
30615	return c
30616}
30617
30618// Fields allows partial responses to be retrieved. See
30619// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30620// for more information.
30621func (c *ProjectsLocationsAgentsTestCasesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsTestCasesCreateCall {
30622	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30623	return c
30624}
30625
30626// Context sets the context to be used in this call's Do method. Any
30627// pending HTTP request will be aborted if the provided context is
30628// canceled.
30629func (c *ProjectsLocationsAgentsTestCasesCreateCall) Context(ctx context.Context) *ProjectsLocationsAgentsTestCasesCreateCall {
30630	c.ctx_ = ctx
30631	return c
30632}
30633
30634// Header returns an http.Header that can be modified by the caller to
30635// add HTTP headers to the request.
30636func (c *ProjectsLocationsAgentsTestCasesCreateCall) Header() http.Header {
30637	if c.header_ == nil {
30638		c.header_ = make(http.Header)
30639	}
30640	return c.header_
30641}
30642
30643func (c *ProjectsLocationsAgentsTestCasesCreateCall) doRequest(alt string) (*http.Response, error) {
30644	reqHeaders := make(http.Header)
30645	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
30646	for k, v := range c.header_ {
30647		reqHeaders[k] = v
30648	}
30649	reqHeaders.Set("User-Agent", c.s.userAgent())
30650	var body io.Reader = nil
30651	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3testcase)
30652	if err != nil {
30653		return nil, err
30654	}
30655	reqHeaders.Set("Content-Type", "application/json")
30656	c.urlParams_.Set("alt", alt)
30657	c.urlParams_.Set("prettyPrint", "false")
30658	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/testCases")
30659	urls += "?" + c.urlParams_.Encode()
30660	req, err := http.NewRequest("POST", urls, body)
30661	if err != nil {
30662		return nil, err
30663	}
30664	req.Header = reqHeaders
30665	googleapi.Expand(req.URL, map[string]string{
30666		"parent": c.parent,
30667	})
30668	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30669}
30670
30671// Do executes the "dialogflow.projects.locations.agents.testCases.create" call.
30672// Exactly one of *GoogleCloudDialogflowCxV3TestCase or error will be
30673// non-nil. Any non-2xx status code is an error. Response headers are in
30674// either *GoogleCloudDialogflowCxV3TestCase.ServerResponse.Header or
30675// (if a response was returned at all) in
30676// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
30677// whether the returned error was because http.StatusNotModified was
30678// returned.
30679func (c *ProjectsLocationsAgentsTestCasesCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3TestCase, error) {
30680	gensupport.SetOptions(c.urlParams_, opts...)
30681	res, err := c.doRequest("json")
30682	if res != nil && res.StatusCode == http.StatusNotModified {
30683		if res.Body != nil {
30684			res.Body.Close()
30685		}
30686		return nil, &googleapi.Error{
30687			Code:   res.StatusCode,
30688			Header: res.Header,
30689		}
30690	}
30691	if err != nil {
30692		return nil, err
30693	}
30694	defer googleapi.CloseBody(res)
30695	if err := googleapi.CheckResponse(res); err != nil {
30696		return nil, err
30697	}
30698	ret := &GoogleCloudDialogflowCxV3TestCase{
30699		ServerResponse: googleapi.ServerResponse{
30700			Header:         res.Header,
30701			HTTPStatusCode: res.StatusCode,
30702		},
30703	}
30704	target := &ret
30705	if err := gensupport.DecodeResponse(target, res); err != nil {
30706		return nil, err
30707	}
30708	return ret, nil
30709	// {
30710	//   "description": "Creates a test case for the given agent.",
30711	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/testCases",
30712	//   "httpMethod": "POST",
30713	//   "id": "dialogflow.projects.locations.agents.testCases.create",
30714	//   "parameterOrder": [
30715	//     "parent"
30716	//   ],
30717	//   "parameters": {
30718	//     "parent": {
30719	//       "description": "Required. The agent to create the test case for. Format: `projects//locations//agents/`.",
30720	//       "location": "path",
30721	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$",
30722	//       "required": true,
30723	//       "type": "string"
30724	//     }
30725	//   },
30726	//   "path": "v3/{+parent}/testCases",
30727	//   "request": {
30728	//     "$ref": "GoogleCloudDialogflowCxV3TestCase"
30729	//   },
30730	//   "response": {
30731	//     "$ref": "GoogleCloudDialogflowCxV3TestCase"
30732	//   },
30733	//   "scopes": [
30734	//     "https://www.googleapis.com/auth/cloud-platform",
30735	//     "https://www.googleapis.com/auth/dialogflow"
30736	//   ]
30737	// }
30738
30739}
30740
30741// method id "dialogflow.projects.locations.agents.testCases.export":
30742
30743type ProjectsLocationsAgentsTestCasesExportCall struct {
30744	s                                               *Service
30745	parent                                          string
30746	googleclouddialogflowcxv3exporttestcasesrequest *GoogleCloudDialogflowCxV3ExportTestCasesRequest
30747	urlParams_                                      gensupport.URLParams
30748	ctx_                                            context.Context
30749	header_                                         http.Header
30750}
30751
30752// Export: Exports the test cases under the agent to a Cloud Storage
30753// bucket or a local file. Filter can be applied to export a subset of
30754// test cases.
30755//
30756// - parent: The agent where to export test cases from. Format:
30757//   `projects//locations//agents/`.
30758func (r *ProjectsLocationsAgentsTestCasesService) Export(parent string, googleclouddialogflowcxv3exporttestcasesrequest *GoogleCloudDialogflowCxV3ExportTestCasesRequest) *ProjectsLocationsAgentsTestCasesExportCall {
30759	c := &ProjectsLocationsAgentsTestCasesExportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30760	c.parent = parent
30761	c.googleclouddialogflowcxv3exporttestcasesrequest = googleclouddialogflowcxv3exporttestcasesrequest
30762	return c
30763}
30764
30765// Fields allows partial responses to be retrieved. See
30766// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30767// for more information.
30768func (c *ProjectsLocationsAgentsTestCasesExportCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsTestCasesExportCall {
30769	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30770	return c
30771}
30772
30773// Context sets the context to be used in this call's Do method. Any
30774// pending HTTP request will be aborted if the provided context is
30775// canceled.
30776func (c *ProjectsLocationsAgentsTestCasesExportCall) Context(ctx context.Context) *ProjectsLocationsAgentsTestCasesExportCall {
30777	c.ctx_ = ctx
30778	return c
30779}
30780
30781// Header returns an http.Header that can be modified by the caller to
30782// add HTTP headers to the request.
30783func (c *ProjectsLocationsAgentsTestCasesExportCall) Header() http.Header {
30784	if c.header_ == nil {
30785		c.header_ = make(http.Header)
30786	}
30787	return c.header_
30788}
30789
30790func (c *ProjectsLocationsAgentsTestCasesExportCall) doRequest(alt string) (*http.Response, error) {
30791	reqHeaders := make(http.Header)
30792	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
30793	for k, v := range c.header_ {
30794		reqHeaders[k] = v
30795	}
30796	reqHeaders.Set("User-Agent", c.s.userAgent())
30797	var body io.Reader = nil
30798	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3exporttestcasesrequest)
30799	if err != nil {
30800		return nil, err
30801	}
30802	reqHeaders.Set("Content-Type", "application/json")
30803	c.urlParams_.Set("alt", alt)
30804	c.urlParams_.Set("prettyPrint", "false")
30805	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/testCases:export")
30806	urls += "?" + c.urlParams_.Encode()
30807	req, err := http.NewRequest("POST", urls, body)
30808	if err != nil {
30809		return nil, err
30810	}
30811	req.Header = reqHeaders
30812	googleapi.Expand(req.URL, map[string]string{
30813		"parent": c.parent,
30814	})
30815	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30816}
30817
30818// Do executes the "dialogflow.projects.locations.agents.testCases.export" call.
30819// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
30820// Any non-2xx status code is an error. Response headers are in either
30821// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
30822// was returned at all) in error.(*googleapi.Error).Header. Use
30823// googleapi.IsNotModified to check whether the returned error was
30824// because http.StatusNotModified was returned.
30825func (c *ProjectsLocationsAgentsTestCasesExportCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
30826	gensupport.SetOptions(c.urlParams_, opts...)
30827	res, err := c.doRequest("json")
30828	if res != nil && res.StatusCode == http.StatusNotModified {
30829		if res.Body != nil {
30830			res.Body.Close()
30831		}
30832		return nil, &googleapi.Error{
30833			Code:   res.StatusCode,
30834			Header: res.Header,
30835		}
30836	}
30837	if err != nil {
30838		return nil, err
30839	}
30840	defer googleapi.CloseBody(res)
30841	if err := googleapi.CheckResponse(res); err != nil {
30842		return nil, err
30843	}
30844	ret := &GoogleLongrunningOperation{
30845		ServerResponse: googleapi.ServerResponse{
30846			Header:         res.Header,
30847			HTTPStatusCode: res.StatusCode,
30848		},
30849	}
30850	target := &ret
30851	if err := gensupport.DecodeResponse(target, res); err != nil {
30852		return nil, err
30853	}
30854	return ret, nil
30855	// {
30856	//   "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.",
30857	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/testCases:export",
30858	//   "httpMethod": "POST",
30859	//   "id": "dialogflow.projects.locations.agents.testCases.export",
30860	//   "parameterOrder": [
30861	//     "parent"
30862	//   ],
30863	//   "parameters": {
30864	//     "parent": {
30865	//       "description": "Required. The agent where to export test cases from. Format: `projects//locations//agents/`.",
30866	//       "location": "path",
30867	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$",
30868	//       "required": true,
30869	//       "type": "string"
30870	//     }
30871	//   },
30872	//   "path": "v3/{+parent}/testCases:export",
30873	//   "request": {
30874	//     "$ref": "GoogleCloudDialogflowCxV3ExportTestCasesRequest"
30875	//   },
30876	//   "response": {
30877	//     "$ref": "GoogleLongrunningOperation"
30878	//   },
30879	//   "scopes": [
30880	//     "https://www.googleapis.com/auth/cloud-platform",
30881	//     "https://www.googleapis.com/auth/dialogflow"
30882	//   ]
30883	// }
30884
30885}
30886
30887// method id "dialogflow.projects.locations.agents.testCases.get":
30888
30889type ProjectsLocationsAgentsTestCasesGetCall struct {
30890	s            *Service
30891	name         string
30892	urlParams_   gensupport.URLParams
30893	ifNoneMatch_ string
30894	ctx_         context.Context
30895	header_      http.Header
30896}
30897
30898// Get: Gets a test case.
30899//
30900// - name: The name of the testcase. Format:
30901//   `projects//locations//agents//testCases/`.
30902func (r *ProjectsLocationsAgentsTestCasesService) Get(name string) *ProjectsLocationsAgentsTestCasesGetCall {
30903	c := &ProjectsLocationsAgentsTestCasesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30904	c.name = name
30905	return c
30906}
30907
30908// Fields allows partial responses to be retrieved. See
30909// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30910// for more information.
30911func (c *ProjectsLocationsAgentsTestCasesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsTestCasesGetCall {
30912	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30913	return c
30914}
30915
30916// IfNoneMatch sets the optional parameter which makes the operation
30917// fail if the object's ETag matches the given value. This is useful for
30918// getting updates only after the object has changed since the last
30919// request. Use googleapi.IsNotModified to check whether the response
30920// error from Do is the result of In-None-Match.
30921func (c *ProjectsLocationsAgentsTestCasesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsTestCasesGetCall {
30922	c.ifNoneMatch_ = entityTag
30923	return c
30924}
30925
30926// Context sets the context to be used in this call's Do method. Any
30927// pending HTTP request will be aborted if the provided context is
30928// canceled.
30929func (c *ProjectsLocationsAgentsTestCasesGetCall) Context(ctx context.Context) *ProjectsLocationsAgentsTestCasesGetCall {
30930	c.ctx_ = ctx
30931	return c
30932}
30933
30934// Header returns an http.Header that can be modified by the caller to
30935// add HTTP headers to the request.
30936func (c *ProjectsLocationsAgentsTestCasesGetCall) Header() http.Header {
30937	if c.header_ == nil {
30938		c.header_ = make(http.Header)
30939	}
30940	return c.header_
30941}
30942
30943func (c *ProjectsLocationsAgentsTestCasesGetCall) doRequest(alt string) (*http.Response, error) {
30944	reqHeaders := make(http.Header)
30945	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
30946	for k, v := range c.header_ {
30947		reqHeaders[k] = v
30948	}
30949	reqHeaders.Set("User-Agent", c.s.userAgent())
30950	if c.ifNoneMatch_ != "" {
30951		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
30952	}
30953	var body io.Reader = nil
30954	c.urlParams_.Set("alt", alt)
30955	c.urlParams_.Set("prettyPrint", "false")
30956	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
30957	urls += "?" + c.urlParams_.Encode()
30958	req, err := http.NewRequest("GET", urls, body)
30959	if err != nil {
30960		return nil, err
30961	}
30962	req.Header = reqHeaders
30963	googleapi.Expand(req.URL, map[string]string{
30964		"name": c.name,
30965	})
30966	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30967}
30968
30969// Do executes the "dialogflow.projects.locations.agents.testCases.get" call.
30970// Exactly one of *GoogleCloudDialogflowCxV3TestCase or error will be
30971// non-nil. Any non-2xx status code is an error. Response headers are in
30972// either *GoogleCloudDialogflowCxV3TestCase.ServerResponse.Header or
30973// (if a response was returned at all) in
30974// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
30975// whether the returned error was because http.StatusNotModified was
30976// returned.
30977func (c *ProjectsLocationsAgentsTestCasesGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3TestCase, error) {
30978	gensupport.SetOptions(c.urlParams_, opts...)
30979	res, err := c.doRequest("json")
30980	if res != nil && res.StatusCode == http.StatusNotModified {
30981		if res.Body != nil {
30982			res.Body.Close()
30983		}
30984		return nil, &googleapi.Error{
30985			Code:   res.StatusCode,
30986			Header: res.Header,
30987		}
30988	}
30989	if err != nil {
30990		return nil, err
30991	}
30992	defer googleapi.CloseBody(res)
30993	if err := googleapi.CheckResponse(res); err != nil {
30994		return nil, err
30995	}
30996	ret := &GoogleCloudDialogflowCxV3TestCase{
30997		ServerResponse: googleapi.ServerResponse{
30998			Header:         res.Header,
30999			HTTPStatusCode: res.StatusCode,
31000		},
31001	}
31002	target := &ret
31003	if err := gensupport.DecodeResponse(target, res); err != nil {
31004		return nil, err
31005	}
31006	return ret, nil
31007	// {
31008	//   "description": "Gets a test case.",
31009	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/testCases/{testCasesId}",
31010	//   "httpMethod": "GET",
31011	//   "id": "dialogflow.projects.locations.agents.testCases.get",
31012	//   "parameterOrder": [
31013	//     "name"
31014	//   ],
31015	//   "parameters": {
31016	//     "name": {
31017	//       "description": "Required. The name of the testcase. Format: `projects//locations//agents//testCases/`.",
31018	//       "location": "path",
31019	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/testCases/[^/]+$",
31020	//       "required": true,
31021	//       "type": "string"
31022	//     }
31023	//   },
31024	//   "path": "v3/{+name}",
31025	//   "response": {
31026	//     "$ref": "GoogleCloudDialogflowCxV3TestCase"
31027	//   },
31028	//   "scopes": [
31029	//     "https://www.googleapis.com/auth/cloud-platform",
31030	//     "https://www.googleapis.com/auth/dialogflow"
31031	//   ]
31032	// }
31033
31034}
31035
31036// method id "dialogflow.projects.locations.agents.testCases.import":
31037
31038type ProjectsLocationsAgentsTestCasesImportCall struct {
31039	s                                               *Service
31040	parent                                          string
31041	googleclouddialogflowcxv3importtestcasesrequest *GoogleCloudDialogflowCxV3ImportTestCasesRequest
31042	urlParams_                                      gensupport.URLParams
31043	ctx_                                            context.Context
31044	header_                                         http.Header
31045}
31046
31047// Import: Imports the test cases from a Cloud Storage bucket or a local
31048// file. It always creates new test cases and won't overwite any
31049// existing ones. The provided ID in the imported test case is
31050// neglected.
31051//
31052// - parent: The agent to import test cases to. Format:
31053//   `projects//locations//agents/`.
31054func (r *ProjectsLocationsAgentsTestCasesService) Import(parent string, googleclouddialogflowcxv3importtestcasesrequest *GoogleCloudDialogflowCxV3ImportTestCasesRequest) *ProjectsLocationsAgentsTestCasesImportCall {
31055	c := &ProjectsLocationsAgentsTestCasesImportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31056	c.parent = parent
31057	c.googleclouddialogflowcxv3importtestcasesrequest = googleclouddialogflowcxv3importtestcasesrequest
31058	return c
31059}
31060
31061// Fields allows partial responses to be retrieved. See
31062// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31063// for more information.
31064func (c *ProjectsLocationsAgentsTestCasesImportCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsTestCasesImportCall {
31065	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31066	return c
31067}
31068
31069// Context sets the context to be used in this call's Do method. Any
31070// pending HTTP request will be aborted if the provided context is
31071// canceled.
31072func (c *ProjectsLocationsAgentsTestCasesImportCall) Context(ctx context.Context) *ProjectsLocationsAgentsTestCasesImportCall {
31073	c.ctx_ = ctx
31074	return c
31075}
31076
31077// Header returns an http.Header that can be modified by the caller to
31078// add HTTP headers to the request.
31079func (c *ProjectsLocationsAgentsTestCasesImportCall) Header() http.Header {
31080	if c.header_ == nil {
31081		c.header_ = make(http.Header)
31082	}
31083	return c.header_
31084}
31085
31086func (c *ProjectsLocationsAgentsTestCasesImportCall) doRequest(alt string) (*http.Response, error) {
31087	reqHeaders := make(http.Header)
31088	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
31089	for k, v := range c.header_ {
31090		reqHeaders[k] = v
31091	}
31092	reqHeaders.Set("User-Agent", c.s.userAgent())
31093	var body io.Reader = nil
31094	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3importtestcasesrequest)
31095	if err != nil {
31096		return nil, err
31097	}
31098	reqHeaders.Set("Content-Type", "application/json")
31099	c.urlParams_.Set("alt", alt)
31100	c.urlParams_.Set("prettyPrint", "false")
31101	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/testCases:import")
31102	urls += "?" + c.urlParams_.Encode()
31103	req, err := http.NewRequest("POST", urls, body)
31104	if err != nil {
31105		return nil, err
31106	}
31107	req.Header = reqHeaders
31108	googleapi.Expand(req.URL, map[string]string{
31109		"parent": c.parent,
31110	})
31111	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31112}
31113
31114// Do executes the "dialogflow.projects.locations.agents.testCases.import" call.
31115// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
31116// Any non-2xx status code is an error. Response headers are in either
31117// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
31118// was returned at all) in error.(*googleapi.Error).Header. Use
31119// googleapi.IsNotModified to check whether the returned error was
31120// because http.StatusNotModified was returned.
31121func (c *ProjectsLocationsAgentsTestCasesImportCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
31122	gensupport.SetOptions(c.urlParams_, opts...)
31123	res, err := c.doRequest("json")
31124	if res != nil && res.StatusCode == http.StatusNotModified {
31125		if res.Body != nil {
31126			res.Body.Close()
31127		}
31128		return nil, &googleapi.Error{
31129			Code:   res.StatusCode,
31130			Header: res.Header,
31131		}
31132	}
31133	if err != nil {
31134		return nil, err
31135	}
31136	defer googleapi.CloseBody(res)
31137	if err := googleapi.CheckResponse(res); err != nil {
31138		return nil, err
31139	}
31140	ret := &GoogleLongrunningOperation{
31141		ServerResponse: googleapi.ServerResponse{
31142			Header:         res.Header,
31143			HTTPStatusCode: res.StatusCode,
31144		},
31145	}
31146	target := &ret
31147	if err := gensupport.DecodeResponse(target, res); err != nil {
31148		return nil, err
31149	}
31150	return ret, nil
31151	// {
31152	//   "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.",
31153	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/testCases:import",
31154	//   "httpMethod": "POST",
31155	//   "id": "dialogflow.projects.locations.agents.testCases.import",
31156	//   "parameterOrder": [
31157	//     "parent"
31158	//   ],
31159	//   "parameters": {
31160	//     "parent": {
31161	//       "description": "Required. The agent to import test cases to. Format: `projects//locations//agents/`.",
31162	//       "location": "path",
31163	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$",
31164	//       "required": true,
31165	//       "type": "string"
31166	//     }
31167	//   },
31168	//   "path": "v3/{+parent}/testCases:import",
31169	//   "request": {
31170	//     "$ref": "GoogleCloudDialogflowCxV3ImportTestCasesRequest"
31171	//   },
31172	//   "response": {
31173	//     "$ref": "GoogleLongrunningOperation"
31174	//   },
31175	//   "scopes": [
31176	//     "https://www.googleapis.com/auth/cloud-platform",
31177	//     "https://www.googleapis.com/auth/dialogflow"
31178	//   ]
31179	// }
31180
31181}
31182
31183// method id "dialogflow.projects.locations.agents.testCases.list":
31184
31185type ProjectsLocationsAgentsTestCasesListCall struct {
31186	s            *Service
31187	parent       string
31188	urlParams_   gensupport.URLParams
31189	ifNoneMatch_ string
31190	ctx_         context.Context
31191	header_      http.Header
31192}
31193
31194// List: Fetches a list of test cases for a given agent.
31195//
31196// - parent: The agent to list all pages for. Format:
31197//   `projects//locations//agents/`.
31198func (r *ProjectsLocationsAgentsTestCasesService) List(parent string) *ProjectsLocationsAgentsTestCasesListCall {
31199	c := &ProjectsLocationsAgentsTestCasesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31200	c.parent = parent
31201	return c
31202}
31203
31204// PageSize sets the optional parameter "pageSize": The maximum number
31205// of items to return in a single page. By default 20. Note that when
31206// TestCaseView = FULL, the maximum page size allowed is 20. When
31207// TestCaseView = BASIC, the maximum page size allowed is 500.
31208func (c *ProjectsLocationsAgentsTestCasesListCall) PageSize(pageSize int64) *ProjectsLocationsAgentsTestCasesListCall {
31209	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
31210	return c
31211}
31212
31213// PageToken sets the optional parameter "pageToken": The
31214// next_page_token value returned from a previous list request.
31215func (c *ProjectsLocationsAgentsTestCasesListCall) PageToken(pageToken string) *ProjectsLocationsAgentsTestCasesListCall {
31216	c.urlParams_.Set("pageToken", pageToken)
31217	return c
31218}
31219
31220// View sets the optional parameter "view": Specifies whether response
31221// should include all fields or just the metadata.
31222//
31223// Possible values:
31224//   "TEST_CASE_VIEW_UNSPECIFIED" - The default / unset value. The API
31225// will default to the BASIC view.
31226//   "BASIC" - Include basic metadata about the test case, but not the
31227// conversation turns. This is the default value.
31228//   "FULL" - Include everything.
31229func (c *ProjectsLocationsAgentsTestCasesListCall) View(view string) *ProjectsLocationsAgentsTestCasesListCall {
31230	c.urlParams_.Set("view", view)
31231	return c
31232}
31233
31234// Fields allows partial responses to be retrieved. See
31235// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31236// for more information.
31237func (c *ProjectsLocationsAgentsTestCasesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsTestCasesListCall {
31238	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31239	return c
31240}
31241
31242// IfNoneMatch sets the optional parameter which makes the operation
31243// fail if the object's ETag matches the given value. This is useful for
31244// getting updates only after the object has changed since the last
31245// request. Use googleapi.IsNotModified to check whether the response
31246// error from Do is the result of In-None-Match.
31247func (c *ProjectsLocationsAgentsTestCasesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsTestCasesListCall {
31248	c.ifNoneMatch_ = entityTag
31249	return c
31250}
31251
31252// Context sets the context to be used in this call's Do method. Any
31253// pending HTTP request will be aborted if the provided context is
31254// canceled.
31255func (c *ProjectsLocationsAgentsTestCasesListCall) Context(ctx context.Context) *ProjectsLocationsAgentsTestCasesListCall {
31256	c.ctx_ = ctx
31257	return c
31258}
31259
31260// Header returns an http.Header that can be modified by the caller to
31261// add HTTP headers to the request.
31262func (c *ProjectsLocationsAgentsTestCasesListCall) Header() http.Header {
31263	if c.header_ == nil {
31264		c.header_ = make(http.Header)
31265	}
31266	return c.header_
31267}
31268
31269func (c *ProjectsLocationsAgentsTestCasesListCall) doRequest(alt string) (*http.Response, error) {
31270	reqHeaders := make(http.Header)
31271	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
31272	for k, v := range c.header_ {
31273		reqHeaders[k] = v
31274	}
31275	reqHeaders.Set("User-Agent", c.s.userAgent())
31276	if c.ifNoneMatch_ != "" {
31277		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
31278	}
31279	var body io.Reader = nil
31280	c.urlParams_.Set("alt", alt)
31281	c.urlParams_.Set("prettyPrint", "false")
31282	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/testCases")
31283	urls += "?" + c.urlParams_.Encode()
31284	req, err := http.NewRequest("GET", urls, body)
31285	if err != nil {
31286		return nil, err
31287	}
31288	req.Header = reqHeaders
31289	googleapi.Expand(req.URL, map[string]string{
31290		"parent": c.parent,
31291	})
31292	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31293}
31294
31295// Do executes the "dialogflow.projects.locations.agents.testCases.list" call.
31296// Exactly one of *GoogleCloudDialogflowCxV3ListTestCasesResponse or
31297// error will be non-nil. Any non-2xx status code is an error. Response
31298// headers are in either
31299// *GoogleCloudDialogflowCxV3ListTestCasesResponse.ServerResponse.Header
31300// or (if a response was returned at all) in
31301// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
31302// whether the returned error was because http.StatusNotModified was
31303// returned.
31304func (c *ProjectsLocationsAgentsTestCasesListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3ListTestCasesResponse, error) {
31305	gensupport.SetOptions(c.urlParams_, opts...)
31306	res, err := c.doRequest("json")
31307	if res != nil && res.StatusCode == http.StatusNotModified {
31308		if res.Body != nil {
31309			res.Body.Close()
31310		}
31311		return nil, &googleapi.Error{
31312			Code:   res.StatusCode,
31313			Header: res.Header,
31314		}
31315	}
31316	if err != nil {
31317		return nil, err
31318	}
31319	defer googleapi.CloseBody(res)
31320	if err := googleapi.CheckResponse(res); err != nil {
31321		return nil, err
31322	}
31323	ret := &GoogleCloudDialogflowCxV3ListTestCasesResponse{
31324		ServerResponse: googleapi.ServerResponse{
31325			Header:         res.Header,
31326			HTTPStatusCode: res.StatusCode,
31327		},
31328	}
31329	target := &ret
31330	if err := gensupport.DecodeResponse(target, res); err != nil {
31331		return nil, err
31332	}
31333	return ret, nil
31334	// {
31335	//   "description": "Fetches a list of test cases for a given agent.",
31336	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/testCases",
31337	//   "httpMethod": "GET",
31338	//   "id": "dialogflow.projects.locations.agents.testCases.list",
31339	//   "parameterOrder": [
31340	//     "parent"
31341	//   ],
31342	//   "parameters": {
31343	//     "pageSize": {
31344	//       "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.",
31345	//       "format": "int32",
31346	//       "location": "query",
31347	//       "type": "integer"
31348	//     },
31349	//     "pageToken": {
31350	//       "description": "The next_page_token value returned from a previous list request.",
31351	//       "location": "query",
31352	//       "type": "string"
31353	//     },
31354	//     "parent": {
31355	//       "description": "Required. The agent to list all pages for. Format: `projects//locations//agents/`.",
31356	//       "location": "path",
31357	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$",
31358	//       "required": true,
31359	//       "type": "string"
31360	//     },
31361	//     "view": {
31362	//       "description": "Specifies whether response should include all fields or just the metadata.",
31363	//       "enum": [
31364	//         "TEST_CASE_VIEW_UNSPECIFIED",
31365	//         "BASIC",
31366	//         "FULL"
31367	//       ],
31368	//       "enumDescriptions": [
31369	//         "The default / unset value. The API will default to the BASIC view.",
31370	//         "Include basic metadata about the test case, but not the conversation turns. This is the default value.",
31371	//         "Include everything."
31372	//       ],
31373	//       "location": "query",
31374	//       "type": "string"
31375	//     }
31376	//   },
31377	//   "path": "v3/{+parent}/testCases",
31378	//   "response": {
31379	//     "$ref": "GoogleCloudDialogflowCxV3ListTestCasesResponse"
31380	//   },
31381	//   "scopes": [
31382	//     "https://www.googleapis.com/auth/cloud-platform",
31383	//     "https://www.googleapis.com/auth/dialogflow"
31384	//   ]
31385	// }
31386
31387}
31388
31389// Pages invokes f for each page of results.
31390// A non-nil error returned from f will halt the iteration.
31391// The provided context supersedes any context provided to the Context method.
31392func (c *ProjectsLocationsAgentsTestCasesListCall) Pages(ctx context.Context, f func(*GoogleCloudDialogflowCxV3ListTestCasesResponse) error) error {
31393	c.ctx_ = ctx
31394	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
31395	for {
31396		x, err := c.Do()
31397		if err != nil {
31398			return err
31399		}
31400		if err := f(x); err != nil {
31401			return err
31402		}
31403		if x.NextPageToken == "" {
31404			return nil
31405		}
31406		c.PageToken(x.NextPageToken)
31407	}
31408}
31409
31410// method id "dialogflow.projects.locations.agents.testCases.patch":
31411
31412type ProjectsLocationsAgentsTestCasesPatchCall struct {
31413	s                                 *Service
31414	nameid                            string
31415	googleclouddialogflowcxv3testcase *GoogleCloudDialogflowCxV3TestCase
31416	urlParams_                        gensupport.URLParams
31417	ctx_                              context.Context
31418	header_                           http.Header
31419}
31420
31421// Patch: Updates the specified test case.
31422//
31423// - name: The unique identifier of the test case.
31424//   TestCases.CreateTestCase will populate the name automatically.
31425//   Otherwise use format: `projects//locations//agents/ /testCases/`.
31426func (r *ProjectsLocationsAgentsTestCasesService) Patch(nameid string, googleclouddialogflowcxv3testcase *GoogleCloudDialogflowCxV3TestCase) *ProjectsLocationsAgentsTestCasesPatchCall {
31427	c := &ProjectsLocationsAgentsTestCasesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31428	c.nameid = nameid
31429	c.googleclouddialogflowcxv3testcase = googleclouddialogflowcxv3testcase
31430	return c
31431}
31432
31433// UpdateMask sets the optional parameter "updateMask": Required. The
31434// mask to specify which fields should be updated. The `creationTime`
31435// and `lastTestResult` cannot be updated.
31436func (c *ProjectsLocationsAgentsTestCasesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsAgentsTestCasesPatchCall {
31437	c.urlParams_.Set("updateMask", updateMask)
31438	return c
31439}
31440
31441// Fields allows partial responses to be retrieved. See
31442// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31443// for more information.
31444func (c *ProjectsLocationsAgentsTestCasesPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsTestCasesPatchCall {
31445	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31446	return c
31447}
31448
31449// Context sets the context to be used in this call's Do method. Any
31450// pending HTTP request will be aborted if the provided context is
31451// canceled.
31452func (c *ProjectsLocationsAgentsTestCasesPatchCall) Context(ctx context.Context) *ProjectsLocationsAgentsTestCasesPatchCall {
31453	c.ctx_ = ctx
31454	return c
31455}
31456
31457// Header returns an http.Header that can be modified by the caller to
31458// add HTTP headers to the request.
31459func (c *ProjectsLocationsAgentsTestCasesPatchCall) Header() http.Header {
31460	if c.header_ == nil {
31461		c.header_ = make(http.Header)
31462	}
31463	return c.header_
31464}
31465
31466func (c *ProjectsLocationsAgentsTestCasesPatchCall) doRequest(alt string) (*http.Response, error) {
31467	reqHeaders := make(http.Header)
31468	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
31469	for k, v := range c.header_ {
31470		reqHeaders[k] = v
31471	}
31472	reqHeaders.Set("User-Agent", c.s.userAgent())
31473	var body io.Reader = nil
31474	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3testcase)
31475	if err != nil {
31476		return nil, err
31477	}
31478	reqHeaders.Set("Content-Type", "application/json")
31479	c.urlParams_.Set("alt", alt)
31480	c.urlParams_.Set("prettyPrint", "false")
31481	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
31482	urls += "?" + c.urlParams_.Encode()
31483	req, err := http.NewRequest("PATCH", urls, body)
31484	if err != nil {
31485		return nil, err
31486	}
31487	req.Header = reqHeaders
31488	googleapi.Expand(req.URL, map[string]string{
31489		"name": c.nameid,
31490	})
31491	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31492}
31493
31494// Do executes the "dialogflow.projects.locations.agents.testCases.patch" call.
31495// Exactly one of *GoogleCloudDialogflowCxV3TestCase or error will be
31496// non-nil. Any non-2xx status code is an error. Response headers are in
31497// either *GoogleCloudDialogflowCxV3TestCase.ServerResponse.Header or
31498// (if a response was returned at all) in
31499// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
31500// whether the returned error was because http.StatusNotModified was
31501// returned.
31502func (c *ProjectsLocationsAgentsTestCasesPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3TestCase, error) {
31503	gensupport.SetOptions(c.urlParams_, opts...)
31504	res, err := c.doRequest("json")
31505	if res != nil && res.StatusCode == http.StatusNotModified {
31506		if res.Body != nil {
31507			res.Body.Close()
31508		}
31509		return nil, &googleapi.Error{
31510			Code:   res.StatusCode,
31511			Header: res.Header,
31512		}
31513	}
31514	if err != nil {
31515		return nil, err
31516	}
31517	defer googleapi.CloseBody(res)
31518	if err := googleapi.CheckResponse(res); err != nil {
31519		return nil, err
31520	}
31521	ret := &GoogleCloudDialogflowCxV3TestCase{
31522		ServerResponse: googleapi.ServerResponse{
31523			Header:         res.Header,
31524			HTTPStatusCode: res.StatusCode,
31525		},
31526	}
31527	target := &ret
31528	if err := gensupport.DecodeResponse(target, res); err != nil {
31529		return nil, err
31530	}
31531	return ret, nil
31532	// {
31533	//   "description": "Updates the specified test case.",
31534	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/testCases/{testCasesId}",
31535	//   "httpMethod": "PATCH",
31536	//   "id": "dialogflow.projects.locations.agents.testCases.patch",
31537	//   "parameterOrder": [
31538	//     "name"
31539	//   ],
31540	//   "parameters": {
31541	//     "name": {
31542	//       "description": "The unique identifier of the test case. TestCases.CreateTestCase will populate the name automatically. Otherwise use format: `projects//locations//agents/ /testCases/`.",
31543	//       "location": "path",
31544	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/testCases/[^/]+$",
31545	//       "required": true,
31546	//       "type": "string"
31547	//     },
31548	//     "updateMask": {
31549	//       "description": "Required. The mask to specify which fields should be updated. The `creationTime` and `lastTestResult` cannot be updated.",
31550	//       "format": "google-fieldmask",
31551	//       "location": "query",
31552	//       "type": "string"
31553	//     }
31554	//   },
31555	//   "path": "v3/{+name}",
31556	//   "request": {
31557	//     "$ref": "GoogleCloudDialogflowCxV3TestCase"
31558	//   },
31559	//   "response": {
31560	//     "$ref": "GoogleCloudDialogflowCxV3TestCase"
31561	//   },
31562	//   "scopes": [
31563	//     "https://www.googleapis.com/auth/cloud-platform",
31564	//     "https://www.googleapis.com/auth/dialogflow"
31565	//   ]
31566	// }
31567
31568}
31569
31570// method id "dialogflow.projects.locations.agents.testCases.run":
31571
31572type ProjectsLocationsAgentsTestCasesRunCall struct {
31573	s                                           *Service
31574	name                                        string
31575	googleclouddialogflowcxv3runtestcaserequest *GoogleCloudDialogflowCxV3RunTestCaseRequest
31576	urlParams_                                  gensupport.URLParams
31577	ctx_                                        context.Context
31578	header_                                     http.Header
31579}
31580
31581// Run: Kicks off a test case run.
31582//
31583// - name: Format of test case name to run: `projects//locations/
31584//   /agents//testCases/`.
31585func (r *ProjectsLocationsAgentsTestCasesService) Run(name string, googleclouddialogflowcxv3runtestcaserequest *GoogleCloudDialogflowCxV3RunTestCaseRequest) *ProjectsLocationsAgentsTestCasesRunCall {
31586	c := &ProjectsLocationsAgentsTestCasesRunCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31587	c.name = name
31588	c.googleclouddialogflowcxv3runtestcaserequest = googleclouddialogflowcxv3runtestcaserequest
31589	return c
31590}
31591
31592// Fields allows partial responses to be retrieved. See
31593// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31594// for more information.
31595func (c *ProjectsLocationsAgentsTestCasesRunCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsTestCasesRunCall {
31596	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31597	return c
31598}
31599
31600// Context sets the context to be used in this call's Do method. Any
31601// pending HTTP request will be aborted if the provided context is
31602// canceled.
31603func (c *ProjectsLocationsAgentsTestCasesRunCall) Context(ctx context.Context) *ProjectsLocationsAgentsTestCasesRunCall {
31604	c.ctx_ = ctx
31605	return c
31606}
31607
31608// Header returns an http.Header that can be modified by the caller to
31609// add HTTP headers to the request.
31610func (c *ProjectsLocationsAgentsTestCasesRunCall) Header() http.Header {
31611	if c.header_ == nil {
31612		c.header_ = make(http.Header)
31613	}
31614	return c.header_
31615}
31616
31617func (c *ProjectsLocationsAgentsTestCasesRunCall) doRequest(alt string) (*http.Response, error) {
31618	reqHeaders := make(http.Header)
31619	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
31620	for k, v := range c.header_ {
31621		reqHeaders[k] = v
31622	}
31623	reqHeaders.Set("User-Agent", c.s.userAgent())
31624	var body io.Reader = nil
31625	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3runtestcaserequest)
31626	if err != nil {
31627		return nil, err
31628	}
31629	reqHeaders.Set("Content-Type", "application/json")
31630	c.urlParams_.Set("alt", alt)
31631	c.urlParams_.Set("prettyPrint", "false")
31632	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}:run")
31633	urls += "?" + c.urlParams_.Encode()
31634	req, err := http.NewRequest("POST", urls, body)
31635	if err != nil {
31636		return nil, err
31637	}
31638	req.Header = reqHeaders
31639	googleapi.Expand(req.URL, map[string]string{
31640		"name": c.name,
31641	})
31642	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31643}
31644
31645// Do executes the "dialogflow.projects.locations.agents.testCases.run" call.
31646// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
31647// Any non-2xx status code is an error. Response headers are in either
31648// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
31649// was returned at all) in error.(*googleapi.Error).Header. Use
31650// googleapi.IsNotModified to check whether the returned error was
31651// because http.StatusNotModified was returned.
31652func (c *ProjectsLocationsAgentsTestCasesRunCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
31653	gensupport.SetOptions(c.urlParams_, opts...)
31654	res, err := c.doRequest("json")
31655	if res != nil && res.StatusCode == http.StatusNotModified {
31656		if res.Body != nil {
31657			res.Body.Close()
31658		}
31659		return nil, &googleapi.Error{
31660			Code:   res.StatusCode,
31661			Header: res.Header,
31662		}
31663	}
31664	if err != nil {
31665		return nil, err
31666	}
31667	defer googleapi.CloseBody(res)
31668	if err := googleapi.CheckResponse(res); err != nil {
31669		return nil, err
31670	}
31671	ret := &GoogleLongrunningOperation{
31672		ServerResponse: googleapi.ServerResponse{
31673			Header:         res.Header,
31674			HTTPStatusCode: res.StatusCode,
31675		},
31676	}
31677	target := &ret
31678	if err := gensupport.DecodeResponse(target, res); err != nil {
31679		return nil, err
31680	}
31681	return ret, nil
31682	// {
31683	//   "description": "Kicks off a test case run.",
31684	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/testCases/{testCasesId}:run",
31685	//   "httpMethod": "POST",
31686	//   "id": "dialogflow.projects.locations.agents.testCases.run",
31687	//   "parameterOrder": [
31688	//     "name"
31689	//   ],
31690	//   "parameters": {
31691	//     "name": {
31692	//       "description": "Required. Format of test case name to run: `projects//locations/ /agents//testCases/`.",
31693	//       "location": "path",
31694	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/testCases/[^/]+$",
31695	//       "required": true,
31696	//       "type": "string"
31697	//     }
31698	//   },
31699	//   "path": "v3/{+name}:run",
31700	//   "request": {
31701	//     "$ref": "GoogleCloudDialogflowCxV3RunTestCaseRequest"
31702	//   },
31703	//   "response": {
31704	//     "$ref": "GoogleLongrunningOperation"
31705	//   },
31706	//   "scopes": [
31707	//     "https://www.googleapis.com/auth/cloud-platform",
31708	//     "https://www.googleapis.com/auth/dialogflow"
31709	//   ]
31710	// }
31711
31712}
31713
31714// method id "dialogflow.projects.locations.agents.testCases.results.get":
31715
31716type ProjectsLocationsAgentsTestCasesResultsGetCall struct {
31717	s            *Service
31718	name         string
31719	urlParams_   gensupport.URLParams
31720	ifNoneMatch_ string
31721	ctx_         context.Context
31722	header_      http.Header
31723}
31724
31725// Get: Gets a test case result.
31726//
31727// - name: The name of the testcase. Format:
31728//   `projects//locations//agents//testCases//results/`.
31729func (r *ProjectsLocationsAgentsTestCasesResultsService) Get(name string) *ProjectsLocationsAgentsTestCasesResultsGetCall {
31730	c := &ProjectsLocationsAgentsTestCasesResultsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31731	c.name = name
31732	return c
31733}
31734
31735// Fields allows partial responses to be retrieved. See
31736// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31737// for more information.
31738func (c *ProjectsLocationsAgentsTestCasesResultsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsTestCasesResultsGetCall {
31739	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31740	return c
31741}
31742
31743// IfNoneMatch sets the optional parameter which makes the operation
31744// fail if the object's ETag matches the given value. This is useful for
31745// getting updates only after the object has changed since the last
31746// request. Use googleapi.IsNotModified to check whether the response
31747// error from Do is the result of In-None-Match.
31748func (c *ProjectsLocationsAgentsTestCasesResultsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsTestCasesResultsGetCall {
31749	c.ifNoneMatch_ = entityTag
31750	return c
31751}
31752
31753// Context sets the context to be used in this call's Do method. Any
31754// pending HTTP request will be aborted if the provided context is
31755// canceled.
31756func (c *ProjectsLocationsAgentsTestCasesResultsGetCall) Context(ctx context.Context) *ProjectsLocationsAgentsTestCasesResultsGetCall {
31757	c.ctx_ = ctx
31758	return c
31759}
31760
31761// Header returns an http.Header that can be modified by the caller to
31762// add HTTP headers to the request.
31763func (c *ProjectsLocationsAgentsTestCasesResultsGetCall) Header() http.Header {
31764	if c.header_ == nil {
31765		c.header_ = make(http.Header)
31766	}
31767	return c.header_
31768}
31769
31770func (c *ProjectsLocationsAgentsTestCasesResultsGetCall) doRequest(alt string) (*http.Response, error) {
31771	reqHeaders := make(http.Header)
31772	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
31773	for k, v := range c.header_ {
31774		reqHeaders[k] = v
31775	}
31776	reqHeaders.Set("User-Agent", c.s.userAgent())
31777	if c.ifNoneMatch_ != "" {
31778		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
31779	}
31780	var body io.Reader = nil
31781	c.urlParams_.Set("alt", alt)
31782	c.urlParams_.Set("prettyPrint", "false")
31783	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
31784	urls += "?" + c.urlParams_.Encode()
31785	req, err := http.NewRequest("GET", urls, body)
31786	if err != nil {
31787		return nil, err
31788	}
31789	req.Header = reqHeaders
31790	googleapi.Expand(req.URL, map[string]string{
31791		"name": c.name,
31792	})
31793	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31794}
31795
31796// Do executes the "dialogflow.projects.locations.agents.testCases.results.get" call.
31797// Exactly one of *GoogleCloudDialogflowCxV3TestCaseResult or error will
31798// be non-nil. Any non-2xx status code is an error. Response headers are
31799// in either
31800// *GoogleCloudDialogflowCxV3TestCaseResult.ServerResponse.Header or (if
31801// a response was returned at all) in error.(*googleapi.Error).Header.
31802// Use googleapi.IsNotModified to check whether the returned error was
31803// because http.StatusNotModified was returned.
31804func (c *ProjectsLocationsAgentsTestCasesResultsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3TestCaseResult, error) {
31805	gensupport.SetOptions(c.urlParams_, opts...)
31806	res, err := c.doRequest("json")
31807	if res != nil && res.StatusCode == http.StatusNotModified {
31808		if res.Body != nil {
31809			res.Body.Close()
31810		}
31811		return nil, &googleapi.Error{
31812			Code:   res.StatusCode,
31813			Header: res.Header,
31814		}
31815	}
31816	if err != nil {
31817		return nil, err
31818	}
31819	defer googleapi.CloseBody(res)
31820	if err := googleapi.CheckResponse(res); err != nil {
31821		return nil, err
31822	}
31823	ret := &GoogleCloudDialogflowCxV3TestCaseResult{
31824		ServerResponse: googleapi.ServerResponse{
31825			Header:         res.Header,
31826			HTTPStatusCode: res.StatusCode,
31827		},
31828	}
31829	target := &ret
31830	if err := gensupport.DecodeResponse(target, res); err != nil {
31831		return nil, err
31832	}
31833	return ret, nil
31834	// {
31835	//   "description": "Gets a test case result.",
31836	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/testCases/{testCasesId}/results/{resultsId}",
31837	//   "httpMethod": "GET",
31838	//   "id": "dialogflow.projects.locations.agents.testCases.results.get",
31839	//   "parameterOrder": [
31840	//     "name"
31841	//   ],
31842	//   "parameters": {
31843	//     "name": {
31844	//       "description": "Required. The name of the testcase. Format: `projects//locations//agents//testCases//results/`.",
31845	//       "location": "path",
31846	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/testCases/[^/]+/results/[^/]+$",
31847	//       "required": true,
31848	//       "type": "string"
31849	//     }
31850	//   },
31851	//   "path": "v3/{+name}",
31852	//   "response": {
31853	//     "$ref": "GoogleCloudDialogflowCxV3TestCaseResult"
31854	//   },
31855	//   "scopes": [
31856	//     "https://www.googleapis.com/auth/cloud-platform",
31857	//     "https://www.googleapis.com/auth/dialogflow"
31858	//   ]
31859	// }
31860
31861}
31862
31863// method id "dialogflow.projects.locations.agents.testCases.results.list":
31864
31865type ProjectsLocationsAgentsTestCasesResultsListCall struct {
31866	s            *Service
31867	parent       string
31868	urlParams_   gensupport.URLParams
31869	ifNoneMatch_ string
31870	ctx_         context.Context
31871	header_      http.Header
31872}
31873
31874// List: Fetches a list of results for a given test case.
31875//
31876// - parent: The test case to list results for. Format:
31877//   `projects//locations//agents// testCases/`. Specify a `-` as a
31878//   wildcard for TestCase ID to list results across multiple test
31879//   cases.
31880func (r *ProjectsLocationsAgentsTestCasesResultsService) List(parent string) *ProjectsLocationsAgentsTestCasesResultsListCall {
31881	c := &ProjectsLocationsAgentsTestCasesResultsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31882	c.parent = parent
31883	return c
31884}
31885
31886// Filter sets the optional parameter "filter": The filter expression
31887// used to filter test case results. See API Filtering
31888// (https://aip.dev/160). The expression is case insensitive. Only 'AND'
31889// is supported for logical operators. The supported syntax is listed
31890// below in detail: [AND ] ... [AND latest] The supported fields and
31891// operators are: field operator `environment` `=`, `IN` (Use value
31892// `draft` for draft environment) `test_time` `>`, `<` `latest` only
31893// returns the latest test result in all results for each test case.
31894// Examples: * "environment=draft AND latest" matches the latest test
31895// result for each test case in the draft environment. * "environment IN
31896// (e1,e2)" matches any test case results with an environment resource
31897// name of either "e1" or "e2". * "test_time > 1602540713" matches any
31898// test case results with test time later than a unix timestamp in
31899// seconds 1602540713.
31900func (c *ProjectsLocationsAgentsTestCasesResultsListCall) Filter(filter string) *ProjectsLocationsAgentsTestCasesResultsListCall {
31901	c.urlParams_.Set("filter", filter)
31902	return c
31903}
31904
31905// PageSize sets the optional parameter "pageSize": The maximum number
31906// of items to return in a single page. By default 100 and at most 1000.
31907func (c *ProjectsLocationsAgentsTestCasesResultsListCall) PageSize(pageSize int64) *ProjectsLocationsAgentsTestCasesResultsListCall {
31908	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
31909	return c
31910}
31911
31912// PageToken sets the optional parameter "pageToken": The
31913// next_page_token value returned from a previous list request.
31914func (c *ProjectsLocationsAgentsTestCasesResultsListCall) PageToken(pageToken string) *ProjectsLocationsAgentsTestCasesResultsListCall {
31915	c.urlParams_.Set("pageToken", pageToken)
31916	return c
31917}
31918
31919// Fields allows partial responses to be retrieved. See
31920// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31921// for more information.
31922func (c *ProjectsLocationsAgentsTestCasesResultsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsTestCasesResultsListCall {
31923	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31924	return c
31925}
31926
31927// IfNoneMatch sets the optional parameter which makes the operation
31928// fail if the object's ETag matches the given value. This is useful for
31929// getting updates only after the object has changed since the last
31930// request. Use googleapi.IsNotModified to check whether the response
31931// error from Do is the result of In-None-Match.
31932func (c *ProjectsLocationsAgentsTestCasesResultsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsTestCasesResultsListCall {
31933	c.ifNoneMatch_ = entityTag
31934	return c
31935}
31936
31937// Context sets the context to be used in this call's Do method. Any
31938// pending HTTP request will be aborted if the provided context is
31939// canceled.
31940func (c *ProjectsLocationsAgentsTestCasesResultsListCall) Context(ctx context.Context) *ProjectsLocationsAgentsTestCasesResultsListCall {
31941	c.ctx_ = ctx
31942	return c
31943}
31944
31945// Header returns an http.Header that can be modified by the caller to
31946// add HTTP headers to the request.
31947func (c *ProjectsLocationsAgentsTestCasesResultsListCall) Header() http.Header {
31948	if c.header_ == nil {
31949		c.header_ = make(http.Header)
31950	}
31951	return c.header_
31952}
31953
31954func (c *ProjectsLocationsAgentsTestCasesResultsListCall) doRequest(alt string) (*http.Response, error) {
31955	reqHeaders := make(http.Header)
31956	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
31957	for k, v := range c.header_ {
31958		reqHeaders[k] = v
31959	}
31960	reqHeaders.Set("User-Agent", c.s.userAgent())
31961	if c.ifNoneMatch_ != "" {
31962		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
31963	}
31964	var body io.Reader = nil
31965	c.urlParams_.Set("alt", alt)
31966	c.urlParams_.Set("prettyPrint", "false")
31967	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/results")
31968	urls += "?" + c.urlParams_.Encode()
31969	req, err := http.NewRequest("GET", urls, body)
31970	if err != nil {
31971		return nil, err
31972	}
31973	req.Header = reqHeaders
31974	googleapi.Expand(req.URL, map[string]string{
31975		"parent": c.parent,
31976	})
31977	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31978}
31979
31980// Do executes the "dialogflow.projects.locations.agents.testCases.results.list" call.
31981// Exactly one of *GoogleCloudDialogflowCxV3ListTestCaseResultsResponse
31982// or error will be non-nil. Any non-2xx status code is an error.
31983// Response headers are in either
31984// *GoogleCloudDialogflowCxV3ListTestCaseResultsResponse.ServerResponse.H
31985// eader or (if a response was returned at all) in
31986// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
31987// whether the returned error was because http.StatusNotModified was
31988// returned.
31989func (c *ProjectsLocationsAgentsTestCasesResultsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3ListTestCaseResultsResponse, error) {
31990	gensupport.SetOptions(c.urlParams_, opts...)
31991	res, err := c.doRequest("json")
31992	if res != nil && res.StatusCode == http.StatusNotModified {
31993		if res.Body != nil {
31994			res.Body.Close()
31995		}
31996		return nil, &googleapi.Error{
31997			Code:   res.StatusCode,
31998			Header: res.Header,
31999		}
32000	}
32001	if err != nil {
32002		return nil, err
32003	}
32004	defer googleapi.CloseBody(res)
32005	if err := googleapi.CheckResponse(res); err != nil {
32006		return nil, err
32007	}
32008	ret := &GoogleCloudDialogflowCxV3ListTestCaseResultsResponse{
32009		ServerResponse: googleapi.ServerResponse{
32010			Header:         res.Header,
32011			HTTPStatusCode: res.StatusCode,
32012		},
32013	}
32014	target := &ret
32015	if err := gensupport.DecodeResponse(target, res); err != nil {
32016		return nil, err
32017	}
32018	return ret, nil
32019	// {
32020	//   "description": "Fetches a list of results for a given test case.",
32021	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/testCases/{testCasesId}/results",
32022	//   "httpMethod": "GET",
32023	//   "id": "dialogflow.projects.locations.agents.testCases.results.list",
32024	//   "parameterOrder": [
32025	//     "parent"
32026	//   ],
32027	//   "parameters": {
32028	//     "filter": {
32029	//       "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.",
32030	//       "location": "query",
32031	//       "type": "string"
32032	//     },
32033	//     "pageSize": {
32034	//       "description": "The maximum number of items to return in a single page. By default 100 and at most 1000.",
32035	//       "format": "int32",
32036	//       "location": "query",
32037	//       "type": "integer"
32038	//     },
32039	//     "pageToken": {
32040	//       "description": "The next_page_token value returned from a previous list request.",
32041	//       "location": "query",
32042	//       "type": "string"
32043	//     },
32044	//     "parent": {
32045	//       "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.",
32046	//       "location": "path",
32047	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/testCases/[^/]+$",
32048	//       "required": true,
32049	//       "type": "string"
32050	//     }
32051	//   },
32052	//   "path": "v3/{+parent}/results",
32053	//   "response": {
32054	//     "$ref": "GoogleCloudDialogflowCxV3ListTestCaseResultsResponse"
32055	//   },
32056	//   "scopes": [
32057	//     "https://www.googleapis.com/auth/cloud-platform",
32058	//     "https://www.googleapis.com/auth/dialogflow"
32059	//   ]
32060	// }
32061
32062}
32063
32064// Pages invokes f for each page of results.
32065// A non-nil error returned from f will halt the iteration.
32066// The provided context supersedes any context provided to the Context method.
32067func (c *ProjectsLocationsAgentsTestCasesResultsListCall) Pages(ctx context.Context, f func(*GoogleCloudDialogflowCxV3ListTestCaseResultsResponse) error) error {
32068	c.ctx_ = ctx
32069	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
32070	for {
32071		x, err := c.Do()
32072		if err != nil {
32073			return err
32074		}
32075		if err := f(x); err != nil {
32076			return err
32077		}
32078		if x.NextPageToken == "" {
32079			return nil
32080		}
32081		c.PageToken(x.NextPageToken)
32082	}
32083}
32084
32085// method id "dialogflow.projects.locations.agents.webhooks.create":
32086
32087type ProjectsLocationsAgentsWebhooksCreateCall struct {
32088	s                                *Service
32089	parent                           string
32090	googleclouddialogflowcxv3webhook *GoogleCloudDialogflowCxV3Webhook
32091	urlParams_                       gensupport.URLParams
32092	ctx_                             context.Context
32093	header_                          http.Header
32094}
32095
32096// Create: Creates a webhook in the specified agent.
32097//
32098// - parent: The agent to create a webhook for. Format:
32099//   `projects//locations//agents/`.
32100func (r *ProjectsLocationsAgentsWebhooksService) Create(parent string, googleclouddialogflowcxv3webhook *GoogleCloudDialogflowCxV3Webhook) *ProjectsLocationsAgentsWebhooksCreateCall {
32101	c := &ProjectsLocationsAgentsWebhooksCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32102	c.parent = parent
32103	c.googleclouddialogflowcxv3webhook = googleclouddialogflowcxv3webhook
32104	return c
32105}
32106
32107// Fields allows partial responses to be retrieved. See
32108// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32109// for more information.
32110func (c *ProjectsLocationsAgentsWebhooksCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsWebhooksCreateCall {
32111	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32112	return c
32113}
32114
32115// Context sets the context to be used in this call's Do method. Any
32116// pending HTTP request will be aborted if the provided context is
32117// canceled.
32118func (c *ProjectsLocationsAgentsWebhooksCreateCall) Context(ctx context.Context) *ProjectsLocationsAgentsWebhooksCreateCall {
32119	c.ctx_ = ctx
32120	return c
32121}
32122
32123// Header returns an http.Header that can be modified by the caller to
32124// add HTTP headers to the request.
32125func (c *ProjectsLocationsAgentsWebhooksCreateCall) Header() http.Header {
32126	if c.header_ == nil {
32127		c.header_ = make(http.Header)
32128	}
32129	return c.header_
32130}
32131
32132func (c *ProjectsLocationsAgentsWebhooksCreateCall) doRequest(alt string) (*http.Response, error) {
32133	reqHeaders := make(http.Header)
32134	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
32135	for k, v := range c.header_ {
32136		reqHeaders[k] = v
32137	}
32138	reqHeaders.Set("User-Agent", c.s.userAgent())
32139	var body io.Reader = nil
32140	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3webhook)
32141	if err != nil {
32142		return nil, err
32143	}
32144	reqHeaders.Set("Content-Type", "application/json")
32145	c.urlParams_.Set("alt", alt)
32146	c.urlParams_.Set("prettyPrint", "false")
32147	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/webhooks")
32148	urls += "?" + c.urlParams_.Encode()
32149	req, err := http.NewRequest("POST", urls, body)
32150	if err != nil {
32151		return nil, err
32152	}
32153	req.Header = reqHeaders
32154	googleapi.Expand(req.URL, map[string]string{
32155		"parent": c.parent,
32156	})
32157	return gensupport.SendRequest(c.ctx_, c.s.client, req)
32158}
32159
32160// Do executes the "dialogflow.projects.locations.agents.webhooks.create" call.
32161// Exactly one of *GoogleCloudDialogflowCxV3Webhook or error will be
32162// non-nil. Any non-2xx status code is an error. Response headers are in
32163// either *GoogleCloudDialogflowCxV3Webhook.ServerResponse.Header or (if
32164// a response was returned at all) in error.(*googleapi.Error).Header.
32165// Use googleapi.IsNotModified to check whether the returned error was
32166// because http.StatusNotModified was returned.
32167func (c *ProjectsLocationsAgentsWebhooksCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3Webhook, error) {
32168	gensupport.SetOptions(c.urlParams_, opts...)
32169	res, err := c.doRequest("json")
32170	if res != nil && res.StatusCode == http.StatusNotModified {
32171		if res.Body != nil {
32172			res.Body.Close()
32173		}
32174		return nil, &googleapi.Error{
32175			Code:   res.StatusCode,
32176			Header: res.Header,
32177		}
32178	}
32179	if err != nil {
32180		return nil, err
32181	}
32182	defer googleapi.CloseBody(res)
32183	if err := googleapi.CheckResponse(res); err != nil {
32184		return nil, err
32185	}
32186	ret := &GoogleCloudDialogflowCxV3Webhook{
32187		ServerResponse: googleapi.ServerResponse{
32188			Header:         res.Header,
32189			HTTPStatusCode: res.StatusCode,
32190		},
32191	}
32192	target := &ret
32193	if err := gensupport.DecodeResponse(target, res); err != nil {
32194		return nil, err
32195	}
32196	return ret, nil
32197	// {
32198	//   "description": "Creates a webhook in the specified agent.",
32199	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/webhooks",
32200	//   "httpMethod": "POST",
32201	//   "id": "dialogflow.projects.locations.agents.webhooks.create",
32202	//   "parameterOrder": [
32203	//     "parent"
32204	//   ],
32205	//   "parameters": {
32206	//     "parent": {
32207	//       "description": "Required. The agent to create a webhook for. Format: `projects//locations//agents/`.",
32208	//       "location": "path",
32209	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$",
32210	//       "required": true,
32211	//       "type": "string"
32212	//     }
32213	//   },
32214	//   "path": "v3/{+parent}/webhooks",
32215	//   "request": {
32216	//     "$ref": "GoogleCloudDialogflowCxV3Webhook"
32217	//   },
32218	//   "response": {
32219	//     "$ref": "GoogleCloudDialogflowCxV3Webhook"
32220	//   },
32221	//   "scopes": [
32222	//     "https://www.googleapis.com/auth/cloud-platform",
32223	//     "https://www.googleapis.com/auth/dialogflow"
32224	//   ]
32225	// }
32226
32227}
32228
32229// method id "dialogflow.projects.locations.agents.webhooks.delete":
32230
32231type ProjectsLocationsAgentsWebhooksDeleteCall struct {
32232	s          *Service
32233	name       string
32234	urlParams_ gensupport.URLParams
32235	ctx_       context.Context
32236	header_    http.Header
32237}
32238
32239// Delete: Deletes the specified webhook.
32240//
32241// - name: The name of the webhook to delete. Format:
32242//   `projects//locations//agents//webhooks/`.
32243func (r *ProjectsLocationsAgentsWebhooksService) Delete(name string) *ProjectsLocationsAgentsWebhooksDeleteCall {
32244	c := &ProjectsLocationsAgentsWebhooksDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32245	c.name = name
32246	return c
32247}
32248
32249// Force sets the optional parameter "force": This field has no effect
32250// for webhook not being used. For webhooks that are used by
32251// pages/flows/transition route groups: * If `force` is set to false, an
32252// error will be returned with message indicating the referenced
32253// resources. * If `force` is set to true, Dialogflow will remove the
32254// webhook, as well as any references to the webhook (i.e. Webhook and
32255// tagin fulfillments that point to this webhook will be removed).
32256func (c *ProjectsLocationsAgentsWebhooksDeleteCall) Force(force bool) *ProjectsLocationsAgentsWebhooksDeleteCall {
32257	c.urlParams_.Set("force", fmt.Sprint(force))
32258	return c
32259}
32260
32261// Fields allows partial responses to be retrieved. See
32262// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32263// for more information.
32264func (c *ProjectsLocationsAgentsWebhooksDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsWebhooksDeleteCall {
32265	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32266	return c
32267}
32268
32269// Context sets the context to be used in this call's Do method. Any
32270// pending HTTP request will be aborted if the provided context is
32271// canceled.
32272func (c *ProjectsLocationsAgentsWebhooksDeleteCall) Context(ctx context.Context) *ProjectsLocationsAgentsWebhooksDeleteCall {
32273	c.ctx_ = ctx
32274	return c
32275}
32276
32277// Header returns an http.Header that can be modified by the caller to
32278// add HTTP headers to the request.
32279func (c *ProjectsLocationsAgentsWebhooksDeleteCall) Header() http.Header {
32280	if c.header_ == nil {
32281		c.header_ = make(http.Header)
32282	}
32283	return c.header_
32284}
32285
32286func (c *ProjectsLocationsAgentsWebhooksDeleteCall) doRequest(alt string) (*http.Response, error) {
32287	reqHeaders := make(http.Header)
32288	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
32289	for k, v := range c.header_ {
32290		reqHeaders[k] = v
32291	}
32292	reqHeaders.Set("User-Agent", c.s.userAgent())
32293	var body io.Reader = nil
32294	c.urlParams_.Set("alt", alt)
32295	c.urlParams_.Set("prettyPrint", "false")
32296	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
32297	urls += "?" + c.urlParams_.Encode()
32298	req, err := http.NewRequest("DELETE", urls, body)
32299	if err != nil {
32300		return nil, err
32301	}
32302	req.Header = reqHeaders
32303	googleapi.Expand(req.URL, map[string]string{
32304		"name": c.name,
32305	})
32306	return gensupport.SendRequest(c.ctx_, c.s.client, req)
32307}
32308
32309// Do executes the "dialogflow.projects.locations.agents.webhooks.delete" call.
32310// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
32311// non-2xx status code is an error. Response headers are in either
32312// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
32313// returned at all) in error.(*googleapi.Error).Header. Use
32314// googleapi.IsNotModified to check whether the returned error was
32315// because http.StatusNotModified was returned.
32316func (c *ProjectsLocationsAgentsWebhooksDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
32317	gensupport.SetOptions(c.urlParams_, opts...)
32318	res, err := c.doRequest("json")
32319	if res != nil && res.StatusCode == http.StatusNotModified {
32320		if res.Body != nil {
32321			res.Body.Close()
32322		}
32323		return nil, &googleapi.Error{
32324			Code:   res.StatusCode,
32325			Header: res.Header,
32326		}
32327	}
32328	if err != nil {
32329		return nil, err
32330	}
32331	defer googleapi.CloseBody(res)
32332	if err := googleapi.CheckResponse(res); err != nil {
32333		return nil, err
32334	}
32335	ret := &GoogleProtobufEmpty{
32336		ServerResponse: googleapi.ServerResponse{
32337			Header:         res.Header,
32338			HTTPStatusCode: res.StatusCode,
32339		},
32340	}
32341	target := &ret
32342	if err := gensupport.DecodeResponse(target, res); err != nil {
32343		return nil, err
32344	}
32345	return ret, nil
32346	// {
32347	//   "description": "Deletes the specified webhook.",
32348	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/webhooks/{webhooksId}",
32349	//   "httpMethod": "DELETE",
32350	//   "id": "dialogflow.projects.locations.agents.webhooks.delete",
32351	//   "parameterOrder": [
32352	//     "name"
32353	//   ],
32354	//   "parameters": {
32355	//     "force": {
32356	//       "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).",
32357	//       "location": "query",
32358	//       "type": "boolean"
32359	//     },
32360	//     "name": {
32361	//       "description": "Required. The name of the webhook to delete. Format: `projects//locations//agents//webhooks/`.",
32362	//       "location": "path",
32363	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/webhooks/[^/]+$",
32364	//       "required": true,
32365	//       "type": "string"
32366	//     }
32367	//   },
32368	//   "path": "v3/{+name}",
32369	//   "response": {
32370	//     "$ref": "GoogleProtobufEmpty"
32371	//   },
32372	//   "scopes": [
32373	//     "https://www.googleapis.com/auth/cloud-platform",
32374	//     "https://www.googleapis.com/auth/dialogflow"
32375	//   ]
32376	// }
32377
32378}
32379
32380// method id "dialogflow.projects.locations.agents.webhooks.get":
32381
32382type ProjectsLocationsAgentsWebhooksGetCall struct {
32383	s            *Service
32384	name         string
32385	urlParams_   gensupport.URLParams
32386	ifNoneMatch_ string
32387	ctx_         context.Context
32388	header_      http.Header
32389}
32390
32391// Get: Retrieves the specified webhook.
32392//
32393// - name: The name of the webhook. Format:
32394//   `projects//locations//agents//webhooks/`.
32395func (r *ProjectsLocationsAgentsWebhooksService) Get(name string) *ProjectsLocationsAgentsWebhooksGetCall {
32396	c := &ProjectsLocationsAgentsWebhooksGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32397	c.name = name
32398	return c
32399}
32400
32401// Fields allows partial responses to be retrieved. See
32402// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32403// for more information.
32404func (c *ProjectsLocationsAgentsWebhooksGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsWebhooksGetCall {
32405	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32406	return c
32407}
32408
32409// IfNoneMatch sets the optional parameter which makes the operation
32410// fail if the object's ETag matches the given value. This is useful for
32411// getting updates only after the object has changed since the last
32412// request. Use googleapi.IsNotModified to check whether the response
32413// error from Do is the result of In-None-Match.
32414func (c *ProjectsLocationsAgentsWebhooksGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsWebhooksGetCall {
32415	c.ifNoneMatch_ = entityTag
32416	return c
32417}
32418
32419// Context sets the context to be used in this call's Do method. Any
32420// pending HTTP request will be aborted if the provided context is
32421// canceled.
32422func (c *ProjectsLocationsAgentsWebhooksGetCall) Context(ctx context.Context) *ProjectsLocationsAgentsWebhooksGetCall {
32423	c.ctx_ = ctx
32424	return c
32425}
32426
32427// Header returns an http.Header that can be modified by the caller to
32428// add HTTP headers to the request.
32429func (c *ProjectsLocationsAgentsWebhooksGetCall) Header() http.Header {
32430	if c.header_ == nil {
32431		c.header_ = make(http.Header)
32432	}
32433	return c.header_
32434}
32435
32436func (c *ProjectsLocationsAgentsWebhooksGetCall) doRequest(alt string) (*http.Response, error) {
32437	reqHeaders := make(http.Header)
32438	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
32439	for k, v := range c.header_ {
32440		reqHeaders[k] = v
32441	}
32442	reqHeaders.Set("User-Agent", c.s.userAgent())
32443	if c.ifNoneMatch_ != "" {
32444		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
32445	}
32446	var body io.Reader = nil
32447	c.urlParams_.Set("alt", alt)
32448	c.urlParams_.Set("prettyPrint", "false")
32449	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
32450	urls += "?" + c.urlParams_.Encode()
32451	req, err := http.NewRequest("GET", urls, body)
32452	if err != nil {
32453		return nil, err
32454	}
32455	req.Header = reqHeaders
32456	googleapi.Expand(req.URL, map[string]string{
32457		"name": c.name,
32458	})
32459	return gensupport.SendRequest(c.ctx_, c.s.client, req)
32460}
32461
32462// Do executes the "dialogflow.projects.locations.agents.webhooks.get" call.
32463// Exactly one of *GoogleCloudDialogflowCxV3Webhook or error will be
32464// non-nil. Any non-2xx status code is an error. Response headers are in
32465// either *GoogleCloudDialogflowCxV3Webhook.ServerResponse.Header or (if
32466// a response was returned at all) in error.(*googleapi.Error).Header.
32467// Use googleapi.IsNotModified to check whether the returned error was
32468// because http.StatusNotModified was returned.
32469func (c *ProjectsLocationsAgentsWebhooksGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3Webhook, error) {
32470	gensupport.SetOptions(c.urlParams_, opts...)
32471	res, err := c.doRequest("json")
32472	if res != nil && res.StatusCode == http.StatusNotModified {
32473		if res.Body != nil {
32474			res.Body.Close()
32475		}
32476		return nil, &googleapi.Error{
32477			Code:   res.StatusCode,
32478			Header: res.Header,
32479		}
32480	}
32481	if err != nil {
32482		return nil, err
32483	}
32484	defer googleapi.CloseBody(res)
32485	if err := googleapi.CheckResponse(res); err != nil {
32486		return nil, err
32487	}
32488	ret := &GoogleCloudDialogflowCxV3Webhook{
32489		ServerResponse: googleapi.ServerResponse{
32490			Header:         res.Header,
32491			HTTPStatusCode: res.StatusCode,
32492		},
32493	}
32494	target := &ret
32495	if err := gensupport.DecodeResponse(target, res); err != nil {
32496		return nil, err
32497	}
32498	return ret, nil
32499	// {
32500	//   "description": "Retrieves the specified webhook.",
32501	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/webhooks/{webhooksId}",
32502	//   "httpMethod": "GET",
32503	//   "id": "dialogflow.projects.locations.agents.webhooks.get",
32504	//   "parameterOrder": [
32505	//     "name"
32506	//   ],
32507	//   "parameters": {
32508	//     "name": {
32509	//       "description": "Required. The name of the webhook. Format: `projects//locations//agents//webhooks/`.",
32510	//       "location": "path",
32511	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/webhooks/[^/]+$",
32512	//       "required": true,
32513	//       "type": "string"
32514	//     }
32515	//   },
32516	//   "path": "v3/{+name}",
32517	//   "response": {
32518	//     "$ref": "GoogleCloudDialogflowCxV3Webhook"
32519	//   },
32520	//   "scopes": [
32521	//     "https://www.googleapis.com/auth/cloud-platform",
32522	//     "https://www.googleapis.com/auth/dialogflow"
32523	//   ]
32524	// }
32525
32526}
32527
32528// method id "dialogflow.projects.locations.agents.webhooks.list":
32529
32530type ProjectsLocationsAgentsWebhooksListCall struct {
32531	s            *Service
32532	parent       string
32533	urlParams_   gensupport.URLParams
32534	ifNoneMatch_ string
32535	ctx_         context.Context
32536	header_      http.Header
32537}
32538
32539// List: Returns the list of all webhooks in the specified agent.
32540//
32541// - parent: The agent to list all webhooks for. Format:
32542//   `projects//locations//agents/`.
32543func (r *ProjectsLocationsAgentsWebhooksService) List(parent string) *ProjectsLocationsAgentsWebhooksListCall {
32544	c := &ProjectsLocationsAgentsWebhooksListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32545	c.parent = parent
32546	return c
32547}
32548
32549// PageSize sets the optional parameter "pageSize": The maximum number
32550// of items to return in a single page. By default 100 and at most 1000.
32551func (c *ProjectsLocationsAgentsWebhooksListCall) PageSize(pageSize int64) *ProjectsLocationsAgentsWebhooksListCall {
32552	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
32553	return c
32554}
32555
32556// PageToken sets the optional parameter "pageToken": The
32557// next_page_token value returned from a previous list request.
32558func (c *ProjectsLocationsAgentsWebhooksListCall) PageToken(pageToken string) *ProjectsLocationsAgentsWebhooksListCall {
32559	c.urlParams_.Set("pageToken", pageToken)
32560	return c
32561}
32562
32563// Fields allows partial responses to be retrieved. See
32564// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32565// for more information.
32566func (c *ProjectsLocationsAgentsWebhooksListCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsWebhooksListCall {
32567	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32568	return c
32569}
32570
32571// IfNoneMatch sets the optional parameter which makes the operation
32572// fail if the object's ETag matches the given value. This is useful for
32573// getting updates only after the object has changed since the last
32574// request. Use googleapi.IsNotModified to check whether the response
32575// error from Do is the result of In-None-Match.
32576func (c *ProjectsLocationsAgentsWebhooksListCall) IfNoneMatch(entityTag string) *ProjectsLocationsAgentsWebhooksListCall {
32577	c.ifNoneMatch_ = entityTag
32578	return c
32579}
32580
32581// Context sets the context to be used in this call's Do method. Any
32582// pending HTTP request will be aborted if the provided context is
32583// canceled.
32584func (c *ProjectsLocationsAgentsWebhooksListCall) Context(ctx context.Context) *ProjectsLocationsAgentsWebhooksListCall {
32585	c.ctx_ = ctx
32586	return c
32587}
32588
32589// Header returns an http.Header that can be modified by the caller to
32590// add HTTP headers to the request.
32591func (c *ProjectsLocationsAgentsWebhooksListCall) Header() http.Header {
32592	if c.header_ == nil {
32593		c.header_ = make(http.Header)
32594	}
32595	return c.header_
32596}
32597
32598func (c *ProjectsLocationsAgentsWebhooksListCall) doRequest(alt string) (*http.Response, error) {
32599	reqHeaders := make(http.Header)
32600	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
32601	for k, v := range c.header_ {
32602		reqHeaders[k] = v
32603	}
32604	reqHeaders.Set("User-Agent", c.s.userAgent())
32605	if c.ifNoneMatch_ != "" {
32606		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
32607	}
32608	var body io.Reader = nil
32609	c.urlParams_.Set("alt", alt)
32610	c.urlParams_.Set("prettyPrint", "false")
32611	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/webhooks")
32612	urls += "?" + c.urlParams_.Encode()
32613	req, err := http.NewRequest("GET", urls, body)
32614	if err != nil {
32615		return nil, err
32616	}
32617	req.Header = reqHeaders
32618	googleapi.Expand(req.URL, map[string]string{
32619		"parent": c.parent,
32620	})
32621	return gensupport.SendRequest(c.ctx_, c.s.client, req)
32622}
32623
32624// Do executes the "dialogflow.projects.locations.agents.webhooks.list" call.
32625// Exactly one of *GoogleCloudDialogflowCxV3ListWebhooksResponse or
32626// error will be non-nil. Any non-2xx status code is an error. Response
32627// headers are in either
32628// *GoogleCloudDialogflowCxV3ListWebhooksResponse.ServerResponse.Header
32629// or (if a response was returned at all) in
32630// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
32631// whether the returned error was because http.StatusNotModified was
32632// returned.
32633func (c *ProjectsLocationsAgentsWebhooksListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3ListWebhooksResponse, error) {
32634	gensupport.SetOptions(c.urlParams_, opts...)
32635	res, err := c.doRequest("json")
32636	if res != nil && res.StatusCode == http.StatusNotModified {
32637		if res.Body != nil {
32638			res.Body.Close()
32639		}
32640		return nil, &googleapi.Error{
32641			Code:   res.StatusCode,
32642			Header: res.Header,
32643		}
32644	}
32645	if err != nil {
32646		return nil, err
32647	}
32648	defer googleapi.CloseBody(res)
32649	if err := googleapi.CheckResponse(res); err != nil {
32650		return nil, err
32651	}
32652	ret := &GoogleCloudDialogflowCxV3ListWebhooksResponse{
32653		ServerResponse: googleapi.ServerResponse{
32654			Header:         res.Header,
32655			HTTPStatusCode: res.StatusCode,
32656		},
32657	}
32658	target := &ret
32659	if err := gensupport.DecodeResponse(target, res); err != nil {
32660		return nil, err
32661	}
32662	return ret, nil
32663	// {
32664	//   "description": "Returns the list of all webhooks in the specified agent.",
32665	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/webhooks",
32666	//   "httpMethod": "GET",
32667	//   "id": "dialogflow.projects.locations.agents.webhooks.list",
32668	//   "parameterOrder": [
32669	//     "parent"
32670	//   ],
32671	//   "parameters": {
32672	//     "pageSize": {
32673	//       "description": "The maximum number of items to return in a single page. By default 100 and at most 1000.",
32674	//       "format": "int32",
32675	//       "location": "query",
32676	//       "type": "integer"
32677	//     },
32678	//     "pageToken": {
32679	//       "description": "The next_page_token value returned from a previous list request.",
32680	//       "location": "query",
32681	//       "type": "string"
32682	//     },
32683	//     "parent": {
32684	//       "description": "Required. The agent to list all webhooks for. Format: `projects//locations//agents/`.",
32685	//       "location": "path",
32686	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$",
32687	//       "required": true,
32688	//       "type": "string"
32689	//     }
32690	//   },
32691	//   "path": "v3/{+parent}/webhooks",
32692	//   "response": {
32693	//     "$ref": "GoogleCloudDialogflowCxV3ListWebhooksResponse"
32694	//   },
32695	//   "scopes": [
32696	//     "https://www.googleapis.com/auth/cloud-platform",
32697	//     "https://www.googleapis.com/auth/dialogflow"
32698	//   ]
32699	// }
32700
32701}
32702
32703// Pages invokes f for each page of results.
32704// A non-nil error returned from f will halt the iteration.
32705// The provided context supersedes any context provided to the Context method.
32706func (c *ProjectsLocationsAgentsWebhooksListCall) Pages(ctx context.Context, f func(*GoogleCloudDialogflowCxV3ListWebhooksResponse) error) error {
32707	c.ctx_ = ctx
32708	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
32709	for {
32710		x, err := c.Do()
32711		if err != nil {
32712			return err
32713		}
32714		if err := f(x); err != nil {
32715			return err
32716		}
32717		if x.NextPageToken == "" {
32718			return nil
32719		}
32720		c.PageToken(x.NextPageToken)
32721	}
32722}
32723
32724// method id "dialogflow.projects.locations.agents.webhooks.patch":
32725
32726type ProjectsLocationsAgentsWebhooksPatchCall struct {
32727	s                                *Service
32728	nameid                           string
32729	googleclouddialogflowcxv3webhook *GoogleCloudDialogflowCxV3Webhook
32730	urlParams_                       gensupport.URLParams
32731	ctx_                             context.Context
32732	header_                          http.Header
32733}
32734
32735// Patch: Updates the specified webhook.
32736//
32737// - name: The unique identifier of the webhook. Required for the
32738//   Webhooks.UpdateWebhook method. Webhooks.CreateWebhook populates the
32739//   name automatically. Format:
32740//   `projects//locations//agents//webhooks/`.
32741func (r *ProjectsLocationsAgentsWebhooksService) Patch(nameid string, googleclouddialogflowcxv3webhook *GoogleCloudDialogflowCxV3Webhook) *ProjectsLocationsAgentsWebhooksPatchCall {
32742	c := &ProjectsLocationsAgentsWebhooksPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32743	c.nameid = nameid
32744	c.googleclouddialogflowcxv3webhook = googleclouddialogflowcxv3webhook
32745	return c
32746}
32747
32748// UpdateMask sets the optional parameter "updateMask": The mask to
32749// control which fields get updated. If the mask is not present, all
32750// fields will be updated.
32751func (c *ProjectsLocationsAgentsWebhooksPatchCall) UpdateMask(updateMask string) *ProjectsLocationsAgentsWebhooksPatchCall {
32752	c.urlParams_.Set("updateMask", updateMask)
32753	return c
32754}
32755
32756// Fields allows partial responses to be retrieved. See
32757// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32758// for more information.
32759func (c *ProjectsLocationsAgentsWebhooksPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsAgentsWebhooksPatchCall {
32760	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32761	return c
32762}
32763
32764// Context sets the context to be used in this call's Do method. Any
32765// pending HTTP request will be aborted if the provided context is
32766// canceled.
32767func (c *ProjectsLocationsAgentsWebhooksPatchCall) Context(ctx context.Context) *ProjectsLocationsAgentsWebhooksPatchCall {
32768	c.ctx_ = ctx
32769	return c
32770}
32771
32772// Header returns an http.Header that can be modified by the caller to
32773// add HTTP headers to the request.
32774func (c *ProjectsLocationsAgentsWebhooksPatchCall) Header() http.Header {
32775	if c.header_ == nil {
32776		c.header_ = make(http.Header)
32777	}
32778	return c.header_
32779}
32780
32781func (c *ProjectsLocationsAgentsWebhooksPatchCall) doRequest(alt string) (*http.Response, error) {
32782	reqHeaders := make(http.Header)
32783	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
32784	for k, v := range c.header_ {
32785		reqHeaders[k] = v
32786	}
32787	reqHeaders.Set("User-Agent", c.s.userAgent())
32788	var body io.Reader = nil
32789	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3webhook)
32790	if err != nil {
32791		return nil, err
32792	}
32793	reqHeaders.Set("Content-Type", "application/json")
32794	c.urlParams_.Set("alt", alt)
32795	c.urlParams_.Set("prettyPrint", "false")
32796	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
32797	urls += "?" + c.urlParams_.Encode()
32798	req, err := http.NewRequest("PATCH", urls, body)
32799	if err != nil {
32800		return nil, err
32801	}
32802	req.Header = reqHeaders
32803	googleapi.Expand(req.URL, map[string]string{
32804		"name": c.nameid,
32805	})
32806	return gensupport.SendRequest(c.ctx_, c.s.client, req)
32807}
32808
32809// Do executes the "dialogflow.projects.locations.agents.webhooks.patch" call.
32810// Exactly one of *GoogleCloudDialogflowCxV3Webhook or error will be
32811// non-nil. Any non-2xx status code is an error. Response headers are in
32812// either *GoogleCloudDialogflowCxV3Webhook.ServerResponse.Header or (if
32813// a response was returned at all) in error.(*googleapi.Error).Header.
32814// Use googleapi.IsNotModified to check whether the returned error was
32815// because http.StatusNotModified was returned.
32816func (c *ProjectsLocationsAgentsWebhooksPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3Webhook, error) {
32817	gensupport.SetOptions(c.urlParams_, opts...)
32818	res, err := c.doRequest("json")
32819	if res != nil && res.StatusCode == http.StatusNotModified {
32820		if res.Body != nil {
32821			res.Body.Close()
32822		}
32823		return nil, &googleapi.Error{
32824			Code:   res.StatusCode,
32825			Header: res.Header,
32826		}
32827	}
32828	if err != nil {
32829		return nil, err
32830	}
32831	defer googleapi.CloseBody(res)
32832	if err := googleapi.CheckResponse(res); err != nil {
32833		return nil, err
32834	}
32835	ret := &GoogleCloudDialogflowCxV3Webhook{
32836		ServerResponse: googleapi.ServerResponse{
32837			Header:         res.Header,
32838			HTTPStatusCode: res.StatusCode,
32839		},
32840	}
32841	target := &ret
32842	if err := gensupport.DecodeResponse(target, res); err != nil {
32843		return nil, err
32844	}
32845	return ret, nil
32846	// {
32847	//   "description": "Updates the specified webhook.",
32848	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/webhooks/{webhooksId}",
32849	//   "httpMethod": "PATCH",
32850	//   "id": "dialogflow.projects.locations.agents.webhooks.patch",
32851	//   "parameterOrder": [
32852	//     "name"
32853	//   ],
32854	//   "parameters": {
32855	//     "name": {
32856	//       "description": "The unique identifier of the webhook. Required for the Webhooks.UpdateWebhook method. Webhooks.CreateWebhook populates the name automatically. Format: `projects//locations//agents//webhooks/`.",
32857	//       "location": "path",
32858	//       "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/webhooks/[^/]+$",
32859	//       "required": true,
32860	//       "type": "string"
32861	//     },
32862	//     "updateMask": {
32863	//       "description": "The mask to control which fields get updated. If the mask is not present, all fields will be updated.",
32864	//       "format": "google-fieldmask",
32865	//       "location": "query",
32866	//       "type": "string"
32867	//     }
32868	//   },
32869	//   "path": "v3/{+name}",
32870	//   "request": {
32871	//     "$ref": "GoogleCloudDialogflowCxV3Webhook"
32872	//   },
32873	//   "response": {
32874	//     "$ref": "GoogleCloudDialogflowCxV3Webhook"
32875	//   },
32876	//   "scopes": [
32877	//     "https://www.googleapis.com/auth/cloud-platform",
32878	//     "https://www.googleapis.com/auth/dialogflow"
32879	//   ]
32880	// }
32881
32882}
32883
32884// method id "dialogflow.projects.locations.operations.cancel":
32885
32886type ProjectsLocationsOperationsCancelCall struct {
32887	s          *Service
32888	name       string
32889	urlParams_ gensupport.URLParams
32890	ctx_       context.Context
32891	header_    http.Header
32892}
32893
32894// Cancel: Starts asynchronous cancellation on a long-running operation.
32895// The server makes a best effort to cancel the operation, but success
32896// is not guaranteed. If the server doesn't support this method, it
32897// returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use
32898// Operations.GetOperation or other methods to check whether the
32899// cancellation succeeded or whether the operation completed despite
32900// cancellation. On successful cancellation, the operation is not
32901// deleted; instead, it becomes an operation with an Operation.error
32902// value with a google.rpc.Status.code of 1, corresponding to
32903// `Code.CANCELLED`.
32904//
32905// - name: The name of the operation resource to be cancelled.
32906func (r *ProjectsLocationsOperationsService) Cancel(name string) *ProjectsLocationsOperationsCancelCall {
32907	c := &ProjectsLocationsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32908	c.name = name
32909	return c
32910}
32911
32912// Fields allows partial responses to be retrieved. See
32913// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32914// for more information.
32915func (c *ProjectsLocationsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsCancelCall {
32916	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32917	return c
32918}
32919
32920// Context sets the context to be used in this call's Do method. Any
32921// pending HTTP request will be aborted if the provided context is
32922// canceled.
32923func (c *ProjectsLocationsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsOperationsCancelCall {
32924	c.ctx_ = ctx
32925	return c
32926}
32927
32928// Header returns an http.Header that can be modified by the caller to
32929// add HTTP headers to the request.
32930func (c *ProjectsLocationsOperationsCancelCall) Header() http.Header {
32931	if c.header_ == nil {
32932		c.header_ = make(http.Header)
32933	}
32934	return c.header_
32935}
32936
32937func (c *ProjectsLocationsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
32938	reqHeaders := make(http.Header)
32939	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
32940	for k, v := range c.header_ {
32941		reqHeaders[k] = v
32942	}
32943	reqHeaders.Set("User-Agent", c.s.userAgent())
32944	var body io.Reader = nil
32945	c.urlParams_.Set("alt", alt)
32946	c.urlParams_.Set("prettyPrint", "false")
32947	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}:cancel")
32948	urls += "?" + c.urlParams_.Encode()
32949	req, err := http.NewRequest("POST", urls, body)
32950	if err != nil {
32951		return nil, err
32952	}
32953	req.Header = reqHeaders
32954	googleapi.Expand(req.URL, map[string]string{
32955		"name": c.name,
32956	})
32957	return gensupport.SendRequest(c.ctx_, c.s.client, req)
32958}
32959
32960// Do executes the "dialogflow.projects.locations.operations.cancel" call.
32961// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
32962// non-2xx status code is an error. Response headers are in either
32963// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
32964// returned at all) in error.(*googleapi.Error).Header. Use
32965// googleapi.IsNotModified to check whether the returned error was
32966// because http.StatusNotModified was returned.
32967func (c *ProjectsLocationsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
32968	gensupport.SetOptions(c.urlParams_, opts...)
32969	res, err := c.doRequest("json")
32970	if res != nil && res.StatusCode == http.StatusNotModified {
32971		if res.Body != nil {
32972			res.Body.Close()
32973		}
32974		return nil, &googleapi.Error{
32975			Code:   res.StatusCode,
32976			Header: res.Header,
32977		}
32978	}
32979	if err != nil {
32980		return nil, err
32981	}
32982	defer googleapi.CloseBody(res)
32983	if err := googleapi.CheckResponse(res); err != nil {
32984		return nil, err
32985	}
32986	ret := &GoogleProtobufEmpty{
32987		ServerResponse: googleapi.ServerResponse{
32988			Header:         res.Header,
32989			HTTPStatusCode: res.StatusCode,
32990		},
32991	}
32992	target := &ret
32993	if err := gensupport.DecodeResponse(target, res); err != nil {
32994		return nil, err
32995	}
32996	return ret, nil
32997	// {
32998	//   "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`.",
32999	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel",
33000	//   "httpMethod": "POST",
33001	//   "id": "dialogflow.projects.locations.operations.cancel",
33002	//   "parameterOrder": [
33003	//     "name"
33004	//   ],
33005	//   "parameters": {
33006	//     "name": {
33007	//       "description": "The name of the operation resource to be cancelled.",
33008	//       "location": "path",
33009	//       "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
33010	//       "required": true,
33011	//       "type": "string"
33012	//     }
33013	//   },
33014	//   "path": "v3/{+name}:cancel",
33015	//   "response": {
33016	//     "$ref": "GoogleProtobufEmpty"
33017	//   },
33018	//   "scopes": [
33019	//     "https://www.googleapis.com/auth/cloud-platform",
33020	//     "https://www.googleapis.com/auth/dialogflow"
33021	//   ]
33022	// }
33023
33024}
33025
33026// method id "dialogflow.projects.locations.operations.get":
33027
33028type ProjectsLocationsOperationsGetCall struct {
33029	s            *Service
33030	name         string
33031	urlParams_   gensupport.URLParams
33032	ifNoneMatch_ string
33033	ctx_         context.Context
33034	header_      http.Header
33035}
33036
33037// Get: Gets the latest state of a long-running operation. Clients can
33038// use this method to poll the operation result at intervals as
33039// recommended by the API service.
33040//
33041// - name: The name of the operation resource.
33042func (r *ProjectsLocationsOperationsService) Get(name string) *ProjectsLocationsOperationsGetCall {
33043	c := &ProjectsLocationsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
33044	c.name = name
33045	return c
33046}
33047
33048// Fields allows partial responses to be retrieved. See
33049// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
33050// for more information.
33051func (c *ProjectsLocationsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsGetCall {
33052	c.urlParams_.Set("fields", googleapi.CombineFields(s))
33053	return c
33054}
33055
33056// IfNoneMatch sets the optional parameter which makes the operation
33057// fail if the object's ETag matches the given value. This is useful for
33058// getting updates only after the object has changed since the last
33059// request. Use googleapi.IsNotModified to check whether the response
33060// error from Do is the result of In-None-Match.
33061func (c *ProjectsLocationsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsOperationsGetCall {
33062	c.ifNoneMatch_ = entityTag
33063	return c
33064}
33065
33066// Context sets the context to be used in this call's Do method. Any
33067// pending HTTP request will be aborted if the provided context is
33068// canceled.
33069func (c *ProjectsLocationsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsOperationsGetCall {
33070	c.ctx_ = ctx
33071	return c
33072}
33073
33074// Header returns an http.Header that can be modified by the caller to
33075// add HTTP headers to the request.
33076func (c *ProjectsLocationsOperationsGetCall) Header() http.Header {
33077	if c.header_ == nil {
33078		c.header_ = make(http.Header)
33079	}
33080	return c.header_
33081}
33082
33083func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
33084	reqHeaders := make(http.Header)
33085	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
33086	for k, v := range c.header_ {
33087		reqHeaders[k] = v
33088	}
33089	reqHeaders.Set("User-Agent", c.s.userAgent())
33090	if c.ifNoneMatch_ != "" {
33091		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
33092	}
33093	var body io.Reader = nil
33094	c.urlParams_.Set("alt", alt)
33095	c.urlParams_.Set("prettyPrint", "false")
33096	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
33097	urls += "?" + c.urlParams_.Encode()
33098	req, err := http.NewRequest("GET", urls, body)
33099	if err != nil {
33100		return nil, err
33101	}
33102	req.Header = reqHeaders
33103	googleapi.Expand(req.URL, map[string]string{
33104		"name": c.name,
33105	})
33106	return gensupport.SendRequest(c.ctx_, c.s.client, req)
33107}
33108
33109// Do executes the "dialogflow.projects.locations.operations.get" call.
33110// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
33111// Any non-2xx status code is an error. Response headers are in either
33112// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
33113// was returned at all) in error.(*googleapi.Error).Header. Use
33114// googleapi.IsNotModified to check whether the returned error was
33115// because http.StatusNotModified was returned.
33116func (c *ProjectsLocationsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
33117	gensupport.SetOptions(c.urlParams_, opts...)
33118	res, err := c.doRequest("json")
33119	if res != nil && res.StatusCode == http.StatusNotModified {
33120		if res.Body != nil {
33121			res.Body.Close()
33122		}
33123		return nil, &googleapi.Error{
33124			Code:   res.StatusCode,
33125			Header: res.Header,
33126		}
33127	}
33128	if err != nil {
33129		return nil, err
33130	}
33131	defer googleapi.CloseBody(res)
33132	if err := googleapi.CheckResponse(res); err != nil {
33133		return nil, err
33134	}
33135	ret := &GoogleLongrunningOperation{
33136		ServerResponse: googleapi.ServerResponse{
33137			Header:         res.Header,
33138			HTTPStatusCode: res.StatusCode,
33139		},
33140	}
33141	target := &ret
33142	if err := gensupport.DecodeResponse(target, res); err != nil {
33143		return nil, err
33144	}
33145	return ret, nil
33146	// {
33147	//   "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.",
33148	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}",
33149	//   "httpMethod": "GET",
33150	//   "id": "dialogflow.projects.locations.operations.get",
33151	//   "parameterOrder": [
33152	//     "name"
33153	//   ],
33154	//   "parameters": {
33155	//     "name": {
33156	//       "description": "The name of the operation resource.",
33157	//       "location": "path",
33158	//       "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
33159	//       "required": true,
33160	//       "type": "string"
33161	//     }
33162	//   },
33163	//   "path": "v3/{+name}",
33164	//   "response": {
33165	//     "$ref": "GoogleLongrunningOperation"
33166	//   },
33167	//   "scopes": [
33168	//     "https://www.googleapis.com/auth/cloud-platform",
33169	//     "https://www.googleapis.com/auth/dialogflow"
33170	//   ]
33171	// }
33172
33173}
33174
33175// method id "dialogflow.projects.locations.operations.list":
33176
33177type ProjectsLocationsOperationsListCall struct {
33178	s            *Service
33179	name         string
33180	urlParams_   gensupport.URLParams
33181	ifNoneMatch_ string
33182	ctx_         context.Context
33183	header_      http.Header
33184}
33185
33186// List: Lists operations that match the specified filter in the
33187// request. If the server doesn't support this method, it returns
33188// `UNIMPLEMENTED`. NOTE: the `name` binding allows API services to
33189// override the binding to use different resource name schemes, such as
33190// `users/*/operations`. To override the binding, API services can add a
33191// binding such as "/v1/{name=users/*}/operations" to their service
33192// configuration. For backwards compatibility, the default name includes
33193// the operations collection id, however overriding users must ensure
33194// the name binding is the parent resource, without the operations
33195// collection id.
33196//
33197// - name: The name of the operation's parent resource.
33198func (r *ProjectsLocationsOperationsService) List(name string) *ProjectsLocationsOperationsListCall {
33199	c := &ProjectsLocationsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
33200	c.name = name
33201	return c
33202}
33203
33204// Filter sets the optional parameter "filter": The standard list
33205// filter.
33206func (c *ProjectsLocationsOperationsListCall) Filter(filter string) *ProjectsLocationsOperationsListCall {
33207	c.urlParams_.Set("filter", filter)
33208	return c
33209}
33210
33211// PageSize sets the optional parameter "pageSize": The standard list
33212// page size.
33213func (c *ProjectsLocationsOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsOperationsListCall {
33214	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
33215	return c
33216}
33217
33218// PageToken sets the optional parameter "pageToken": The standard list
33219// page token.
33220func (c *ProjectsLocationsOperationsListCall) PageToken(pageToken string) *ProjectsLocationsOperationsListCall {
33221	c.urlParams_.Set("pageToken", pageToken)
33222	return c
33223}
33224
33225// Fields allows partial responses to be retrieved. See
33226// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
33227// for more information.
33228func (c *ProjectsLocationsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsListCall {
33229	c.urlParams_.Set("fields", googleapi.CombineFields(s))
33230	return c
33231}
33232
33233// IfNoneMatch sets the optional parameter which makes the operation
33234// fail if the object's ETag matches the given value. This is useful for
33235// getting updates only after the object has changed since the last
33236// request. Use googleapi.IsNotModified to check whether the response
33237// error from Do is the result of In-None-Match.
33238func (c *ProjectsLocationsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsOperationsListCall {
33239	c.ifNoneMatch_ = entityTag
33240	return c
33241}
33242
33243// Context sets the context to be used in this call's Do method. Any
33244// pending HTTP request will be aborted if the provided context is
33245// canceled.
33246func (c *ProjectsLocationsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsOperationsListCall {
33247	c.ctx_ = ctx
33248	return c
33249}
33250
33251// Header returns an http.Header that can be modified by the caller to
33252// add HTTP headers to the request.
33253func (c *ProjectsLocationsOperationsListCall) Header() http.Header {
33254	if c.header_ == nil {
33255		c.header_ = make(http.Header)
33256	}
33257	return c.header_
33258}
33259
33260func (c *ProjectsLocationsOperationsListCall) doRequest(alt string) (*http.Response, error) {
33261	reqHeaders := make(http.Header)
33262	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
33263	for k, v := range c.header_ {
33264		reqHeaders[k] = v
33265	}
33266	reqHeaders.Set("User-Agent", c.s.userAgent())
33267	if c.ifNoneMatch_ != "" {
33268		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
33269	}
33270	var body io.Reader = nil
33271	c.urlParams_.Set("alt", alt)
33272	c.urlParams_.Set("prettyPrint", "false")
33273	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}/operations")
33274	urls += "?" + c.urlParams_.Encode()
33275	req, err := http.NewRequest("GET", urls, body)
33276	if err != nil {
33277		return nil, err
33278	}
33279	req.Header = reqHeaders
33280	googleapi.Expand(req.URL, map[string]string{
33281		"name": c.name,
33282	})
33283	return gensupport.SendRequest(c.ctx_, c.s.client, req)
33284}
33285
33286// Do executes the "dialogflow.projects.locations.operations.list" call.
33287// Exactly one of *GoogleLongrunningListOperationsResponse or error will
33288// be non-nil. Any non-2xx status code is an error. Response headers are
33289// in either
33290// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if
33291// a response was returned at all) in error.(*googleapi.Error).Header.
33292// Use googleapi.IsNotModified to check whether the returned error was
33293// because http.StatusNotModified was returned.
33294func (c *ProjectsLocationsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
33295	gensupport.SetOptions(c.urlParams_, opts...)
33296	res, err := c.doRequest("json")
33297	if res != nil && res.StatusCode == http.StatusNotModified {
33298		if res.Body != nil {
33299			res.Body.Close()
33300		}
33301		return nil, &googleapi.Error{
33302			Code:   res.StatusCode,
33303			Header: res.Header,
33304		}
33305	}
33306	if err != nil {
33307		return nil, err
33308	}
33309	defer googleapi.CloseBody(res)
33310	if err := googleapi.CheckResponse(res); err != nil {
33311		return nil, err
33312	}
33313	ret := &GoogleLongrunningListOperationsResponse{
33314		ServerResponse: googleapi.ServerResponse{
33315			Header:         res.Header,
33316			HTTPStatusCode: res.StatusCode,
33317		},
33318	}
33319	target := &ret
33320	if err := gensupport.DecodeResponse(target, res); err != nil {
33321		return nil, err
33322	}
33323	return ret, nil
33324	// {
33325	//   "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.",
33326	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/operations",
33327	//   "httpMethod": "GET",
33328	//   "id": "dialogflow.projects.locations.operations.list",
33329	//   "parameterOrder": [
33330	//     "name"
33331	//   ],
33332	//   "parameters": {
33333	//     "filter": {
33334	//       "description": "The standard list filter.",
33335	//       "location": "query",
33336	//       "type": "string"
33337	//     },
33338	//     "name": {
33339	//       "description": "The name of the operation's parent resource.",
33340	//       "location": "path",
33341	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
33342	//       "required": true,
33343	//       "type": "string"
33344	//     },
33345	//     "pageSize": {
33346	//       "description": "The standard list page size.",
33347	//       "format": "int32",
33348	//       "location": "query",
33349	//       "type": "integer"
33350	//     },
33351	//     "pageToken": {
33352	//       "description": "The standard list page token.",
33353	//       "location": "query",
33354	//       "type": "string"
33355	//     }
33356	//   },
33357	//   "path": "v3/{+name}/operations",
33358	//   "response": {
33359	//     "$ref": "GoogleLongrunningListOperationsResponse"
33360	//   },
33361	//   "scopes": [
33362	//     "https://www.googleapis.com/auth/cloud-platform",
33363	//     "https://www.googleapis.com/auth/dialogflow"
33364	//   ]
33365	// }
33366
33367}
33368
33369// Pages invokes f for each page of results.
33370// A non-nil error returned from f will halt the iteration.
33371// The provided context supersedes any context provided to the Context method.
33372func (c *ProjectsLocationsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
33373	c.ctx_ = ctx
33374	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
33375	for {
33376		x, err := c.Do()
33377		if err != nil {
33378			return err
33379		}
33380		if err := f(x); err != nil {
33381			return err
33382		}
33383		if x.NextPageToken == "" {
33384			return nil
33385		}
33386		c.PageToken(x.NextPageToken)
33387	}
33388}
33389
33390// method id "dialogflow.projects.locations.securitySettings.create":
33391
33392type ProjectsLocationsSecuritySettingsCreateCall struct {
33393	s                                         *Service
33394	parent                                    string
33395	googleclouddialogflowcxv3securitysettings *GoogleCloudDialogflowCxV3SecuritySettings
33396	urlParams_                                gensupport.URLParams
33397	ctx_                                      context.Context
33398	header_                                   http.Header
33399}
33400
33401// Create: Create security settings in the specified location.
33402//
33403// - parent: The location to create an SecuritySettings for. Format:
33404//   `projects//locations/`.
33405func (r *ProjectsLocationsSecuritySettingsService) Create(parent string, googleclouddialogflowcxv3securitysettings *GoogleCloudDialogflowCxV3SecuritySettings) *ProjectsLocationsSecuritySettingsCreateCall {
33406	c := &ProjectsLocationsSecuritySettingsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
33407	c.parent = parent
33408	c.googleclouddialogflowcxv3securitysettings = googleclouddialogflowcxv3securitysettings
33409	return c
33410}
33411
33412// Fields allows partial responses to be retrieved. See
33413// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
33414// for more information.
33415func (c *ProjectsLocationsSecuritySettingsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsSecuritySettingsCreateCall {
33416	c.urlParams_.Set("fields", googleapi.CombineFields(s))
33417	return c
33418}
33419
33420// Context sets the context to be used in this call's Do method. Any
33421// pending HTTP request will be aborted if the provided context is
33422// canceled.
33423func (c *ProjectsLocationsSecuritySettingsCreateCall) Context(ctx context.Context) *ProjectsLocationsSecuritySettingsCreateCall {
33424	c.ctx_ = ctx
33425	return c
33426}
33427
33428// Header returns an http.Header that can be modified by the caller to
33429// add HTTP headers to the request.
33430func (c *ProjectsLocationsSecuritySettingsCreateCall) Header() http.Header {
33431	if c.header_ == nil {
33432		c.header_ = make(http.Header)
33433	}
33434	return c.header_
33435}
33436
33437func (c *ProjectsLocationsSecuritySettingsCreateCall) doRequest(alt string) (*http.Response, error) {
33438	reqHeaders := make(http.Header)
33439	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
33440	for k, v := range c.header_ {
33441		reqHeaders[k] = v
33442	}
33443	reqHeaders.Set("User-Agent", c.s.userAgent())
33444	var body io.Reader = nil
33445	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3securitysettings)
33446	if err != nil {
33447		return nil, err
33448	}
33449	reqHeaders.Set("Content-Type", "application/json")
33450	c.urlParams_.Set("alt", alt)
33451	c.urlParams_.Set("prettyPrint", "false")
33452	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/securitySettings")
33453	urls += "?" + c.urlParams_.Encode()
33454	req, err := http.NewRequest("POST", urls, body)
33455	if err != nil {
33456		return nil, err
33457	}
33458	req.Header = reqHeaders
33459	googleapi.Expand(req.URL, map[string]string{
33460		"parent": c.parent,
33461	})
33462	return gensupport.SendRequest(c.ctx_, c.s.client, req)
33463}
33464
33465// Do executes the "dialogflow.projects.locations.securitySettings.create" call.
33466// Exactly one of *GoogleCloudDialogflowCxV3SecuritySettings or error
33467// will be non-nil. Any non-2xx status code is an error. Response
33468// headers are in either
33469// *GoogleCloudDialogflowCxV3SecuritySettings.ServerResponse.Header or
33470// (if a response was returned at all) in
33471// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
33472// whether the returned error was because http.StatusNotModified was
33473// returned.
33474func (c *ProjectsLocationsSecuritySettingsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3SecuritySettings, error) {
33475	gensupport.SetOptions(c.urlParams_, opts...)
33476	res, err := c.doRequest("json")
33477	if res != nil && res.StatusCode == http.StatusNotModified {
33478		if res.Body != nil {
33479			res.Body.Close()
33480		}
33481		return nil, &googleapi.Error{
33482			Code:   res.StatusCode,
33483			Header: res.Header,
33484		}
33485	}
33486	if err != nil {
33487		return nil, err
33488	}
33489	defer googleapi.CloseBody(res)
33490	if err := googleapi.CheckResponse(res); err != nil {
33491		return nil, err
33492	}
33493	ret := &GoogleCloudDialogflowCxV3SecuritySettings{
33494		ServerResponse: googleapi.ServerResponse{
33495			Header:         res.Header,
33496			HTTPStatusCode: res.StatusCode,
33497		},
33498	}
33499	target := &ret
33500	if err := gensupport.DecodeResponse(target, res); err != nil {
33501		return nil, err
33502	}
33503	return ret, nil
33504	// {
33505	//   "description": "Create security settings in the specified location.",
33506	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/securitySettings",
33507	//   "httpMethod": "POST",
33508	//   "id": "dialogflow.projects.locations.securitySettings.create",
33509	//   "parameterOrder": [
33510	//     "parent"
33511	//   ],
33512	//   "parameters": {
33513	//     "parent": {
33514	//       "description": "Required. The location to create an SecuritySettings for. Format: `projects//locations/`.",
33515	//       "location": "path",
33516	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
33517	//       "required": true,
33518	//       "type": "string"
33519	//     }
33520	//   },
33521	//   "path": "v3/{+parent}/securitySettings",
33522	//   "request": {
33523	//     "$ref": "GoogleCloudDialogflowCxV3SecuritySettings"
33524	//   },
33525	//   "response": {
33526	//     "$ref": "GoogleCloudDialogflowCxV3SecuritySettings"
33527	//   },
33528	//   "scopes": [
33529	//     "https://www.googleapis.com/auth/cloud-platform",
33530	//     "https://www.googleapis.com/auth/dialogflow"
33531	//   ]
33532	// }
33533
33534}
33535
33536// method id "dialogflow.projects.locations.securitySettings.delete":
33537
33538type ProjectsLocationsSecuritySettingsDeleteCall struct {
33539	s          *Service
33540	name       string
33541	urlParams_ gensupport.URLParams
33542	ctx_       context.Context
33543	header_    http.Header
33544}
33545
33546// Delete: Deletes the specified SecuritySettings.
33547//
33548// - name: The name of the SecuritySettings to delete. Format:
33549//   `projects//locations//securitySettings/`.
33550func (r *ProjectsLocationsSecuritySettingsService) Delete(name string) *ProjectsLocationsSecuritySettingsDeleteCall {
33551	c := &ProjectsLocationsSecuritySettingsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
33552	c.name = name
33553	return c
33554}
33555
33556// Fields allows partial responses to be retrieved. See
33557// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
33558// for more information.
33559func (c *ProjectsLocationsSecuritySettingsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsSecuritySettingsDeleteCall {
33560	c.urlParams_.Set("fields", googleapi.CombineFields(s))
33561	return c
33562}
33563
33564// Context sets the context to be used in this call's Do method. Any
33565// pending HTTP request will be aborted if the provided context is
33566// canceled.
33567func (c *ProjectsLocationsSecuritySettingsDeleteCall) Context(ctx context.Context) *ProjectsLocationsSecuritySettingsDeleteCall {
33568	c.ctx_ = ctx
33569	return c
33570}
33571
33572// Header returns an http.Header that can be modified by the caller to
33573// add HTTP headers to the request.
33574func (c *ProjectsLocationsSecuritySettingsDeleteCall) Header() http.Header {
33575	if c.header_ == nil {
33576		c.header_ = make(http.Header)
33577	}
33578	return c.header_
33579}
33580
33581func (c *ProjectsLocationsSecuritySettingsDeleteCall) doRequest(alt string) (*http.Response, error) {
33582	reqHeaders := make(http.Header)
33583	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
33584	for k, v := range c.header_ {
33585		reqHeaders[k] = v
33586	}
33587	reqHeaders.Set("User-Agent", c.s.userAgent())
33588	var body io.Reader = nil
33589	c.urlParams_.Set("alt", alt)
33590	c.urlParams_.Set("prettyPrint", "false")
33591	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
33592	urls += "?" + c.urlParams_.Encode()
33593	req, err := http.NewRequest("DELETE", urls, body)
33594	if err != nil {
33595		return nil, err
33596	}
33597	req.Header = reqHeaders
33598	googleapi.Expand(req.URL, map[string]string{
33599		"name": c.name,
33600	})
33601	return gensupport.SendRequest(c.ctx_, c.s.client, req)
33602}
33603
33604// Do executes the "dialogflow.projects.locations.securitySettings.delete" call.
33605// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
33606// non-2xx status code is an error. Response headers are in either
33607// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
33608// returned at all) in error.(*googleapi.Error).Header. Use
33609// googleapi.IsNotModified to check whether the returned error was
33610// because http.StatusNotModified was returned.
33611func (c *ProjectsLocationsSecuritySettingsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
33612	gensupport.SetOptions(c.urlParams_, opts...)
33613	res, err := c.doRequest("json")
33614	if res != nil && res.StatusCode == http.StatusNotModified {
33615		if res.Body != nil {
33616			res.Body.Close()
33617		}
33618		return nil, &googleapi.Error{
33619			Code:   res.StatusCode,
33620			Header: res.Header,
33621		}
33622	}
33623	if err != nil {
33624		return nil, err
33625	}
33626	defer googleapi.CloseBody(res)
33627	if err := googleapi.CheckResponse(res); err != nil {
33628		return nil, err
33629	}
33630	ret := &GoogleProtobufEmpty{
33631		ServerResponse: googleapi.ServerResponse{
33632			Header:         res.Header,
33633			HTTPStatusCode: res.StatusCode,
33634		},
33635	}
33636	target := &ret
33637	if err := gensupport.DecodeResponse(target, res); err != nil {
33638		return nil, err
33639	}
33640	return ret, nil
33641	// {
33642	//   "description": "Deletes the specified SecuritySettings.",
33643	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/securitySettings/{securitySettingsId}",
33644	//   "httpMethod": "DELETE",
33645	//   "id": "dialogflow.projects.locations.securitySettings.delete",
33646	//   "parameterOrder": [
33647	//     "name"
33648	//   ],
33649	//   "parameters": {
33650	//     "name": {
33651	//       "description": "Required. The name of the SecuritySettings to delete. Format: `projects//locations//securitySettings/`.",
33652	//       "location": "path",
33653	//       "pattern": "^projects/[^/]+/locations/[^/]+/securitySettings/[^/]+$",
33654	//       "required": true,
33655	//       "type": "string"
33656	//     }
33657	//   },
33658	//   "path": "v3/{+name}",
33659	//   "response": {
33660	//     "$ref": "GoogleProtobufEmpty"
33661	//   },
33662	//   "scopes": [
33663	//     "https://www.googleapis.com/auth/cloud-platform",
33664	//     "https://www.googleapis.com/auth/dialogflow"
33665	//   ]
33666	// }
33667
33668}
33669
33670// method id "dialogflow.projects.locations.securitySettings.get":
33671
33672type ProjectsLocationsSecuritySettingsGetCall struct {
33673	s            *Service
33674	name         string
33675	urlParams_   gensupport.URLParams
33676	ifNoneMatch_ string
33677	ctx_         context.Context
33678	header_      http.Header
33679}
33680
33681// Get: Retrieves the specified SecuritySettings. The returned settings
33682// may be stale by up to 1 minute.
33683//
33684// - name: Resource name of the settings. Format:
33685//   `projects//locations//securitySettings/`.
33686func (r *ProjectsLocationsSecuritySettingsService) Get(name string) *ProjectsLocationsSecuritySettingsGetCall {
33687	c := &ProjectsLocationsSecuritySettingsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
33688	c.name = name
33689	return c
33690}
33691
33692// Fields allows partial responses to be retrieved. See
33693// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
33694// for more information.
33695func (c *ProjectsLocationsSecuritySettingsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsSecuritySettingsGetCall {
33696	c.urlParams_.Set("fields", googleapi.CombineFields(s))
33697	return c
33698}
33699
33700// IfNoneMatch sets the optional parameter which makes the operation
33701// fail if the object's ETag matches the given value. This is useful for
33702// getting updates only after the object has changed since the last
33703// request. Use googleapi.IsNotModified to check whether the response
33704// error from Do is the result of In-None-Match.
33705func (c *ProjectsLocationsSecuritySettingsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsSecuritySettingsGetCall {
33706	c.ifNoneMatch_ = entityTag
33707	return c
33708}
33709
33710// Context sets the context to be used in this call's Do method. Any
33711// pending HTTP request will be aborted if the provided context is
33712// canceled.
33713func (c *ProjectsLocationsSecuritySettingsGetCall) Context(ctx context.Context) *ProjectsLocationsSecuritySettingsGetCall {
33714	c.ctx_ = ctx
33715	return c
33716}
33717
33718// Header returns an http.Header that can be modified by the caller to
33719// add HTTP headers to the request.
33720func (c *ProjectsLocationsSecuritySettingsGetCall) Header() http.Header {
33721	if c.header_ == nil {
33722		c.header_ = make(http.Header)
33723	}
33724	return c.header_
33725}
33726
33727func (c *ProjectsLocationsSecuritySettingsGetCall) doRequest(alt string) (*http.Response, error) {
33728	reqHeaders := make(http.Header)
33729	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
33730	for k, v := range c.header_ {
33731		reqHeaders[k] = v
33732	}
33733	reqHeaders.Set("User-Agent", c.s.userAgent())
33734	if c.ifNoneMatch_ != "" {
33735		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
33736	}
33737	var body io.Reader = nil
33738	c.urlParams_.Set("alt", alt)
33739	c.urlParams_.Set("prettyPrint", "false")
33740	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
33741	urls += "?" + c.urlParams_.Encode()
33742	req, err := http.NewRequest("GET", urls, body)
33743	if err != nil {
33744		return nil, err
33745	}
33746	req.Header = reqHeaders
33747	googleapi.Expand(req.URL, map[string]string{
33748		"name": c.name,
33749	})
33750	return gensupport.SendRequest(c.ctx_, c.s.client, req)
33751}
33752
33753// Do executes the "dialogflow.projects.locations.securitySettings.get" call.
33754// Exactly one of *GoogleCloudDialogflowCxV3SecuritySettings or error
33755// will be non-nil. Any non-2xx status code is an error. Response
33756// headers are in either
33757// *GoogleCloudDialogflowCxV3SecuritySettings.ServerResponse.Header or
33758// (if a response was returned at all) in
33759// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
33760// whether the returned error was because http.StatusNotModified was
33761// returned.
33762func (c *ProjectsLocationsSecuritySettingsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3SecuritySettings, error) {
33763	gensupport.SetOptions(c.urlParams_, opts...)
33764	res, err := c.doRequest("json")
33765	if res != nil && res.StatusCode == http.StatusNotModified {
33766		if res.Body != nil {
33767			res.Body.Close()
33768		}
33769		return nil, &googleapi.Error{
33770			Code:   res.StatusCode,
33771			Header: res.Header,
33772		}
33773	}
33774	if err != nil {
33775		return nil, err
33776	}
33777	defer googleapi.CloseBody(res)
33778	if err := googleapi.CheckResponse(res); err != nil {
33779		return nil, err
33780	}
33781	ret := &GoogleCloudDialogflowCxV3SecuritySettings{
33782		ServerResponse: googleapi.ServerResponse{
33783			Header:         res.Header,
33784			HTTPStatusCode: res.StatusCode,
33785		},
33786	}
33787	target := &ret
33788	if err := gensupport.DecodeResponse(target, res); err != nil {
33789		return nil, err
33790	}
33791	return ret, nil
33792	// {
33793	//   "description": "Retrieves the specified SecuritySettings. The returned settings may be stale by up to 1 minute.",
33794	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/securitySettings/{securitySettingsId}",
33795	//   "httpMethod": "GET",
33796	//   "id": "dialogflow.projects.locations.securitySettings.get",
33797	//   "parameterOrder": [
33798	//     "name"
33799	//   ],
33800	//   "parameters": {
33801	//     "name": {
33802	//       "description": "Required. Resource name of the settings. Format: `projects//locations//securitySettings/`.",
33803	//       "location": "path",
33804	//       "pattern": "^projects/[^/]+/locations/[^/]+/securitySettings/[^/]+$",
33805	//       "required": true,
33806	//       "type": "string"
33807	//     }
33808	//   },
33809	//   "path": "v3/{+name}",
33810	//   "response": {
33811	//     "$ref": "GoogleCloudDialogflowCxV3SecuritySettings"
33812	//   },
33813	//   "scopes": [
33814	//     "https://www.googleapis.com/auth/cloud-platform",
33815	//     "https://www.googleapis.com/auth/dialogflow"
33816	//   ]
33817	// }
33818
33819}
33820
33821// method id "dialogflow.projects.locations.securitySettings.list":
33822
33823type ProjectsLocationsSecuritySettingsListCall struct {
33824	s            *Service
33825	parent       string
33826	urlParams_   gensupport.URLParams
33827	ifNoneMatch_ string
33828	ctx_         context.Context
33829	header_      http.Header
33830}
33831
33832// List: Returns the list of all security settings in the specified
33833// location.
33834//
33835// - parent: The location to list all security settings for. Format:
33836//   `projects//locations/`.
33837func (r *ProjectsLocationsSecuritySettingsService) List(parent string) *ProjectsLocationsSecuritySettingsListCall {
33838	c := &ProjectsLocationsSecuritySettingsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
33839	c.parent = parent
33840	return c
33841}
33842
33843// PageSize sets the optional parameter "pageSize": The maximum number
33844// of items to return in a single page. By default 20 and at most 100.
33845func (c *ProjectsLocationsSecuritySettingsListCall) PageSize(pageSize int64) *ProjectsLocationsSecuritySettingsListCall {
33846	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
33847	return c
33848}
33849
33850// PageToken sets the optional parameter "pageToken": The
33851// next_page_token value returned from a previous list request.
33852func (c *ProjectsLocationsSecuritySettingsListCall) PageToken(pageToken string) *ProjectsLocationsSecuritySettingsListCall {
33853	c.urlParams_.Set("pageToken", pageToken)
33854	return c
33855}
33856
33857// Fields allows partial responses to be retrieved. See
33858// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
33859// for more information.
33860func (c *ProjectsLocationsSecuritySettingsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsSecuritySettingsListCall {
33861	c.urlParams_.Set("fields", googleapi.CombineFields(s))
33862	return c
33863}
33864
33865// IfNoneMatch sets the optional parameter which makes the operation
33866// fail if the object's ETag matches the given value. This is useful for
33867// getting updates only after the object has changed since the last
33868// request. Use googleapi.IsNotModified to check whether the response
33869// error from Do is the result of In-None-Match.
33870func (c *ProjectsLocationsSecuritySettingsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsSecuritySettingsListCall {
33871	c.ifNoneMatch_ = entityTag
33872	return c
33873}
33874
33875// Context sets the context to be used in this call's Do method. Any
33876// pending HTTP request will be aborted if the provided context is
33877// canceled.
33878func (c *ProjectsLocationsSecuritySettingsListCall) Context(ctx context.Context) *ProjectsLocationsSecuritySettingsListCall {
33879	c.ctx_ = ctx
33880	return c
33881}
33882
33883// Header returns an http.Header that can be modified by the caller to
33884// add HTTP headers to the request.
33885func (c *ProjectsLocationsSecuritySettingsListCall) Header() http.Header {
33886	if c.header_ == nil {
33887		c.header_ = make(http.Header)
33888	}
33889	return c.header_
33890}
33891
33892func (c *ProjectsLocationsSecuritySettingsListCall) doRequest(alt string) (*http.Response, error) {
33893	reqHeaders := make(http.Header)
33894	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
33895	for k, v := range c.header_ {
33896		reqHeaders[k] = v
33897	}
33898	reqHeaders.Set("User-Agent", c.s.userAgent())
33899	if c.ifNoneMatch_ != "" {
33900		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
33901	}
33902	var body io.Reader = nil
33903	c.urlParams_.Set("alt", alt)
33904	c.urlParams_.Set("prettyPrint", "false")
33905	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/securitySettings")
33906	urls += "?" + c.urlParams_.Encode()
33907	req, err := http.NewRequest("GET", urls, body)
33908	if err != nil {
33909		return nil, err
33910	}
33911	req.Header = reqHeaders
33912	googleapi.Expand(req.URL, map[string]string{
33913		"parent": c.parent,
33914	})
33915	return gensupport.SendRequest(c.ctx_, c.s.client, req)
33916}
33917
33918// Do executes the "dialogflow.projects.locations.securitySettings.list" call.
33919// Exactly one of *GoogleCloudDialogflowCxV3ListSecuritySettingsResponse
33920// or error will be non-nil. Any non-2xx status code is an error.
33921// Response headers are in either
33922// *GoogleCloudDialogflowCxV3ListSecuritySettingsResponse.ServerResponse.
33923// Header or (if a response was returned at all) in
33924// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
33925// whether the returned error was because http.StatusNotModified was
33926// returned.
33927func (c *ProjectsLocationsSecuritySettingsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3ListSecuritySettingsResponse, error) {
33928	gensupport.SetOptions(c.urlParams_, opts...)
33929	res, err := c.doRequest("json")
33930	if res != nil && res.StatusCode == http.StatusNotModified {
33931		if res.Body != nil {
33932			res.Body.Close()
33933		}
33934		return nil, &googleapi.Error{
33935			Code:   res.StatusCode,
33936			Header: res.Header,
33937		}
33938	}
33939	if err != nil {
33940		return nil, err
33941	}
33942	defer googleapi.CloseBody(res)
33943	if err := googleapi.CheckResponse(res); err != nil {
33944		return nil, err
33945	}
33946	ret := &GoogleCloudDialogflowCxV3ListSecuritySettingsResponse{
33947		ServerResponse: googleapi.ServerResponse{
33948			Header:         res.Header,
33949			HTTPStatusCode: res.StatusCode,
33950		},
33951	}
33952	target := &ret
33953	if err := gensupport.DecodeResponse(target, res); err != nil {
33954		return nil, err
33955	}
33956	return ret, nil
33957	// {
33958	//   "description": "Returns the list of all security settings in the specified location.",
33959	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/securitySettings",
33960	//   "httpMethod": "GET",
33961	//   "id": "dialogflow.projects.locations.securitySettings.list",
33962	//   "parameterOrder": [
33963	//     "parent"
33964	//   ],
33965	//   "parameters": {
33966	//     "pageSize": {
33967	//       "description": "The maximum number of items to return in a single page. By default 20 and at most 100.",
33968	//       "format": "int32",
33969	//       "location": "query",
33970	//       "type": "integer"
33971	//     },
33972	//     "pageToken": {
33973	//       "description": "The next_page_token value returned from a previous list request.",
33974	//       "location": "query",
33975	//       "type": "string"
33976	//     },
33977	//     "parent": {
33978	//       "description": "Required. The location to list all security settings for. Format: `projects//locations/`.",
33979	//       "location": "path",
33980	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
33981	//       "required": true,
33982	//       "type": "string"
33983	//     }
33984	//   },
33985	//   "path": "v3/{+parent}/securitySettings",
33986	//   "response": {
33987	//     "$ref": "GoogleCloudDialogflowCxV3ListSecuritySettingsResponse"
33988	//   },
33989	//   "scopes": [
33990	//     "https://www.googleapis.com/auth/cloud-platform",
33991	//     "https://www.googleapis.com/auth/dialogflow"
33992	//   ]
33993	// }
33994
33995}
33996
33997// Pages invokes f for each page of results.
33998// A non-nil error returned from f will halt the iteration.
33999// The provided context supersedes any context provided to the Context method.
34000func (c *ProjectsLocationsSecuritySettingsListCall) Pages(ctx context.Context, f func(*GoogleCloudDialogflowCxV3ListSecuritySettingsResponse) error) error {
34001	c.ctx_ = ctx
34002	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
34003	for {
34004		x, err := c.Do()
34005		if err != nil {
34006			return err
34007		}
34008		if err := f(x); err != nil {
34009			return err
34010		}
34011		if x.NextPageToken == "" {
34012			return nil
34013		}
34014		c.PageToken(x.NextPageToken)
34015	}
34016}
34017
34018// method id "dialogflow.projects.locations.securitySettings.patch":
34019
34020type ProjectsLocationsSecuritySettingsPatchCall struct {
34021	s                                         *Service
34022	name                                      string
34023	googleclouddialogflowcxv3securitysettings *GoogleCloudDialogflowCxV3SecuritySettings
34024	urlParams_                                gensupport.URLParams
34025	ctx_                                      context.Context
34026	header_                                   http.Header
34027}
34028
34029// Patch: Updates the specified SecuritySettings.
34030//
34031// - name: Resource name of the settings. Format:
34032//   `projects//locations//securitySettings/`.
34033func (r *ProjectsLocationsSecuritySettingsService) Patch(name string, googleclouddialogflowcxv3securitysettings *GoogleCloudDialogflowCxV3SecuritySettings) *ProjectsLocationsSecuritySettingsPatchCall {
34034	c := &ProjectsLocationsSecuritySettingsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
34035	c.name = name
34036	c.googleclouddialogflowcxv3securitysettings = googleclouddialogflowcxv3securitysettings
34037	return c
34038}
34039
34040// UpdateMask sets the optional parameter "updateMask": Required. The
34041// mask to control which fields get updated. If the mask is not present,
34042// all fields will be updated.
34043func (c *ProjectsLocationsSecuritySettingsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsSecuritySettingsPatchCall {
34044	c.urlParams_.Set("updateMask", updateMask)
34045	return c
34046}
34047
34048// Fields allows partial responses to be retrieved. See
34049// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
34050// for more information.
34051func (c *ProjectsLocationsSecuritySettingsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsSecuritySettingsPatchCall {
34052	c.urlParams_.Set("fields", googleapi.CombineFields(s))
34053	return c
34054}
34055
34056// Context sets the context to be used in this call's Do method. Any
34057// pending HTTP request will be aborted if the provided context is
34058// canceled.
34059func (c *ProjectsLocationsSecuritySettingsPatchCall) Context(ctx context.Context) *ProjectsLocationsSecuritySettingsPatchCall {
34060	c.ctx_ = ctx
34061	return c
34062}
34063
34064// Header returns an http.Header that can be modified by the caller to
34065// add HTTP headers to the request.
34066func (c *ProjectsLocationsSecuritySettingsPatchCall) Header() http.Header {
34067	if c.header_ == nil {
34068		c.header_ = make(http.Header)
34069	}
34070	return c.header_
34071}
34072
34073func (c *ProjectsLocationsSecuritySettingsPatchCall) doRequest(alt string) (*http.Response, error) {
34074	reqHeaders := make(http.Header)
34075	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
34076	for k, v := range c.header_ {
34077		reqHeaders[k] = v
34078	}
34079	reqHeaders.Set("User-Agent", c.s.userAgent())
34080	var body io.Reader = nil
34081	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddialogflowcxv3securitysettings)
34082	if err != nil {
34083		return nil, err
34084	}
34085	reqHeaders.Set("Content-Type", "application/json")
34086	c.urlParams_.Set("alt", alt)
34087	c.urlParams_.Set("prettyPrint", "false")
34088	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
34089	urls += "?" + c.urlParams_.Encode()
34090	req, err := http.NewRequest("PATCH", urls, body)
34091	if err != nil {
34092		return nil, err
34093	}
34094	req.Header = reqHeaders
34095	googleapi.Expand(req.URL, map[string]string{
34096		"name": c.name,
34097	})
34098	return gensupport.SendRequest(c.ctx_, c.s.client, req)
34099}
34100
34101// Do executes the "dialogflow.projects.locations.securitySettings.patch" call.
34102// Exactly one of *GoogleCloudDialogflowCxV3SecuritySettings or error
34103// will be non-nil. Any non-2xx status code is an error. Response
34104// headers are in either
34105// *GoogleCloudDialogflowCxV3SecuritySettings.ServerResponse.Header or
34106// (if a response was returned at all) in
34107// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
34108// whether the returned error was because http.StatusNotModified was
34109// returned.
34110func (c *ProjectsLocationsSecuritySettingsPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDialogflowCxV3SecuritySettings, error) {
34111	gensupport.SetOptions(c.urlParams_, opts...)
34112	res, err := c.doRequest("json")
34113	if res != nil && res.StatusCode == http.StatusNotModified {
34114		if res.Body != nil {
34115			res.Body.Close()
34116		}
34117		return nil, &googleapi.Error{
34118			Code:   res.StatusCode,
34119			Header: res.Header,
34120		}
34121	}
34122	if err != nil {
34123		return nil, err
34124	}
34125	defer googleapi.CloseBody(res)
34126	if err := googleapi.CheckResponse(res); err != nil {
34127		return nil, err
34128	}
34129	ret := &GoogleCloudDialogflowCxV3SecuritySettings{
34130		ServerResponse: googleapi.ServerResponse{
34131			Header:         res.Header,
34132			HTTPStatusCode: res.StatusCode,
34133		},
34134	}
34135	target := &ret
34136	if err := gensupport.DecodeResponse(target, res); err != nil {
34137		return nil, err
34138	}
34139	return ret, nil
34140	// {
34141	//   "description": "Updates the specified SecuritySettings.",
34142	//   "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/securitySettings/{securitySettingsId}",
34143	//   "httpMethod": "PATCH",
34144	//   "id": "dialogflow.projects.locations.securitySettings.patch",
34145	//   "parameterOrder": [
34146	//     "name"
34147	//   ],
34148	//   "parameters": {
34149	//     "name": {
34150	//       "description": "Required. Resource name of the settings. Format: `projects//locations//securitySettings/`.",
34151	//       "location": "path",
34152	//       "pattern": "^projects/[^/]+/locations/[^/]+/securitySettings/[^/]+$",
34153	//       "required": true,
34154	//       "type": "string"
34155	//     },
34156	//     "updateMask": {
34157	//       "description": "Required. The mask to control which fields get updated. If the mask is not present, all fields will be updated.",
34158	//       "format": "google-fieldmask",
34159	//       "location": "query",
34160	//       "type": "string"
34161	//     }
34162	//   },
34163	//   "path": "v3/{+name}",
34164	//   "request": {
34165	//     "$ref": "GoogleCloudDialogflowCxV3SecuritySettings"
34166	//   },
34167	//   "response": {
34168	//     "$ref": "GoogleCloudDialogflowCxV3SecuritySettings"
34169	//   },
34170	//   "scopes": [
34171	//     "https://www.googleapis.com/auth/cloud-platform",
34172	//     "https://www.googleapis.com/auth/dialogflow"
34173	//   ]
34174	// }
34175
34176}
34177
34178// method id "dialogflow.projects.operations.cancel":
34179
34180type ProjectsOperationsCancelCall struct {
34181	s          *Service
34182	name       string
34183	urlParams_ gensupport.URLParams
34184	ctx_       context.Context
34185	header_    http.Header
34186}
34187
34188// Cancel: Starts asynchronous cancellation on a long-running operation.
34189// The server makes a best effort to cancel the operation, but success
34190// is not guaranteed. If the server doesn't support this method, it
34191// returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use
34192// Operations.GetOperation or other methods to check whether the
34193// cancellation succeeded or whether the operation completed despite
34194// cancellation. On successful cancellation, the operation is not
34195// deleted; instead, it becomes an operation with an Operation.error
34196// value with a google.rpc.Status.code of 1, corresponding to
34197// `Code.CANCELLED`.
34198//
34199// - name: The name of the operation resource to be cancelled.
34200func (r *ProjectsOperationsService) Cancel(name string) *ProjectsOperationsCancelCall {
34201	c := &ProjectsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
34202	c.name = name
34203	return c
34204}
34205
34206// Fields allows partial responses to be retrieved. See
34207// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
34208// for more information.
34209func (c *ProjectsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsOperationsCancelCall {
34210	c.urlParams_.Set("fields", googleapi.CombineFields(s))
34211	return c
34212}
34213
34214// Context sets the context to be used in this call's Do method. Any
34215// pending HTTP request will be aborted if the provided context is
34216// canceled.
34217func (c *ProjectsOperationsCancelCall) Context(ctx context.Context) *ProjectsOperationsCancelCall {
34218	c.ctx_ = ctx
34219	return c
34220}
34221
34222// Header returns an http.Header that can be modified by the caller to
34223// add HTTP headers to the request.
34224func (c *ProjectsOperationsCancelCall) Header() http.Header {
34225	if c.header_ == nil {
34226		c.header_ = make(http.Header)
34227	}
34228	return c.header_
34229}
34230
34231func (c *ProjectsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
34232	reqHeaders := make(http.Header)
34233	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
34234	for k, v := range c.header_ {
34235		reqHeaders[k] = v
34236	}
34237	reqHeaders.Set("User-Agent", c.s.userAgent())
34238	var body io.Reader = nil
34239	c.urlParams_.Set("alt", alt)
34240	c.urlParams_.Set("prettyPrint", "false")
34241	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}:cancel")
34242	urls += "?" + c.urlParams_.Encode()
34243	req, err := http.NewRequest("POST", urls, body)
34244	if err != nil {
34245		return nil, err
34246	}
34247	req.Header = reqHeaders
34248	googleapi.Expand(req.URL, map[string]string{
34249		"name": c.name,
34250	})
34251	return gensupport.SendRequest(c.ctx_, c.s.client, req)
34252}
34253
34254// Do executes the "dialogflow.projects.operations.cancel" call.
34255// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
34256// non-2xx status code is an error. Response headers are in either
34257// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
34258// returned at all) in error.(*googleapi.Error).Header. Use
34259// googleapi.IsNotModified to check whether the returned error was
34260// because http.StatusNotModified was returned.
34261func (c *ProjectsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
34262	gensupport.SetOptions(c.urlParams_, opts...)
34263	res, err := c.doRequest("json")
34264	if res != nil && res.StatusCode == http.StatusNotModified {
34265		if res.Body != nil {
34266			res.Body.Close()
34267		}
34268		return nil, &googleapi.Error{
34269			Code:   res.StatusCode,
34270			Header: res.Header,
34271		}
34272	}
34273	if err != nil {
34274		return nil, err
34275	}
34276	defer googleapi.CloseBody(res)
34277	if err := googleapi.CheckResponse(res); err != nil {
34278		return nil, err
34279	}
34280	ret := &GoogleProtobufEmpty{
34281		ServerResponse: googleapi.ServerResponse{
34282			Header:         res.Header,
34283			HTTPStatusCode: res.StatusCode,
34284		},
34285	}
34286	target := &ret
34287	if err := gensupport.DecodeResponse(target, res); err != nil {
34288		return nil, err
34289	}
34290	return ret, nil
34291	// {
34292	//   "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`.",
34293	//   "flatPath": "v3/projects/{projectsId}/operations/{operationsId}:cancel",
34294	//   "httpMethod": "POST",
34295	//   "id": "dialogflow.projects.operations.cancel",
34296	//   "parameterOrder": [
34297	//     "name"
34298	//   ],
34299	//   "parameters": {
34300	//     "name": {
34301	//       "description": "The name of the operation resource to be cancelled.",
34302	//       "location": "path",
34303	//       "pattern": "^projects/[^/]+/operations/[^/]+$",
34304	//       "required": true,
34305	//       "type": "string"
34306	//     }
34307	//   },
34308	//   "path": "v3/{+name}:cancel",
34309	//   "response": {
34310	//     "$ref": "GoogleProtobufEmpty"
34311	//   },
34312	//   "scopes": [
34313	//     "https://www.googleapis.com/auth/cloud-platform",
34314	//     "https://www.googleapis.com/auth/dialogflow"
34315	//   ]
34316	// }
34317
34318}
34319
34320// method id "dialogflow.projects.operations.get":
34321
34322type ProjectsOperationsGetCall struct {
34323	s            *Service
34324	name         string
34325	urlParams_   gensupport.URLParams
34326	ifNoneMatch_ string
34327	ctx_         context.Context
34328	header_      http.Header
34329}
34330
34331// Get: Gets the latest state of a long-running operation. Clients can
34332// use this method to poll the operation result at intervals as
34333// recommended by the API service.
34334//
34335// - name: The name of the operation resource.
34336func (r *ProjectsOperationsService) Get(name string) *ProjectsOperationsGetCall {
34337	c := &ProjectsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
34338	c.name = name
34339	return c
34340}
34341
34342// Fields allows partial responses to be retrieved. See
34343// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
34344// for more information.
34345func (c *ProjectsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsOperationsGetCall {
34346	c.urlParams_.Set("fields", googleapi.CombineFields(s))
34347	return c
34348}
34349
34350// IfNoneMatch sets the optional parameter which makes the operation
34351// fail if the object's ETag matches the given value. This is useful for
34352// getting updates only after the object has changed since the last
34353// request. Use googleapi.IsNotModified to check whether the response
34354// error from Do is the result of In-None-Match.
34355func (c *ProjectsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsOperationsGetCall {
34356	c.ifNoneMatch_ = entityTag
34357	return c
34358}
34359
34360// Context sets the context to be used in this call's Do method. Any
34361// pending HTTP request will be aborted if the provided context is
34362// canceled.
34363func (c *ProjectsOperationsGetCall) Context(ctx context.Context) *ProjectsOperationsGetCall {
34364	c.ctx_ = ctx
34365	return c
34366}
34367
34368// Header returns an http.Header that can be modified by the caller to
34369// add HTTP headers to the request.
34370func (c *ProjectsOperationsGetCall) Header() http.Header {
34371	if c.header_ == nil {
34372		c.header_ = make(http.Header)
34373	}
34374	return c.header_
34375}
34376
34377func (c *ProjectsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
34378	reqHeaders := make(http.Header)
34379	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
34380	for k, v := range c.header_ {
34381		reqHeaders[k] = v
34382	}
34383	reqHeaders.Set("User-Agent", c.s.userAgent())
34384	if c.ifNoneMatch_ != "" {
34385		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
34386	}
34387	var body io.Reader = nil
34388	c.urlParams_.Set("alt", alt)
34389	c.urlParams_.Set("prettyPrint", "false")
34390	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
34391	urls += "?" + c.urlParams_.Encode()
34392	req, err := http.NewRequest("GET", urls, body)
34393	if err != nil {
34394		return nil, err
34395	}
34396	req.Header = reqHeaders
34397	googleapi.Expand(req.URL, map[string]string{
34398		"name": c.name,
34399	})
34400	return gensupport.SendRequest(c.ctx_, c.s.client, req)
34401}
34402
34403// Do executes the "dialogflow.projects.operations.get" call.
34404// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
34405// Any non-2xx status code is an error. Response headers are in either
34406// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
34407// was returned at all) in error.(*googleapi.Error).Header. Use
34408// googleapi.IsNotModified to check whether the returned error was
34409// because http.StatusNotModified was returned.
34410func (c *ProjectsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
34411	gensupport.SetOptions(c.urlParams_, opts...)
34412	res, err := c.doRequest("json")
34413	if res != nil && res.StatusCode == http.StatusNotModified {
34414		if res.Body != nil {
34415			res.Body.Close()
34416		}
34417		return nil, &googleapi.Error{
34418			Code:   res.StatusCode,
34419			Header: res.Header,
34420		}
34421	}
34422	if err != nil {
34423		return nil, err
34424	}
34425	defer googleapi.CloseBody(res)
34426	if err := googleapi.CheckResponse(res); err != nil {
34427		return nil, err
34428	}
34429	ret := &GoogleLongrunningOperation{
34430		ServerResponse: googleapi.ServerResponse{
34431			Header:         res.Header,
34432			HTTPStatusCode: res.StatusCode,
34433		},
34434	}
34435	target := &ret
34436	if err := gensupport.DecodeResponse(target, res); err != nil {
34437		return nil, err
34438	}
34439	return ret, nil
34440	// {
34441	//   "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.",
34442	//   "flatPath": "v3/projects/{projectsId}/operations/{operationsId}",
34443	//   "httpMethod": "GET",
34444	//   "id": "dialogflow.projects.operations.get",
34445	//   "parameterOrder": [
34446	//     "name"
34447	//   ],
34448	//   "parameters": {
34449	//     "name": {
34450	//       "description": "The name of the operation resource.",
34451	//       "location": "path",
34452	//       "pattern": "^projects/[^/]+/operations/[^/]+$",
34453	//       "required": true,
34454	//       "type": "string"
34455	//     }
34456	//   },
34457	//   "path": "v3/{+name}",
34458	//   "response": {
34459	//     "$ref": "GoogleLongrunningOperation"
34460	//   },
34461	//   "scopes": [
34462	//     "https://www.googleapis.com/auth/cloud-platform",
34463	//     "https://www.googleapis.com/auth/dialogflow"
34464	//   ]
34465	// }
34466
34467}
34468
34469// method id "dialogflow.projects.operations.list":
34470
34471type ProjectsOperationsListCall struct {
34472	s            *Service
34473	name         string
34474	urlParams_   gensupport.URLParams
34475	ifNoneMatch_ string
34476	ctx_         context.Context
34477	header_      http.Header
34478}
34479
34480// List: Lists operations that match the specified filter in the
34481// request. If the server doesn't support this method, it returns
34482// `UNIMPLEMENTED`. NOTE: the `name` binding allows API services to
34483// override the binding to use different resource name schemes, such as
34484// `users/*/operations`. To override the binding, API services can add a
34485// binding such as "/v1/{name=users/*}/operations" to their service
34486// configuration. For backwards compatibility, the default name includes
34487// the operations collection id, however overriding users must ensure
34488// the name binding is the parent resource, without the operations
34489// collection id.
34490//
34491// - name: The name of the operation's parent resource.
34492func (r *ProjectsOperationsService) List(name string) *ProjectsOperationsListCall {
34493	c := &ProjectsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
34494	c.name = name
34495	return c
34496}
34497
34498// Filter sets the optional parameter "filter": The standard list
34499// filter.
34500func (c *ProjectsOperationsListCall) Filter(filter string) *ProjectsOperationsListCall {
34501	c.urlParams_.Set("filter", filter)
34502	return c
34503}
34504
34505// PageSize sets the optional parameter "pageSize": The standard list
34506// page size.
34507func (c *ProjectsOperationsListCall) PageSize(pageSize int64) *ProjectsOperationsListCall {
34508	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
34509	return c
34510}
34511
34512// PageToken sets the optional parameter "pageToken": The standard list
34513// page token.
34514func (c *ProjectsOperationsListCall) PageToken(pageToken string) *ProjectsOperationsListCall {
34515	c.urlParams_.Set("pageToken", pageToken)
34516	return c
34517}
34518
34519// Fields allows partial responses to be retrieved. See
34520// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
34521// for more information.
34522func (c *ProjectsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsOperationsListCall {
34523	c.urlParams_.Set("fields", googleapi.CombineFields(s))
34524	return c
34525}
34526
34527// IfNoneMatch sets the optional parameter which makes the operation
34528// fail if the object's ETag matches the given value. This is useful for
34529// getting updates only after the object has changed since the last
34530// request. Use googleapi.IsNotModified to check whether the response
34531// error from Do is the result of In-None-Match.
34532func (c *ProjectsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsOperationsListCall {
34533	c.ifNoneMatch_ = entityTag
34534	return c
34535}
34536
34537// Context sets the context to be used in this call's Do method. Any
34538// pending HTTP request will be aborted if the provided context is
34539// canceled.
34540func (c *ProjectsOperationsListCall) Context(ctx context.Context) *ProjectsOperationsListCall {
34541	c.ctx_ = ctx
34542	return c
34543}
34544
34545// Header returns an http.Header that can be modified by the caller to
34546// add HTTP headers to the request.
34547func (c *ProjectsOperationsListCall) Header() http.Header {
34548	if c.header_ == nil {
34549		c.header_ = make(http.Header)
34550	}
34551	return c.header_
34552}
34553
34554func (c *ProjectsOperationsListCall) doRequest(alt string) (*http.Response, error) {
34555	reqHeaders := make(http.Header)
34556	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210812")
34557	for k, v := range c.header_ {
34558		reqHeaders[k] = v
34559	}
34560	reqHeaders.Set("User-Agent", c.s.userAgent())
34561	if c.ifNoneMatch_ != "" {
34562		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
34563	}
34564	var body io.Reader = nil
34565	c.urlParams_.Set("alt", alt)
34566	c.urlParams_.Set("prettyPrint", "false")
34567	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}/operations")
34568	urls += "?" + c.urlParams_.Encode()
34569	req, err := http.NewRequest("GET", urls, body)
34570	if err != nil {
34571		return nil, err
34572	}
34573	req.Header = reqHeaders
34574	googleapi.Expand(req.URL, map[string]string{
34575		"name": c.name,
34576	})
34577	return gensupport.SendRequest(c.ctx_, c.s.client, req)
34578}
34579
34580// Do executes the "dialogflow.projects.operations.list" call.
34581// Exactly one of *GoogleLongrunningListOperationsResponse or error will
34582// be non-nil. Any non-2xx status code is an error. Response headers are
34583// in either
34584// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if
34585// a response was returned at all) in error.(*googleapi.Error).Header.
34586// Use googleapi.IsNotModified to check whether the returned error was
34587// because http.StatusNotModified was returned.
34588func (c *ProjectsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
34589	gensupport.SetOptions(c.urlParams_, opts...)
34590	res, err := c.doRequest("json")
34591	if res != nil && res.StatusCode == http.StatusNotModified {
34592		if res.Body != nil {
34593			res.Body.Close()
34594		}
34595		return nil, &googleapi.Error{
34596			Code:   res.StatusCode,
34597			Header: res.Header,
34598		}
34599	}
34600	if err != nil {
34601		return nil, err
34602	}
34603	defer googleapi.CloseBody(res)
34604	if err := googleapi.CheckResponse(res); err != nil {
34605		return nil, err
34606	}
34607	ret := &GoogleLongrunningListOperationsResponse{
34608		ServerResponse: googleapi.ServerResponse{
34609			Header:         res.Header,
34610			HTTPStatusCode: res.StatusCode,
34611		},
34612	}
34613	target := &ret
34614	if err := gensupport.DecodeResponse(target, res); err != nil {
34615		return nil, err
34616	}
34617	return ret, nil
34618	// {
34619	//   "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.",
34620	//   "flatPath": "v3/projects/{projectsId}/operations",
34621	//   "httpMethod": "GET",
34622	//   "id": "dialogflow.projects.operations.list",
34623	//   "parameterOrder": [
34624	//     "name"
34625	//   ],
34626	//   "parameters": {
34627	//     "filter": {
34628	//       "description": "The standard list filter.",
34629	//       "location": "query",
34630	//       "type": "string"
34631	//     },
34632	//     "name": {
34633	//       "description": "The name of the operation's parent resource.",
34634	//       "location": "path",
34635	//       "pattern": "^projects/[^/]+$",
34636	//       "required": true,
34637	//       "type": "string"
34638	//     },
34639	//     "pageSize": {
34640	//       "description": "The standard list page size.",
34641	//       "format": "int32",
34642	//       "location": "query",
34643	//       "type": "integer"
34644	//     },
34645	//     "pageToken": {
34646	//       "description": "The standard list page token.",
34647	//       "location": "query",
34648	//       "type": "string"
34649	//     }
34650	//   },
34651	//   "path": "v3/{+name}/operations",
34652	//   "response": {
34653	//     "$ref": "GoogleLongrunningListOperationsResponse"
34654	//   },
34655	//   "scopes": [
34656	//     "https://www.googleapis.com/auth/cloud-platform",
34657	//     "https://www.googleapis.com/auth/dialogflow"
34658	//   ]
34659	// }
34660
34661}
34662
34663// Pages invokes f for each page of results.
34664// A non-nil error returned from f will halt the iteration.
34665// The provided context supersedes any context provided to the Context method.
34666func (c *ProjectsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
34667	c.ctx_ = ctx
34668	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
34669	for {
34670		x, err := c.Do()
34671		if err != nil {
34672			return err
34673		}
34674		if err := f(x); err != nil {
34675			return err
34676		}
34677		if x.NextPageToken == "" {
34678			return nil
34679		}
34680		c.PageToken(x.NextPageToken)
34681	}
34682}
34683