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 ml provides access to the AI Platform Training & Prediction API.
8//
9// For product documentation, see: https://cloud.google.com/ml/
10//
11// Creating a client
12//
13// Usage example:
14//
15//   import "google.golang.org/api/ml/v1"
16//   ...
17//   ctx := context.Background()
18//   mlService, err := ml.NewService(ctx)
19//
20// In this example, Google Application Default Credentials are used for authentication.
21//
22// For information on how to create and obtain Application Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials.
23//
24// Other authentication options
25//
26// By default, all available scopes (see "Constants") are used to authenticate. To restrict scopes, use option.WithScopes:
27//
28//   mlService, err := ml.NewService(ctx, option.WithScopes(ml.CloudPlatformReadOnlyScope))
29//
30// To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey:
31//
32//   mlService, err := ml.NewService(ctx, option.WithAPIKey("AIza..."))
33//
34// To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource:
35//
36//   config := &oauth2.Config{...}
37//   // ...
38//   token, err := config.Exchange(ctx, ...)
39//   mlService, err := ml.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
40//
41// See https://godoc.org/google.golang.org/api/option/ for details on options.
42package ml // import "google.golang.org/api/ml/v1"
43
44import (
45	"bytes"
46	"context"
47	"encoding/json"
48	"errors"
49	"fmt"
50	"io"
51	"net/http"
52	"net/url"
53	"strconv"
54	"strings"
55
56	googleapi "google.golang.org/api/googleapi"
57	gensupport "google.golang.org/api/internal/gensupport"
58	option "google.golang.org/api/option"
59	internaloption "google.golang.org/api/option/internaloption"
60	htransport "google.golang.org/api/transport/http"
61)
62
63// Always reference these packages, just in case the auto-generated code
64// below doesn't.
65var _ = bytes.NewBuffer
66var _ = strconv.Itoa
67var _ = fmt.Sprintf
68var _ = json.NewDecoder
69var _ = io.Copy
70var _ = url.Parse
71var _ = gensupport.MarshalJSON
72var _ = googleapi.Version
73var _ = errors.New
74var _ = strings.Replace
75var _ = context.Canceled
76var _ = internaloption.WithDefaultEndpoint
77
78const apiId = "ml:v1"
79const apiName = "ml"
80const apiVersion = "v1"
81const basePath = "https://ml.googleapis.com/"
82const mtlsBasePath = "https://ml.mtls.googleapis.com/"
83
84// OAuth2 scopes used by this API.
85const (
86	// See, edit, configure, and delete your Google Cloud Platform data
87	CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"
88
89	// View your data across Google Cloud Platform services
90	CloudPlatformReadOnlyScope = "https://www.googleapis.com/auth/cloud-platform.read-only"
91)
92
93// NewService creates a new Service.
94func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
95	scopesOption := option.WithScopes(
96		"https://www.googleapis.com/auth/cloud-platform",
97		"https://www.googleapis.com/auth/cloud-platform.read-only",
98	)
99	// NOTE: prepend, so we don't override user-specified scopes.
100	opts = append([]option.ClientOption{scopesOption}, opts...)
101	opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
102	opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath))
103	client, endpoint, err := htransport.NewClient(ctx, opts...)
104	if err != nil {
105		return nil, err
106	}
107	s, err := New(client)
108	if err != nil {
109		return nil, err
110	}
111	if endpoint != "" {
112		s.BasePath = endpoint
113	}
114	return s, nil
115}
116
117// New creates a new Service. It uses the provided http.Client for requests.
118//
119// Deprecated: please use NewService instead.
120// To provide a custom HTTP client, use option.WithHTTPClient.
121// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
122func New(client *http.Client) (*Service, error) {
123	if client == nil {
124		return nil, errors.New("client is nil")
125	}
126	s := &Service{client: client, BasePath: basePath}
127	s.Projects = NewProjectsService(s)
128	return s, nil
129}
130
131type Service struct {
132	client    *http.Client
133	BasePath  string // API endpoint base URL
134	UserAgent string // optional additional User-Agent fragment
135
136	Projects *ProjectsService
137}
138
139func (s *Service) userAgent() string {
140	if s.UserAgent == "" {
141		return googleapi.UserAgent
142	}
143	return googleapi.UserAgent + " " + s.UserAgent
144}
145
146func NewProjectsService(s *Service) *ProjectsService {
147	rs := &ProjectsService{s: s}
148	rs.Jobs = NewProjectsJobsService(s)
149	rs.Locations = NewProjectsLocationsService(s)
150	rs.Models = NewProjectsModelsService(s)
151	rs.Operations = NewProjectsOperationsService(s)
152	return rs
153}
154
155type ProjectsService struct {
156	s *Service
157
158	Jobs *ProjectsJobsService
159
160	Locations *ProjectsLocationsService
161
162	Models *ProjectsModelsService
163
164	Operations *ProjectsOperationsService
165}
166
167func NewProjectsJobsService(s *Service) *ProjectsJobsService {
168	rs := &ProjectsJobsService{s: s}
169	return rs
170}
171
172type ProjectsJobsService struct {
173	s *Service
174}
175
176func NewProjectsLocationsService(s *Service) *ProjectsLocationsService {
177	rs := &ProjectsLocationsService{s: s}
178	rs.Operations = NewProjectsLocationsOperationsService(s)
179	rs.Studies = NewProjectsLocationsStudiesService(s)
180	return rs
181}
182
183type ProjectsLocationsService struct {
184	s *Service
185
186	Operations *ProjectsLocationsOperationsService
187
188	Studies *ProjectsLocationsStudiesService
189}
190
191func NewProjectsLocationsOperationsService(s *Service) *ProjectsLocationsOperationsService {
192	rs := &ProjectsLocationsOperationsService{s: s}
193	return rs
194}
195
196type ProjectsLocationsOperationsService struct {
197	s *Service
198}
199
200func NewProjectsLocationsStudiesService(s *Service) *ProjectsLocationsStudiesService {
201	rs := &ProjectsLocationsStudiesService{s: s}
202	rs.Trials = NewProjectsLocationsStudiesTrialsService(s)
203	return rs
204}
205
206type ProjectsLocationsStudiesService struct {
207	s *Service
208
209	Trials *ProjectsLocationsStudiesTrialsService
210}
211
212func NewProjectsLocationsStudiesTrialsService(s *Service) *ProjectsLocationsStudiesTrialsService {
213	rs := &ProjectsLocationsStudiesTrialsService{s: s}
214	return rs
215}
216
217type ProjectsLocationsStudiesTrialsService struct {
218	s *Service
219}
220
221func NewProjectsModelsService(s *Service) *ProjectsModelsService {
222	rs := &ProjectsModelsService{s: s}
223	rs.Versions = NewProjectsModelsVersionsService(s)
224	return rs
225}
226
227type ProjectsModelsService struct {
228	s *Service
229
230	Versions *ProjectsModelsVersionsService
231}
232
233func NewProjectsModelsVersionsService(s *Service) *ProjectsModelsVersionsService {
234	rs := &ProjectsModelsVersionsService{s: s}
235	return rs
236}
237
238type ProjectsModelsVersionsService struct {
239	s *Service
240}
241
242func NewProjectsOperationsService(s *Service) *ProjectsOperationsService {
243	rs := &ProjectsOperationsService{s: s}
244	return rs
245}
246
247type ProjectsOperationsService struct {
248	s *Service
249}
250
251// GoogleApi__HttpBody: Message that represents an arbitrary HTTP body.
252// It should only be used for payload formats that can't be represented
253// as JSON, such as raw binary or an HTML page. This message can be used
254// both in streaming and non-streaming API methods in the request as
255// well as the response. It can be used as a top-level request field,
256// which is convenient if one wants to extract parameters from either
257// the URL or HTTP template into the request fields and also want access
258// to the raw HTTP body. Example: message GetResourceRequest { // A
259// unique request id. string request_id = 1; // The raw HTTP body is
260// bound to this field. google.api.HttpBody http_body = 2; } service
261// ResourceService { rpc GetResource(GetResourceRequest) returns
262// (google.api.HttpBody); rpc UpdateResource(google.api.HttpBody)
263// returns (google.protobuf.Empty); } Example with streaming methods:
264// service CaldavService { rpc GetCalendar(stream google.api.HttpBody)
265// returns (stream google.api.HttpBody); rpc UpdateCalendar(stream
266// google.api.HttpBody) returns (stream google.api.HttpBody); } Use of
267// this type only changes how the request and response bodies are
268// handled, all other features will continue to work unchanged.
269type GoogleApi__HttpBody struct {
270	// ContentType: The HTTP Content-Type header value specifying the
271	// content type of the body.
272	ContentType string `json:"contentType,omitempty"`
273
274	// Data: The HTTP request/response body as raw binary.
275	Data string `json:"data,omitempty"`
276
277	// Extensions: Application specific response metadata. Must be set in
278	// the first response for streaming APIs.
279	Extensions []googleapi.RawMessage `json:"extensions,omitempty"`
280
281	// ServerResponse contains the HTTP response code and headers from the
282	// server.
283	googleapi.ServerResponse `json:"-"`
284
285	// ForceSendFields is a list of field names (e.g. "ContentType") to
286	// unconditionally include in API requests. By default, fields with
287	// empty values are omitted from API requests. However, any non-pointer,
288	// non-interface field appearing in ForceSendFields will be sent to the
289	// server regardless of whether the field is empty or not. This may be
290	// used to include empty fields in Patch requests.
291	ForceSendFields []string `json:"-"`
292
293	// NullFields is a list of field names (e.g. "ContentType") to include
294	// in API requests with the JSON null value. By default, fields with
295	// empty values are omitted from API requests. However, any field with
296	// an empty value appearing in NullFields will be sent to the server as
297	// null. It is an error if a field in this list has a non-empty value.
298	// This may be used to include null fields in Patch requests.
299	NullFields []string `json:"-"`
300}
301
302func (s *GoogleApi__HttpBody) MarshalJSON() ([]byte, error) {
303	type NoMethod GoogleApi__HttpBody
304	raw := NoMethod(*s)
305	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
306}
307
308type GoogleCloudMlV1AutomatedStoppingConfigDecayCurveAutomatedStoppingConfig struct {
309	// UseElapsedTime: If true, measurement.elapsed_time is used as the
310	// x-axis of each Trials Decay Curve. Otherwise, Measurement.steps will
311	// be used as the x-axis.
312	UseElapsedTime bool `json:"useElapsedTime,omitempty"`
313
314	// ForceSendFields is a list of field names (e.g. "UseElapsedTime") to
315	// unconditionally include in API requests. By default, fields with
316	// empty values are omitted from API requests. However, any non-pointer,
317	// non-interface field appearing in ForceSendFields will be sent to the
318	// server regardless of whether the field is empty or not. This may be
319	// used to include empty fields in Patch requests.
320	ForceSendFields []string `json:"-"`
321
322	// NullFields is a list of field names (e.g. "UseElapsedTime") to
323	// include in API requests with the JSON null value. By default, fields
324	// with empty values are omitted from API requests. However, any field
325	// with an empty value appearing in NullFields will be sent to the
326	// server as null. It is an error if a field in this list has a
327	// non-empty value. This may be used to include null fields in Patch
328	// requests.
329	NullFields []string `json:"-"`
330}
331
332func (s *GoogleCloudMlV1AutomatedStoppingConfigDecayCurveAutomatedStoppingConfig) MarshalJSON() ([]byte, error) {
333	type NoMethod GoogleCloudMlV1AutomatedStoppingConfigDecayCurveAutomatedStoppingConfig
334	raw := NoMethod(*s)
335	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
336}
337
338// GoogleCloudMlV1AutomatedStoppingConfigMedianAutomatedStoppingConfig:
339// The median automated stopping rule stops a pending trial if the
340// trial's best objective_value is strictly below the median
341// 'performance' of all completed trials reported up to the trial's last
342// measurement. Currently, 'performance' refers to the running average
343// of the objective values reported by the trial in each measurement.
344type GoogleCloudMlV1AutomatedStoppingConfigMedianAutomatedStoppingConfig struct {
345	// UseElapsedTime: If true, the median automated stopping rule applies
346	// to measurement.use_elapsed_time, which means the elapsed_time field
347	// of the current trial's latest measurement is used to compute the
348	// median objective value for each completed trial.
349	UseElapsedTime bool `json:"useElapsedTime,omitempty"`
350
351	// ForceSendFields is a list of field names (e.g. "UseElapsedTime") to
352	// unconditionally include in API requests. By default, fields with
353	// empty values are omitted from API requests. However, any non-pointer,
354	// non-interface field appearing in ForceSendFields will be sent to the
355	// server regardless of whether the field is empty or not. This may be
356	// used to include empty fields in Patch requests.
357	ForceSendFields []string `json:"-"`
358
359	// NullFields is a list of field names (e.g. "UseElapsedTime") to
360	// include in API requests with the JSON null value. By default, fields
361	// with empty values are omitted from API requests. However, any field
362	// with an empty value appearing in NullFields will be sent to the
363	// server as null. It is an error if a field in this list has a
364	// non-empty value. This may be used to include null fields in Patch
365	// requests.
366	NullFields []string `json:"-"`
367}
368
369func (s *GoogleCloudMlV1AutomatedStoppingConfigMedianAutomatedStoppingConfig) MarshalJSON() ([]byte, error) {
370	type NoMethod GoogleCloudMlV1AutomatedStoppingConfigMedianAutomatedStoppingConfig
371	raw := NoMethod(*s)
372	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
373}
374
375// GoogleCloudMlV1HyperparameterOutputHyperparameterMetric: An observed
376// value of a metric.
377type GoogleCloudMlV1HyperparameterOutputHyperparameterMetric struct {
378	// ObjectiveValue: The objective value at this training step.
379	ObjectiveValue float64 `json:"objectiveValue,omitempty"`
380
381	// TrainingStep: The global training step for this metric.
382	TrainingStep int64 `json:"trainingStep,omitempty,string"`
383
384	// ForceSendFields is a list of field names (e.g. "ObjectiveValue") to
385	// unconditionally include in API requests. By default, fields with
386	// empty values are omitted from API requests. However, any non-pointer,
387	// non-interface field appearing in ForceSendFields will be sent to the
388	// server regardless of whether the field is empty or not. This may be
389	// used to include empty fields in Patch requests.
390	ForceSendFields []string `json:"-"`
391
392	// NullFields is a list of field names (e.g. "ObjectiveValue") to
393	// include in API requests with the JSON null value. By default, fields
394	// with empty values are omitted from API requests. However, any field
395	// with an empty value appearing in NullFields will be sent to the
396	// server as null. It is an error if a field in this list has a
397	// non-empty value. This may be used to include null fields in Patch
398	// requests.
399	NullFields []string `json:"-"`
400}
401
402func (s *GoogleCloudMlV1HyperparameterOutputHyperparameterMetric) MarshalJSON() ([]byte, error) {
403	type NoMethod GoogleCloudMlV1HyperparameterOutputHyperparameterMetric
404	raw := NoMethod(*s)
405	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
406}
407
408func (s *GoogleCloudMlV1HyperparameterOutputHyperparameterMetric) UnmarshalJSON(data []byte) error {
409	type NoMethod GoogleCloudMlV1HyperparameterOutputHyperparameterMetric
410	var s1 struct {
411		ObjectiveValue gensupport.JSONFloat64 `json:"objectiveValue"`
412		*NoMethod
413	}
414	s1.NoMethod = (*NoMethod)(s)
415	if err := json.Unmarshal(data, &s1); err != nil {
416		return err
417	}
418	s.ObjectiveValue = float64(s1.ObjectiveValue)
419	return nil
420}
421
422// GoogleCloudMlV1MeasurementMetric: A message representing a metric in
423// the measurement.
424type GoogleCloudMlV1MeasurementMetric struct {
425	// Metric: Required. Metric name.
426	Metric string `json:"metric,omitempty"`
427
428	// Value: Required. The value for this metric.
429	Value float64 `json:"value,omitempty"`
430
431	// ForceSendFields is a list of field names (e.g. "Metric") to
432	// unconditionally include in API requests. By default, fields with
433	// empty values are omitted from API requests. However, any non-pointer,
434	// non-interface field appearing in ForceSendFields will be sent to the
435	// server regardless of whether the field is empty or not. This may be
436	// used to include empty fields in Patch requests.
437	ForceSendFields []string `json:"-"`
438
439	// NullFields is a list of field names (e.g. "Metric") to include in API
440	// requests with the JSON null value. By default, fields with empty
441	// values are omitted from API requests. However, any field with an
442	// empty value appearing in NullFields will be sent to the server as
443	// null. It is an error if a field in this list has a non-empty value.
444	// This may be used to include null fields in Patch requests.
445	NullFields []string `json:"-"`
446}
447
448func (s *GoogleCloudMlV1MeasurementMetric) MarshalJSON() ([]byte, error) {
449	type NoMethod GoogleCloudMlV1MeasurementMetric
450	raw := NoMethod(*s)
451	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
452}
453
454func (s *GoogleCloudMlV1MeasurementMetric) UnmarshalJSON(data []byte) error {
455	type NoMethod GoogleCloudMlV1MeasurementMetric
456	var s1 struct {
457		Value gensupport.JSONFloat64 `json:"value"`
458		*NoMethod
459	}
460	s1.NoMethod = (*NoMethod)(s)
461	if err := json.Unmarshal(data, &s1); err != nil {
462		return err
463	}
464	s.Value = float64(s1.Value)
465	return nil
466}
467
468type GoogleCloudMlV1StudyConfigParameterSpecCategoricalValueSpec struct {
469	// Values: Must be specified if type is `CATEGORICAL`. The list of
470	// possible categories.
471	Values []string `json:"values,omitempty"`
472
473	// ForceSendFields is a list of field names (e.g. "Values") to
474	// unconditionally include in API requests. By default, fields with
475	// empty values are omitted from API requests. However, any non-pointer,
476	// non-interface field appearing in ForceSendFields will be sent to the
477	// server regardless of whether the field is empty or not. This may be
478	// used to include empty fields in Patch requests.
479	ForceSendFields []string `json:"-"`
480
481	// NullFields is a list of field names (e.g. "Values") to include in API
482	// requests with the JSON null value. By default, fields with empty
483	// values are omitted from API requests. However, any field with an
484	// empty value appearing in NullFields will be sent to the server as
485	// null. It is an error if a field in this list has a non-empty value.
486	// This may be used to include null fields in Patch requests.
487	NullFields []string `json:"-"`
488}
489
490func (s *GoogleCloudMlV1StudyConfigParameterSpecCategoricalValueSpec) MarshalJSON() ([]byte, error) {
491	type NoMethod GoogleCloudMlV1StudyConfigParameterSpecCategoricalValueSpec
492	raw := NoMethod(*s)
493	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
494}
495
496type GoogleCloudMlV1StudyConfigParameterSpecDiscreteValueSpec struct {
497	// Values: Must be specified if type is `DISCRETE`. A list of feasible
498	// points. The list should be in strictly increasing order. For
499	// instance, this parameter might have possible settings of 1.5, 2.5,
500	// and 4.0. This list should not contain more than 1,000 values.
501	Values []float64 `json:"values,omitempty"`
502
503	// ForceSendFields is a list of field names (e.g. "Values") to
504	// unconditionally include in API requests. By default, fields with
505	// empty values are omitted from API requests. However, any non-pointer,
506	// non-interface field appearing in ForceSendFields will be sent to the
507	// server regardless of whether the field is empty or not. This may be
508	// used to include empty fields in Patch requests.
509	ForceSendFields []string `json:"-"`
510
511	// NullFields is a list of field names (e.g. "Values") to include in API
512	// requests with the JSON null value. By default, fields with empty
513	// values are omitted from API requests. However, any field with an
514	// empty value appearing in NullFields will be sent to the server as
515	// null. It is an error if a field in this list has a non-empty value.
516	// This may be used to include null fields in Patch requests.
517	NullFields []string `json:"-"`
518}
519
520func (s *GoogleCloudMlV1StudyConfigParameterSpecDiscreteValueSpec) MarshalJSON() ([]byte, error) {
521	type NoMethod GoogleCloudMlV1StudyConfigParameterSpecDiscreteValueSpec
522	raw := NoMethod(*s)
523	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
524}
525
526type GoogleCloudMlV1StudyConfigParameterSpecDoubleValueSpec struct {
527	// MaxValue: Must be specified if type is `DOUBLE`. Maximum value of the
528	// parameter.
529	MaxValue float64 `json:"maxValue,omitempty"`
530
531	// MinValue: Must be specified if type is `DOUBLE`. Minimum value of the
532	// parameter.
533	MinValue float64 `json:"minValue,omitempty"`
534
535	// ForceSendFields is a list of field names (e.g. "MaxValue") to
536	// unconditionally include in API requests. By default, fields with
537	// empty values are omitted from API requests. However, any non-pointer,
538	// non-interface field appearing in ForceSendFields will be sent to the
539	// server regardless of whether the field is empty or not. This may be
540	// used to include empty fields in Patch requests.
541	ForceSendFields []string `json:"-"`
542
543	// NullFields is a list of field names (e.g. "MaxValue") to include in
544	// API requests with the JSON null value. By default, fields with empty
545	// values are omitted from API requests. However, any field with an
546	// empty value appearing in NullFields will be sent to the server as
547	// null. It is an error if a field in this list has a non-empty value.
548	// This may be used to include null fields in Patch requests.
549	NullFields []string `json:"-"`
550}
551
552func (s *GoogleCloudMlV1StudyConfigParameterSpecDoubleValueSpec) MarshalJSON() ([]byte, error) {
553	type NoMethod GoogleCloudMlV1StudyConfigParameterSpecDoubleValueSpec
554	raw := NoMethod(*s)
555	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
556}
557
558func (s *GoogleCloudMlV1StudyConfigParameterSpecDoubleValueSpec) UnmarshalJSON(data []byte) error {
559	type NoMethod GoogleCloudMlV1StudyConfigParameterSpecDoubleValueSpec
560	var s1 struct {
561		MaxValue gensupport.JSONFloat64 `json:"maxValue"`
562		MinValue gensupport.JSONFloat64 `json:"minValue"`
563		*NoMethod
564	}
565	s1.NoMethod = (*NoMethod)(s)
566	if err := json.Unmarshal(data, &s1); err != nil {
567		return err
568	}
569	s.MaxValue = float64(s1.MaxValue)
570	s.MinValue = float64(s1.MinValue)
571	return nil
572}
573
574type GoogleCloudMlV1StudyConfigParameterSpecIntegerValueSpec struct {
575	// MaxValue: Must be specified if type is `INTEGER`. Maximum value of
576	// the parameter.
577	MaxValue int64 `json:"maxValue,omitempty,string"`
578
579	// MinValue: Must be specified if type is `INTEGER`. Minimum value of
580	// the parameter.
581	MinValue int64 `json:"minValue,omitempty,string"`
582
583	// ForceSendFields is a list of field names (e.g. "MaxValue") to
584	// unconditionally include in API requests. By default, fields with
585	// empty values are omitted from API requests. However, any non-pointer,
586	// non-interface field appearing in ForceSendFields will be sent to the
587	// server regardless of whether the field is empty or not. This may be
588	// used to include empty fields in Patch requests.
589	ForceSendFields []string `json:"-"`
590
591	// NullFields is a list of field names (e.g. "MaxValue") to include in
592	// API requests with the JSON null value. By default, fields with empty
593	// values are omitted from API requests. However, any field with an
594	// empty value appearing in NullFields will be sent to the server as
595	// null. It is an error if a field in this list has a non-empty value.
596	// This may be used to include null fields in Patch requests.
597	NullFields []string `json:"-"`
598}
599
600func (s *GoogleCloudMlV1StudyConfigParameterSpecIntegerValueSpec) MarshalJSON() ([]byte, error) {
601	type NoMethod GoogleCloudMlV1StudyConfigParameterSpecIntegerValueSpec
602	raw := NoMethod(*s)
603	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
604}
605
606// GoogleCloudMlV1StudyConfigParameterSpecMatchingParentCategoricalValueS
607// pec: Represents the spec to match categorical values from parent
608// parameter.
609type GoogleCloudMlV1StudyConfigParameterSpecMatchingParentCategoricalValueSpec struct {
610	// Values: Matches values of the parent parameter with type
611	// 'CATEGORICAL'. All values must exist in `categorical_value_spec` of
612	// parent parameter.
613	Values []string `json:"values,omitempty"`
614
615	// ForceSendFields is a list of field names (e.g. "Values") to
616	// unconditionally include in API requests. By default, fields with
617	// empty values are omitted from API requests. However, any non-pointer,
618	// non-interface field appearing in ForceSendFields will be sent to the
619	// server regardless of whether the field is empty or not. This may be
620	// used to include empty fields in Patch requests.
621	ForceSendFields []string `json:"-"`
622
623	// NullFields is a list of field names (e.g. "Values") to include in API
624	// requests with the JSON null value. By default, fields with empty
625	// values are omitted from API requests. However, any field with an
626	// empty value appearing in NullFields will be sent to the server as
627	// null. It is an error if a field in this list has a non-empty value.
628	// This may be used to include null fields in Patch requests.
629	NullFields []string `json:"-"`
630}
631
632func (s *GoogleCloudMlV1StudyConfigParameterSpecMatchingParentCategoricalValueSpec) MarshalJSON() ([]byte, error) {
633	type NoMethod GoogleCloudMlV1StudyConfigParameterSpecMatchingParentCategoricalValueSpec
634	raw := NoMethod(*s)
635	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
636}
637
638// GoogleCloudMlV1StudyConfigParameterSpecMatchingParentDiscreteValueSpec
639// : Represents the spec to match discrete values from parent parameter.
640type GoogleCloudMlV1StudyConfigParameterSpecMatchingParentDiscreteValueSpec struct {
641	// Values: Matches values of the parent parameter with type 'DISCRETE'.
642	// All values must exist in `discrete_value_spec` of parent parameter.
643	Values []float64 `json:"values,omitempty"`
644
645	// ForceSendFields is a list of field names (e.g. "Values") to
646	// unconditionally include in API requests. By default, fields with
647	// empty values are omitted from API requests. However, any non-pointer,
648	// non-interface field appearing in ForceSendFields will be sent to the
649	// server regardless of whether the field is empty or not. This may be
650	// used to include empty fields in Patch requests.
651	ForceSendFields []string `json:"-"`
652
653	// NullFields is a list of field names (e.g. "Values") to include in API
654	// requests with the JSON null value. By default, fields with empty
655	// values are omitted from API requests. However, any field with an
656	// empty value appearing in NullFields will be sent to the server as
657	// null. It is an error if a field in this list has a non-empty value.
658	// This may be used to include null fields in Patch requests.
659	NullFields []string `json:"-"`
660}
661
662func (s *GoogleCloudMlV1StudyConfigParameterSpecMatchingParentDiscreteValueSpec) MarshalJSON() ([]byte, error) {
663	type NoMethod GoogleCloudMlV1StudyConfigParameterSpecMatchingParentDiscreteValueSpec
664	raw := NoMethod(*s)
665	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
666}
667
668// GoogleCloudMlV1StudyConfigParameterSpecMatchingParentIntValueSpec:
669// Represents the spec to match integer values from parent parameter.
670type GoogleCloudMlV1StudyConfigParameterSpecMatchingParentIntValueSpec struct {
671	// Values: Matches values of the parent parameter with type 'INTEGER'.
672	// All values must lie in `integer_value_spec` of parent parameter.
673	Values googleapi.Int64s `json:"values,omitempty"`
674
675	// ForceSendFields is a list of field names (e.g. "Values") to
676	// unconditionally include in API requests. By default, fields with
677	// empty values are omitted from API requests. However, any non-pointer,
678	// non-interface field appearing in ForceSendFields will be sent to the
679	// server regardless of whether the field is empty or not. This may be
680	// used to include empty fields in Patch requests.
681	ForceSendFields []string `json:"-"`
682
683	// NullFields is a list of field names (e.g. "Values") to include in API
684	// requests with the JSON null value. By default, fields with empty
685	// values are omitted from API requests. However, any field with an
686	// empty value appearing in NullFields will be sent to the server as
687	// null. It is an error if a field in this list has a non-empty value.
688	// This may be used to include null fields in Patch requests.
689	NullFields []string `json:"-"`
690}
691
692func (s *GoogleCloudMlV1StudyConfigParameterSpecMatchingParentIntValueSpec) MarshalJSON() ([]byte, error) {
693	type NoMethod GoogleCloudMlV1StudyConfigParameterSpecMatchingParentIntValueSpec
694	raw := NoMethod(*s)
695	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
696}
697
698// GoogleCloudMlV1StudyConfigMetricSpec: Represents a metric to
699// optimize.
700type GoogleCloudMlV1StudyConfigMetricSpec struct {
701	// Goal: Required. The optimization goal of the metric.
702	//
703	// Possible values:
704	//   "GOAL_TYPE_UNSPECIFIED" - Goal Type will default to maximize.
705	//   "MAXIMIZE" - Maximize the goal metric.
706	//   "MINIMIZE" - Minimize the goal metric.
707	Goal string `json:"goal,omitempty"`
708
709	// Metric: Required. The name of the metric.
710	Metric string `json:"metric,omitempty"`
711
712	// ForceSendFields is a list of field names (e.g. "Goal") to
713	// unconditionally include in API requests. By default, fields with
714	// empty values are omitted from API requests. However, any non-pointer,
715	// non-interface field appearing in ForceSendFields will be sent to the
716	// server regardless of whether the field is empty or not. This may be
717	// used to include empty fields in Patch requests.
718	ForceSendFields []string `json:"-"`
719
720	// NullFields is a list of field names (e.g. "Goal") to include in API
721	// requests with the JSON null value. By default, fields with empty
722	// values are omitted from API requests. However, any field with an
723	// empty value appearing in NullFields will be sent to the server as
724	// null. It is an error if a field in this list has a non-empty value.
725	// This may be used to include null fields in Patch requests.
726	NullFields []string `json:"-"`
727}
728
729func (s *GoogleCloudMlV1StudyConfigMetricSpec) MarshalJSON() ([]byte, error) {
730	type NoMethod GoogleCloudMlV1StudyConfigMetricSpec
731	raw := NoMethod(*s)
732	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
733}
734
735// GoogleCloudMlV1StudyConfigParameterSpec: Represents a single
736// parameter to optimize.
737type GoogleCloudMlV1StudyConfigParameterSpec struct {
738	// CategoricalValueSpec: The value spec for a 'CATEGORICAL' parameter.
739	CategoricalValueSpec *GoogleCloudMlV1StudyConfigParameterSpecCategoricalValueSpec `json:"categoricalValueSpec,omitempty"`
740
741	// ChildParameterSpecs: A child node is active if the parameter's value
742	// matches the child node's matching_parent_values. If two items in
743	// child_parameter_specs have the same name, they must have disjoint
744	// matching_parent_values.
745	ChildParameterSpecs []*GoogleCloudMlV1StudyConfigParameterSpec `json:"childParameterSpecs,omitempty"`
746
747	// DiscreteValueSpec: The value spec for a 'DISCRETE' parameter.
748	DiscreteValueSpec *GoogleCloudMlV1StudyConfigParameterSpecDiscreteValueSpec `json:"discreteValueSpec,omitempty"`
749
750	// DoubleValueSpec: The value spec for a 'DOUBLE' parameter.
751	DoubleValueSpec *GoogleCloudMlV1StudyConfigParameterSpecDoubleValueSpec `json:"doubleValueSpec,omitempty"`
752
753	// IntegerValueSpec: The value spec for an 'INTEGER' parameter.
754	IntegerValueSpec *GoogleCloudMlV1StudyConfigParameterSpecIntegerValueSpec `json:"integerValueSpec,omitempty"`
755
756	// Parameter: Required. The parameter name must be unique amongst all
757	// ParameterSpecs.
758	Parameter string `json:"parameter,omitempty"`
759
760	ParentCategoricalValues *GoogleCloudMlV1StudyConfigParameterSpecMatchingParentCategoricalValueSpec `json:"parentCategoricalValues,omitempty"`
761
762	ParentDiscreteValues *GoogleCloudMlV1StudyConfigParameterSpecMatchingParentDiscreteValueSpec `json:"parentDiscreteValues,omitempty"`
763
764	ParentIntValues *GoogleCloudMlV1StudyConfigParameterSpecMatchingParentIntValueSpec `json:"parentIntValues,omitempty"`
765
766	// ScaleType: How the parameter should be scaled. Leave unset for
767	// categorical parameters.
768	//
769	// Possible values:
770	//   "SCALE_TYPE_UNSPECIFIED" - By default, no scaling is applied.
771	//   "UNIT_LINEAR_SCALE" - Scales the feasible space to (0, 1) linearly.
772	//   "UNIT_LOG_SCALE" - Scales the feasible space logarithmically to (0,
773	// 1). The entire feasible space must be strictly positive.
774	//   "UNIT_REVERSE_LOG_SCALE" - Scales the feasible space "reverse"
775	// logarithmically to (0, 1). The result is that values close to the top
776	// of the feasible space are spread out more than points near the
777	// bottom. The entire feasible space must be strictly positive.
778	ScaleType string `json:"scaleType,omitempty"`
779
780	// Type: Required. The type of the parameter.
781	//
782	// Possible values:
783	//   "PARAMETER_TYPE_UNSPECIFIED" - You must specify a valid type. Using
784	// this unspecified type will result in an error.
785	//   "DOUBLE" - Type for real-valued parameters.
786	//   "INTEGER" - Type for integral parameters.
787	//   "CATEGORICAL" - The parameter is categorical, with a value chosen
788	// from the categories field.
789	//   "DISCRETE" - The parameter is real valued, with a fixed set of
790	// feasible points. If `type==DISCRETE`, feasible_points must be
791	// provided, and {`min_value`, `max_value`} will be ignored.
792	Type string `json:"type,omitempty"`
793
794	// ForceSendFields is a list of field names (e.g.
795	// "CategoricalValueSpec") to unconditionally include in API requests.
796	// By default, fields with empty values are omitted from API requests.
797	// However, any non-pointer, non-interface field appearing in
798	// ForceSendFields will be sent to the server regardless of whether the
799	// field is empty or not. This may be used to include empty fields in
800	// Patch requests.
801	ForceSendFields []string `json:"-"`
802
803	// NullFields is a list of field names (e.g. "CategoricalValueSpec") to
804	// include in API requests with the JSON null value. By default, fields
805	// with empty values are omitted from API requests. However, any field
806	// with an empty value appearing in NullFields will be sent to the
807	// server as null. It is an error if a field in this list has a
808	// non-empty value. This may be used to include null fields in Patch
809	// requests.
810	NullFields []string `json:"-"`
811}
812
813func (s *GoogleCloudMlV1StudyConfigParameterSpec) MarshalJSON() ([]byte, error) {
814	type NoMethod GoogleCloudMlV1StudyConfigParameterSpec
815	raw := NoMethod(*s)
816	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
817}
818
819// GoogleCloudMlV1TrialParameter: A message representing a parameter to
820// be tuned. Contains the name of the parameter and the suggested value
821// to use for this trial.
822type GoogleCloudMlV1TrialParameter struct {
823	// FloatValue: Must be set if ParameterType is DOUBLE or DISCRETE.
824	FloatValue float64 `json:"floatValue,omitempty"`
825
826	// IntValue: Must be set if ParameterType is INTEGER
827	IntValue int64 `json:"intValue,omitempty,string"`
828
829	// Parameter: The name of the parameter.
830	Parameter string `json:"parameter,omitempty"`
831
832	// StringValue: Must be set if ParameterTypeis CATEGORICAL
833	StringValue string `json:"stringValue,omitempty"`
834
835	// ForceSendFields is a list of field names (e.g. "FloatValue") to
836	// unconditionally include in API requests. By default, fields with
837	// empty values are omitted from API requests. However, any non-pointer,
838	// non-interface field appearing in ForceSendFields will be sent to the
839	// server regardless of whether the field is empty or not. This may be
840	// used to include empty fields in Patch requests.
841	ForceSendFields []string `json:"-"`
842
843	// NullFields is a list of field names (e.g. "FloatValue") to include in
844	// API requests with the JSON null value. By default, fields with empty
845	// values are omitted from API requests. However, any field with an
846	// empty value appearing in NullFields will be sent to the server as
847	// null. It is an error if a field in this list has a non-empty value.
848	// This may be used to include null fields in Patch requests.
849	NullFields []string `json:"-"`
850}
851
852func (s *GoogleCloudMlV1TrialParameter) MarshalJSON() ([]byte, error) {
853	type NoMethod GoogleCloudMlV1TrialParameter
854	raw := NoMethod(*s)
855	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
856}
857
858func (s *GoogleCloudMlV1TrialParameter) UnmarshalJSON(data []byte) error {
859	type NoMethod GoogleCloudMlV1TrialParameter
860	var s1 struct {
861		FloatValue gensupport.JSONFloat64 `json:"floatValue"`
862		*NoMethod
863	}
864	s1.NoMethod = (*NoMethod)(s)
865	if err := json.Unmarshal(data, &s1); err != nil {
866		return err
867	}
868	s.FloatValue = float64(s1.FloatValue)
869	return nil
870}
871
872// GoogleCloudMlV1__AcceleratorConfig: Represents a hardware accelerator
873// request config. Note that the AcceleratorConfig can be used in both
874// Jobs and Versions. Learn more about accelerators for training
875// (/ml-engine/docs/using-gpus) and accelerators for online prediction
876// (/ml-engine/docs/machine-types-online-prediction#gpus).
877type GoogleCloudMlV1__AcceleratorConfig struct {
878	// Count: The number of accelerators to attach to each machine running
879	// the job.
880	Count int64 `json:"count,omitempty,string"`
881
882	// Type: The type of accelerator to use.
883	//
884	// Possible values:
885	//   "ACCELERATOR_TYPE_UNSPECIFIED" - Unspecified accelerator type.
886	// Default to no GPU.
887	//   "NVIDIA_TESLA_K80" - Nvidia Tesla K80 GPU.
888	//   "NVIDIA_TESLA_P100" - Nvidia Tesla P100 GPU.
889	//   "NVIDIA_TESLA_V100" - Nvidia V100 GPU.
890	//   "NVIDIA_TESLA_P4" - Nvidia Tesla P4 GPU.
891	//   "NVIDIA_TESLA_T4" - Nvidia T4 GPU.
892	//   "NVIDIA_TESLA_A100" - Nvidia A100 GPU.
893	//   "TPU_V2" - TPU v2.
894	//   "TPU_V3" - TPU v3.
895	Type string `json:"type,omitempty"`
896
897	// ForceSendFields is a list of field names (e.g. "Count") to
898	// unconditionally include in API requests. By default, fields with
899	// empty values are omitted from API requests. However, any non-pointer,
900	// non-interface field appearing in ForceSendFields will be sent to the
901	// server regardless of whether the field is empty or not. This may be
902	// used to include empty fields in Patch requests.
903	ForceSendFields []string `json:"-"`
904
905	// NullFields is a list of field names (e.g. "Count") to include in API
906	// requests with the JSON null value. By default, fields with empty
907	// values are omitted from API requests. However, any field with an
908	// empty value appearing in NullFields will be sent to the server as
909	// null. It is an error if a field in this list has a non-empty value.
910	// This may be used to include null fields in Patch requests.
911	NullFields []string `json:"-"`
912}
913
914func (s *GoogleCloudMlV1__AcceleratorConfig) MarshalJSON() ([]byte, error) {
915	type NoMethod GoogleCloudMlV1__AcceleratorConfig
916	raw := NoMethod(*s)
917	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
918}
919
920// GoogleCloudMlV1__AddTrialMeasurementRequest: The request message for
921// the AddTrialMeasurement service method.
922type GoogleCloudMlV1__AddTrialMeasurementRequest struct {
923	// Measurement: Required. The measurement to be added to a trial.
924	Measurement *GoogleCloudMlV1__Measurement `json:"measurement,omitempty"`
925
926	// ForceSendFields is a list of field names (e.g. "Measurement") to
927	// unconditionally include in API requests. By default, fields with
928	// empty values are omitted from API requests. However, any non-pointer,
929	// non-interface field appearing in ForceSendFields will be sent to the
930	// server regardless of whether the field is empty or not. This may be
931	// used to include empty fields in Patch requests.
932	ForceSendFields []string `json:"-"`
933
934	// NullFields is a list of field names (e.g. "Measurement") to include
935	// in API requests with the JSON null value. By default, fields with
936	// empty values are omitted from API requests. However, any field with
937	// an empty value appearing in NullFields will be sent to the server as
938	// null. It is an error if a field in this list has a non-empty value.
939	// This may be used to include null fields in Patch requests.
940	NullFields []string `json:"-"`
941}
942
943func (s *GoogleCloudMlV1__AddTrialMeasurementRequest) MarshalJSON() ([]byte, error) {
944	type NoMethod GoogleCloudMlV1__AddTrialMeasurementRequest
945	raw := NoMethod(*s)
946	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
947}
948
949// GoogleCloudMlV1__AutoScaling: Options for automatically scaling a
950// model.
951type GoogleCloudMlV1__AutoScaling struct {
952	// MaxNodes: The maximum number of nodes to scale this model under load.
953	// The actual value will depend on resource quota and availability.
954	MaxNodes int64 `json:"maxNodes,omitempty"`
955
956	// Metrics: MetricSpec contains the specifications to use to calculate
957	// the desired nodes count.
958	Metrics []*GoogleCloudMlV1__MetricSpec `json:"metrics,omitempty"`
959
960	// MinNodes: Optional. The minimum number of nodes to allocate for this
961	// model. These nodes are always up, starting from the time the model is
962	// deployed. Therefore, the cost of operating this model will be at
963	// least `rate` * `min_nodes` * number of hours since last billing
964	// cycle, where `rate` is the cost per node-hour as documented in the
965	// pricing guide (/ml-engine/docs/pricing), even if no predictions are
966	// performed. There is additional cost for each prediction performed.
967	// Unlike manual scaling, if the load gets too heavy for the nodes that
968	// are up, the service will automatically add nodes to handle the
969	// increased load as well as scale back as traffic drops, always
970	// maintaining at least `min_nodes`. You will be charged for the time in
971	// which additional nodes are used. If `min_nodes` is not specified and
972	// AutoScaling is used with a legacy (MLS1) machine type
973	// (/ml-engine/docs/machine-types-online-prediction), `min_nodes`
974	// defaults to 0, in which case, when traffic to a model stops (and
975	// after a cool-down period), nodes will be shut down and no charges
976	// will be incurred until traffic to the model resumes. If `min_nodes`
977	// is not specified and AutoScaling is used with a Compute Engine (N1)
978	// machine type (/ml-engine/docs/machine-types-online-prediction),
979	// `min_nodes` defaults to 1. `min_nodes` must be at least 1 for use
980	// with a Compute Engine machine type. You can set `min_nodes` when
981	// creating the model version, and you can also update `min_nodes` for
982	// an existing version: update_body.json: { 'autoScaling': { 'minNodes':
983	// 5 } } HTTP request: PATCH
984	// https://ml.googleapis.com/v1/{name=projects/*/models/*/versions/*}?update_mask=autoScaling.minNodes
985	// -d @./update_body.json
986	MinNodes int64 `json:"minNodes,omitempty"`
987
988	// ForceSendFields is a list of field names (e.g. "MaxNodes") to
989	// unconditionally include in API requests. By default, fields with
990	// empty values are omitted from API requests. However, any non-pointer,
991	// non-interface field appearing in ForceSendFields will be sent to the
992	// server regardless of whether the field is empty or not. This may be
993	// used to include empty fields in Patch requests.
994	ForceSendFields []string `json:"-"`
995
996	// NullFields is a list of field names (e.g. "MaxNodes") to include in
997	// API requests with the JSON null value. By default, fields with empty
998	// values are omitted from API requests. However, any field with an
999	// empty value appearing in NullFields will be sent to the server as
1000	// null. It is an error if a field in this list has a non-empty value.
1001	// This may be used to include null fields in Patch requests.
1002	NullFields []string `json:"-"`
1003}
1004
1005func (s *GoogleCloudMlV1__AutoScaling) MarshalJSON() ([]byte, error) {
1006	type NoMethod GoogleCloudMlV1__AutoScaling
1007	raw := NoMethod(*s)
1008	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1009}
1010
1011// GoogleCloudMlV1__AutomatedStoppingConfig: Configuration for Automated
1012// Early Stopping of Trials. If no implementation_config is set,
1013// automated early stopping will not be run.
1014type GoogleCloudMlV1__AutomatedStoppingConfig struct {
1015	DecayCurveStoppingConfig *GoogleCloudMlV1AutomatedStoppingConfigDecayCurveAutomatedStoppingConfig `json:"decayCurveStoppingConfig,omitempty"`
1016
1017	MedianAutomatedStoppingConfig *GoogleCloudMlV1AutomatedStoppingConfigMedianAutomatedStoppingConfig `json:"medianAutomatedStoppingConfig,omitempty"`
1018
1019	// ForceSendFields is a list of field names (e.g.
1020	// "DecayCurveStoppingConfig") to unconditionally include in API
1021	// requests. By default, fields with empty values are omitted from API
1022	// requests. However, any non-pointer, non-interface field appearing in
1023	// ForceSendFields will be sent to the server regardless of whether the
1024	// field is empty or not. This may be used to include empty fields in
1025	// Patch requests.
1026	ForceSendFields []string `json:"-"`
1027
1028	// NullFields is a list of field names (e.g. "DecayCurveStoppingConfig")
1029	// to include in API requests with the JSON null value. By default,
1030	// fields with empty values are omitted from API requests. However, any
1031	// field with an empty value appearing in NullFields will be sent to the
1032	// server as null. It is an error if a field in this list has a
1033	// non-empty value. This may be used to include null fields in Patch
1034	// requests.
1035	NullFields []string `json:"-"`
1036}
1037
1038func (s *GoogleCloudMlV1__AutomatedStoppingConfig) MarshalJSON() ([]byte, error) {
1039	type NoMethod GoogleCloudMlV1__AutomatedStoppingConfig
1040	raw := NoMethod(*s)
1041	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1042}
1043
1044// GoogleCloudMlV1__BuiltInAlgorithmOutput: Represents output related to
1045// a built-in algorithm Job.
1046type GoogleCloudMlV1__BuiltInAlgorithmOutput struct {
1047	// Framework: Framework on which the built-in algorithm was trained.
1048	Framework string `json:"framework,omitempty"`
1049
1050	// ModelPath: The Cloud Storage path to the `model/` directory where the
1051	// training job saves the trained model. Only set for successful jobs
1052	// that don't use hyperparameter tuning.
1053	ModelPath string `json:"modelPath,omitempty"`
1054
1055	// PythonVersion: Python version on which the built-in algorithm was
1056	// trained.
1057	PythonVersion string `json:"pythonVersion,omitempty"`
1058
1059	// RuntimeVersion: AI Platform runtime version on which the built-in
1060	// algorithm was trained.
1061	RuntimeVersion string `json:"runtimeVersion,omitempty"`
1062
1063	// ForceSendFields is a list of field names (e.g. "Framework") to
1064	// unconditionally include in API requests. By default, fields with
1065	// empty values are omitted from API requests. However, any non-pointer,
1066	// non-interface field appearing in ForceSendFields will be sent to the
1067	// server regardless of whether the field is empty or not. This may be
1068	// used to include empty fields in Patch requests.
1069	ForceSendFields []string `json:"-"`
1070
1071	// NullFields is a list of field names (e.g. "Framework") to include in
1072	// API requests with the JSON null value. By default, fields with empty
1073	// values are omitted from API requests. However, any field with an
1074	// empty value appearing in NullFields will be sent to the server as
1075	// null. It is an error if a field in this list has a non-empty value.
1076	// This may be used to include null fields in Patch requests.
1077	NullFields []string `json:"-"`
1078}
1079
1080func (s *GoogleCloudMlV1__BuiltInAlgorithmOutput) MarshalJSON() ([]byte, error) {
1081	type NoMethod GoogleCloudMlV1__BuiltInAlgorithmOutput
1082	raw := NoMethod(*s)
1083	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1084}
1085
1086// GoogleCloudMlV1__CancelJobRequest: Request message for the CancelJob
1087// method.
1088type GoogleCloudMlV1__CancelJobRequest struct {
1089}
1090
1091type GoogleCloudMlV1__Capability struct {
1092	// AvailableAccelerators: Available accelerators for the capability.
1093	//
1094	// Possible values:
1095	//   "ACCELERATOR_TYPE_UNSPECIFIED" - Unspecified accelerator type.
1096	// Default to no GPU.
1097	//   "NVIDIA_TESLA_K80" - Nvidia Tesla K80 GPU.
1098	//   "NVIDIA_TESLA_P100" - Nvidia Tesla P100 GPU.
1099	//   "NVIDIA_TESLA_V100" - Nvidia V100 GPU.
1100	//   "NVIDIA_TESLA_P4" - Nvidia Tesla P4 GPU.
1101	//   "NVIDIA_TESLA_T4" - Nvidia T4 GPU.
1102	//   "NVIDIA_TESLA_A100" - Nvidia A100 GPU.
1103	//   "TPU_V2" - TPU v2.
1104	//   "TPU_V3" - TPU v3.
1105	AvailableAccelerators []string `json:"availableAccelerators,omitempty"`
1106
1107	// Possible values:
1108	//   "TYPE_UNSPECIFIED"
1109	//   "TRAINING"
1110	//   "BATCH_PREDICTION"
1111	//   "ONLINE_PREDICTION"
1112	Type string `json:"type,omitempty"`
1113
1114	// ForceSendFields is a list of field names (e.g.
1115	// "AvailableAccelerators") to unconditionally include in API requests.
1116	// By default, fields with empty values are omitted from API requests.
1117	// However, any non-pointer, non-interface field appearing in
1118	// ForceSendFields will be sent to the server regardless of whether the
1119	// field is empty or not. This may be used to include empty fields in
1120	// Patch requests.
1121	ForceSendFields []string `json:"-"`
1122
1123	// NullFields is a list of field names (e.g. "AvailableAccelerators") to
1124	// include in API requests with the JSON null value. By default, fields
1125	// with empty values are omitted from API requests. However, any field
1126	// with an empty value appearing in NullFields will be sent to the
1127	// server as null. It is an error if a field in this list has a
1128	// non-empty value. This may be used to include null fields in Patch
1129	// requests.
1130	NullFields []string `json:"-"`
1131}
1132
1133func (s *GoogleCloudMlV1__Capability) MarshalJSON() ([]byte, error) {
1134	type NoMethod GoogleCloudMlV1__Capability
1135	raw := NoMethod(*s)
1136	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1137}
1138
1139// GoogleCloudMlV1__CheckTrialEarlyStoppingStateMetatdata: This message
1140// will be placed in the metadata field of a
1141// google.longrunning.Operation associated with a
1142// CheckTrialEarlyStoppingState request.
1143type GoogleCloudMlV1__CheckTrialEarlyStoppingStateMetatdata struct {
1144	// CreateTime: The time at which the operation was submitted.
1145	CreateTime string `json:"createTime,omitempty"`
1146
1147	// Study: The name of the study that the trial belongs to.
1148	Study string `json:"study,omitempty"`
1149
1150	// Trial: The trial name.
1151	Trial string `json:"trial,omitempty"`
1152
1153	// ForceSendFields is a list of field names (e.g. "CreateTime") to
1154	// unconditionally include in API requests. By default, fields with
1155	// empty values are omitted from API requests. However, any non-pointer,
1156	// non-interface field appearing in ForceSendFields will be sent to the
1157	// server regardless of whether the field is empty or not. This may be
1158	// used to include empty fields in Patch requests.
1159	ForceSendFields []string `json:"-"`
1160
1161	// NullFields is a list of field names (e.g. "CreateTime") to include in
1162	// API requests with the JSON null value. By default, fields with empty
1163	// values are omitted from API requests. However, any field with an
1164	// empty value appearing in NullFields will be sent to the server as
1165	// null. It is an error if a field in this list has a non-empty value.
1166	// This may be used to include null fields in Patch requests.
1167	NullFields []string `json:"-"`
1168}
1169
1170func (s *GoogleCloudMlV1__CheckTrialEarlyStoppingStateMetatdata) MarshalJSON() ([]byte, error) {
1171	type NoMethod GoogleCloudMlV1__CheckTrialEarlyStoppingStateMetatdata
1172	raw := NoMethod(*s)
1173	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1174}
1175
1176// GoogleCloudMlV1__CheckTrialEarlyStoppingStateRequest: The request
1177// message for the CheckTrialEarlyStoppingState service method.
1178type GoogleCloudMlV1__CheckTrialEarlyStoppingStateRequest struct {
1179}
1180
1181// GoogleCloudMlV1__CheckTrialEarlyStoppingStateResponse: The message
1182// will be placed in the response field of a completed
1183// google.longrunning.Operation associated with a
1184// CheckTrialEarlyStoppingState request.
1185type GoogleCloudMlV1__CheckTrialEarlyStoppingStateResponse struct {
1186	// EndTime: The time at which operation processing completed.
1187	EndTime string `json:"endTime,omitempty"`
1188
1189	// ShouldStop: True if the Trial should stop.
1190	ShouldStop bool `json:"shouldStop,omitempty"`
1191
1192	// StartTime: The time at which the operation was started.
1193	StartTime string `json:"startTime,omitempty"`
1194
1195	// ForceSendFields is a list of field names (e.g. "EndTime") to
1196	// unconditionally include in API requests. By default, fields with
1197	// empty values are omitted from API requests. However, any non-pointer,
1198	// non-interface field appearing in ForceSendFields will be sent to the
1199	// server regardless of whether the field is empty or not. This may be
1200	// used to include empty fields in Patch requests.
1201	ForceSendFields []string `json:"-"`
1202
1203	// NullFields is a list of field names (e.g. "EndTime") to include in
1204	// API requests with the JSON null value. By default, fields with empty
1205	// values are omitted from API requests. However, any field with an
1206	// empty value appearing in NullFields will be sent to the server as
1207	// null. It is an error if a field in this list has a non-empty value.
1208	// This may be used to include null fields in Patch requests.
1209	NullFields []string `json:"-"`
1210}
1211
1212func (s *GoogleCloudMlV1__CheckTrialEarlyStoppingStateResponse) MarshalJSON() ([]byte, error) {
1213	type NoMethod GoogleCloudMlV1__CheckTrialEarlyStoppingStateResponse
1214	raw := NoMethod(*s)
1215	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1216}
1217
1218// GoogleCloudMlV1__CompleteTrialRequest: The request message for the
1219// CompleteTrial service method.
1220type GoogleCloudMlV1__CompleteTrialRequest struct {
1221	// FinalMeasurement: Optional. If provided, it will be used as the
1222	// completed trial's final_measurement; Otherwise, the service will
1223	// auto-select a previously reported measurement as the
1224	// final-measurement
1225	FinalMeasurement *GoogleCloudMlV1__Measurement `json:"finalMeasurement,omitempty"`
1226
1227	// InfeasibleReason: Optional. A human readable reason why the trial was
1228	// infeasible. This should only be provided if `trial_infeasible` is
1229	// true.
1230	InfeasibleReason string `json:"infeasibleReason,omitempty"`
1231
1232	// TrialInfeasible: Optional. True if the trial cannot be run with the
1233	// given Parameter, and final_measurement will be ignored.
1234	TrialInfeasible bool `json:"trialInfeasible,omitempty"`
1235
1236	// ForceSendFields is a list of field names (e.g. "FinalMeasurement") to
1237	// unconditionally include in API requests. By default, fields with
1238	// empty values are omitted from API requests. However, any non-pointer,
1239	// non-interface field appearing in ForceSendFields will be sent to the
1240	// server regardless of whether the field is empty or not. This may be
1241	// used to include empty fields in Patch requests.
1242	ForceSendFields []string `json:"-"`
1243
1244	// NullFields is a list of field names (e.g. "FinalMeasurement") to
1245	// include in API requests with the JSON null value. By default, fields
1246	// with empty values are omitted from API requests. However, any field
1247	// with an empty value appearing in NullFields will be sent to the
1248	// server as null. It is an error if a field in this list has a
1249	// non-empty value. This may be used to include null fields in Patch
1250	// requests.
1251	NullFields []string `json:"-"`
1252}
1253
1254func (s *GoogleCloudMlV1__CompleteTrialRequest) MarshalJSON() ([]byte, error) {
1255	type NoMethod GoogleCloudMlV1__CompleteTrialRequest
1256	raw := NoMethod(*s)
1257	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1258}
1259
1260type GoogleCloudMlV1__Config struct {
1261	// TpuServiceAccount: The service account Cloud ML uses to run on TPU
1262	// node.
1263	TpuServiceAccount string `json:"tpuServiceAccount,omitempty"`
1264
1265	// ForceSendFields is a list of field names (e.g. "TpuServiceAccount")
1266	// to unconditionally include in API requests. By default, fields with
1267	// empty values are omitted from API requests. However, any non-pointer,
1268	// non-interface field appearing in ForceSendFields will be sent to the
1269	// server regardless of whether the field is empty or not. This may be
1270	// used to include empty fields in Patch requests.
1271	ForceSendFields []string `json:"-"`
1272
1273	// NullFields is a list of field names (e.g. "TpuServiceAccount") to
1274	// include in API requests with the JSON null value. By default, fields
1275	// with empty values are omitted from API requests. However, any field
1276	// with an empty value appearing in NullFields will be sent to the
1277	// server as null. It is an error if a field in this list has a
1278	// non-empty value. This may be used to include null fields in Patch
1279	// requests.
1280	NullFields []string `json:"-"`
1281}
1282
1283func (s *GoogleCloudMlV1__Config) MarshalJSON() ([]byte, error) {
1284	type NoMethod GoogleCloudMlV1__Config
1285	raw := NoMethod(*s)
1286	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1287}
1288
1289// GoogleCloudMlV1__ContainerPort: Represents a network port in a single
1290// container. This message is a subset of the Kubernetes ContainerPort
1291// v1 core specification
1292// (https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#containerport-v1-core).
1293type GoogleCloudMlV1__ContainerPort struct {
1294	// ContainerPort: Number of the port to expose on the container. This
1295	// must be a valid port number: 0 < PORT_NUMBER < 65536.
1296	ContainerPort int64 `json:"containerPort,omitempty"`
1297
1298	// ForceSendFields is a list of field names (e.g. "ContainerPort") to
1299	// unconditionally include in API requests. By default, fields with
1300	// empty values are omitted from API requests. However, any non-pointer,
1301	// non-interface field appearing in ForceSendFields will be sent to the
1302	// server regardless of whether the field is empty or not. This may be
1303	// used to include empty fields in Patch requests.
1304	ForceSendFields []string `json:"-"`
1305
1306	// NullFields is a list of field names (e.g. "ContainerPort") to include
1307	// in API requests with the JSON null value. By default, fields with
1308	// empty values are omitted from API requests. However, any field with
1309	// an empty value appearing in NullFields will be sent to the server as
1310	// null. It is an error if a field in this list has a non-empty value.
1311	// This may be used to include null fields in Patch requests.
1312	NullFields []string `json:"-"`
1313}
1314
1315func (s *GoogleCloudMlV1__ContainerPort) MarshalJSON() ([]byte, error) {
1316	type NoMethod GoogleCloudMlV1__ContainerPort
1317	raw := NoMethod(*s)
1318	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1319}
1320
1321// GoogleCloudMlV1__ContainerSpec: Specification of a custom container
1322// for serving predictions. This message is a subset of the Kubernetes
1323// Container v1 core specification
1324// (https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#container-v1-core).
1325type GoogleCloudMlV1__ContainerSpec struct {
1326	// Args: Immutable. Specifies arguments for the command that runs when
1327	// the container starts. This overrides the container's `CMD`
1328	// (https://docs.docker.com/engine/reference/builder/#cmd). Specify this
1329	// field as an array of executable and arguments, similar to a Docker
1330	// `CMD`'s "default parameters" form. If you don't specify this field
1331	// but do specify the command field, then the command from the `command`
1332	// field runs without any additional arguments. See the Kubernetes
1333	// documentation about how the `command` and `args` fields interact with
1334	// a container's `ENTRYPOINT` and `CMD`
1335	// (https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#notes).
1336	// If you don't specify this field and don't specify the `commmand`
1337	// field, then the container's `ENTRYPOINT`
1338	// (https://docs.docker.com/engine/reference/builder/#cmd) and `CMD`
1339	// determine what runs based on their default behavior. See the Docker
1340	// documentation about how `CMD` and `ENTRYPOINT` interact
1341	// (https://docs.docker.com/engine/reference/builder/#understand-how-cmd-and-entrypoint-interact).
1342	// In this field, you can reference environment variables set by AI
1343	// Platform Prediction
1344	// (/ai-platform/prediction/docs/custom-container-requirements#aip-variab
1345	// les) and environment variables set in the env field. You cannot
1346	// reference environment variables set in the Docker image. In order for
1347	// environment variables to be expanded, reference them by using the
1348	// following syntax: $( VARIABLE_NAME) Note that this differs from Bash
1349	// variable expansion, which does not use parentheses. If a variable
1350	// cannot be resolved, the reference in the input string is used
1351	// unchanged. To avoid variable expansion, you can escape this syntax
1352	// with `$$`; for example: $$(VARIABLE_NAME) This field corresponds to
1353	// the `args` field of the Kubernetes Containers v1 core API
1354	// (https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#container-v1-core).
1355	Args []string `json:"args,omitempty"`
1356
1357	// Command: Immutable. Specifies the command that runs when the
1358	// container starts. This overrides the container's `ENTRYPOINT`
1359	// (https://docs.docker.com/engine/reference/builder/#entrypoint).
1360	// Specify this field as an array of executable and arguments, similar
1361	// to a Docker `ENTRYPOINT`'s "exec" form, not its "shell" form. If you
1362	// do not specify this field, then the container's `ENTRYPOINT` runs, in
1363	// conjunction with the args field or the container's `CMD`
1364	// (https://docs.docker.com/engine/reference/builder/#cmd), if either
1365	// exists. If this field is not specified and the container does not
1366	// have an `ENTRYPOINT`, then refer to the Docker documentation about
1367	// how `CMD` and `ENTRYPOINT` interact
1368	// (https://docs.docker.com/engine/reference/builder/#understand-how-cmd-and-entrypoint-interact).
1369	// If you specify this field, then you can also specify the `args` field
1370	// to provide additional arguments for this command. However, if you
1371	// specify this field, then the container's `CMD` is ignored. See the
1372	// Kubernetes documentation about how the `command` and `args` fields
1373	// interact with a container's `ENTRYPOINT` and `CMD`
1374	// (https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#notes).
1375	// In this field, you can reference environment variables set by AI
1376	// Platform Prediction
1377	// (/ai-platform/prediction/docs/custom-container-requirements#aip-variab
1378	// les) and environment variables set in the env field. You cannot
1379	// reference environment variables set in the Docker image. In order for
1380	// environment variables to be expanded, reference them by using the
1381	// following syntax: $( VARIABLE_NAME) Note that this differs from Bash
1382	// variable expansion, which does not use parentheses. If a variable
1383	// cannot be resolved, the reference in the input string is used
1384	// unchanged. To avoid variable expansion, you can escape this syntax
1385	// with `$$`; for example: $$(VARIABLE_NAME) This field corresponds to
1386	// the `command` field of the Kubernetes Containers v1 core API
1387	// (https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#container-v1-core).
1388	Command []string `json:"command,omitempty"`
1389
1390	// Env: Immutable. List of environment variables to set in the
1391	// container. After the container starts running, code running in the
1392	// container can read these environment variables. Additionally, the
1393	// command and args fields can reference these variables. Later entries
1394	// in this list can also reference earlier entries. For example, the
1395	// following example sets the variable `VAR_2` to have the value `foo
1396	// bar`: ```json [ { "name": "VAR_1", "value": "foo" }, { "name":
1397	// "VAR_2", "value": "$(VAR_1) bar" } ] ``` If you switch the order of
1398	// the variables in the example, then the expansion does not occur. This
1399	// field corresponds to the `env` field of the Kubernetes Containers v1
1400	// core API
1401	// (https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#container-v1-core).
1402	Env []*GoogleCloudMlV1__EnvVar `json:"env,omitempty"`
1403
1404	// Image: URI of the Docker image to be used as the custom container for
1405	// serving predictions. This URI must identify an image in Artifact
1406	// Registry (/artifact-registry/docs/overview) and begin with the
1407	// hostname `{REGION}-docker.pkg.dev`, where `{REGION}` is replaced by
1408	// the region that matches AI Platform Prediction regional endpoint
1409	// (/ai-platform/prediction/docs/regional-endpoints) that you are using.
1410	// For example, if you are using the `us-central1-ml.googleapis.com`
1411	// endpoint, then this URI must begin with `us-central1-docker.pkg.dev`.
1412	// To use a custom container, the AI Platform Google-managed service
1413	// account (/ai-platform/prediction/docs/custom-service-account#default)
1414	// must have permission to pull (read) the Docker image at this URI. The
1415	// AI Platform Google-managed service account has the following format:
1416	// `service-{PROJECT_NUMBER}@cloud-ml.google.com.iam.gserviceaccount.com`
1417	//  {PROJECT_NUMBER} is replaced by your Google Cloud project number. By
1418	// default, this service account has necessary permissions to pull an
1419	// Artifact Registry image in the same Google Cloud project where you
1420	// are using AI Platform Prediction. In this case, no configuration is
1421	// necessary. If you want to use an image from a different Google Cloud
1422	// project, learn how to grant the Artifact Registry Reader
1423	// (roles/artifactregistry.reader) role for a repository
1424	// (/artifact-registry/docs/access-control#grant-repo) to your projet's
1425	// AI Platform Google-managed service account. To learn about the
1426	// requirements for the Docker image itself, read Custom container
1427	// requirements
1428	// (/ai-platform/prediction/docs/custom-container-requirements).
1429	Image string `json:"image,omitempty"`
1430
1431	// Ports: Immutable. List of ports to expose from the container. AI
1432	// Platform Prediction sends any prediction requests that it receives to
1433	// the first port on this list. AI Platform Prediction also sends
1434	// liveness and health checks
1435	// (/ai-platform/prediction/docs/custom-container-requirements#health)
1436	// to this port. If you do not specify this field, it defaults to
1437	// following value: ```json [ { "containerPort": 8080 } ] ``` AI
1438	// Platform Prediction does not use ports other than the first one
1439	// listed. This field corresponds to the `ports` field of the Kubernetes
1440	// Containers v1 core API
1441	// (https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#container-v1-core).
1442	Ports []*GoogleCloudMlV1__ContainerPort `json:"ports,omitempty"`
1443
1444	// ForceSendFields is a list of field names (e.g. "Args") to
1445	// unconditionally include in API requests. By default, fields with
1446	// empty values are omitted from API requests. However, any non-pointer,
1447	// non-interface field appearing in ForceSendFields will be sent to the
1448	// server regardless of whether the field is empty or not. This may be
1449	// used to include empty fields in Patch requests.
1450	ForceSendFields []string `json:"-"`
1451
1452	// NullFields is a list of field names (e.g. "Args") to include in API
1453	// requests with the JSON null value. By default, fields with empty
1454	// values are omitted from API requests. However, any field with an
1455	// empty value appearing in NullFields will be sent to the server as
1456	// null. It is an error if a field in this list has a non-empty value.
1457	// This may be used to include null fields in Patch requests.
1458	NullFields []string `json:"-"`
1459}
1460
1461func (s *GoogleCloudMlV1__ContainerSpec) MarshalJSON() ([]byte, error) {
1462	type NoMethod GoogleCloudMlV1__ContainerSpec
1463	raw := NoMethod(*s)
1464	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1465}
1466
1467// GoogleCloudMlV1__DiskConfig: Represents the config of disk options.
1468type GoogleCloudMlV1__DiskConfig struct {
1469	// BootDiskSizeGb: Size in GB of the boot disk (default is 100GB).
1470	BootDiskSizeGb int64 `json:"bootDiskSizeGb,omitempty"`
1471
1472	// BootDiskType: Type of the boot disk (default is "pd-ssd"). Valid
1473	// values: "pd-ssd" (Persistent Disk Solid State Drive) or "pd-standard"
1474	// (Persistent Disk Hard Disk Drive).
1475	BootDiskType string `json:"bootDiskType,omitempty"`
1476
1477	// ForceSendFields is a list of field names (e.g. "BootDiskSizeGb") to
1478	// unconditionally include in API requests. By default, fields with
1479	// empty values are omitted from API requests. However, any non-pointer,
1480	// non-interface field appearing in ForceSendFields will be sent to the
1481	// server regardless of whether the field is empty or not. This may be
1482	// used to include empty fields in Patch requests.
1483	ForceSendFields []string `json:"-"`
1484
1485	// NullFields is a list of field names (e.g. "BootDiskSizeGb") to
1486	// include in API requests with the JSON null value. By default, fields
1487	// with empty values are omitted from API requests. However, any field
1488	// with an empty value appearing in NullFields will be sent to the
1489	// server as null. It is an error if a field in this list has a
1490	// non-empty value. This may be used to include null fields in Patch
1491	// requests.
1492	NullFields []string `json:"-"`
1493}
1494
1495func (s *GoogleCloudMlV1__DiskConfig) MarshalJSON() ([]byte, error) {
1496	type NoMethod GoogleCloudMlV1__DiskConfig
1497	raw := NoMethod(*s)
1498	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1499}
1500
1501// GoogleCloudMlV1__EncryptionConfig: Represents a custom encryption key
1502// configuration that can be applied to a resource.
1503type GoogleCloudMlV1__EncryptionConfig struct {
1504	// KmsKeyName: The Cloud KMS resource identifier of the customer-managed
1505	// encryption key used to protect a resource, such as a training job. It
1506	// has the following format:
1507	// `projects/{PROJECT_ID}/locations/{REGION}/keyRings/{KEY_RING_NAME}/cry
1508	// ptoKeys/{KEY_NAME}`
1509	KmsKeyName string `json:"kmsKeyName,omitempty"`
1510
1511	// ForceSendFields is a list of field names (e.g. "KmsKeyName") to
1512	// unconditionally include in API requests. By default, fields with
1513	// empty values are omitted from API requests. However, any non-pointer,
1514	// non-interface field appearing in ForceSendFields will be sent to the
1515	// server regardless of whether the field is empty or not. This may be
1516	// used to include empty fields in Patch requests.
1517	ForceSendFields []string `json:"-"`
1518
1519	// NullFields is a list of field names (e.g. "KmsKeyName") to include in
1520	// API requests with the JSON null value. By default, fields with empty
1521	// values are omitted from API requests. However, any field with an
1522	// empty value appearing in NullFields will be sent to the server as
1523	// null. It is an error if a field in this list has a non-empty value.
1524	// This may be used to include null fields in Patch requests.
1525	NullFields []string `json:"-"`
1526}
1527
1528func (s *GoogleCloudMlV1__EncryptionConfig) MarshalJSON() ([]byte, error) {
1529	type NoMethod GoogleCloudMlV1__EncryptionConfig
1530	raw := NoMethod(*s)
1531	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1532}
1533
1534// GoogleCloudMlV1__EnvVar: Represents an environment variable to be
1535// made available in a container. This message is a subset of the
1536// Kubernetes EnvVar v1 core specification
1537// (https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#envvar-v1-core).
1538type GoogleCloudMlV1__EnvVar struct {
1539	// Name: Name of the environment variable. Must be a valid C identifier
1540	// (https://github.com/kubernetes/kubernetes/blob/v1.18.8/staging/src/k8s.io/apimachinery/pkg/util/validation/validation.go#L258)
1541	// and must not begin with the prefix `AIP_`.
1542	Name string `json:"name,omitempty"`
1543
1544	// Value: Value of the environment variable. Defaults to an empty
1545	// string. In this field, you can reference environment variables set by
1546	// AI Platform Prediction
1547	// (/ai-platform/prediction/docs/custom-container-requirements#aip-variab
1548	// les) and environment variables set earlier in the same env field as
1549	// where this message occurs. You cannot reference environment variables
1550	// set in the Docker image. In order for environment variables to be
1551	// expanded, reference them by using the following syntax:
1552	// $(VARIABLE_NAME) Note that this differs from Bash variable expansion,
1553	// which does not use parentheses. If a variable cannot be resolved, the
1554	// reference in the input string is used unchanged. To avoid variable
1555	// expansion, you can escape this syntax with `$$`; for example:
1556	// $$(VARIABLE_NAME)
1557	Value string `json:"value,omitempty"`
1558
1559	// ForceSendFields is a list of field names (e.g. "Name") to
1560	// unconditionally include in API requests. By default, fields with
1561	// empty values are omitted from API requests. However, any non-pointer,
1562	// non-interface field appearing in ForceSendFields will be sent to the
1563	// server regardless of whether the field is empty or not. This may be
1564	// used to include empty fields in Patch requests.
1565	ForceSendFields []string `json:"-"`
1566
1567	// NullFields is a list of field names (e.g. "Name") to include in API
1568	// requests with the JSON null value. By default, fields with empty
1569	// values are omitted from API requests. However, any field with an
1570	// empty value appearing in NullFields will be sent to the server as
1571	// null. It is an error if a field in this list has a non-empty value.
1572	// This may be used to include null fields in Patch requests.
1573	NullFields []string `json:"-"`
1574}
1575
1576func (s *GoogleCloudMlV1__EnvVar) MarshalJSON() ([]byte, error) {
1577	type NoMethod GoogleCloudMlV1__EnvVar
1578	raw := NoMethod(*s)
1579	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1580}
1581
1582// GoogleCloudMlV1__ExplainRequest: Request for explanations to be
1583// issued against a trained model.
1584type GoogleCloudMlV1__ExplainRequest struct {
1585	// HttpBody: Required. The explanation request body.
1586	HttpBody *GoogleApi__HttpBody `json:"httpBody,omitempty"`
1587
1588	// ForceSendFields is a list of field names (e.g. "HttpBody") to
1589	// unconditionally include in API requests. By default, fields with
1590	// empty values are omitted from API requests. However, any non-pointer,
1591	// non-interface field appearing in ForceSendFields will be sent to the
1592	// server regardless of whether the field is empty or not. This may be
1593	// used to include empty fields in Patch requests.
1594	ForceSendFields []string `json:"-"`
1595
1596	// NullFields is a list of field names (e.g. "HttpBody") to include in
1597	// API requests with the JSON null value. By default, fields with empty
1598	// values are omitted from API requests. However, any field with an
1599	// empty value appearing in NullFields will be sent to the server as
1600	// null. It is an error if a field in this list has a non-empty value.
1601	// This may be used to include null fields in Patch requests.
1602	NullFields []string `json:"-"`
1603}
1604
1605func (s *GoogleCloudMlV1__ExplainRequest) MarshalJSON() ([]byte, error) {
1606	type NoMethod GoogleCloudMlV1__ExplainRequest
1607	raw := NoMethod(*s)
1608	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1609}
1610
1611// GoogleCloudMlV1__ExplanationConfig: Message holding configuration
1612// options for explaining model predictions. There are three feature
1613// attribution methods supported for TensorFlow models: integrated
1614// gradients, sampled Shapley, and XRAI. Learn more about feature
1615// attributions. (/ai-platform/prediction/docs/ai-explanations/overview)
1616type GoogleCloudMlV1__ExplanationConfig struct {
1617	// IntegratedGradientsAttribution: Attributes credit by computing the
1618	// Aumann-Shapley value taking advantage of the model's fully
1619	// differentiable structure. Refer to this paper for more details:
1620	// https://arxiv.org/abs/1703.01365
1621	IntegratedGradientsAttribution *GoogleCloudMlV1__IntegratedGradientsAttribution `json:"integratedGradientsAttribution,omitempty"`
1622
1623	// SampledShapleyAttribution: An attribution method that approximates
1624	// Shapley values for features that contribute to the label being
1625	// predicted. A sampling strategy is used to approximate the value
1626	// rather than considering all subsets of features.
1627	SampledShapleyAttribution *GoogleCloudMlV1__SampledShapleyAttribution `json:"sampledShapleyAttribution,omitempty"`
1628
1629	// XraiAttribution: Attributes credit by computing the XRAI taking
1630	// advantage of the model's fully differentiable structure. Refer to
1631	// this paper for more details: https://arxiv.org/abs/1906.02825
1632	// Currently only implemented for models with natural image inputs.
1633	XraiAttribution *GoogleCloudMlV1__XraiAttribution `json:"xraiAttribution,omitempty"`
1634
1635	// ForceSendFields is a list of field names (e.g.
1636	// "IntegratedGradientsAttribution") to unconditionally include in API
1637	// requests. By default, fields with empty values are omitted from API
1638	// requests. However, any non-pointer, non-interface field appearing in
1639	// ForceSendFields will be sent to the server regardless of whether the
1640	// field is empty or not. This may be used to include empty fields in
1641	// Patch requests.
1642	ForceSendFields []string `json:"-"`
1643
1644	// NullFields is a list of field names (e.g.
1645	// "IntegratedGradientsAttribution") to include in API requests with the
1646	// JSON null value. By default, fields with empty values are omitted
1647	// from API requests. However, any field with an empty value appearing
1648	// in NullFields will be sent to the server as null. It is an error if a
1649	// field in this list has a non-empty value. This may be used to include
1650	// null fields in Patch requests.
1651	NullFields []string `json:"-"`
1652}
1653
1654func (s *GoogleCloudMlV1__ExplanationConfig) MarshalJSON() ([]byte, error) {
1655	type NoMethod GoogleCloudMlV1__ExplanationConfig
1656	raw := NoMethod(*s)
1657	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1658}
1659
1660// GoogleCloudMlV1__GetConfigResponse: Returns service account
1661// information associated with a project.
1662type GoogleCloudMlV1__GetConfigResponse struct {
1663	Config *GoogleCloudMlV1__Config `json:"config,omitempty"`
1664
1665	// ServiceAccount: The service account Cloud ML uses to access resources
1666	// in the project.
1667	ServiceAccount string `json:"serviceAccount,omitempty"`
1668
1669	// ServiceAccountProject: The project number for `service_account`.
1670	ServiceAccountProject int64 `json:"serviceAccountProject,omitempty,string"`
1671
1672	// ServerResponse contains the HTTP response code and headers from the
1673	// server.
1674	googleapi.ServerResponse `json:"-"`
1675
1676	// ForceSendFields is a list of field names (e.g. "Config") to
1677	// unconditionally include in API requests. By default, fields with
1678	// empty values are omitted from API requests. However, any non-pointer,
1679	// non-interface field appearing in ForceSendFields will be sent to the
1680	// server regardless of whether the field is empty or not. This may be
1681	// used to include empty fields in Patch requests.
1682	ForceSendFields []string `json:"-"`
1683
1684	// NullFields is a list of field names (e.g. "Config") to include in API
1685	// requests with the JSON null value. By default, fields with empty
1686	// values are omitted from API requests. However, any field with an
1687	// empty value appearing in NullFields will be sent to the server as
1688	// null. It is an error if a field in this list has a non-empty value.
1689	// This may be used to include null fields in Patch requests.
1690	NullFields []string `json:"-"`
1691}
1692
1693func (s *GoogleCloudMlV1__GetConfigResponse) MarshalJSON() ([]byte, error) {
1694	type NoMethod GoogleCloudMlV1__GetConfigResponse
1695	raw := NoMethod(*s)
1696	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1697}
1698
1699// GoogleCloudMlV1__HyperparameterOutput: Represents the result of a
1700// single hyperparameter tuning trial from a training job. The
1701// TrainingOutput object that is returned on successful completion of a
1702// training job with hyperparameter tuning includes a list of
1703// HyperparameterOutput objects, one for each successful trial.
1704type GoogleCloudMlV1__HyperparameterOutput struct {
1705	// AllMetrics: All recorded object metrics for this trial. This field is
1706	// not currently populated.
1707	AllMetrics []*GoogleCloudMlV1HyperparameterOutputHyperparameterMetric `json:"allMetrics,omitempty"`
1708
1709	// BuiltInAlgorithmOutput: Details related to built-in algorithms jobs.
1710	// Only set for trials of built-in algorithms jobs that have succeeded.
1711	BuiltInAlgorithmOutput *GoogleCloudMlV1__BuiltInAlgorithmOutput `json:"builtInAlgorithmOutput,omitempty"`
1712
1713	// EndTime: Output only. End time for the trial.
1714	EndTime string `json:"endTime,omitempty"`
1715
1716	// FinalMetric: The final objective metric seen for this trial.
1717	FinalMetric *GoogleCloudMlV1HyperparameterOutputHyperparameterMetric `json:"finalMetric,omitempty"`
1718
1719	// Hyperparameters: The hyperparameters given to this trial.
1720	Hyperparameters map[string]string `json:"hyperparameters,omitempty"`
1721
1722	// IsTrialStoppedEarly: True if the trial is stopped early.
1723	IsTrialStoppedEarly bool `json:"isTrialStoppedEarly,omitempty"`
1724
1725	// StartTime: Output only. Start time for the trial.
1726	StartTime string `json:"startTime,omitempty"`
1727
1728	// State: Output only. The detailed state of the trial.
1729	//
1730	// Possible values:
1731	//   "STATE_UNSPECIFIED" - The job state is unspecified.
1732	//   "QUEUED" - The job has been just created and processing has not yet
1733	// begun.
1734	//   "PREPARING" - The service is preparing to run the job.
1735	//   "RUNNING" - The job is in progress.
1736	//   "SUCCEEDED" - The job completed successfully.
1737	//   "FAILED" - The job failed. `error_message` should contain the
1738	// details of the failure.
1739	//   "CANCELLING" - The job is being cancelled. `error_message` should
1740	// describe the reason for the cancellation.
1741	//   "CANCELLED" - The job has been cancelled. `error_message` should
1742	// describe the reason for the cancellation.
1743	State string `json:"state,omitempty"`
1744
1745	// TrialId: The trial id for these results.
1746	TrialId string `json:"trialId,omitempty"`
1747
1748	// ForceSendFields is a list of field names (e.g. "AllMetrics") to
1749	// unconditionally include in API requests. By default, fields with
1750	// empty values are omitted from API requests. However, any non-pointer,
1751	// non-interface field appearing in ForceSendFields will be sent to the
1752	// server regardless of whether the field is empty or not. This may be
1753	// used to include empty fields in Patch requests.
1754	ForceSendFields []string `json:"-"`
1755
1756	// NullFields is a list of field names (e.g. "AllMetrics") to include in
1757	// API requests with the JSON null value. By default, fields with empty
1758	// values are omitted from API requests. However, any field with an
1759	// empty value appearing in NullFields will be sent to the server as
1760	// null. It is an error if a field in this list has a non-empty value.
1761	// This may be used to include null fields in Patch requests.
1762	NullFields []string `json:"-"`
1763}
1764
1765func (s *GoogleCloudMlV1__HyperparameterOutput) MarshalJSON() ([]byte, error) {
1766	type NoMethod GoogleCloudMlV1__HyperparameterOutput
1767	raw := NoMethod(*s)
1768	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1769}
1770
1771// GoogleCloudMlV1__HyperparameterSpec: Represents a set of
1772// hyperparameters to optimize.
1773type GoogleCloudMlV1__HyperparameterSpec struct {
1774	// Algorithm: Optional. The search algorithm specified for the
1775	// hyperparameter tuning job. Uses the default AI Platform
1776	// hyperparameter tuning algorithm if unspecified.
1777	//
1778	// Possible values:
1779	//   "ALGORITHM_UNSPECIFIED" - The default algorithm used by the
1780	// hyperparameter tuning service. This is a Bayesian optimization
1781	// algorithm.
1782	//   "GRID_SEARCH" - Simple grid search within the feasible space. To
1783	// use grid search, all parameters must be `INTEGER`, `CATEGORICAL`, or
1784	// `DISCRETE`.
1785	//   "RANDOM_SEARCH" - Simple random search within the feasible space.
1786	Algorithm string `json:"algorithm,omitempty"`
1787
1788	// EnableTrialEarlyStopping: Optional. Indicates if the hyperparameter
1789	// tuning job enables auto trial early stopping.
1790	EnableTrialEarlyStopping bool `json:"enableTrialEarlyStopping,omitempty"`
1791
1792	// Goal: Required. The type of goal to use for tuning. Available types
1793	// are `MAXIMIZE` and `MINIMIZE`. Defaults to `MAXIMIZE`.
1794	//
1795	// Possible values:
1796	//   "GOAL_TYPE_UNSPECIFIED" - Goal Type will default to maximize.
1797	//   "MAXIMIZE" - Maximize the goal metric.
1798	//   "MINIMIZE" - Minimize the goal metric.
1799	Goal string `json:"goal,omitempty"`
1800
1801	// HyperparameterMetricTag: Optional. The TensorFlow summary tag name to
1802	// use for optimizing trials. For current versions of TensorFlow, this
1803	// tag name should exactly match what is shown in TensorBoard, including
1804	// all scopes. For versions of TensorFlow prior to 0.12, this should be
1805	// only the tag passed to tf.Summary. By default,
1806	// "training/hptuning/metric" will be used.
1807	HyperparameterMetricTag string `json:"hyperparameterMetricTag,omitempty"`
1808
1809	// MaxFailedTrials: Optional. The number of failed trials that need to
1810	// be seen before failing the hyperparameter tuning job. You can specify
1811	// this field to override the default failing criteria for AI Platform
1812	// hyperparameter tuning jobs. Defaults to zero, which means the service
1813	// decides when a hyperparameter job should fail.
1814	MaxFailedTrials int64 `json:"maxFailedTrials,omitempty"`
1815
1816	// MaxParallelTrials: Optional. The number of training trials to run
1817	// concurrently. You can reduce the time it takes to perform
1818	// hyperparameter tuning by adding trials in parallel. However, each
1819	// trail only benefits from the information gained in completed trials.
1820	// That means that a trial does not get access to the results of trials
1821	// running at the same time, which could reduce the quality of the
1822	// overall optimization. Each trial will use the same scale tier and
1823	// machine types. Defaults to one.
1824	MaxParallelTrials int64 `json:"maxParallelTrials,omitempty"`
1825
1826	// MaxTrials: Optional. How many training trials should be attempted to
1827	// optimize the specified hyperparameters. Defaults to one.
1828	MaxTrials int64 `json:"maxTrials,omitempty"`
1829
1830	// Params: Required. The set of parameters to tune.
1831	Params []*GoogleCloudMlV1__ParameterSpec `json:"params,omitempty"`
1832
1833	// ResumePreviousJobId: Optional. The prior hyperparameter tuning job id
1834	// that users hope to continue with. The job id will be used to find the
1835	// corresponding vizier study guid and resume the study.
1836	ResumePreviousJobId string `json:"resumePreviousJobId,omitempty"`
1837
1838	// ForceSendFields is a list of field names (e.g. "Algorithm") to
1839	// unconditionally include in API requests. By default, fields with
1840	// empty values are omitted from API requests. However, any non-pointer,
1841	// non-interface field appearing in ForceSendFields will be sent to the
1842	// server regardless of whether the field is empty or not. This may be
1843	// used to include empty fields in Patch requests.
1844	ForceSendFields []string `json:"-"`
1845
1846	// NullFields is a list of field names (e.g. "Algorithm") to include in
1847	// API requests with the JSON null value. By default, fields with empty
1848	// values are omitted from API requests. However, any field with an
1849	// empty value appearing in NullFields will be sent to the server as
1850	// null. It is an error if a field in this list has a non-empty value.
1851	// This may be used to include null fields in Patch requests.
1852	NullFields []string `json:"-"`
1853}
1854
1855func (s *GoogleCloudMlV1__HyperparameterSpec) MarshalJSON() ([]byte, error) {
1856	type NoMethod GoogleCloudMlV1__HyperparameterSpec
1857	raw := NoMethod(*s)
1858	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1859}
1860
1861// GoogleCloudMlV1__IntegratedGradientsAttribution: Attributes credit by
1862// computing the Aumann-Shapley value taking advantage of the model's
1863// fully differentiable structure. Refer to this paper for more details:
1864// https://arxiv.org/abs/1703.01365
1865type GoogleCloudMlV1__IntegratedGradientsAttribution struct {
1866	// NumIntegralSteps: Number of steps for approximating the path
1867	// integral. A good value to start is 50 and gradually increase until
1868	// the sum to diff property is met within the desired error range.
1869	NumIntegralSteps int64 `json:"numIntegralSteps,omitempty"`
1870
1871	// ForceSendFields is a list of field names (e.g. "NumIntegralSteps") to
1872	// unconditionally include in API requests. By default, fields with
1873	// empty values are omitted from API requests. However, any non-pointer,
1874	// non-interface field appearing in ForceSendFields will be sent to the
1875	// server regardless of whether the field is empty or not. This may be
1876	// used to include empty fields in Patch requests.
1877	ForceSendFields []string `json:"-"`
1878
1879	// NullFields is a list of field names (e.g. "NumIntegralSteps") to
1880	// include in API requests with the JSON null value. By default, fields
1881	// with empty values are omitted from API requests. However, any field
1882	// with an empty value appearing in NullFields will be sent to the
1883	// server as null. It is an error if a field in this list has a
1884	// non-empty value. This may be used to include null fields in Patch
1885	// requests.
1886	NullFields []string `json:"-"`
1887}
1888
1889func (s *GoogleCloudMlV1__IntegratedGradientsAttribution) MarshalJSON() ([]byte, error) {
1890	type NoMethod GoogleCloudMlV1__IntegratedGradientsAttribution
1891	raw := NoMethod(*s)
1892	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1893}
1894
1895// GoogleCloudMlV1__Job: Represents a training or prediction job.
1896type GoogleCloudMlV1__Job struct {
1897	// CreateTime: Output only. When the job was created.
1898	CreateTime string `json:"createTime,omitempty"`
1899
1900	// EndTime: Output only. When the job processing was completed.
1901	EndTime string `json:"endTime,omitempty"`
1902
1903	// ErrorMessage: Output only. The details of a failure or a
1904	// cancellation.
1905	ErrorMessage string `json:"errorMessage,omitempty"`
1906
1907	// Etag: `etag` is used for optimistic concurrency control as a way to
1908	// help prevent simultaneous updates of a job from overwriting each
1909	// other. It is strongly suggested that systems make use of the `etag`
1910	// in the read-modify-write cycle to perform job updates in order to
1911	// avoid race conditions: An `etag` is returned in the response to
1912	// `GetJob`, and systems are expected to put that etag in the request to
1913	// `UpdateJob` to ensure that their change will be applied to the same
1914	// version of the job.
1915	Etag string `json:"etag,omitempty"`
1916
1917	// JobId: Required. The user-specified id of the job.
1918	JobId string `json:"jobId,omitempty"`
1919
1920	// Labels: Optional. One or more labels that you can add, to organize
1921	// your jobs. Each label is a key-value pair, where both the key and the
1922	// value are arbitrary strings that you supply. For more information,
1923	// see the documentation on using labels.
1924	Labels map[string]string `json:"labels,omitempty"`
1925
1926	// PredictionInput: Input parameters to create a prediction job.
1927	PredictionInput *GoogleCloudMlV1__PredictionInput `json:"predictionInput,omitempty"`
1928
1929	// PredictionOutput: The current prediction job result.
1930	PredictionOutput *GoogleCloudMlV1__PredictionOutput `json:"predictionOutput,omitempty"`
1931
1932	// StartTime: Output only. When the job processing was started.
1933	StartTime string `json:"startTime,omitempty"`
1934
1935	// State: Output only. The detailed state of a job.
1936	//
1937	// Possible values:
1938	//   "STATE_UNSPECIFIED" - The job state is unspecified.
1939	//   "QUEUED" - The job has been just created and processing has not yet
1940	// begun.
1941	//   "PREPARING" - The service is preparing to run the job.
1942	//   "RUNNING" - The job is in progress.
1943	//   "SUCCEEDED" - The job completed successfully.
1944	//   "FAILED" - The job failed. `error_message` should contain the
1945	// details of the failure.
1946	//   "CANCELLING" - The job is being cancelled. `error_message` should
1947	// describe the reason for the cancellation.
1948	//   "CANCELLED" - The job has been cancelled. `error_message` should
1949	// describe the reason for the cancellation.
1950	State string `json:"state,omitempty"`
1951
1952	// TrainingInput: Input parameters to create a training job.
1953	TrainingInput *GoogleCloudMlV1__TrainingInput `json:"trainingInput,omitempty"`
1954
1955	// TrainingOutput: The current training job result.
1956	TrainingOutput *GoogleCloudMlV1__TrainingOutput `json:"trainingOutput,omitempty"`
1957
1958	// ServerResponse contains the HTTP response code and headers from the
1959	// server.
1960	googleapi.ServerResponse `json:"-"`
1961
1962	// ForceSendFields is a list of field names (e.g. "CreateTime") to
1963	// unconditionally include in API requests. By default, fields with
1964	// empty values are omitted from API requests. However, any non-pointer,
1965	// non-interface field appearing in ForceSendFields will be sent to the
1966	// server regardless of whether the field is empty or not. This may be
1967	// used to include empty fields in Patch requests.
1968	ForceSendFields []string `json:"-"`
1969
1970	// NullFields is a list of field names (e.g. "CreateTime") to include in
1971	// API requests with the JSON null value. By default, fields with empty
1972	// values are omitted from API requests. However, any field with an
1973	// empty value appearing in NullFields will be sent to the server as
1974	// null. It is an error if a field in this list has a non-empty value.
1975	// This may be used to include null fields in Patch requests.
1976	NullFields []string `json:"-"`
1977}
1978
1979func (s *GoogleCloudMlV1__Job) MarshalJSON() ([]byte, error) {
1980	type NoMethod GoogleCloudMlV1__Job
1981	raw := NoMethod(*s)
1982	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1983}
1984
1985// GoogleCloudMlV1__ListJobsResponse: Response message for the ListJobs
1986// method.
1987type GoogleCloudMlV1__ListJobsResponse struct {
1988	// Jobs: The list of jobs.
1989	Jobs []*GoogleCloudMlV1__Job `json:"jobs,omitempty"`
1990
1991	// NextPageToken: Optional. Pass this token as the `page_token` field of
1992	// the request for a subsequent call.
1993	NextPageToken string `json:"nextPageToken,omitempty"`
1994
1995	// ServerResponse contains the HTTP response code and headers from the
1996	// server.
1997	googleapi.ServerResponse `json:"-"`
1998
1999	// ForceSendFields is a list of field names (e.g. "Jobs") to
2000	// unconditionally include in API requests. By default, fields with
2001	// empty values are omitted from API requests. However, any non-pointer,
2002	// non-interface field appearing in ForceSendFields will be sent to the
2003	// server regardless of whether the field is empty or not. This may be
2004	// used to include empty fields in Patch requests.
2005	ForceSendFields []string `json:"-"`
2006
2007	// NullFields is a list of field names (e.g. "Jobs") to include in API
2008	// requests with the JSON null value. By default, fields with empty
2009	// values are omitted from API requests. However, any field with an
2010	// empty value appearing in NullFields will be sent to the server as
2011	// null. It is an error if a field in this list has a non-empty value.
2012	// This may be used to include null fields in Patch requests.
2013	NullFields []string `json:"-"`
2014}
2015
2016func (s *GoogleCloudMlV1__ListJobsResponse) MarshalJSON() ([]byte, error) {
2017	type NoMethod GoogleCloudMlV1__ListJobsResponse
2018	raw := NoMethod(*s)
2019	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2020}
2021
2022type GoogleCloudMlV1__ListLocationsResponse struct {
2023	// Locations: Locations where at least one type of CMLE capability is
2024	// available.
2025	Locations []*GoogleCloudMlV1__Location `json:"locations,omitempty"`
2026
2027	// NextPageToken: Optional. Pass this token as the `page_token` field of
2028	// the request for a subsequent call.
2029	NextPageToken string `json:"nextPageToken,omitempty"`
2030
2031	// ServerResponse contains the HTTP response code and headers from the
2032	// server.
2033	googleapi.ServerResponse `json:"-"`
2034
2035	// ForceSendFields is a list of field names (e.g. "Locations") to
2036	// unconditionally include in API requests. By default, fields with
2037	// empty values are omitted from API requests. However, any non-pointer,
2038	// non-interface field appearing in ForceSendFields will be sent to the
2039	// server regardless of whether the field is empty or not. This may be
2040	// used to include empty fields in Patch requests.
2041	ForceSendFields []string `json:"-"`
2042
2043	// NullFields is a list of field names (e.g. "Locations") to include in
2044	// API requests with the JSON null value. By default, fields with empty
2045	// values are omitted from API requests. However, any field with an
2046	// 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 *GoogleCloudMlV1__ListLocationsResponse) MarshalJSON() ([]byte, error) {
2053	type NoMethod GoogleCloudMlV1__ListLocationsResponse
2054	raw := NoMethod(*s)
2055	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2056}
2057
2058// GoogleCloudMlV1__ListModelsResponse: Response message for the
2059// ListModels method.
2060type GoogleCloudMlV1__ListModelsResponse struct {
2061	// Models: The list of models.
2062	Models []*GoogleCloudMlV1__Model `json:"models,omitempty"`
2063
2064	// NextPageToken: Optional. Pass this token as the `page_token` field of
2065	// the request for a subsequent call.
2066	NextPageToken string `json:"nextPageToken,omitempty"`
2067
2068	// ServerResponse contains the HTTP response code and headers from the
2069	// server.
2070	googleapi.ServerResponse `json:"-"`
2071
2072	// ForceSendFields is a list of field names (e.g. "Models") to
2073	// unconditionally include in API requests. By default, fields with
2074	// empty values are omitted from API requests. However, any non-pointer,
2075	// non-interface field appearing in ForceSendFields will be sent to the
2076	// server regardless of whether the field is empty or not. This may be
2077	// used to include empty fields in Patch requests.
2078	ForceSendFields []string `json:"-"`
2079
2080	// NullFields is a list of field names (e.g. "Models") to include in API
2081	// requests with the JSON null value. By default, fields with empty
2082	// values are omitted from API requests. However, any field with an
2083	// empty value appearing in NullFields will be sent to the server as
2084	// null. It is an error if a field in this list has a non-empty value.
2085	// This may be used to include null fields in Patch requests.
2086	NullFields []string `json:"-"`
2087}
2088
2089func (s *GoogleCloudMlV1__ListModelsResponse) MarshalJSON() ([]byte, error) {
2090	type NoMethod GoogleCloudMlV1__ListModelsResponse
2091	raw := NoMethod(*s)
2092	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2093}
2094
2095// GoogleCloudMlV1__ListOptimalTrialsRequest: The request message for
2096// the ListTrials service method.
2097type GoogleCloudMlV1__ListOptimalTrialsRequest struct {
2098}
2099
2100// GoogleCloudMlV1__ListOptimalTrialsResponse: The response message for
2101// the ListOptimalTrials method.
2102type GoogleCloudMlV1__ListOptimalTrialsResponse struct {
2103	// Trials: The pareto-optimal trials for multiple objective study or the
2104	// optimal trial for single objective study. The definition of
2105	// pareto-optimal can be checked in wiki page.
2106	// https://en.wikipedia.org/wiki/Pareto_efficiency
2107	Trials []*GoogleCloudMlV1__Trial `json:"trials,omitempty"`
2108
2109	// ServerResponse contains the HTTP response code and headers from the
2110	// server.
2111	googleapi.ServerResponse `json:"-"`
2112
2113	// ForceSendFields is a list of field names (e.g. "Trials") to
2114	// unconditionally include in API requests. By default, fields with
2115	// empty values are omitted from API requests. However, any non-pointer,
2116	// non-interface field appearing in ForceSendFields will be sent to the
2117	// server regardless of whether the field is empty or not. This may be
2118	// used to include empty fields in Patch requests.
2119	ForceSendFields []string `json:"-"`
2120
2121	// NullFields is a list of field names (e.g. "Trials") to include in API
2122	// requests with the JSON null value. By default, fields with empty
2123	// values are omitted from API requests. However, any field with an
2124	// empty value appearing in NullFields will be sent to the server as
2125	// null. It is an error if a field in this list has a non-empty value.
2126	// This may be used to include null fields in Patch requests.
2127	NullFields []string `json:"-"`
2128}
2129
2130func (s *GoogleCloudMlV1__ListOptimalTrialsResponse) MarshalJSON() ([]byte, error) {
2131	type NoMethod GoogleCloudMlV1__ListOptimalTrialsResponse
2132	raw := NoMethod(*s)
2133	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2134}
2135
2136type GoogleCloudMlV1__ListStudiesResponse struct {
2137	// Studies: The studies associated with the project.
2138	Studies []*GoogleCloudMlV1__Study `json:"studies,omitempty"`
2139
2140	// ServerResponse contains the HTTP response code and headers from the
2141	// server.
2142	googleapi.ServerResponse `json:"-"`
2143
2144	// ForceSendFields is a list of field names (e.g. "Studies") to
2145	// unconditionally include in API requests. By default, fields with
2146	// empty values are omitted from API requests. However, any non-pointer,
2147	// non-interface field appearing in ForceSendFields will be sent to the
2148	// server regardless of whether the field is empty or not. This may be
2149	// used to include empty fields in Patch requests.
2150	ForceSendFields []string `json:"-"`
2151
2152	// NullFields is a list of field names (e.g. "Studies") to include in
2153	// API requests with the JSON null value. By default, fields with empty
2154	// values are omitted from API requests. However, any field with an
2155	// empty value appearing in NullFields will be sent to the server as
2156	// null. It is an error if a field in this list has a non-empty value.
2157	// This may be used to include null fields in Patch requests.
2158	NullFields []string `json:"-"`
2159}
2160
2161func (s *GoogleCloudMlV1__ListStudiesResponse) MarshalJSON() ([]byte, error) {
2162	type NoMethod GoogleCloudMlV1__ListStudiesResponse
2163	raw := NoMethod(*s)
2164	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2165}
2166
2167// GoogleCloudMlV1__ListTrialsResponse: The response message for the
2168// ListTrials method.
2169type GoogleCloudMlV1__ListTrialsResponse struct {
2170	// Trials: The trials associated with the study.
2171	Trials []*GoogleCloudMlV1__Trial `json:"trials,omitempty"`
2172
2173	// ServerResponse contains the HTTP response code and headers from the
2174	// server.
2175	googleapi.ServerResponse `json:"-"`
2176
2177	// ForceSendFields is a list of field names (e.g. "Trials") to
2178	// unconditionally include in API requests. By default, fields with
2179	// empty values are omitted from API requests. However, any non-pointer,
2180	// non-interface field appearing in ForceSendFields will be sent to the
2181	// server regardless of whether the field is empty or not. This may be
2182	// used to include empty fields in Patch requests.
2183	ForceSendFields []string `json:"-"`
2184
2185	// NullFields is a list of field names (e.g. "Trials") to include in API
2186	// requests with the JSON null value. By default, fields with empty
2187	// values are omitted from API requests. However, any field with an
2188	// empty value appearing in NullFields will be sent to the server as
2189	// null. It is an error if a field in this list has a non-empty value.
2190	// This may be used to include null fields in Patch requests.
2191	NullFields []string `json:"-"`
2192}
2193
2194func (s *GoogleCloudMlV1__ListTrialsResponse) MarshalJSON() ([]byte, error) {
2195	type NoMethod GoogleCloudMlV1__ListTrialsResponse
2196	raw := NoMethod(*s)
2197	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2198}
2199
2200// GoogleCloudMlV1__ListVersionsResponse: Response message for the
2201// ListVersions method.
2202type GoogleCloudMlV1__ListVersionsResponse struct {
2203	// NextPageToken: Optional. Pass this token as the `page_token` field of
2204	// the request for a subsequent call.
2205	NextPageToken string `json:"nextPageToken,omitempty"`
2206
2207	// Versions: The list of versions.
2208	Versions []*GoogleCloudMlV1__Version `json:"versions,omitempty"`
2209
2210	// ServerResponse contains the HTTP response code and headers from the
2211	// server.
2212	googleapi.ServerResponse `json:"-"`
2213
2214	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
2215	// unconditionally include in API requests. By default, fields with
2216	// empty values are omitted from API requests. However, any non-pointer,
2217	// non-interface field appearing in ForceSendFields will be sent to the
2218	// server regardless of whether the field is empty or not. This may be
2219	// used to include empty fields in Patch requests.
2220	ForceSendFields []string `json:"-"`
2221
2222	// NullFields is a list of field names (e.g. "NextPageToken") to include
2223	// in API requests with the JSON null value. By default, fields with
2224	// empty values are omitted from API requests. However, any field with
2225	// an empty value appearing in NullFields will be sent to the server as
2226	// null. It is an error if a field in this list has a non-empty value.
2227	// This may be used to include null fields in Patch requests.
2228	NullFields []string `json:"-"`
2229}
2230
2231func (s *GoogleCloudMlV1__ListVersionsResponse) MarshalJSON() ([]byte, error) {
2232	type NoMethod GoogleCloudMlV1__ListVersionsResponse
2233	raw := NoMethod(*s)
2234	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2235}
2236
2237type GoogleCloudMlV1__Location struct {
2238	// Capabilities: Capabilities available in the location.
2239	Capabilities []*GoogleCloudMlV1__Capability `json:"capabilities,omitempty"`
2240
2241	Name string `json:"name,omitempty"`
2242
2243	// ServerResponse contains the HTTP response code and headers from the
2244	// server.
2245	googleapi.ServerResponse `json:"-"`
2246
2247	// ForceSendFields is a list of field names (e.g. "Capabilities") to
2248	// unconditionally include in API requests. By default, fields with
2249	// empty values are omitted from API requests. However, any non-pointer,
2250	// non-interface field appearing in ForceSendFields will be sent to the
2251	// server regardless of whether the field is empty or not. This may be
2252	// used to include empty fields in Patch requests.
2253	ForceSendFields []string `json:"-"`
2254
2255	// NullFields is a list of field names (e.g. "Capabilities") to include
2256	// in API requests with the JSON null value. By default, fields with
2257	// empty values are omitted from API requests. However, any field with
2258	// an empty value appearing in NullFields will be sent to the server as
2259	// null. It is an error if a field in this list has a non-empty value.
2260	// This may be used to include null fields in Patch requests.
2261	NullFields []string `json:"-"`
2262}
2263
2264func (s *GoogleCloudMlV1__Location) MarshalJSON() ([]byte, error) {
2265	type NoMethod GoogleCloudMlV1__Location
2266	raw := NoMethod(*s)
2267	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2268}
2269
2270// GoogleCloudMlV1__ManualScaling: Options for manually scaling a model.
2271type GoogleCloudMlV1__ManualScaling struct {
2272	// Nodes: The number of nodes to allocate for this model. These nodes
2273	// are always up, starting from the time the model is deployed, so the
2274	// cost of operating this model will be proportional to `nodes` * number
2275	// of hours since last billing cycle plus the cost for each prediction
2276	// performed.
2277	Nodes int64 `json:"nodes,omitempty"`
2278
2279	// ForceSendFields is a list of field names (e.g. "Nodes") to
2280	// unconditionally include in API requests. By default, fields with
2281	// empty values are omitted from API requests. However, any non-pointer,
2282	// non-interface field appearing in ForceSendFields will be sent to the
2283	// server regardless of whether the field is empty or not. This may be
2284	// used to include empty fields in Patch requests.
2285	ForceSendFields []string `json:"-"`
2286
2287	// NullFields is a list of field names (e.g. "Nodes") to include in API
2288	// requests with the JSON null value. By default, fields with empty
2289	// values are omitted from API requests. However, any field with an
2290	// empty value appearing in NullFields will be sent to the server as
2291	// null. It is an error if a field in this list has a non-empty value.
2292	// This may be used to include null fields in Patch requests.
2293	NullFields []string `json:"-"`
2294}
2295
2296func (s *GoogleCloudMlV1__ManualScaling) MarshalJSON() ([]byte, error) {
2297	type NoMethod GoogleCloudMlV1__ManualScaling
2298	raw := NoMethod(*s)
2299	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2300}
2301
2302// GoogleCloudMlV1__Measurement: A message representing a measurement.
2303type GoogleCloudMlV1__Measurement struct {
2304	// ElapsedTime: Output only. Time that the trial has been running at the
2305	// point of this measurement.
2306	ElapsedTime string `json:"elapsedTime,omitempty"`
2307
2308	// Metrics: Provides a list of metrics that act as inputs into the
2309	// objective function.
2310	Metrics []*GoogleCloudMlV1MeasurementMetric `json:"metrics,omitempty"`
2311
2312	// StepCount: The number of steps a machine learning model has been
2313	// trained for. Must be non-negative.
2314	StepCount int64 `json:"stepCount,omitempty,string"`
2315
2316	// ForceSendFields is a list of field names (e.g. "ElapsedTime") to
2317	// unconditionally include in API requests. By default, fields with
2318	// empty values are omitted from API requests. However, any non-pointer,
2319	// non-interface field appearing in ForceSendFields will be sent to the
2320	// server regardless of whether the field is empty or not. This may be
2321	// used to include empty fields in Patch requests.
2322	ForceSendFields []string `json:"-"`
2323
2324	// NullFields is a list of field names (e.g. "ElapsedTime") to include
2325	// in API requests with the JSON null value. By default, fields with
2326	// empty values are omitted from API requests. However, any field with
2327	// an empty value appearing in NullFields will be sent to the server as
2328	// null. It is an error if a field in this list has a non-empty value.
2329	// This may be used to include null fields in Patch requests.
2330	NullFields []string `json:"-"`
2331}
2332
2333func (s *GoogleCloudMlV1__Measurement) MarshalJSON() ([]byte, error) {
2334	type NoMethod GoogleCloudMlV1__Measurement
2335	raw := NoMethod(*s)
2336	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2337}
2338
2339// GoogleCloudMlV1__MetricSpec: MetricSpec contains the specifications
2340// to use to calculate the desired nodes count when autoscaling is
2341// enabled.
2342type GoogleCloudMlV1__MetricSpec struct {
2343	// Name: metric name.
2344	//
2345	// Possible values:
2346	//   "METRIC_NAME_UNSPECIFIED" - Unspecified MetricName.
2347	//   "CPU_USAGE" - CPU usage.
2348	//   "GPU_DUTY_CYCLE" - GPU duty cycle.
2349	Name string `json:"name,omitempty"`
2350
2351	// Target: Target specifies the target value for the given metric; once
2352	// real metric deviates from the threshold by a certain percentage, the
2353	// node count changes.
2354	Target int64 `json:"target,omitempty"`
2355
2356	// ForceSendFields is a list of field names (e.g. "Name") to
2357	// unconditionally include in API requests. By default, fields with
2358	// empty values are omitted from API requests. However, any non-pointer,
2359	// non-interface field appearing in ForceSendFields will be sent to the
2360	// server regardless of whether the field is empty or not. This may be
2361	// used to include empty fields in Patch requests.
2362	ForceSendFields []string `json:"-"`
2363
2364	// NullFields is a list of field names (e.g. "Name") to include in API
2365	// requests with the JSON null value. By default, fields with empty
2366	// values are omitted from API requests. However, any field with an
2367	// empty value appearing in NullFields will be sent to the server as
2368	// null. It is an error if a field in this list has a non-empty value.
2369	// This may be used to include null fields in Patch requests.
2370	NullFields []string `json:"-"`
2371}
2372
2373func (s *GoogleCloudMlV1__MetricSpec) MarshalJSON() ([]byte, error) {
2374	type NoMethod GoogleCloudMlV1__MetricSpec
2375	raw := NoMethod(*s)
2376	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2377}
2378
2379// GoogleCloudMlV1__Model: Represents a machine learning solution. A
2380// model can have multiple versions, each of which is a deployed,
2381// trained model ready to receive prediction requests. The model itself
2382// is just a container.
2383type GoogleCloudMlV1__Model struct {
2384	// DefaultVersion: Output only. The default version of the model. This
2385	// version will be used to handle prediction requests that do not
2386	// specify a version. You can change the default version by calling
2387	// projects.models.versions.setDefault.
2388	DefaultVersion *GoogleCloudMlV1__Version `json:"defaultVersion,omitempty"`
2389
2390	// Description: Optional. The description specified for the model when
2391	// it was created.
2392	Description string `json:"description,omitempty"`
2393
2394	// Etag: `etag` is used for optimistic concurrency control as a way to
2395	// help prevent simultaneous updates of a model from overwriting each
2396	// other. It is strongly suggested that systems make use of the `etag`
2397	// in the read-modify-write cycle to perform model updates in order to
2398	// avoid race conditions: An `etag` is returned in the response to
2399	// `GetModel`, and systems are expected to put that etag in the request
2400	// to `UpdateModel` to ensure that their change will be applied to the
2401	// model as intended.
2402	Etag string `json:"etag,omitempty"`
2403
2404	// Labels: Optional. One or more labels that you can add, to organize
2405	// your models. Each label is a key-value pair, where both the key and
2406	// the value are arbitrary strings that you supply. For more
2407	// information, see the documentation on using labels.
2408	Labels map[string]string `json:"labels,omitempty"`
2409
2410	// Name: Required. The name specified for the model when it was created.
2411	// The model name must be unique within the project it is created in.
2412	Name string `json:"name,omitempty"`
2413
2414	// OnlinePredictionConsoleLogging: Optional. If true, online prediction
2415	// nodes send `stderr` and `stdout` streams to Cloud Logging. These can
2416	// be more verbose than the standard access logs (see
2417	// `onlinePredictionLogging`) and can incur higher cost. However, they
2418	// are helpful for debugging. Note that logs may incur a cost
2419	// (/stackdriver/pricing), especially if your project receives
2420	// prediction requests at a high QPS. Estimate your costs before
2421	// enabling this option. Default is false.
2422	OnlinePredictionConsoleLogging bool `json:"onlinePredictionConsoleLogging,omitempty"`
2423
2424	// OnlinePredictionLogging: Optional. If true, online prediction access
2425	// logs are sent to Cloud Logging. These logs are like standard server
2426	// access logs, containing information like timestamp and latency for
2427	// each request. Note that logs may incur a cost (/stackdriver/pricing),
2428	// especially if your project receives prediction requests at a high
2429	// queries per second rate (QPS). Estimate your costs before enabling
2430	// this option. Default is false.
2431	OnlinePredictionLogging bool `json:"onlinePredictionLogging,omitempty"`
2432
2433	// Regions: Optional. The list of regions where the model is going to be
2434	// deployed. Only one region per model is supported. Defaults to
2435	// 'us-central1' if nothing is set. See the available regions for AI
2436	// Platform services. Note: * No matter where a model is deployed, it
2437	// can always be accessed by users from anywhere, both for online and
2438	// batch prediction. * The region for a batch prediction job is set by
2439	// the region field when submitting the batch prediction job and does
2440	// not take its value from this field.
2441	Regions []string `json:"regions,omitempty"`
2442
2443	// ServerResponse contains the HTTP response code and headers from the
2444	// server.
2445	googleapi.ServerResponse `json:"-"`
2446
2447	// ForceSendFields is a list of field names (e.g. "DefaultVersion") to
2448	// unconditionally include in API requests. By default, fields with
2449	// empty values are omitted from API requests. However, any non-pointer,
2450	// non-interface field appearing in ForceSendFields will be sent to the
2451	// server regardless of whether the field is empty or not. This may be
2452	// used to include empty fields in Patch requests.
2453	ForceSendFields []string `json:"-"`
2454
2455	// NullFields is a list of field names (e.g. "DefaultVersion") to
2456	// include in API requests with the JSON null value. By default, fields
2457	// with empty values are omitted from API requests. However, any field
2458	// with an empty value appearing in NullFields will be sent to the
2459	// server as null. It is an error if a field in this list has a
2460	// non-empty value. This may be used to include null fields in Patch
2461	// requests.
2462	NullFields []string `json:"-"`
2463}
2464
2465func (s *GoogleCloudMlV1__Model) MarshalJSON() ([]byte, error) {
2466	type NoMethod GoogleCloudMlV1__Model
2467	raw := NoMethod(*s)
2468	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2469}
2470
2471// GoogleCloudMlV1__OperationMetadata: Represents the metadata of the
2472// long-running operation.
2473type GoogleCloudMlV1__OperationMetadata struct {
2474	// CreateTime: The time the operation was submitted.
2475	CreateTime string `json:"createTime,omitempty"`
2476
2477	// EndTime: The time operation processing completed.
2478	EndTime string `json:"endTime,omitempty"`
2479
2480	// IsCancellationRequested: Indicates whether a request to cancel this
2481	// operation has been made.
2482	IsCancellationRequested bool `json:"isCancellationRequested,omitempty"`
2483
2484	// Labels: The user labels, inherited from the model or the model
2485	// version being operated on.
2486	Labels map[string]string `json:"labels,omitempty"`
2487
2488	// ModelName: Contains the name of the model associated with the
2489	// operation.
2490	ModelName string `json:"modelName,omitempty"`
2491
2492	// OperationType: The operation type.
2493	//
2494	// Possible values:
2495	//   "OPERATION_TYPE_UNSPECIFIED" - Unspecified operation type.
2496	//   "CREATE_VERSION" - An operation to create a new version.
2497	//   "DELETE_VERSION" - An operation to delete an existing version.
2498	//   "DELETE_MODEL" - An operation to delete an existing model.
2499	//   "UPDATE_MODEL" - An operation to update an existing model.
2500	//   "UPDATE_VERSION" - An operation to update an existing version.
2501	//   "UPDATE_CONFIG" - An operation to update project configuration.
2502	OperationType string `json:"operationType,omitempty"`
2503
2504	// ProjectNumber: Contains the project number associated with the
2505	// operation.
2506	ProjectNumber int64 `json:"projectNumber,omitempty,string"`
2507
2508	// StartTime: The time operation processing started.
2509	StartTime string `json:"startTime,omitempty"`
2510
2511	// Version: Contains the version associated with the operation.
2512	Version *GoogleCloudMlV1__Version `json:"version,omitempty"`
2513
2514	// ForceSendFields is a list of field names (e.g. "CreateTime") to
2515	// unconditionally include in API requests. By default, fields with
2516	// empty values are omitted from API requests. However, any non-pointer,
2517	// non-interface field appearing in ForceSendFields will be sent to the
2518	// server regardless of whether the field is empty or not. This may be
2519	// used to include empty fields in Patch requests.
2520	ForceSendFields []string `json:"-"`
2521
2522	// NullFields is a list of field names (e.g. "CreateTime") to include in
2523	// API requests with the JSON null value. By default, fields with empty
2524	// values are omitted from API requests. However, any field with an
2525	// empty value appearing in NullFields will be sent to the server as
2526	// null. It is an error if a field in this list has a non-empty value.
2527	// This may be used to include null fields in Patch requests.
2528	NullFields []string `json:"-"`
2529}
2530
2531func (s *GoogleCloudMlV1__OperationMetadata) MarshalJSON() ([]byte, error) {
2532	type NoMethod GoogleCloudMlV1__OperationMetadata
2533	raw := NoMethod(*s)
2534	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2535}
2536
2537// GoogleCloudMlV1__ParameterSpec: Represents a single hyperparameter to
2538// optimize.
2539type GoogleCloudMlV1__ParameterSpec struct {
2540	// CategoricalValues: Required if type is `CATEGORICAL`. The list of
2541	// possible categories.
2542	CategoricalValues []string `json:"categoricalValues,omitempty"`
2543
2544	// DiscreteValues: Required if type is `DISCRETE`. A list of feasible
2545	// points. The list should be in strictly increasing order. For
2546	// instance, this parameter might have possible settings of 1.5, 2.5,
2547	// and 4.0. This list should not contain more than 1,000 values.
2548	DiscreteValues []float64 `json:"discreteValues,omitempty"`
2549
2550	// MaxValue: Required if type is `DOUBLE` or `INTEGER`. This field
2551	// should be unset if type is `CATEGORICAL`. This value should be
2552	// integers if type is `INTEGER`.
2553	MaxValue float64 `json:"maxValue,omitempty"`
2554
2555	// MinValue: Required if type is `DOUBLE` or `INTEGER`. This field
2556	// should be unset if type is `CATEGORICAL`. This value should be
2557	// integers if type is INTEGER.
2558	MinValue float64 `json:"minValue,omitempty"`
2559
2560	// ParameterName: Required. The parameter name must be unique amongst
2561	// all ParameterConfigs in a HyperparameterSpec message. E.g.,
2562	// "learning_rate".
2563	ParameterName string `json:"parameterName,omitempty"`
2564
2565	// ScaleType: Optional. How the parameter should be scaled to the
2566	// hypercube. Leave unset for categorical parameters. Some kind of
2567	// scaling is strongly recommended for real or integral parameters
2568	// (e.g., `UNIT_LINEAR_SCALE`).
2569	//
2570	// Possible values:
2571	//   "NONE" - By default, no scaling is applied.
2572	//   "UNIT_LINEAR_SCALE" - Scales the feasible space to (0, 1) linearly.
2573	//   "UNIT_LOG_SCALE" - Scales the feasible space logarithmically to (0,
2574	// 1). The entire feasible space must be strictly positive.
2575	//   "UNIT_REVERSE_LOG_SCALE" - Scales the feasible space "reverse"
2576	// logarithmically to (0, 1). The result is that values close to the top
2577	// of the feasible space are spread out more than points near the
2578	// bottom. The entire feasible space must be strictly positive.
2579	ScaleType string `json:"scaleType,omitempty"`
2580
2581	// Type: Required. The type of the parameter.
2582	//
2583	// Possible values:
2584	//   "PARAMETER_TYPE_UNSPECIFIED" - You must specify a valid type. Using
2585	// this unspecified type will result in an error.
2586	//   "DOUBLE" - Type for real-valued parameters.
2587	//   "INTEGER" - Type for integral parameters.
2588	//   "CATEGORICAL" - The parameter is categorical, with a value chosen
2589	// from the categories field.
2590	//   "DISCRETE" - The parameter is real valued, with a fixed set of
2591	// feasible points. If `type==DISCRETE`, feasible_points must be
2592	// provided, and {`min_value`, `max_value`} will be ignored.
2593	Type string `json:"type,omitempty"`
2594
2595	// ForceSendFields is a list of field names (e.g. "CategoricalValues")
2596	// to unconditionally include in API requests. By default, fields with
2597	// empty values are omitted from API requests. However, any non-pointer,
2598	// non-interface field appearing in ForceSendFields will be sent to the
2599	// server regardless of whether the field is empty or not. This may be
2600	// used to include empty fields in Patch requests.
2601	ForceSendFields []string `json:"-"`
2602
2603	// NullFields is a list of field names (e.g. "CategoricalValues") to
2604	// include in API requests with the JSON null value. By default, fields
2605	// with empty values are omitted from API requests. However, any field
2606	// with an empty value appearing in NullFields will be sent to the
2607	// server as null. It is an error if a field in this list has a
2608	// non-empty value. This may be used to include null fields in Patch
2609	// requests.
2610	NullFields []string `json:"-"`
2611}
2612
2613func (s *GoogleCloudMlV1__ParameterSpec) MarshalJSON() ([]byte, error) {
2614	type NoMethod GoogleCloudMlV1__ParameterSpec
2615	raw := NoMethod(*s)
2616	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2617}
2618
2619func (s *GoogleCloudMlV1__ParameterSpec) UnmarshalJSON(data []byte) error {
2620	type NoMethod GoogleCloudMlV1__ParameterSpec
2621	var s1 struct {
2622		MaxValue gensupport.JSONFloat64 `json:"maxValue"`
2623		MinValue gensupport.JSONFloat64 `json:"minValue"`
2624		*NoMethod
2625	}
2626	s1.NoMethod = (*NoMethod)(s)
2627	if err := json.Unmarshal(data, &s1); err != nil {
2628		return err
2629	}
2630	s.MaxValue = float64(s1.MaxValue)
2631	s.MinValue = float64(s1.MinValue)
2632	return nil
2633}
2634
2635// GoogleCloudMlV1__PredictRequest: Request for predictions to be issued
2636// against a trained model.
2637type GoogleCloudMlV1__PredictRequest struct {
2638	// HttpBody:  Required. The prediction request body. Refer to the
2639	// request body details section (#request-body-details) for more
2640	// information on how to structure your request.
2641	HttpBody *GoogleApi__HttpBody `json:"httpBody,omitempty"`
2642
2643	// ForceSendFields is a list of field names (e.g. "HttpBody") to
2644	// unconditionally include in API requests. By default, fields with
2645	// empty values are omitted from API requests. However, any non-pointer,
2646	// non-interface field appearing in ForceSendFields will be sent to the
2647	// server regardless of whether the field is empty or not. This may be
2648	// used to include empty fields in Patch requests.
2649	ForceSendFields []string `json:"-"`
2650
2651	// NullFields is a list of field names (e.g. "HttpBody") to include in
2652	// API requests with the JSON null value. By default, fields with empty
2653	// values are omitted from API requests. However, any field with an
2654	// empty value appearing in NullFields will be sent to the server as
2655	// null. It is an error if a field in this list has a non-empty value.
2656	// This may be used to include null fields in Patch requests.
2657	NullFields []string `json:"-"`
2658}
2659
2660func (s *GoogleCloudMlV1__PredictRequest) MarshalJSON() ([]byte, error) {
2661	type NoMethod GoogleCloudMlV1__PredictRequest
2662	raw := NoMethod(*s)
2663	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2664}
2665
2666// GoogleCloudMlV1__PredictionInput: Represents input parameters for a
2667// prediction job.
2668type GoogleCloudMlV1__PredictionInput struct {
2669	// BatchSize: Optional. Number of records per batch, defaults to 64. The
2670	// service will buffer batch_size number of records in memory before
2671	// invoking one Tensorflow prediction call internally. So take the
2672	// record size and memory available into consideration when setting this
2673	// parameter.
2674	BatchSize int64 `json:"batchSize,omitempty,string"`
2675
2676	// DataFormat: Required. The format of the input data files.
2677	//
2678	// Possible values:
2679	//   "DATA_FORMAT_UNSPECIFIED" - Unspecified format.
2680	//   "JSON" - Each line of the file is a JSON dictionary representing
2681	// one record.
2682	//   "TEXT" - Deprecated. Use JSON instead.
2683	//   "TF_RECORD" - The source file is a TFRecord file. Currently
2684	// available only for input data.
2685	//   "TF_RECORD_GZIP" - The source file is a GZIP-compressed TFRecord
2686	// file. Currently available only for input data.
2687	//   "CSV" - Values are comma-separated rows, with keys in a separate
2688	// file. Currently available only for output data.
2689	DataFormat string `json:"dataFormat,omitempty"`
2690
2691	// InputPaths: Required. The Cloud Storage location of the input data
2692	// files. May contain wildcards.
2693	InputPaths []string `json:"inputPaths,omitempty"`
2694
2695	// MaxWorkerCount: Optional. The maximum number of workers to be used
2696	// for parallel processing. Defaults to 10 if not specified.
2697	MaxWorkerCount int64 `json:"maxWorkerCount,omitempty,string"`
2698
2699	// ModelName: Use this field if you want to use the default version for
2700	// the specified model. The string must use the following format:
2701	// "projects/YOUR_PROJECT/models/YOUR_MODEL"
2702	ModelName string `json:"modelName,omitempty"`
2703
2704	// OutputDataFormat: Optional. Format of the output data files, defaults
2705	// to JSON.
2706	//
2707	// Possible values:
2708	//   "DATA_FORMAT_UNSPECIFIED" - Unspecified format.
2709	//   "JSON" - Each line of the file is a JSON dictionary representing
2710	// one record.
2711	//   "TEXT" - Deprecated. Use JSON instead.
2712	//   "TF_RECORD" - The source file is a TFRecord file. Currently
2713	// available only for input data.
2714	//   "TF_RECORD_GZIP" - The source file is a GZIP-compressed TFRecord
2715	// file. Currently available only for input data.
2716	//   "CSV" - Values are comma-separated rows, with keys in a separate
2717	// file. Currently available only for output data.
2718	OutputDataFormat string `json:"outputDataFormat,omitempty"`
2719
2720	// OutputPath: Required. The output Google Cloud Storage location.
2721	OutputPath string `json:"outputPath,omitempty"`
2722
2723	// Region: Required. The Google Compute Engine region to run the
2724	// prediction job in. See the available regions for AI Platform
2725	// services.
2726	Region string `json:"region,omitempty"`
2727
2728	// RuntimeVersion: Optional. The AI Platform runtime version to use for
2729	// this batch prediction. If not set, AI Platform will pick the runtime
2730	// version used during the CreateVersion request for this model version,
2731	// or choose the latest stable version when model version information is
2732	// not available such as when the model is specified by uri.
2733	RuntimeVersion string `json:"runtimeVersion,omitempty"`
2734
2735	// SignatureName: Optional. The name of the signature defined in the
2736	// SavedModel to use for this job. Please refer to SavedModel
2737	// (https://tensorflow.github.io/serving/serving_basic.html) for
2738	// information about how to use signatures. Defaults to
2739	// DEFAULT_SERVING_SIGNATURE_DEF_KEY
2740	// (https://www.tensorflow.org/api_docs/python/tf/saved_model/signature_constants)
2741	// , which is "serving_default".
2742	SignatureName string `json:"signatureName,omitempty"`
2743
2744	// Uri: Use this field if you want to specify a Google Cloud Storage
2745	// path for the model to use.
2746	Uri string `json:"uri,omitempty"`
2747
2748	// VersionName: Use this field if you want to specify a version of the
2749	// model to use. The string is formatted the same way as
2750	// `model_version`, with the addition of the version information:
2751	// "projects/YOUR_PROJECT/models/YOUR_MODEL/versions/YOUR_VERSION"
2752	VersionName string `json:"versionName,omitempty"`
2753
2754	// ForceSendFields is a list of field names (e.g. "BatchSize") to
2755	// unconditionally include in API requests. By default, fields with
2756	// empty values are omitted from API requests. However, any non-pointer,
2757	// non-interface field appearing in ForceSendFields will be sent to the
2758	// server regardless of whether the field is empty or not. This may be
2759	// used to include empty fields in Patch requests.
2760	ForceSendFields []string `json:"-"`
2761
2762	// NullFields is a list of field names (e.g. "BatchSize") to include in
2763	// API requests with the JSON null value. By default, fields with empty
2764	// values are omitted from API requests. However, any field with an
2765	// empty value appearing in NullFields will be sent to the server as
2766	// null. It is an error if a field in this list has a non-empty value.
2767	// This may be used to include null fields in Patch requests.
2768	NullFields []string `json:"-"`
2769}
2770
2771func (s *GoogleCloudMlV1__PredictionInput) MarshalJSON() ([]byte, error) {
2772	type NoMethod GoogleCloudMlV1__PredictionInput
2773	raw := NoMethod(*s)
2774	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2775}
2776
2777// GoogleCloudMlV1__PredictionOutput: Represents results of a prediction
2778// job.
2779type GoogleCloudMlV1__PredictionOutput struct {
2780	// ErrorCount: The number of data instances which resulted in errors.
2781	ErrorCount int64 `json:"errorCount,omitempty,string"`
2782
2783	// NodeHours: Node hours used by the batch prediction job.
2784	NodeHours float64 `json:"nodeHours,omitempty"`
2785
2786	// OutputPath: The output Google Cloud Storage location provided at the
2787	// job creation time.
2788	OutputPath string `json:"outputPath,omitempty"`
2789
2790	// PredictionCount: The number of generated predictions.
2791	PredictionCount int64 `json:"predictionCount,omitempty,string"`
2792
2793	// ForceSendFields is a list of field names (e.g. "ErrorCount") to
2794	// unconditionally include in API requests. By default, fields with
2795	// empty values are omitted from API requests. However, any non-pointer,
2796	// non-interface field appearing in ForceSendFields will be sent to the
2797	// server regardless of whether the field is empty or not. This may be
2798	// used to include empty fields in Patch requests.
2799	ForceSendFields []string `json:"-"`
2800
2801	// NullFields is a list of field names (e.g. "ErrorCount") to include in
2802	// API requests with the JSON null value. By default, fields with empty
2803	// values are omitted from API requests. However, any field with an
2804	// empty value appearing in NullFields will be sent to the server as
2805	// null. It is an error if a field in this list has a non-empty value.
2806	// This may be used to include null fields in Patch requests.
2807	NullFields []string `json:"-"`
2808}
2809
2810func (s *GoogleCloudMlV1__PredictionOutput) MarshalJSON() ([]byte, error) {
2811	type NoMethod GoogleCloudMlV1__PredictionOutput
2812	raw := NoMethod(*s)
2813	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2814}
2815
2816func (s *GoogleCloudMlV1__PredictionOutput) UnmarshalJSON(data []byte) error {
2817	type NoMethod GoogleCloudMlV1__PredictionOutput
2818	var s1 struct {
2819		NodeHours gensupport.JSONFloat64 `json:"nodeHours"`
2820		*NoMethod
2821	}
2822	s1.NoMethod = (*NoMethod)(s)
2823	if err := json.Unmarshal(data, &s1); err != nil {
2824		return err
2825	}
2826	s.NodeHours = float64(s1.NodeHours)
2827	return nil
2828}
2829
2830// GoogleCloudMlV1__ReplicaConfig: Represents the configuration for a
2831// replica in a cluster.
2832type GoogleCloudMlV1__ReplicaConfig struct {
2833	// AcceleratorConfig: Represents the type and number of accelerators
2834	// used by the replica. Learn about restrictions on accelerator
2835	// configurations for training.
2836	// (/ai-platform/training/docs/using-gpus#compute-engine-machine-types-wi
2837	// th-gpu)
2838	AcceleratorConfig *GoogleCloudMlV1__AcceleratorConfig `json:"acceleratorConfig,omitempty"`
2839
2840	// ContainerArgs: Arguments to the entrypoint command. The following
2841	// rules apply for container_command and container_args: - If you do not
2842	// supply command or args: The defaults defined in the Docker image are
2843	// used. - If you supply a command but no args: The default EntryPoint
2844	// and the default Cmd defined in the Docker image are ignored. Your
2845	// command is run without any arguments. - If you supply only args: The
2846	// default Entrypoint defined in the Docker image is run with the args
2847	// that you supplied. - If you supply a command and args: The default
2848	// Entrypoint and the default Cmd defined in the Docker image are
2849	// ignored. Your command is run with your args. It cannot be set if
2850	// custom container image is not provided. Note that this field and
2851	// [TrainingInput.args] are mutually exclusive, i.e., both cannot be set
2852	// at the same time.
2853	ContainerArgs []string `json:"containerArgs,omitempty"`
2854
2855	// ContainerCommand: The command with which the replica's custom
2856	// container is run. If provided, it will override default ENTRYPOINT of
2857	// the docker image. If not provided, the docker image's ENTRYPOINT is
2858	// used. It cannot be set if custom container image is not provided.
2859	// Note that this field and [TrainingInput.args] are mutually exclusive,
2860	// i.e., both cannot be set at the same time.
2861	ContainerCommand []string `json:"containerCommand,omitempty"`
2862
2863	// DiskConfig: Represents the configuration of disk options.
2864	DiskConfig *GoogleCloudMlV1__DiskConfig `json:"diskConfig,omitempty"`
2865
2866	// ImageUri: The Docker image to run on the replica. This image must be
2867	// in Container Registry. Learn more about configuring custom containers
2868	// (/ai-platform/training/docs/distributed-training-containers).
2869	ImageUri string `json:"imageUri,omitempty"`
2870
2871	// TpuTfVersion: The AI Platform runtime version that includes a
2872	// TensorFlow version matching the one used in the custom container.
2873	// This field is required if the replica is a TPU worker that uses a
2874	// custom container. Otherwise, do not specify this field. This must be
2875	// a runtime version that currently supports training with TPUs
2876	// (/ml-engine/docs/tensorflow/runtime-version-list#tpu-support). Note
2877	// that the version of TensorFlow included in a runtime version may
2878	// differ from the numbering of the runtime version itself, because it
2879	// may have a different patch version
2880	// (https://www.tensorflow.org/guide/version_compat#semantic_versioning_20).
2881	// In this field, you must specify the runtime version (TensorFlow minor
2882	// version). For example, if your custom container runs TensorFlow
2883	// `1.x.y`, specify `1.x`.
2884	TpuTfVersion string `json:"tpuTfVersion,omitempty"`
2885
2886	// ForceSendFields is a list of field names (e.g. "AcceleratorConfig")
2887	// to unconditionally include in API requests. By default, fields with
2888	// empty values are omitted from API requests. However, any non-pointer,
2889	// non-interface field appearing in ForceSendFields will be sent to the
2890	// server regardless of whether the field is empty or not. This may be
2891	// used to include empty fields in Patch requests.
2892	ForceSendFields []string `json:"-"`
2893
2894	// NullFields is a list of field names (e.g. "AcceleratorConfig") to
2895	// include in API requests with the JSON null value. By default, fields
2896	// with empty values are omitted from API requests. However, any field
2897	// with an empty value appearing in NullFields will be sent to the
2898	// server as null. It is an error if a field in this list has a
2899	// non-empty value. This may be used to include null fields in Patch
2900	// requests.
2901	NullFields []string `json:"-"`
2902}
2903
2904func (s *GoogleCloudMlV1__ReplicaConfig) MarshalJSON() ([]byte, error) {
2905	type NoMethod GoogleCloudMlV1__ReplicaConfig
2906	raw := NoMethod(*s)
2907	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2908}
2909
2910// GoogleCloudMlV1__RequestLoggingConfig: Configuration for logging
2911// request-response pairs to a BigQuery table. Online prediction
2912// requests to a model version and the responses to these requests are
2913// converted to raw strings and saved to the specified BigQuery table.
2914// Logging is constrained by BigQuery quotas and limits
2915// (/bigquery/quotas). If your project exceeds BigQuery quotas or
2916// limits, AI Platform Prediction does not log request-response pairs,
2917// but it continues to serve predictions. If you are using continuous
2918// evaluation (/ml-engine/docs/continuous-evaluation/), you do not need
2919// to specify this configuration manually. Setting up continuous
2920// evaluation automatically enables logging of request-response pairs.
2921type GoogleCloudMlV1__RequestLoggingConfig struct {
2922	// BigqueryTableName: Required. Fully qualified BigQuery table name in
2923	// the following format: " project_id.dataset_name.table_name" The
2924	// specified table must already exist, and the "Cloud ML Service Agent"
2925	// for your project must have permission to write to it. The table must
2926	// have the following schema (/bigquery/docs/schemas): Field nameType
2927	// Mode model STRING REQUIRED model_version STRING REQUIRED time
2928	// TIMESTAMP REQUIRED raw_data STRING REQUIRED raw_prediction STRING
2929	// NULLABLE groundtruth STRING NULLABLE
2930	BigqueryTableName string `json:"bigqueryTableName,omitempty"`
2931
2932	// SamplingPercentage: Percentage of requests to be logged, expressed as
2933	// a fraction from 0 to 1. For example, if you want to log 10% of
2934	// requests, enter `0.1`. The sampling window is the lifetime of the
2935	// model version. Defaults to 0.
2936	SamplingPercentage float64 `json:"samplingPercentage,omitempty"`
2937
2938	// ForceSendFields is a list of field names (e.g. "BigqueryTableName")
2939	// to unconditionally include in API requests. By default, fields with
2940	// empty values are omitted from API requests. However, any non-pointer,
2941	// non-interface field appearing in ForceSendFields will be sent to the
2942	// server regardless of whether the field is empty or not. This may be
2943	// used to include empty fields in Patch requests.
2944	ForceSendFields []string `json:"-"`
2945
2946	// NullFields is a list of field names (e.g. "BigqueryTableName") to
2947	// include in API requests with the JSON null value. By default, fields
2948	// with empty values are omitted from API requests. However, any field
2949	// with an empty value appearing in NullFields will be sent to the
2950	// server as null. It is an error if a field in this list has a
2951	// non-empty value. This may be used to include null fields in Patch
2952	// requests.
2953	NullFields []string `json:"-"`
2954}
2955
2956func (s *GoogleCloudMlV1__RequestLoggingConfig) MarshalJSON() ([]byte, error) {
2957	type NoMethod GoogleCloudMlV1__RequestLoggingConfig
2958	raw := NoMethod(*s)
2959	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2960}
2961
2962func (s *GoogleCloudMlV1__RequestLoggingConfig) UnmarshalJSON(data []byte) error {
2963	type NoMethod GoogleCloudMlV1__RequestLoggingConfig
2964	var s1 struct {
2965		SamplingPercentage gensupport.JSONFloat64 `json:"samplingPercentage"`
2966		*NoMethod
2967	}
2968	s1.NoMethod = (*NoMethod)(s)
2969	if err := json.Unmarshal(data, &s1); err != nil {
2970		return err
2971	}
2972	s.SamplingPercentage = float64(s1.SamplingPercentage)
2973	return nil
2974}
2975
2976// GoogleCloudMlV1__RouteMap: Specifies HTTP paths served by a custom
2977// container. AI Platform Prediction sends requests to these paths on
2978// the container; the custom container must run an HTTP server that
2979// responds to these requests with appropriate responses. Read Custom
2980// container requirements
2981// (/ai-platform/prediction/docs/custom-container-requirements) for
2982// details on how to create your container image to meet these
2983// requirements.
2984type GoogleCloudMlV1__RouteMap struct {
2985	// Health: HTTP path on the container to send health checkss to. AI
2986	// Platform Prediction intermittently sends GET requests to this path on
2987	// the container's IP address and port to check that the container is
2988	// healthy. Read more about health checks
2989	// (/ai-platform/prediction/docs/custom-container-requirements#checks).
2990	// For example, if you set this field to `/bar`, then AI Platform
2991	// Prediction intermittently sends a GET request to the `/bar` path on
2992	// the port of your container specified by the first value of
2993	// Version.container.ports. If you don't specify this field, it defaults
2994	// to the following value: /v1/models/ MODEL/versions/VERSION The
2995	// placeholders in this value are replaced as follows: * MODEL: The name
2996	// of the parent Model. This does not include the
2997	// "projects/PROJECT_ID/models/" prefix that the API returns in output;
2998	// it is the bare model name, as provided to projects.models.create. *
2999	// VERSION: The name of the model version. This does not include the
3000	// "projects/PROJECT_ID /models/MODEL/versions/" prefix that the API
3001	// returns in output; it is the bare version name, as provided to
3002	// projects.models.versions.create.
3003	Health string `json:"health,omitempty"`
3004
3005	// Predict: HTTP path on the container to send prediction requests to.
3006	// AI Platform Prediction forwards requests sent using projects.predict
3007	// to this path on the container's IP address and port. AI Platform
3008	// Prediction then returns the container's response in the API response.
3009	// For example, if you set this field to `/foo`, then when AI Platform
3010	// Prediction receives a prediction request, it forwards the request
3011	// body in a POST request to the `/foo` path on the port of your
3012	// container specified by the first value of Version.container.ports. If
3013	// you don't specify this field, it defaults to the following value:
3014	// /v1/models/MODEL/versions/VERSION:predict The placeholders in this
3015	// value are replaced as follows: * MODEL: The name of the parent Model.
3016	// This does not include the "projects/PROJECT_ID/models/" prefix that
3017	// the API returns in output; it is the bare model name, as provided to
3018	// projects.models.create. * VERSION: The name of the model version.
3019	// This does not include the
3020	// "projects/PROJECT_ID/models/MODEL/versions/" prefix that the API
3021	// returns in output; it is the bare version name, as provided to
3022	// projects.models.versions.create.
3023	Predict string `json:"predict,omitempty"`
3024
3025	// ForceSendFields is a list of field names (e.g. "Health") to
3026	// unconditionally include in API requests. By default, fields with
3027	// empty values are omitted from API requests. However, any non-pointer,
3028	// non-interface field appearing in ForceSendFields will be sent to the
3029	// server regardless of whether the field is empty or not. This may be
3030	// used to include empty fields in Patch requests.
3031	ForceSendFields []string `json:"-"`
3032
3033	// NullFields is a list of field names (e.g. "Health") to include in API
3034	// requests with the JSON null value. By default, fields with empty
3035	// values are omitted from API requests. However, any field with an
3036	// empty value appearing in NullFields will be sent to the server as
3037	// null. It is an error if a field in this list has a non-empty value.
3038	// This may be used to include null fields in Patch requests.
3039	NullFields []string `json:"-"`
3040}
3041
3042func (s *GoogleCloudMlV1__RouteMap) MarshalJSON() ([]byte, error) {
3043	type NoMethod GoogleCloudMlV1__RouteMap
3044	raw := NoMethod(*s)
3045	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3046}
3047
3048// GoogleCloudMlV1__SampledShapleyAttribution: An attribution method
3049// that approximates Shapley values for features that contribute to the
3050// label being predicted. A sampling strategy is used to approximate the
3051// value rather than considering all subsets of features.
3052type GoogleCloudMlV1__SampledShapleyAttribution struct {
3053	// NumPaths: The number of feature permutations to consider when
3054	// approximating the Shapley values.
3055	NumPaths int64 `json:"numPaths,omitempty"`
3056
3057	// ForceSendFields is a list of field names (e.g. "NumPaths") to
3058	// unconditionally include in API requests. By default, fields with
3059	// empty values are omitted from API requests. However, any non-pointer,
3060	// non-interface field appearing in ForceSendFields will be sent to the
3061	// server regardless of whether the field is empty or not. This may be
3062	// used to include empty fields in Patch requests.
3063	ForceSendFields []string `json:"-"`
3064
3065	// NullFields is a list of field names (e.g. "NumPaths") to include in
3066	// API requests with the JSON null value. By default, fields with empty
3067	// values are omitted from API requests. However, any field with an
3068	// empty value appearing in NullFields will be sent to the server as
3069	// null. It is an error if a field in this list has a non-empty value.
3070	// This may be used to include null fields in Patch requests.
3071	NullFields []string `json:"-"`
3072}
3073
3074func (s *GoogleCloudMlV1__SampledShapleyAttribution) MarshalJSON() ([]byte, error) {
3075	type NoMethod GoogleCloudMlV1__SampledShapleyAttribution
3076	raw := NoMethod(*s)
3077	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3078}
3079
3080// GoogleCloudMlV1__Scheduling: All parameters related to scheduling of
3081// training jobs.
3082type GoogleCloudMlV1__Scheduling struct {
3083	// MaxRunningTime: Optional. The maximum job running time, expressed in
3084	// seconds. The field can contain up to nine fractional digits,
3085	// terminated by `s`. If not specified, this field defaults to `604800s`
3086	// (seven days). If the training job is still running after this
3087	// duration, AI Platform Training cancels it. The duration is measured
3088	// from when the job enters the `RUNNING` state; therefore it does not
3089	// overlap with the duration limited by Scheduling.max_wait_time. For
3090	// example, if you want to ensure your job runs for no more than 2
3091	// hours, set this field to `7200s` (2 hours * 60 minutes / hour * 60
3092	// seconds / minute). If you submit your training job using the `gcloud`
3093	// tool, you can specify this field in a `config.yaml` file
3094	// (/ai-platform/training/docs/training-jobs#formatting_your_configuratio
3095	// n_parameters). For example: ```yaml trainingInput: scheduling:
3096	// maxRunningTime: 7200s ```
3097	MaxRunningTime string `json:"maxRunningTime,omitempty"`
3098
3099	// MaxWaitTime: Optional. The maximum job wait time, expressed in
3100	// seconds. The field can contain up to nine fractional digits,
3101	// terminated by `s`. If not specified, there is no limit to the wait
3102	// time. The minimum for this field is `1800s` (30 minutes). If the
3103	// training job has not entered the `RUNNING` state after this duration,
3104	// AI Platform Training cancels it. After the job begins running, it can
3105	// no longer be cancelled due to the maximum wait time. Therefore the
3106	// duration limited by this field does not overlap with the duration
3107	// limited by Scheduling.max_running_time. For example, if the job
3108	// temporarily stops running and retries due to a VM restart
3109	// (/ai-platform/training/docs/overview#restarts), this cannot lead to a
3110	// maximum wait time cancellation. However, independently of this
3111	// constraint, AI Platform Training might stop a job if there are too
3112	// many retries due to exhausted resources in a region. The following
3113	// example describes how you might use this field: To cancel your job if
3114	// it doesn't start running within 1 hour, set this field to `3600s` (1
3115	// hour * 60 minutes / hour * 60 seconds / minute). If the job is still
3116	// in the `QUEUED` or `PREPARING` state after an hour of waiting, AI
3117	// Platform Training cancels the job. If you submit your training job
3118	// using the `gcloud` tool, you can specify this field in a
3119	// `config.yaml` file
3120	// (/ai-platform/training/docs/training-jobs#formatting_your_configuratio
3121	// n_parameters). For example: ```yaml trainingInput: scheduling:
3122	// maxWaitTime: 3600s ```
3123	MaxWaitTime string `json:"maxWaitTime,omitempty"`
3124
3125	// ForceSendFields is a list of field names (e.g. "MaxRunningTime") to
3126	// unconditionally include in API requests. By default, fields with
3127	// empty values are omitted from API requests. However, any non-pointer,
3128	// non-interface field appearing in ForceSendFields will be sent to the
3129	// server regardless of whether the field is empty or not. This may be
3130	// used to include empty fields in Patch requests.
3131	ForceSendFields []string `json:"-"`
3132
3133	// NullFields is a list of field names (e.g. "MaxRunningTime") to
3134	// include in API requests with the JSON null value. By default, fields
3135	// with empty values are omitted from API requests. However, any field
3136	// with an empty value appearing in NullFields will be sent to the
3137	// server as null. It is an error if a field in this list has a
3138	// non-empty value. This may be used to include null fields in Patch
3139	// requests.
3140	NullFields []string `json:"-"`
3141}
3142
3143func (s *GoogleCloudMlV1__Scheduling) MarshalJSON() ([]byte, error) {
3144	type NoMethod GoogleCloudMlV1__Scheduling
3145	raw := NoMethod(*s)
3146	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3147}
3148
3149// GoogleCloudMlV1__SetDefaultVersionRequest: Request message for the
3150// SetDefaultVersion request.
3151type GoogleCloudMlV1__SetDefaultVersionRequest struct {
3152}
3153
3154type GoogleCloudMlV1__StopTrialRequest struct {
3155}
3156
3157// GoogleCloudMlV1__Study: A message representing a Study.
3158type GoogleCloudMlV1__Study struct {
3159	// CreateTime: Output only. Time at which the study was created.
3160	CreateTime string `json:"createTime,omitempty"`
3161
3162	// InactiveReason: Output only. A human readable reason why the Study is
3163	// inactive. This should be empty if a study is ACTIVE or COMPLETED.
3164	InactiveReason string `json:"inactiveReason,omitempty"`
3165
3166	// Name: Output only. The name of a study.
3167	Name string `json:"name,omitempty"`
3168
3169	// State: Output only. The detailed state of a study.
3170	//
3171	// Possible values:
3172	//   "STATE_UNSPECIFIED" - The study state is unspecified.
3173	//   "ACTIVE" - The study is active.
3174	//   "INACTIVE" - The study is stopped due to an internal error.
3175	//   "COMPLETED" - The study is done when the service exhausts the
3176	// parameter search space or max_trial_count is reached.
3177	State string `json:"state,omitempty"`
3178
3179	// StudyConfig: Required. Configuration of the study.
3180	StudyConfig *GoogleCloudMlV1__StudyConfig `json:"studyConfig,omitempty"`
3181
3182	// ServerResponse contains the HTTP response code and headers from the
3183	// server.
3184	googleapi.ServerResponse `json:"-"`
3185
3186	// ForceSendFields is a list of field names (e.g. "CreateTime") to
3187	// unconditionally include in API requests. By default, fields with
3188	// empty values are omitted from API requests. However, any non-pointer,
3189	// non-interface field appearing in ForceSendFields will be sent to the
3190	// server regardless of whether the field is empty or not. This may be
3191	// used to include empty fields in Patch requests.
3192	ForceSendFields []string `json:"-"`
3193
3194	// NullFields is a list of field names (e.g. "CreateTime") to include in
3195	// API requests with the JSON null value. By default, fields with empty
3196	// values are omitted from API requests. However, any field with an
3197	// empty value appearing in NullFields will be sent to the server as
3198	// null. It is an error if a field in this list has a non-empty value.
3199	// This may be used to include null fields in Patch requests.
3200	NullFields []string `json:"-"`
3201}
3202
3203func (s *GoogleCloudMlV1__Study) MarshalJSON() ([]byte, error) {
3204	type NoMethod GoogleCloudMlV1__Study
3205	raw := NoMethod(*s)
3206	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3207}
3208
3209// GoogleCloudMlV1__StudyConfig: Represents configuration of a study.
3210type GoogleCloudMlV1__StudyConfig struct {
3211	// Algorithm: The search algorithm specified for the study.
3212	//
3213	// Possible values:
3214	//   "ALGORITHM_UNSPECIFIED" - The default algorithm used by the Cloud
3215	// AI Platform Vizier service.
3216	//   "GAUSSIAN_PROCESS_BANDIT" - Gaussian Process Bandit.
3217	//   "GRID_SEARCH" - Simple grid search within the feasible space. To
3218	// use grid search, all parameters must be `INTEGER`, `CATEGORICAL`, or
3219	// `DISCRETE`.
3220	//   "RANDOM_SEARCH" - Simple random search within the feasible space.
3221	Algorithm string `json:"algorithm,omitempty"`
3222
3223	// AutomatedStoppingConfig: Configuration for automated stopping of
3224	// unpromising Trials.
3225	AutomatedStoppingConfig *GoogleCloudMlV1__AutomatedStoppingConfig `json:"automatedStoppingConfig,omitempty"`
3226
3227	// Metrics: Metric specs for the study.
3228	Metrics []*GoogleCloudMlV1StudyConfigMetricSpec `json:"metrics,omitempty"`
3229
3230	// Parameters: Required. The set of parameters to tune.
3231	Parameters []*GoogleCloudMlV1StudyConfigParameterSpec `json:"parameters,omitempty"`
3232
3233	// ForceSendFields is a list of field names (e.g. "Algorithm") to
3234	// unconditionally include in API requests. By default, fields with
3235	// empty values are omitted from API requests. However, any non-pointer,
3236	// non-interface field appearing in ForceSendFields will be sent to the
3237	// server regardless of whether the field is empty or not. This may be
3238	// used to include empty fields in Patch requests.
3239	ForceSendFields []string `json:"-"`
3240
3241	// NullFields is a list of field names (e.g. "Algorithm") to include in
3242	// API requests with the JSON null value. By default, fields with empty
3243	// values are omitted from API requests. However, any field with an
3244	// empty value appearing in NullFields will be sent to the server as
3245	// null. It is an error if a field in this list has a non-empty value.
3246	// This may be used to include null fields in Patch requests.
3247	NullFields []string `json:"-"`
3248}
3249
3250func (s *GoogleCloudMlV1__StudyConfig) MarshalJSON() ([]byte, error) {
3251	type NoMethod GoogleCloudMlV1__StudyConfig
3252	raw := NoMethod(*s)
3253	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3254}
3255
3256// GoogleCloudMlV1__SuggestTrialsMetadata: Metadata field of a
3257// google.longrunning.Operation associated with a SuggestTrialsRequest.
3258type GoogleCloudMlV1__SuggestTrialsMetadata struct {
3259	// ClientId: The identifier of the client that is requesting the
3260	// suggestion.
3261	ClientId string `json:"clientId,omitempty"`
3262
3263	// CreateTime: The time operation was submitted.
3264	CreateTime string `json:"createTime,omitempty"`
3265
3266	// Study: The name of the study that the trial belongs to.
3267	Study string `json:"study,omitempty"`
3268
3269	// SuggestionCount: The number of suggestions requested.
3270	SuggestionCount int64 `json:"suggestionCount,omitempty"`
3271
3272	// ForceSendFields is a list of field names (e.g. "ClientId") to
3273	// unconditionally include in API requests. By default, fields with
3274	// empty values are omitted from API requests. However, any non-pointer,
3275	// non-interface field appearing in ForceSendFields will be sent to the
3276	// server regardless of whether the field is empty or not. This may be
3277	// used to include empty fields in Patch requests.
3278	ForceSendFields []string `json:"-"`
3279
3280	// NullFields is a list of field names (e.g. "ClientId") to include in
3281	// API requests with the JSON null value. By default, fields with empty
3282	// values are omitted from API requests. However, any field with an
3283	// empty value appearing in NullFields will be sent to the server as
3284	// null. It is an error if a field in this list has a non-empty value.
3285	// This may be used to include null fields in Patch requests.
3286	NullFields []string `json:"-"`
3287}
3288
3289func (s *GoogleCloudMlV1__SuggestTrialsMetadata) MarshalJSON() ([]byte, error) {
3290	type NoMethod GoogleCloudMlV1__SuggestTrialsMetadata
3291	raw := NoMethod(*s)
3292	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3293}
3294
3295// GoogleCloudMlV1__SuggestTrialsRequest: The request message for the
3296// SuggestTrial service method.
3297type GoogleCloudMlV1__SuggestTrialsRequest struct {
3298	// ClientId: Required. The identifier of the client that is requesting
3299	// the suggestion. If multiple SuggestTrialsRequests have the same
3300	// `client_id`, the service will return the identical suggested trial if
3301	// the trial is pending, and provide a new trial if the last suggested
3302	// trial was completed.
3303	ClientId string `json:"clientId,omitempty"`
3304
3305	// SuggestionCount: Required. The number of suggestions requested.
3306	SuggestionCount int64 `json:"suggestionCount,omitempty"`
3307
3308	// ForceSendFields is a list of field names (e.g. "ClientId") to
3309	// unconditionally include in API requests. By default, fields with
3310	// empty values are omitted from API requests. However, any non-pointer,
3311	// non-interface field appearing in ForceSendFields will be sent to the
3312	// server regardless of whether the field is empty or not. This may be
3313	// used to include empty fields in Patch requests.
3314	ForceSendFields []string `json:"-"`
3315
3316	// NullFields is a list of field names (e.g. "ClientId") to include in
3317	// API requests with the JSON null value. By default, fields with empty
3318	// values are omitted from API requests. However, any field with an
3319	// empty value appearing in NullFields will be sent to the server as
3320	// null. It is an error if a field in this list has a non-empty value.
3321	// This may be used to include null fields in Patch requests.
3322	NullFields []string `json:"-"`
3323}
3324
3325func (s *GoogleCloudMlV1__SuggestTrialsRequest) MarshalJSON() ([]byte, error) {
3326	type NoMethod GoogleCloudMlV1__SuggestTrialsRequest
3327	raw := NoMethod(*s)
3328	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3329}
3330
3331// GoogleCloudMlV1__SuggestTrialsResponse: This message will be placed
3332// in the response field of a completed google.longrunning.Operation
3333// associated with a SuggestTrials request.
3334type GoogleCloudMlV1__SuggestTrialsResponse struct {
3335	// EndTime: The time at which operation processing completed.
3336	EndTime string `json:"endTime,omitempty"`
3337
3338	// StartTime: The time at which the operation was started.
3339	StartTime string `json:"startTime,omitempty"`
3340
3341	// StudyState: The state of the study.
3342	//
3343	// Possible values:
3344	//   "STATE_UNSPECIFIED" - The study state is unspecified.
3345	//   "ACTIVE" - The study is active.
3346	//   "INACTIVE" - The study is stopped due to an internal error.
3347	//   "COMPLETED" - The study is done when the service exhausts the
3348	// parameter search space or max_trial_count is reached.
3349	StudyState string `json:"studyState,omitempty"`
3350
3351	// Trials: A list of trials.
3352	Trials []*GoogleCloudMlV1__Trial `json:"trials,omitempty"`
3353
3354	// ForceSendFields is a list of field names (e.g. "EndTime") to
3355	// unconditionally include in API requests. By default, fields with
3356	// empty values are omitted from API requests. However, any non-pointer,
3357	// non-interface field appearing in ForceSendFields will be sent to the
3358	// server regardless of whether the field is empty or not. This may be
3359	// used to include empty fields in Patch requests.
3360	ForceSendFields []string `json:"-"`
3361
3362	// NullFields is a list of field names (e.g. "EndTime") to include in
3363	// API requests with the JSON null value. By default, fields with empty
3364	// values are omitted from API requests. However, any field with an
3365	// empty value appearing in NullFields will be sent to the server as
3366	// null. It is an error if a field in this list has a non-empty value.
3367	// This may be used to include null fields in Patch requests.
3368	NullFields []string `json:"-"`
3369}
3370
3371func (s *GoogleCloudMlV1__SuggestTrialsResponse) MarshalJSON() ([]byte, error) {
3372	type NoMethod GoogleCloudMlV1__SuggestTrialsResponse
3373	raw := NoMethod(*s)
3374	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3375}
3376
3377// GoogleCloudMlV1__TrainingInput: Represents input parameters for a
3378// training job. When using the gcloud command to submit your training
3379// job, you can specify the input parameters as command-line arguments
3380// and/or in a YAML configuration file referenced from the --config
3381// command-line argument. For details, see the guide to submitting a
3382// training job (/ai-platform/training/docs/training-jobs).
3383type GoogleCloudMlV1__TrainingInput struct {
3384	// Args: Optional. Command-line arguments passed to the training
3385	// application when it starts. If your job uses a custom container, then
3386	// the arguments are passed to the container's `ENTRYPOINT` command.
3387	Args []string `json:"args,omitempty"`
3388
3389	// EncryptionConfig: Optional. Options for using customer-managed
3390	// encryption keys (CMEK) to protect resources created by a training
3391	// job, instead of using Google's default encryption. If this is set,
3392	// then all resources created by the training job will be encrypted with
3393	// the customer-managed encryption key that you specify. Learn how and
3394	// when to use CMEK with AI Platform Training
3395	// (/ai-platform/training/docs/cmek).
3396	EncryptionConfig *GoogleCloudMlV1__EncryptionConfig `json:"encryptionConfig,omitempty"`
3397
3398	// EvaluatorConfig: Optional. The configuration for evaluators. You
3399	// should only set `evaluatorConfig.acceleratorConfig` if
3400	// `evaluatorType` is set to a Compute Engine machine type. Learn about
3401	// restrictions on accelerator configurations for training.
3402	// (/ai-platform/training/docs/using-gpus#compute-engine-machine-types-wi
3403	// th-gpu) Set `evaluatorConfig.imageUri` only if you build a custom
3404	// image for your evaluator. If `evaluatorConfig.imageUri` has not been
3405	// set, AI Platform uses the value of `masterConfig.imageUri`. Learn
3406	// more about configuring custom containers
3407	// (/ai-platform/training/docs/distributed-training-containers).
3408	EvaluatorConfig *GoogleCloudMlV1__ReplicaConfig `json:"evaluatorConfig,omitempty"`
3409
3410	// EvaluatorCount: Optional. The number of evaluator replicas to use for
3411	// the training job. Each replica in the cluster will be of the type
3412	// specified in `evaluator_type`. This value can only be used when
3413	// `scale_tier` is set to `CUSTOM`. If you set this value, you must also
3414	// set `evaluator_type`. The default value is zero.
3415	EvaluatorCount int64 `json:"evaluatorCount,omitempty,string"`
3416
3417	// EvaluatorType: Optional. Specifies the type of virtual machine to use
3418	// for your training job's evaluator nodes. The supported values are the
3419	// same as those described in the entry for `masterType`. This value
3420	// must be consistent with the category of machine type that
3421	// `masterType` uses. In other words, both must be Compute Engine
3422	// machine types or both must be legacy machine types. This value must
3423	// be present when `scaleTier` is set to `CUSTOM` and `evaluatorCount`
3424	// is greater than zero.
3425	EvaluatorType string `json:"evaluatorType,omitempty"`
3426
3427	// Hyperparameters: Optional. The set of Hyperparameters to tune.
3428	Hyperparameters *GoogleCloudMlV1__HyperparameterSpec `json:"hyperparameters,omitempty"`
3429
3430	// JobDir: Optional. A Google Cloud Storage path in which to store
3431	// training outputs and other data needed for training. This path is
3432	// passed to your TensorFlow program as the '--job-dir' command-line
3433	// argument. The benefit of specifying this field is that Cloud ML
3434	// validates the path for use in training.
3435	JobDir string `json:"jobDir,omitempty"`
3436
3437	// MasterConfig: Optional. The configuration for your master worker. You
3438	// should only set `masterConfig.acceleratorConfig` if `masterType` is
3439	// set to a Compute Engine machine type. Learn about restrictions on
3440	// accelerator configurations for training.
3441	// (/ai-platform/training/docs/using-gpus#compute-engine-machine-types-wi
3442	// th-gpu) Set `masterConfig.imageUri` only if you build a custom image.
3443	// Only one of `masterConfig.imageUri` and `runtimeVersion` should be
3444	// set. Learn more about configuring custom containers
3445	// (/ai-platform/training/docs/distributed-training-containers).
3446	MasterConfig *GoogleCloudMlV1__ReplicaConfig `json:"masterConfig,omitempty"`
3447
3448	// MasterType: Optional. Specifies the type of virtual machine to use
3449	// for your training job's master worker. You must specify this field
3450	// when `scaleTier` is set to `CUSTOM`. You can use certain Compute
3451	// Engine machine types directly in this field. See the list of
3452	// compatible Compute Engine machine types
3453	// (/ai-platform/training/docs/machine-types#compute-engine-machine-types
3454	// ). Alternatively, you can use the certain legacy machine types in
3455	// this field. See the list of legacy machine types
3456	// (/ai-platform/training/docs/machine-types#legacy-machine-types).
3457	// Finally, if you want to use a TPU for training, specify `cloud_tpu`
3458	// in this field. Learn more about the special configuration options for
3459	// training with TPUs
3460	// (/ai-platform/training/docs/using-tpus#configuring_a_custom_tpu_machin
3461	// e).
3462	MasterType string `json:"masterType,omitempty"`
3463
3464	// Network: Optional. The full name of the Compute Engine network
3465	// (/vpc/docs/vpc) to which the Job is peered. For example,
3466	// `projects/12345/global/networks/myVPC`. The format of this field is
3467	// `projects/{project}/global/networks/{network}`, where {project} is a
3468	// project number (like `12345`) and {network} is network name. Private
3469	// services access must already be configured for the network. If left
3470	// unspecified, the Job is not peered with any network. Learn about
3471	// using VPC Network Peering. (/ai-platform/training/docs/vpc-peering).
3472	Network string `json:"network,omitempty"`
3473
3474	// PackageUris: Required. The Google Cloud Storage location of the
3475	// packages with the training program and any additional dependencies.
3476	// The maximum number of package URIs is 100.
3477	PackageUris []string `json:"packageUris,omitempty"`
3478
3479	// ParameterServerConfig: Optional. The configuration for parameter
3480	// servers. You should only set
3481	// `parameterServerConfig.acceleratorConfig` if `parameterServerType` is
3482	// set to a Compute Engine machine type. Learn about restrictions on
3483	// accelerator configurations for training.
3484	// (/ai-platform/training/docs/using-gpus#compute-engine-machine-types-wi
3485	// th-gpu) Set `parameterServerConfig.imageUri` only if you build a
3486	// custom image for your parameter server. If
3487	// `parameterServerConfig.imageUri` has not been set, AI Platform uses
3488	// the value of `masterConfig.imageUri`. Learn more about configuring
3489	// custom containers
3490	// (/ai-platform/training/docs/distributed-training-containers).
3491	ParameterServerConfig *GoogleCloudMlV1__ReplicaConfig `json:"parameterServerConfig,omitempty"`
3492
3493	// ParameterServerCount: Optional. The number of parameter server
3494	// replicas to use for the training job. Each replica in the cluster
3495	// will be of the type specified in `parameter_server_type`. This value
3496	// can only be used when `scale_tier` is set to `CUSTOM`. If you set
3497	// this value, you must also set `parameter_server_type`. The default
3498	// value is zero.
3499	ParameterServerCount int64 `json:"parameterServerCount,omitempty,string"`
3500
3501	// ParameterServerType: Optional. Specifies the type of virtual machine
3502	// to use for your training job's parameter server. The supported values
3503	// are the same as those described in the entry for `master_type`. This
3504	// value must be consistent with the category of machine type that
3505	// `masterType` uses. In other words, both must be Compute Engine
3506	// machine types or both must be legacy machine types. This value must
3507	// be present when `scaleTier` is set to `CUSTOM` and
3508	// `parameter_server_count` is greater than zero.
3509	ParameterServerType string `json:"parameterServerType,omitempty"`
3510
3511	// PythonModule: Required. The Python module name to run after
3512	// installing the packages.
3513	PythonModule string `json:"pythonModule,omitempty"`
3514
3515	// PythonVersion: Optional. The version of Python used in training. You
3516	// must either specify this field or specify `masterConfig.imageUri`.
3517	// The following Python versions are available: * Python '3.7' is
3518	// available when `runtime_version` is set to '1.15' or later. * Python
3519	// '3.5' is available when `runtime_version` is set to a version from
3520	// '1.4' to '1.14'. * Python '2.7' is available when `runtime_version`
3521	// is set to '1.15' or earlier. Read more about the Python versions
3522	// available for each runtime version
3523	// (/ml-engine/docs/runtime-version-list).
3524	PythonVersion string `json:"pythonVersion,omitempty"`
3525
3526	// Region: Required. The region to run the training job in. See the
3527	// available regions (/ai-platform/training/docs/regions) for AI
3528	// Platform Training.
3529	Region string `json:"region,omitempty"`
3530
3531	// RuntimeVersion: Optional. The AI Platform runtime version to use for
3532	// training. You must either specify this field or specify
3533	// `masterConfig.imageUri`. For more information, see the runtime
3534	// version list (/ai-platform/training/docs/runtime-version-list) and
3535	// learn how to manage runtime versions
3536	// (/ai-platform/training/docs/versioning).
3537	RuntimeVersion string `json:"runtimeVersion,omitempty"`
3538
3539	// ScaleTier: Required. Specifies the machine types, the number of
3540	// replicas for workers and parameter servers.
3541	//
3542	// Possible values:
3543	//   "BASIC" - A single worker instance. This tier is suitable for
3544	// learning how to use Cloud ML, and for experimenting with new models
3545	// using small datasets.
3546	//   "STANDARD_1" - Many workers and a few parameter servers.
3547	//   "PREMIUM_1" - A large number of workers with many parameter
3548	// servers.
3549	//   "BASIC_GPU" - A single worker instance [with a
3550	// GPU](/ai-platform/training/docs/using-gpus).
3551	//   "BASIC_TPU" - A single worker instance with a [Cloud
3552	// TPU](/ml-engine/docs/tensorflow/using-tpus).
3553	//   "CUSTOM" - The CUSTOM tier is not a set tier, but rather enables
3554	// you to use your own cluster specification. When you use this tier,
3555	// set values to configure your processing cluster according to these
3556	// guidelines: * You _must_ set `TrainingInput.masterType` to specify
3557	// the type of machine to use for your master node. This is the only
3558	// required setting. * You _may_ set `TrainingInput.workerCount` to
3559	// specify the number of workers to use. If you specify one or more
3560	// workers, you _must_ also set `TrainingInput.workerType` to specify
3561	// the type of machine to use for your worker nodes. * You _may_ set
3562	// `TrainingInput.parameterServerCount` to specify the number of
3563	// parameter servers to use. If you specify one or more parameter
3564	// servers, you _must_ also set `TrainingInput.parameterServerType` to
3565	// specify the type of machine to use for your parameter servers. Note
3566	// that all of your workers must use the same machine type, which can be
3567	// different from your parameter server type and master type. Your
3568	// parameter servers must likewise use the same machine type, which can
3569	// be different from your worker type and master type.
3570	ScaleTier string `json:"scaleTier,omitempty"`
3571
3572	// Scheduling: Optional. Scheduling options for a training job.
3573	Scheduling *GoogleCloudMlV1__Scheduling `json:"scheduling,omitempty"`
3574
3575	// ServiceAccount: Optional. The email address of a service account to
3576	// use when running the training appplication. You must have the
3577	// `iam.serviceAccounts.actAs` permission for the specified service
3578	// account. In addition, the AI Platform Training Google-managed service
3579	// account must have the `roles/iam.serviceAccountAdmin` role for the
3580	// specified service account. Learn more about configuring a service
3581	// account. (/ai-platform/training/docs/custom-service-account) If not
3582	// specified, the AI Platform Training Google-managed service account is
3583	// used by default.
3584	ServiceAccount string `json:"serviceAccount,omitempty"`
3585
3586	// UseChiefInTfConfig: Optional. Use `chief` instead of `master` in the
3587	// `TF_CONFIG` environment variable when training with a custom
3588	// container. Defaults to `false`. Learn more about this field.
3589	// (/ai-platform/training/docs/distributed-training-details#chief-versus-
3590	// master) This field has no effect for training jobs that don't use a
3591	// custom container.
3592	UseChiefInTfConfig bool `json:"useChiefInTfConfig,omitempty"`
3593
3594	// WorkerConfig: Optional. The configuration for workers. You should
3595	// only set `workerConfig.acceleratorConfig` if `workerType` is set to a
3596	// Compute Engine machine type. Learn about restrictions on accelerator
3597	// configurations for training.
3598	// (/ai-platform/training/docs/using-gpus#compute-engine-machine-types-wi
3599	// th-gpu) Set `workerConfig.imageUri` only if you build a custom image
3600	// for your worker. If `workerConfig.imageUri` has not been set, AI
3601	// Platform uses the value of `masterConfig.imageUri`. Learn more about
3602	// configuring custom containers
3603	// (/ai-platform/training/docs/distributed-training-containers).
3604	WorkerConfig *GoogleCloudMlV1__ReplicaConfig `json:"workerConfig,omitempty"`
3605
3606	// WorkerCount: Optional. The number of worker replicas to use for the
3607	// training job. Each replica in the cluster will be of the type
3608	// specified in `worker_type`. This value can only be used when
3609	// `scale_tier` is set to `CUSTOM`. If you set this value, you must also
3610	// set `worker_type`. The default value is zero.
3611	WorkerCount int64 `json:"workerCount,omitempty,string"`
3612
3613	// WorkerType: Optional. Specifies the type of virtual machine to use
3614	// for your training job's worker nodes. The supported values are the
3615	// same as those described in the entry for `masterType`. This value
3616	// must be consistent with the category of machine type that
3617	// `masterType` uses. In other words, both must be Compute Engine
3618	// machine types or both must be legacy machine types. If you use
3619	// `cloud_tpu` for this value, see special instructions for configuring
3620	// a custom TPU machine
3621	// (/ml-engine/docs/tensorflow/using-tpus#configuring_a_custom_tpu_machin
3622	// e). This value must be present when `scaleTier` is set to `CUSTOM`
3623	// and `workerCount` is greater than zero.
3624	WorkerType string `json:"workerType,omitempty"`
3625
3626	// ForceSendFields is a list of field names (e.g. "Args") to
3627	// unconditionally include in API requests. By default, fields with
3628	// empty values are omitted from API requests. However, any non-pointer,
3629	// non-interface field appearing in ForceSendFields will be sent to the
3630	// server regardless of whether the field is empty or not. This may be
3631	// used to include empty fields in Patch requests.
3632	ForceSendFields []string `json:"-"`
3633
3634	// NullFields is a list of field names (e.g. "Args") to include in API
3635	// requests with the JSON null value. By default, fields with empty
3636	// values are omitted from API requests. However, any field with an
3637	// empty value appearing in NullFields will be sent to the server as
3638	// null. It is an error if a field in this list has a non-empty value.
3639	// This may be used to include null fields in Patch requests.
3640	NullFields []string `json:"-"`
3641}
3642
3643func (s *GoogleCloudMlV1__TrainingInput) MarshalJSON() ([]byte, error) {
3644	type NoMethod GoogleCloudMlV1__TrainingInput
3645	raw := NoMethod(*s)
3646	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3647}
3648
3649// GoogleCloudMlV1__TrainingOutput: Represents results of a training
3650// job. Output only.
3651type GoogleCloudMlV1__TrainingOutput struct {
3652	// BuiltInAlgorithmOutput: Details related to built-in algorithms jobs.
3653	// Only set for built-in algorithms jobs.
3654	BuiltInAlgorithmOutput *GoogleCloudMlV1__BuiltInAlgorithmOutput `json:"builtInAlgorithmOutput,omitempty"`
3655
3656	// CompletedTrialCount: The number of hyperparameter tuning trials that
3657	// completed successfully. Only set for hyperparameter tuning jobs.
3658	CompletedTrialCount int64 `json:"completedTrialCount,omitempty,string"`
3659
3660	// ConsumedMLUnits: The amount of ML units consumed by the job.
3661	ConsumedMLUnits float64 `json:"consumedMLUnits,omitempty"`
3662
3663	// HyperparameterMetricTag: The TensorFlow summary tag name used for
3664	// optimizing hyperparameter tuning trials. See
3665	// `HyperparameterSpec.hyperparameterMetricTag`
3666	// (#HyperparameterSpec.FIELDS.hyperparameter_metric_tag) for more
3667	// information. Only set for hyperparameter tuning jobs.
3668	HyperparameterMetricTag string `json:"hyperparameterMetricTag,omitempty"`
3669
3670	// IsBuiltInAlgorithmJob: Whether this job is a built-in Algorithm job.
3671	IsBuiltInAlgorithmJob bool `json:"isBuiltInAlgorithmJob,omitempty"`
3672
3673	// IsHyperparameterTuningJob: Whether this job is a hyperparameter
3674	// tuning job.
3675	IsHyperparameterTuningJob bool `json:"isHyperparameterTuningJob,omitempty"`
3676
3677	// Trials: Results for individual Hyperparameter trials. Only set for
3678	// hyperparameter tuning jobs.
3679	Trials []*GoogleCloudMlV1__HyperparameterOutput `json:"trials,omitempty"`
3680
3681	// ForceSendFields is a list of field names (e.g.
3682	// "BuiltInAlgorithmOutput") to unconditionally include in API requests.
3683	// By default, fields with empty values are omitted from API requests.
3684	// However, any non-pointer, non-interface field appearing in
3685	// ForceSendFields will be sent to the server regardless of whether the
3686	// field is empty or not. This may be used to include empty fields in
3687	// Patch requests.
3688	ForceSendFields []string `json:"-"`
3689
3690	// NullFields is a list of field names (e.g. "BuiltInAlgorithmOutput")
3691	// to include in API requests with the JSON null value. By default,
3692	// fields with empty values are omitted from API requests. However, any
3693	// field with an empty value appearing in NullFields will be sent to the
3694	// server as null. It is an error if a field in this list has a
3695	// non-empty value. This may be used to include null fields in Patch
3696	// requests.
3697	NullFields []string `json:"-"`
3698}
3699
3700func (s *GoogleCloudMlV1__TrainingOutput) MarshalJSON() ([]byte, error) {
3701	type NoMethod GoogleCloudMlV1__TrainingOutput
3702	raw := NoMethod(*s)
3703	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3704}
3705
3706func (s *GoogleCloudMlV1__TrainingOutput) UnmarshalJSON(data []byte) error {
3707	type NoMethod GoogleCloudMlV1__TrainingOutput
3708	var s1 struct {
3709		ConsumedMLUnits gensupport.JSONFloat64 `json:"consumedMLUnits"`
3710		*NoMethod
3711	}
3712	s1.NoMethod = (*NoMethod)(s)
3713	if err := json.Unmarshal(data, &s1); err != nil {
3714		return err
3715	}
3716	s.ConsumedMLUnits = float64(s1.ConsumedMLUnits)
3717	return nil
3718}
3719
3720// GoogleCloudMlV1__Trial: A message representing a trial.
3721type GoogleCloudMlV1__Trial struct {
3722	// ClientId: Output only. The identifier of the client that originally
3723	// requested this trial.
3724	ClientId string `json:"clientId,omitempty"`
3725
3726	// EndTime: Output only. Time at which the trial's status changed to
3727	// COMPLETED.
3728	EndTime string `json:"endTime,omitempty"`
3729
3730	// FinalMeasurement: The final measurement containing the objective
3731	// value.
3732	FinalMeasurement *GoogleCloudMlV1__Measurement `json:"finalMeasurement,omitempty"`
3733
3734	// InfeasibleReason: Output only. A human readable string describing why
3735	// the trial is infeasible. This should only be set if trial_infeasible
3736	// is true.
3737	InfeasibleReason string `json:"infeasibleReason,omitempty"`
3738
3739	// Measurements: A list of measurements that are strictly
3740	// lexicographically ordered by their induced tuples (steps,
3741	// elapsed_time). These are used for early stopping computations.
3742	Measurements []*GoogleCloudMlV1__Measurement `json:"measurements,omitempty"`
3743
3744	// Name: Output only. Name of the trial assigned by the service.
3745	Name string `json:"name,omitempty"`
3746
3747	// Parameters: The parameters of the trial.
3748	Parameters []*GoogleCloudMlV1TrialParameter `json:"parameters,omitempty"`
3749
3750	// StartTime: Output only. Time at which the trial was started.
3751	StartTime string `json:"startTime,omitempty"`
3752
3753	// State: The detailed state of a trial.
3754	//
3755	// Possible values:
3756	//   "STATE_UNSPECIFIED" - The trial state is unspecified.
3757	//   "REQUESTED" - Indicates that a specific trial has been requested,
3758	// but it has not yet been suggested by the service.
3759	//   "ACTIVE" - Indicates that the trial has been suggested.
3760	//   "COMPLETED" - Indicates that the trial is done, and either has a
3761	// final_measurement set, or is marked as trial_infeasible.
3762	//   "STOPPING" - Indicates that the trial should stop according to the
3763	// service.
3764	State string `json:"state,omitempty"`
3765
3766	// TrialInfeasible: Output only. If true, the parameters in this trial
3767	// are not attempted again.
3768	TrialInfeasible bool `json:"trialInfeasible,omitempty"`
3769
3770	// ServerResponse contains the HTTP response code and headers from the
3771	// server.
3772	googleapi.ServerResponse `json:"-"`
3773
3774	// ForceSendFields is a list of field names (e.g. "ClientId") to
3775	// unconditionally include in API requests. By default, fields with
3776	// empty values are omitted from API requests. However, any non-pointer,
3777	// non-interface field appearing in ForceSendFields will be sent to the
3778	// server regardless of whether the field is empty or not. This may be
3779	// used to include empty fields in Patch requests.
3780	ForceSendFields []string `json:"-"`
3781
3782	// NullFields is a list of field names (e.g. "ClientId") to include in
3783	// API requests with the JSON null value. By default, fields with empty
3784	// values are omitted from API requests. However, any field with an
3785	// empty value appearing in NullFields will be sent to the server as
3786	// null. It is an error if a field in this list has a non-empty value.
3787	// This may be used to include null fields in Patch requests.
3788	NullFields []string `json:"-"`
3789}
3790
3791func (s *GoogleCloudMlV1__Trial) MarshalJSON() ([]byte, error) {
3792	type NoMethod GoogleCloudMlV1__Trial
3793	raw := NoMethod(*s)
3794	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3795}
3796
3797// GoogleCloudMlV1__Version: Represents a version of the model. Each
3798// version is a trained model deployed in the cloud, ready to handle
3799// prediction requests. A model can have multiple versions. You can get
3800// information about all of the versions of a given model by calling
3801// projects.models.versions.list.
3802type GoogleCloudMlV1__Version struct {
3803	// AcceleratorConfig: Optional. Accelerator config for using GPUs for
3804	// online prediction (beta). Only specify this field if you have
3805	// specified a Compute Engine (N1) machine type in the `machineType`
3806	// field. Learn more about using GPUs for online prediction
3807	// (/ml-engine/docs/machine-types-online-prediction#gpus).
3808	AcceleratorConfig *GoogleCloudMlV1__AcceleratorConfig `json:"acceleratorConfig,omitempty"`
3809
3810	// AutoScaling: Automatically scale the number of nodes used to serve
3811	// the model in response to increases and decreases in traffic. Care
3812	// should be taken to ramp up traffic according to the model's ability
3813	// to scale or you will start seeing increases in latency and 429
3814	// response codes.
3815	AutoScaling *GoogleCloudMlV1__AutoScaling `json:"autoScaling,omitempty"`
3816
3817	// Container: Optional. Specifies a custom container to use for serving
3818	// predictions. If you specify this field, then `machineType` is
3819	// required. If you specify this field, then `deploymentUri` is
3820	// optional. If you specify this field, then you must not specify
3821	// `runtimeVersion`, `packageUris`, `framework`, `pythonVersion`, or
3822	// `predictionClass`.
3823	Container *GoogleCloudMlV1__ContainerSpec `json:"container,omitempty"`
3824
3825	// CreateTime: Output only. The time the version was created.
3826	CreateTime string `json:"createTime,omitempty"`
3827
3828	// DeploymentUri: The Cloud Storage URI of a directory containing
3829	// trained model artifacts to be used to create the model version. See
3830	// the guide to deploying models
3831	// (/ai-platform/prediction/docs/deploying-models) for more information.
3832	// The total number of files under this directory must not exceed 1000.
3833	// During projects.models.versions.create, AI Platform Prediction copies
3834	// all files from the specified directory to a location managed by the
3835	// service. From then on, AI Platform Prediction uses these copies of
3836	// the model artifacts to serve predictions, not the original files in
3837	// Cloud Storage, so this location is useful only as a historical
3838	// record. If you specify container, then this field is optional.
3839	// Otherwise, it is required. Learn how to use this field with a custom
3840	// container
3841	// (/ai-platform/prediction/docs/custom-container-requirements#artifacts)
3842	// .
3843	DeploymentUri string `json:"deploymentUri,omitempty"`
3844
3845	// Description: Optional. The description specified for the version when
3846	// it was created.
3847	Description string `json:"description,omitempty"`
3848
3849	// ErrorMessage: Output only. The details of a failure or a
3850	// cancellation.
3851	ErrorMessage string `json:"errorMessage,omitempty"`
3852
3853	// Etag: `etag` is used for optimistic concurrency control as a way to
3854	// help prevent simultaneous updates of a model from overwriting each
3855	// other. It is strongly suggested that systems make use of the `etag`
3856	// in the read-modify-write cycle to perform model updates in order to
3857	// avoid race conditions: An `etag` is returned in the response to
3858	// `GetVersion`, and systems are expected to put that etag in the
3859	// request to `UpdateVersion` to ensure that their change will be
3860	// applied to the model as intended.
3861	Etag string `json:"etag,omitempty"`
3862
3863	// ExplanationConfig: Optional. Configures explainability features on
3864	// the model's version. Some explanation features require additional
3865	// metadata to be loaded as part of the model payload.
3866	ExplanationConfig *GoogleCloudMlV1__ExplanationConfig `json:"explanationConfig,omitempty"`
3867
3868	// Framework: Optional. The machine learning framework AI Platform uses
3869	// to train this version of the model. Valid values are `TENSORFLOW`,
3870	// `SCIKIT_LEARN`, `XGBOOST`. If you do not specify a framework, AI
3871	// Platform will analyze files in the deployment_uri to determine a
3872	// framework. If you choose `SCIKIT_LEARN` or `XGBOOST`, you must also
3873	// set the runtime version of the model to 1.4 or greater. Do **not**
3874	// specify a framework if you're deploying a custom prediction routine
3875	// (/ai-platform/prediction/docs/custom-prediction-routines) or if
3876	// you're using a custom container
3877	// (/ai-platform/prediction/docs/use-custom-container).
3878	//
3879	// Possible values:
3880	//   "FRAMEWORK_UNSPECIFIED" - Unspecified framework. Assigns a value
3881	// based on the file suffix.
3882	//   "TENSORFLOW" - Tensorflow framework.
3883	//   "SCIKIT_LEARN" - Scikit-learn framework.
3884	//   "XGBOOST" - XGBoost framework.
3885	Framework string `json:"framework,omitempty"`
3886
3887	// IsDefault: Output only. If true, this version will be used to handle
3888	// prediction requests that do not specify a version. You can change the
3889	// default version by calling projects.methods.versions.setDefault.
3890	IsDefault bool `json:"isDefault,omitempty"`
3891
3892	// Labels: Optional. One or more labels that you can add, to organize
3893	// your model versions. Each label is a key-value pair, where both the
3894	// key and the value are arbitrary strings that you supply. For more
3895	// information, see the documentation on using labels.
3896	Labels map[string]string `json:"labels,omitempty"`
3897
3898	// LastMigrationModelId: Output only. The AI Platform (Unified) `Model`
3899	// (https://cloud.google.com/ai-platform-unified/docs/reference/rest/v1beta1/projects.locations.models)
3900	// ID for the last model migration
3901	// (https://cloud.google.com/ai-platform-unified/docs/start/migrating-to-ai-platform-unified).
3902	LastMigrationModelId string `json:"lastMigrationModelId,omitempty"`
3903
3904	// LastMigrationTime: Output only. The last time this version was
3905	// successfully migrated to AI Platform (Unified)
3906	// (https://cloud.google.com/ai-platform-unified/docs/start/migrating-to-ai-platform-unified).
3907	LastMigrationTime string `json:"lastMigrationTime,omitempty"`
3908
3909	// LastUseTime: Output only. The time the version was last used for
3910	// prediction.
3911	LastUseTime string `json:"lastUseTime,omitempty"`
3912
3913	// MachineType: Optional. The type of machine on which to serve the
3914	// model. Currently only applies to online prediction service. To learn
3915	// about valid values for this field, read Choosing a machine type for
3916	// online prediction
3917	// (/ai-platform/prediction/docs/machine-types-online-prediction). If
3918	// this field is not specified and you are using a regional endpoint
3919	// (/ai-platform/prediction/docs/regional-endpoints), then the machine
3920	// type defaults to `n1-standard-2`. If this field is not specified and
3921	// you are using the global endpoint (`ml.googleapis.com`), then the
3922	// machine type defaults to `mls1-c1-m2`.
3923	MachineType string `json:"machineType,omitempty"`
3924
3925	// ManualScaling: Manually select the number of nodes to use for serving
3926	// the model. You should generally use `auto_scaling` with an
3927	// appropriate `min_nodes` instead, but this option is available if you
3928	// want more predictable billing. Beware that latency and error rates
3929	// will increase if the traffic exceeds that capability of the system to
3930	// serve it based on the selected number of nodes.
3931	ManualScaling *GoogleCloudMlV1__ManualScaling `json:"manualScaling,omitempty"`
3932
3933	// Name: Required. The name specified for the version when it was
3934	// created. The version name must be unique within the model it is
3935	// created in.
3936	Name string `json:"name,omitempty"`
3937
3938	// PackageUris: Optional. Cloud Storage paths (`gs://…`) of packages
3939	// for custom prediction routines
3940	// (/ml-engine/docs/tensorflow/custom-prediction-routines) or
3941	// scikit-learn pipelines with custom code
3942	// (/ml-engine/docs/scikit/exporting-for-prediction#custom-pipeline-code)
3943	// . For a custom prediction routine, one of these packages must contain
3944	// your Predictor class (see `predictionClass`
3945	// (#Version.FIELDS.prediction_class)). Additionally, include any
3946	// dependencies used by your Predictor or scikit-learn pipeline uses
3947	// that are not already included in your selected runtime version
3948	// (/ml-engine/docs/tensorflow/runtime-version-list). If you specify
3949	// this field, you must also set `runtimeVersion`
3950	// (#Version.FIELDS.runtime_version) to 1.4 or greater.
3951	PackageUris []string `json:"packageUris,omitempty"`
3952
3953	// PredictionClass: Optional. The fully qualified name
3954	// (module_name.class_name) of a class that implements the Predictor
3955	// interface described in this reference field. The module containing
3956	// this class should be included in a package provided to the
3957	// `packageUris` field (#Version.FIELDS.package_uris). Specify this
3958	// field if and only if you are deploying a custom prediction routine
3959	// (beta) (/ml-engine/docs/tensorflow/custom-prediction-routines). If
3960	// you specify this field, you must set `runtimeVersion`
3961	// (#Version.FIELDS.runtime_version) to 1.4 or greater and you must set
3962	// `machineType` to a legacy (MLS1) machine type
3963	// (/ml-engine/docs/machine-types-online-prediction). The following code
3964	// sample provides the Predictor interface: class Predictor(object):
3965	// """Interface for constructing custom predictors.""" def predict(self,
3966	// instances, **kwargs): """Performs custom prediction. Instances are
3967	// the decoded values from the request. They have already been
3968	// deserialized from JSON. Args: instances: A list of prediction input
3969	// instances. **kwargs: A dictionary of keyword args provided as
3970	// additional fields on the predict request body. Returns: A list of
3971	// outputs containing the prediction results. This list must be JSON
3972	// serializable. """ raise NotImplementedError() @classmethod def
3973	// from_path(cls, model_dir): """Creates an instance of Predictor using
3974	// the given path. Loading of the predictor should be done in this
3975	// method. Args: model_dir: The local directory that contains the
3976	// exported model file along with any additional files uploaded when
3977	// creating the version resource. Returns: An instance implementing this
3978	// Predictor class. """ raise NotImplementedError() Learn more about the
3979	// Predictor interface and custom prediction routines
3980	// (/ml-engine/docs/tensorflow/custom-prediction-routines).
3981	PredictionClass string `json:"predictionClass,omitempty"`
3982
3983	// PythonVersion: Required. The version of Python used in prediction.
3984	// The following Python versions are available: * Python '3.7' is
3985	// available when `runtime_version` is set to '1.15' or later. * Python
3986	// '3.5' is available when `runtime_version` is set to a version from
3987	// '1.4' to '1.14'. * Python '2.7' is available when `runtime_version`
3988	// is set to '1.15' or earlier. Read more about the Python versions
3989	// available for each runtime version
3990	// (/ml-engine/docs/runtime-version-list).
3991	PythonVersion string `json:"pythonVersion,omitempty"`
3992
3993	// RequestLoggingConfig: Optional. *Only* specify this field in a
3994	// projects.models.versions.patch request. Specifying it in a
3995	// projects.models.versions.create request has no effect. Configures the
3996	// request-response pair logging on predictions from this Version.
3997	RequestLoggingConfig *GoogleCloudMlV1__RequestLoggingConfig `json:"requestLoggingConfig,omitempty"`
3998
3999	// Routes: Optional. Specifies paths on a custom container's HTTP server
4000	// where AI Platform Prediction sends certain requests. If you specify
4001	// this field, then you must also specify the `container` field. If you
4002	// specify the `container` field and do not specify this field, it
4003	// defaults to the following: ```json { "predict":
4004	// "/v1/models/MODEL/versions/VERSION:predict", "health":
4005	// "/v1/models/MODEL/versions/VERSION" } ``` See RouteMap for more
4006	// details about these default values.
4007	Routes *GoogleCloudMlV1__RouteMap `json:"routes,omitempty"`
4008
4009	// RuntimeVersion: Required. The AI Platform runtime version to use for
4010	// this deployment. For more information, see the runtime version list
4011	// (/ml-engine/docs/runtime-version-list) and how to manage runtime
4012	// versions (/ml-engine/docs/versioning).
4013	RuntimeVersion string `json:"runtimeVersion,omitempty"`
4014
4015	// ServiceAccount: Optional. Specifies the service account for resource
4016	// access control. If you specify this field, then you must also specify
4017	// either the `containerSpec` or the `predictionClass` field. Learn more
4018	// about using a custom service account
4019	// (/ai-platform/prediction/docs/custom-service-account).
4020	ServiceAccount string `json:"serviceAccount,omitempty"`
4021
4022	// State: Output only. The state of a version.
4023	//
4024	// Possible values:
4025	//   "UNKNOWN" - The version state is unspecified.
4026	//   "READY" - The version is ready for prediction.
4027	//   "CREATING" - The version is being created. New UpdateVersion and
4028	// DeleteVersion requests will fail if a version is in the CREATING
4029	// state.
4030	//   "FAILED" - The version failed to be created, possibly cancelled.
4031	// `error_message` should contain the details of the failure.
4032	//   "DELETING" - The version is being deleted. New UpdateVersion and
4033	// DeleteVersion requests will fail if a version is in the DELETING
4034	// state.
4035	//   "UPDATING" - The version is being updated. New UpdateVersion and
4036	// DeleteVersion requests will fail if a version is in the UPDATING
4037	// state.
4038	State string `json:"state,omitempty"`
4039
4040	// ServerResponse contains the HTTP response code and headers from the
4041	// server.
4042	googleapi.ServerResponse `json:"-"`
4043
4044	// ForceSendFields is a list of field names (e.g. "AcceleratorConfig")
4045	// to unconditionally include in API requests. By default, fields with
4046	// empty values are omitted from API requests. However, any non-pointer,
4047	// non-interface field appearing in ForceSendFields will be sent to the
4048	// server regardless of whether the field is empty or not. This may be
4049	// used to include empty fields in Patch requests.
4050	ForceSendFields []string `json:"-"`
4051
4052	// NullFields is a list of field names (e.g. "AcceleratorConfig") to
4053	// include in API requests with the JSON null value. By default, fields
4054	// with empty values are omitted from API requests. However, any field
4055	// with an empty value appearing in NullFields will be sent to the
4056	// server as null. It is an error if a field in this list has a
4057	// non-empty value. This may be used to include null fields in Patch
4058	// requests.
4059	NullFields []string `json:"-"`
4060}
4061
4062func (s *GoogleCloudMlV1__Version) MarshalJSON() ([]byte, error) {
4063	type NoMethod GoogleCloudMlV1__Version
4064	raw := NoMethod(*s)
4065	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4066}
4067
4068// GoogleCloudMlV1__XraiAttribution: Attributes credit by computing the
4069// XRAI taking advantage of the model's fully differentiable structure.
4070// Refer to this paper for more details:
4071// https://arxiv.org/abs/1906.02825 Currently only implemented for
4072// models with natural image inputs.
4073type GoogleCloudMlV1__XraiAttribution struct {
4074	// NumIntegralSteps: Number of steps for approximating the path
4075	// integral. A good value to start is 50 and gradually increase until
4076	// the sum to diff property is met within the desired error range.
4077	NumIntegralSteps int64 `json:"numIntegralSteps,omitempty"`
4078
4079	// ForceSendFields is a list of field names (e.g. "NumIntegralSteps") to
4080	// unconditionally include in API requests. By default, fields with
4081	// empty values are omitted from API requests. However, any non-pointer,
4082	// non-interface field appearing in ForceSendFields will be sent to the
4083	// server regardless of whether the field is empty or not. This may be
4084	// used to include empty fields in Patch requests.
4085	ForceSendFields []string `json:"-"`
4086
4087	// NullFields is a list of field names (e.g. "NumIntegralSteps") to
4088	// include in API requests with the JSON null value. By default, fields
4089	// with empty values are omitted from API requests. However, any field
4090	// with an empty value appearing in NullFields will be sent to the
4091	// server as null. It is an error if a field in this list has a
4092	// non-empty value. This may be used to include null fields in Patch
4093	// requests.
4094	NullFields []string `json:"-"`
4095}
4096
4097func (s *GoogleCloudMlV1__XraiAttribution) MarshalJSON() ([]byte, error) {
4098	type NoMethod GoogleCloudMlV1__XraiAttribution
4099	raw := NoMethod(*s)
4100	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4101}
4102
4103// GoogleIamV1__AuditConfig: Specifies the audit configuration for a
4104// service. The configuration determines which permission types are
4105// logged, and what identities, if any, are exempted from logging. An
4106// AuditConfig must have one or more AuditLogConfigs. If there are
4107// AuditConfigs for both `allServices` and a specific service, the union
4108// of the two AuditConfigs is used for that service: the log_types
4109// specified in each AuditConfig are enabled, and the exempted_members
4110// in each AuditLogConfig are exempted. Example Policy with multiple
4111// AuditConfigs: { "audit_configs": [ { "service": "allServices",
4112// "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members":
4113// [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, {
4114// "log_type": "ADMIN_READ" } ] }, { "service":
4115// "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type":
4116// "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [
4117// "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy
4118// enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts
4119// jose@example.com from DATA_READ logging, and aliya@example.com from
4120// DATA_WRITE logging.
4121type GoogleIamV1__AuditConfig struct {
4122	// AuditLogConfigs: The configuration for logging of each type of
4123	// permission.
4124	AuditLogConfigs []*GoogleIamV1__AuditLogConfig `json:"auditLogConfigs,omitempty"`
4125
4126	// Service: Specifies a service that will be enabled for audit logging.
4127	// For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
4128	// `allServices` is a special value that covers all services.
4129	Service string `json:"service,omitempty"`
4130
4131	// ForceSendFields is a list of field names (e.g. "AuditLogConfigs") to
4132	// unconditionally include in API requests. By default, fields with
4133	// empty values are omitted from API requests. However, any non-pointer,
4134	// non-interface field appearing in ForceSendFields will be sent to the
4135	// server regardless of whether the field is empty or not. This may be
4136	// used to include empty fields in Patch requests.
4137	ForceSendFields []string `json:"-"`
4138
4139	// NullFields is a list of field names (e.g. "AuditLogConfigs") to
4140	// include in API requests with the JSON null value. By default, fields
4141	// with empty values are omitted from API requests. However, any field
4142	// with an empty value appearing in NullFields will be sent to the
4143	// server as null. It is an error if a field in this list has a
4144	// non-empty value. This may be used to include null fields in Patch
4145	// requests.
4146	NullFields []string `json:"-"`
4147}
4148
4149func (s *GoogleIamV1__AuditConfig) MarshalJSON() ([]byte, error) {
4150	type NoMethod GoogleIamV1__AuditConfig
4151	raw := NoMethod(*s)
4152	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4153}
4154
4155// GoogleIamV1__AuditLogConfig: Provides the configuration for logging a
4156// type of permissions. Example: { "audit_log_configs": [ { "log_type":
4157// "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, {
4158// "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and
4159// 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ
4160// logging.
4161type GoogleIamV1__AuditLogConfig struct {
4162	// ExemptedMembers: Specifies the identities that do not cause logging
4163	// for this type of permission. Follows the same format of
4164	// Binding.members.
4165	ExemptedMembers []string `json:"exemptedMembers,omitempty"`
4166
4167	// LogType: The log type that this config enables.
4168	//
4169	// Possible values:
4170	//   "LOG_TYPE_UNSPECIFIED" - Default case. Should never be this.
4171	//   "ADMIN_READ" - Admin reads. Example: CloudIAM getIamPolicy
4172	//   "DATA_WRITE" - Data writes. Example: CloudSQL Users create
4173	//   "DATA_READ" - Data reads. Example: CloudSQL Users list
4174	LogType string `json:"logType,omitempty"`
4175
4176	// ForceSendFields is a list of field names (e.g. "ExemptedMembers") to
4177	// unconditionally include in API requests. By default, fields with
4178	// empty values are omitted from API requests. However, any non-pointer,
4179	// non-interface field appearing in ForceSendFields will be sent to the
4180	// server regardless of whether the field is empty or not. This may be
4181	// used to include empty fields in Patch requests.
4182	ForceSendFields []string `json:"-"`
4183
4184	// NullFields is a list of field names (e.g. "ExemptedMembers") to
4185	// include in API requests with the JSON null value. By default, fields
4186	// with empty values are omitted from API requests. However, any field
4187	// with an empty value appearing in NullFields will be sent to the
4188	// server as null. It is an error if a field in this list has a
4189	// non-empty value. This may be used to include null fields in Patch
4190	// requests.
4191	NullFields []string `json:"-"`
4192}
4193
4194func (s *GoogleIamV1__AuditLogConfig) MarshalJSON() ([]byte, error) {
4195	type NoMethod GoogleIamV1__AuditLogConfig
4196	raw := NoMethod(*s)
4197	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4198}
4199
4200// GoogleIamV1__Binding: Associates `members` with a `role`.
4201type GoogleIamV1__Binding struct {
4202	// Condition: The condition that is associated with this binding. If the
4203	// condition evaluates to `true`, then this binding applies to the
4204	// current request. If the condition evaluates to `false`, then this
4205	// binding does not apply to the current request. However, a different
4206	// role binding might grant the same role to one or more of the members
4207	// in this binding. To learn which resources support conditions in their
4208	// IAM policies, see the IAM documentation
4209	// (https://cloud.google.com/iam/help/conditions/resource-policies).
4210	Condition *GoogleType__Expr `json:"condition,omitempty"`
4211
4212	// Members: Specifies the identities requesting access for a Cloud
4213	// Platform resource. `members` can have the following values: *
4214	// `allUsers`: A special identifier that represents anyone who is on the
4215	// internet; with or without a Google account. *
4216	// `allAuthenticatedUsers`: A special identifier that represents anyone
4217	// who is authenticated with a Google account or a service account. *
4218	// `user:{emailid}`: An email address that represents a specific Google
4219	// account. For example, `alice@example.com` . *
4220	// `serviceAccount:{emailid}`: An email address that represents a
4221	// service account. For example,
4222	// `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An
4223	// email address that represents a Google group. For example,
4224	// `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An
4225	// email address (plus unique identifier) representing a user that has
4226	// been recently deleted. For example,
4227	// `alice@example.com?uid=123456789012345678901`. If the user is
4228	// recovered, this value reverts to `user:{emailid}` and the recovered
4229	// user retains the role in the binding. *
4230	// `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
4231	// (plus unique identifier) representing a service account that has been
4232	// recently deleted. For example,
4233	// `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
4234	// If the service account is undeleted, this value reverts to
4235	// `serviceAccount:{emailid}` and the undeleted service account retains
4236	// the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`:
4237	// An email address (plus unique identifier) representing a Google group
4238	// that has been recently deleted. For example,
4239	// `admins@example.com?uid=123456789012345678901`. If the group is
4240	// recovered, this value reverts to `group:{emailid}` and the recovered
4241	// group retains the role in the binding. * `domain:{domain}`: The G
4242	// Suite domain (primary) that represents all the users of that domain.
4243	// For example, `google.com` or `example.com`.
4244	Members []string `json:"members,omitempty"`
4245
4246	// Role: Role that is assigned to `members`. For example,
4247	// `roles/viewer`, `roles/editor`, or `roles/owner`.
4248	Role string `json:"role,omitempty"`
4249
4250	// ForceSendFields is a list of field names (e.g. "Condition") to
4251	// unconditionally include in API requests. By default, fields with
4252	// empty values are omitted from API requests. However, any non-pointer,
4253	// non-interface field appearing in ForceSendFields will be sent to the
4254	// server regardless of whether the field is empty or not. This may be
4255	// used to include empty fields in Patch requests.
4256	ForceSendFields []string `json:"-"`
4257
4258	// NullFields is a list of field names (e.g. "Condition") to include in
4259	// API requests with the JSON null value. By default, fields with empty
4260	// values are omitted from API requests. However, any field with an
4261	// empty value appearing in NullFields will be sent to the server as
4262	// null. It is an error if a field in this list has a non-empty value.
4263	// This may be used to include null fields in Patch requests.
4264	NullFields []string `json:"-"`
4265}
4266
4267func (s *GoogleIamV1__Binding) MarshalJSON() ([]byte, error) {
4268	type NoMethod GoogleIamV1__Binding
4269	raw := NoMethod(*s)
4270	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4271}
4272
4273// GoogleIamV1__Policy: An Identity and Access Management (IAM) policy,
4274// which specifies access controls for Google Cloud resources. A
4275// `Policy` is a collection of `bindings`. A `binding` binds one or more
4276// `members` to a single `role`. Members can be user accounts, service
4277// accounts, Google groups, and domains (such as G Suite). A `role` is a
4278// named list of permissions; each `role` can be an IAM predefined role
4279// or a user-created custom role. For some types of Google Cloud
4280// resources, a `binding` can also specify a `condition`, which is a
4281// logical expression that allows access to a resource only if the
4282// expression evaluates to `true`. A condition can add constraints based
4283// on attributes of the request, the resource, or both. To learn which
4284// resources support conditions in their IAM policies, see the IAM
4285// documentation
4286// (https://cloud.google.com/iam/help/conditions/resource-policies).
4287// **JSON example:** { "bindings": [ { "role":
4288// "roles/resourcemanager.organizationAdmin", "members": [
4289// "user:mike@example.com", "group:admins@example.com",
4290// "domain:google.com",
4291// "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, {
4292// "role": "roles/resourcemanager.organizationViewer", "members": [
4293// "user:eve@example.com" ], "condition": { "title": "expirable access",
4294// "description": "Does not grant access after Sep 2020", "expression":
4295// "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ],
4296// "etag": "BwWWja0YfJA=", "version": 3 } **YAML example:** bindings: -
4297// members: - user:mike@example.com - group:admins@example.com -
4298// domain:google.com -
4299// serviceAccount:my-project-id@appspot.gserviceaccount.com role:
4300// roles/resourcemanager.organizationAdmin - members: -
4301// user:eve@example.com role: roles/resourcemanager.organizationViewer
4302// condition: title: expirable access description: Does not grant access
4303// after Sep 2020 expression: request.time <
4304// timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version:
4305// 3 For a description of IAM and its features, see the IAM
4306// documentation (https://cloud.google.com/iam/docs/).
4307type GoogleIamV1__Policy struct {
4308	// AuditConfigs: Specifies cloud audit logging configuration for this
4309	// policy.
4310	AuditConfigs []*GoogleIamV1__AuditConfig `json:"auditConfigs,omitempty"`
4311
4312	// Bindings: Associates a list of `members` to a `role`. Optionally, may
4313	// specify a `condition` that determines how and when the `bindings` are
4314	// applied. Each of the `bindings` must contain at least one member.
4315	Bindings []*GoogleIamV1__Binding `json:"bindings,omitempty"`
4316
4317	// Etag: `etag` is used for optimistic concurrency control as a way to
4318	// help prevent simultaneous updates of a policy from overwriting each
4319	// other. It is strongly suggested that systems make use of the `etag`
4320	// in the read-modify-write cycle to perform policy updates in order to
4321	// avoid race conditions: An `etag` is returned in the response to
4322	// `getIamPolicy`, and systems are expected to put that etag in the
4323	// request to `setIamPolicy` to ensure that their change will be applied
4324	// to the same version of the policy. **Important:** If you use IAM
4325	// Conditions, you must include the `etag` field whenever you call
4326	// `setIamPolicy`. If you omit this field, then IAM allows you to
4327	// overwrite a version `3` policy with a version `1` policy, and all of
4328	// the conditions in the version `3` policy are lost.
4329	Etag string `json:"etag,omitempty"`
4330
4331	// Version: Specifies the format of the policy. Valid values are `0`,
4332	// `1`, and `3`. Requests that specify an invalid value are rejected.
4333	// Any operation that affects conditional role bindings must specify
4334	// version `3`. This requirement applies to the following operations: *
4335	// Getting a policy that includes a conditional role binding * Adding a
4336	// conditional role binding to a policy * Changing a conditional role
4337	// binding in a policy * Removing any role binding, with or without a
4338	// condition, from a policy that includes conditions **Important:** If
4339	// you use IAM Conditions, you must include the `etag` field whenever
4340	// you call `setIamPolicy`. If you omit this field, then IAM allows you
4341	// to overwrite a version `3` policy with a version `1` policy, and all
4342	// of the conditions in the version `3` policy are lost. If a policy
4343	// does not include any conditions, operations on that policy may
4344	// specify any valid version or leave the field unset. To learn which
4345	// resources support conditions in their IAM policies, see the IAM
4346	// documentation
4347	// (https://cloud.google.com/iam/help/conditions/resource-policies).
4348	Version int64 `json:"version,omitempty"`
4349
4350	// ServerResponse contains the HTTP response code and headers from the
4351	// server.
4352	googleapi.ServerResponse `json:"-"`
4353
4354	// ForceSendFields is a list of field names (e.g. "AuditConfigs") to
4355	// unconditionally include in API requests. By default, fields with
4356	// empty values are omitted from API requests. However, any non-pointer,
4357	// non-interface field appearing in ForceSendFields will be sent to the
4358	// server regardless of whether the field is empty or not. This may be
4359	// used to include empty fields in Patch requests.
4360	ForceSendFields []string `json:"-"`
4361
4362	// NullFields is a list of field names (e.g. "AuditConfigs") to include
4363	// in API requests with the JSON null value. By default, fields with
4364	// empty values are omitted from API requests. However, any field with
4365	// an empty value appearing in NullFields will be sent to the server as
4366	// null. It is an error if a field in this list has a non-empty value.
4367	// This may be used to include null fields in Patch requests.
4368	NullFields []string `json:"-"`
4369}
4370
4371func (s *GoogleIamV1__Policy) MarshalJSON() ([]byte, error) {
4372	type NoMethod GoogleIamV1__Policy
4373	raw := NoMethod(*s)
4374	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4375}
4376
4377// GoogleIamV1__SetIamPolicyRequest: Request message for `SetIamPolicy`
4378// method.
4379type GoogleIamV1__SetIamPolicyRequest struct {
4380	// Policy: REQUIRED: The complete policy to be applied to the
4381	// `resource`. The size of the policy is limited to a few 10s of KB. An
4382	// empty policy is a valid policy but certain Cloud Platform services
4383	// (such as Projects) might reject them.
4384	Policy *GoogleIamV1__Policy `json:"policy,omitempty"`
4385
4386	// UpdateMask: OPTIONAL: A FieldMask specifying which fields of the
4387	// policy to modify. Only the fields in the mask will be modified. If no
4388	// mask is provided, the following default mask is used: `paths:
4389	// "bindings, etag"
4390	UpdateMask string `json:"updateMask,omitempty"`
4391
4392	// ForceSendFields is a list of field names (e.g. "Policy") to
4393	// unconditionally include in API requests. By default, fields with
4394	// empty values are omitted from API requests. However, any non-pointer,
4395	// non-interface field appearing in ForceSendFields will be sent to the
4396	// server regardless of whether the field is empty or not. This may be
4397	// used to include empty fields in Patch requests.
4398	ForceSendFields []string `json:"-"`
4399
4400	// NullFields is a list of field names (e.g. "Policy") to include in API
4401	// requests with the JSON null value. By default, fields with empty
4402	// values are omitted from API requests. However, any field with an
4403	// empty value appearing in NullFields will be sent to the server as
4404	// null. It is an error if a field in this list has a non-empty value.
4405	// This may be used to include null fields in Patch requests.
4406	NullFields []string `json:"-"`
4407}
4408
4409func (s *GoogleIamV1__SetIamPolicyRequest) MarshalJSON() ([]byte, error) {
4410	type NoMethod GoogleIamV1__SetIamPolicyRequest
4411	raw := NoMethod(*s)
4412	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4413}
4414
4415// GoogleIamV1__TestIamPermissionsRequest: Request message for
4416// `TestIamPermissions` method.
4417type GoogleIamV1__TestIamPermissionsRequest struct {
4418	// Permissions: The set of permissions to check for the `resource`.
4419	// Permissions with wildcards (such as '*' or 'storage.*') are not
4420	// allowed. For more information see IAM Overview
4421	// (https://cloud.google.com/iam/docs/overview#permissions).
4422	Permissions []string `json:"permissions,omitempty"`
4423
4424	// ForceSendFields is a list of field names (e.g. "Permissions") to
4425	// unconditionally include in API requests. By default, fields with
4426	// empty values are omitted from API requests. However, any non-pointer,
4427	// non-interface field appearing in ForceSendFields will be sent to the
4428	// server regardless of whether the field is empty or not. This may be
4429	// used to include empty fields in Patch requests.
4430	ForceSendFields []string `json:"-"`
4431
4432	// NullFields is a list of field names (e.g. "Permissions") to include
4433	// in API requests with the JSON null value. By default, fields with
4434	// empty values are omitted from API requests. However, any field with
4435	// an empty value appearing in NullFields will be sent to the server as
4436	// null. It is an error if a field in this list has a non-empty value.
4437	// This may be used to include null fields in Patch requests.
4438	NullFields []string `json:"-"`
4439}
4440
4441func (s *GoogleIamV1__TestIamPermissionsRequest) MarshalJSON() ([]byte, error) {
4442	type NoMethod GoogleIamV1__TestIamPermissionsRequest
4443	raw := NoMethod(*s)
4444	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4445}
4446
4447// GoogleIamV1__TestIamPermissionsResponse: Response message for
4448// `TestIamPermissions` method.
4449type GoogleIamV1__TestIamPermissionsResponse struct {
4450	// Permissions: A subset of `TestPermissionsRequest.permissions` that
4451	// the caller is allowed.
4452	Permissions []string `json:"permissions,omitempty"`
4453
4454	// ServerResponse contains the HTTP response code and headers from the
4455	// server.
4456	googleapi.ServerResponse `json:"-"`
4457
4458	// ForceSendFields is a list of field names (e.g. "Permissions") to
4459	// unconditionally include in API requests. By default, fields with
4460	// empty values are omitted from API requests. However, any non-pointer,
4461	// non-interface field appearing in ForceSendFields will be sent to the
4462	// server regardless of whether the field is empty or not. This may be
4463	// used to include empty fields in Patch requests.
4464	ForceSendFields []string `json:"-"`
4465
4466	// NullFields is a list of field names (e.g. "Permissions") to include
4467	// in API requests with the JSON null value. By default, fields with
4468	// empty values are omitted from API requests. However, any field with
4469	// an empty value appearing in NullFields will be sent to the server as
4470	// null. It is an error if a field in this list has a non-empty value.
4471	// This may be used to include null fields in Patch requests.
4472	NullFields []string `json:"-"`
4473}
4474
4475func (s *GoogleIamV1__TestIamPermissionsResponse) MarshalJSON() ([]byte, error) {
4476	type NoMethod GoogleIamV1__TestIamPermissionsResponse
4477	raw := NoMethod(*s)
4478	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4479}
4480
4481// GoogleLongrunning__ListOperationsResponse: The response message for
4482// Operations.ListOperations.
4483type GoogleLongrunning__ListOperationsResponse struct {
4484	// NextPageToken: The standard List next-page token.
4485	NextPageToken string `json:"nextPageToken,omitempty"`
4486
4487	// Operations: A list of operations that matches the specified filter in
4488	// the request.
4489	Operations []*GoogleLongrunning__Operation `json:"operations,omitempty"`
4490
4491	// ServerResponse contains the HTTP response code and headers from the
4492	// server.
4493	googleapi.ServerResponse `json:"-"`
4494
4495	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
4496	// unconditionally include in API requests. By default, fields with
4497	// empty values are omitted from API requests. However, any non-pointer,
4498	// non-interface field appearing in ForceSendFields will be sent to the
4499	// server regardless of whether the field is empty or not. This may be
4500	// used to include empty fields in Patch requests.
4501	ForceSendFields []string `json:"-"`
4502
4503	// NullFields is a list of field names (e.g. "NextPageToken") to include
4504	// in API requests with the JSON null value. By default, fields with
4505	// empty values are omitted from API requests. However, any field with
4506	// an empty value appearing in NullFields will be sent to the server as
4507	// null. It is an error if a field in this list has a non-empty value.
4508	// This may be used to include null fields in Patch requests.
4509	NullFields []string `json:"-"`
4510}
4511
4512func (s *GoogleLongrunning__ListOperationsResponse) MarshalJSON() ([]byte, error) {
4513	type NoMethod GoogleLongrunning__ListOperationsResponse
4514	raw := NoMethod(*s)
4515	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4516}
4517
4518// GoogleLongrunning__Operation: This resource represents a long-running
4519// operation that is the result of a network API call.
4520type GoogleLongrunning__Operation struct {
4521	// Done: If the value is `false`, it means the operation is still in
4522	// progress. If `true`, the operation is completed, and either `error`
4523	// or `response` is available.
4524	Done bool `json:"done,omitempty"`
4525
4526	// Error: The error result of the operation in case of failure or
4527	// cancellation.
4528	Error *GoogleRpc__Status `json:"error,omitempty"`
4529
4530	// Metadata: Service-specific metadata associated with the operation. It
4531	// typically contains progress information and common metadata such as
4532	// create time. Some services might not provide such metadata. Any
4533	// method that returns a long-running operation should document the
4534	// metadata type, if any.
4535	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
4536
4537	// Name: The server-assigned name, which is only unique within the same
4538	// service that originally returns it. If you use the default HTTP
4539	// mapping, the `name` should be a resource name ending with
4540	// `operations/{unique_id}`.
4541	Name string `json:"name,omitempty"`
4542
4543	// Response: The normal response of the operation in case of success. If
4544	// the original method returns no data on success, such as `Delete`, the
4545	// response is `google.protobuf.Empty`. If the original method is
4546	// standard `Get`/`Create`/`Update`, the response should be the
4547	// resource. For other methods, the response should have the type
4548	// `XxxResponse`, where `Xxx` is the original method name. For example,
4549	// if the original method name is `TakeSnapshot()`, the inferred
4550	// response type is `TakeSnapshotResponse`.
4551	Response googleapi.RawMessage `json:"response,omitempty"`
4552
4553	// ServerResponse contains the HTTP response code and headers from the
4554	// server.
4555	googleapi.ServerResponse `json:"-"`
4556
4557	// ForceSendFields is a list of field names (e.g. "Done") to
4558	// unconditionally include in API requests. By default, fields with
4559	// empty values are omitted from API requests. However, any non-pointer,
4560	// non-interface field appearing in ForceSendFields will be sent to the
4561	// server regardless of whether the field is empty or not. This may be
4562	// used to include empty fields in Patch requests.
4563	ForceSendFields []string `json:"-"`
4564
4565	// NullFields is a list of field names (e.g. "Done") to include in API
4566	// requests with the JSON null value. By default, fields with empty
4567	// values are omitted from API requests. However, any field with an
4568	// empty value appearing in NullFields will be sent to the server as
4569	// null. It is an error if a field in this list has a non-empty value.
4570	// This may be used to include null fields in Patch requests.
4571	NullFields []string `json:"-"`
4572}
4573
4574func (s *GoogleLongrunning__Operation) MarshalJSON() ([]byte, error) {
4575	type NoMethod GoogleLongrunning__Operation
4576	raw := NoMethod(*s)
4577	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4578}
4579
4580// GoogleProtobuf__Empty: A generic empty message that you can re-use to
4581// avoid defining duplicated empty messages in your APIs. A typical
4582// example is to use it as the request or the response type of an API
4583// method. For instance: service Foo { rpc Bar(google.protobuf.Empty)
4584// returns (google.protobuf.Empty); } The JSON representation for
4585// `Empty` is empty JSON object `{}`.
4586type GoogleProtobuf__Empty struct {
4587	// ServerResponse contains the HTTP response code and headers from the
4588	// server.
4589	googleapi.ServerResponse `json:"-"`
4590}
4591
4592// GoogleRpc__Status: The `Status` type defines a logical error model
4593// that is suitable for different programming environments, including
4594// REST APIs and RPC APIs. It is used by gRPC (https://github.com/grpc).
4595// Each `Status` message contains three pieces of data: error code,
4596// error message, and error details. You can find out more about this
4597// error model and how to work with it in the API Design Guide
4598// (https://cloud.google.com/apis/design/errors).
4599type GoogleRpc__Status struct {
4600	// Code: The status code, which should be an enum value of
4601	// google.rpc.Code.
4602	Code int64 `json:"code,omitempty"`
4603
4604	// Details: A list of messages that carry the error details. There is a
4605	// common set of message types for APIs to use.
4606	Details []googleapi.RawMessage `json:"details,omitempty"`
4607
4608	// Message: A developer-facing error message, which should be in
4609	// English. Any user-facing error message should be localized and sent
4610	// in the google.rpc.Status.details field, or localized by the client.
4611	Message string `json:"message,omitempty"`
4612
4613	// ForceSendFields is a list of field names (e.g. "Code") to
4614	// unconditionally include in API requests. By default, fields with
4615	// empty values are omitted from API requests. However, any non-pointer,
4616	// non-interface field appearing in ForceSendFields will be sent to the
4617	// server regardless of whether the field is empty or not. This may be
4618	// used to include empty fields in Patch requests.
4619	ForceSendFields []string `json:"-"`
4620
4621	// NullFields is a list of field names (e.g. "Code") to include in API
4622	// requests with the JSON null value. By default, fields with empty
4623	// values are omitted from API requests. However, any field with an
4624	// empty value appearing in NullFields will be sent to the server as
4625	// null. It is an error if a field in this list has a non-empty value.
4626	// This may be used to include null fields in Patch requests.
4627	NullFields []string `json:"-"`
4628}
4629
4630func (s *GoogleRpc__Status) MarshalJSON() ([]byte, error) {
4631	type NoMethod GoogleRpc__Status
4632	raw := NoMethod(*s)
4633	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4634}
4635
4636// GoogleType__Expr: Represents a textual expression in the Common
4637// Expression Language (CEL) syntax. CEL is a C-like expression
4638// language. The syntax and semantics of CEL are documented at
4639// https://github.com/google/cel-spec. Example (Comparison): title:
4640// "Summary size limit" description: "Determines if a summary is less
4641// than 100 chars" expression: "document.summary.size() < 100" Example
4642// (Equality): title: "Requestor is owner" description: "Determines if
4643// requestor is the document owner" expression: "document.owner ==
4644// request.auth.claims.email" Example (Logic): title: "Public documents"
4645// description: "Determine whether the document should be publicly
4646// visible" expression: "document.type != 'private' && document.type !=
4647// 'internal'" Example (Data Manipulation): title: "Notification string"
4648// description: "Create a notification string with a timestamp."
4649// expression: "'New message received at ' +
4650// string(document.create_time)" The exact variables and functions that
4651// may be referenced within an expression are determined by the service
4652// that evaluates it. See the service documentation for additional
4653// information.
4654type GoogleType__Expr struct {
4655	// Description: Optional. Description of the expression. This is a
4656	// longer text which describes the expression, e.g. when hovered over it
4657	// in a UI.
4658	Description string `json:"description,omitempty"`
4659
4660	// Expression: Textual representation of an expression in Common
4661	// Expression Language syntax.
4662	Expression string `json:"expression,omitempty"`
4663
4664	// Location: Optional. String indicating the location of the expression
4665	// for error reporting, e.g. a file name and a position in the file.
4666	Location string `json:"location,omitempty"`
4667
4668	// Title: Optional. Title for the expression, i.e. a short string
4669	// describing its purpose. This can be used e.g. in UIs which allow to
4670	// enter the expression.
4671	Title string `json:"title,omitempty"`
4672
4673	// ForceSendFields is a list of field names (e.g. "Description") to
4674	// unconditionally include in API requests. By default, fields with
4675	// empty values are omitted from API requests. However, any non-pointer,
4676	// non-interface field appearing in ForceSendFields will be sent to the
4677	// server regardless of whether the field is empty or not. This may be
4678	// used to include empty fields in Patch requests.
4679	ForceSendFields []string `json:"-"`
4680
4681	// NullFields is a list of field names (e.g. "Description") to include
4682	// in API requests with the JSON null value. By default, fields with
4683	// empty values are omitted from API requests. However, any field with
4684	// an empty value appearing in NullFields will be sent to the server as
4685	// null. It is an error if a field in this list has a non-empty value.
4686	// This may be used to include null fields in Patch requests.
4687	NullFields []string `json:"-"`
4688}
4689
4690func (s *GoogleType__Expr) MarshalJSON() ([]byte, error) {
4691	type NoMethod GoogleType__Expr
4692	raw := NoMethod(*s)
4693	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4694}
4695
4696// method id "ml.projects.explain":
4697
4698type ProjectsExplainCall struct {
4699	s                               *Service
4700	name                            string
4701	googlecloudmlv1__explainrequest *GoogleCloudMlV1__ExplainRequest
4702	urlParams_                      gensupport.URLParams
4703	ctx_                            context.Context
4704	header_                         http.Header
4705}
4706
4707// Explain: Performs explanation on the data in the request. {% dynamic
4708// include "/ai-platform/includes/___explain-request" %}
4709//
4710// - name: The resource name of a model or a version. Authorization:
4711//   requires the `predict` permission on the specified resource.
4712func (r *ProjectsService) Explain(name string, googlecloudmlv1__explainrequest *GoogleCloudMlV1__ExplainRequest) *ProjectsExplainCall {
4713	c := &ProjectsExplainCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4714	c.name = name
4715	c.googlecloudmlv1__explainrequest = googlecloudmlv1__explainrequest
4716	return c
4717}
4718
4719// Fields allows partial responses to be retrieved. See
4720// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4721// for more information.
4722func (c *ProjectsExplainCall) Fields(s ...googleapi.Field) *ProjectsExplainCall {
4723	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4724	return c
4725}
4726
4727// Context sets the context to be used in this call's Do method. Any
4728// pending HTTP request will be aborted if the provided context is
4729// canceled.
4730func (c *ProjectsExplainCall) Context(ctx context.Context) *ProjectsExplainCall {
4731	c.ctx_ = ctx
4732	return c
4733}
4734
4735// Header returns an http.Header that can be modified by the caller to
4736// add HTTP headers to the request.
4737func (c *ProjectsExplainCall) Header() http.Header {
4738	if c.header_ == nil {
4739		c.header_ = make(http.Header)
4740	}
4741	return c.header_
4742}
4743
4744func (c *ProjectsExplainCall) doRequest(alt string) (*http.Response, error) {
4745	reqHeaders := make(http.Header)
4746	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
4747	for k, v := range c.header_ {
4748		reqHeaders[k] = v
4749	}
4750	reqHeaders.Set("User-Agent", c.s.userAgent())
4751	var body io.Reader = nil
4752	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudmlv1__explainrequest)
4753	if err != nil {
4754		return nil, err
4755	}
4756	reqHeaders.Set("Content-Type", "application/json")
4757	c.urlParams_.Set("alt", alt)
4758	c.urlParams_.Set("prettyPrint", "false")
4759	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:explain")
4760	urls += "?" + c.urlParams_.Encode()
4761	req, err := http.NewRequest("POST", urls, body)
4762	if err != nil {
4763		return nil, err
4764	}
4765	req.Header = reqHeaders
4766	googleapi.Expand(req.URL, map[string]string{
4767		"name": c.name,
4768	})
4769	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4770}
4771
4772// Do executes the "ml.projects.explain" call.
4773// Exactly one of *GoogleApi__HttpBody or error will be non-nil. Any
4774// non-2xx status code is an error. Response headers are in either
4775// *GoogleApi__HttpBody.ServerResponse.Header or (if a response was
4776// returned at all) in error.(*googleapi.Error).Header. Use
4777// googleapi.IsNotModified to check whether the returned error was
4778// because http.StatusNotModified was returned.
4779func (c *ProjectsExplainCall) Do(opts ...googleapi.CallOption) (*GoogleApi__HttpBody, error) {
4780	gensupport.SetOptions(c.urlParams_, opts...)
4781	res, err := c.doRequest("json")
4782	if res != nil && res.StatusCode == http.StatusNotModified {
4783		if res.Body != nil {
4784			res.Body.Close()
4785		}
4786		return nil, &googleapi.Error{
4787			Code:   res.StatusCode,
4788			Header: res.Header,
4789		}
4790	}
4791	if err != nil {
4792		return nil, err
4793	}
4794	defer googleapi.CloseBody(res)
4795	if err := googleapi.CheckResponse(res); err != nil {
4796		return nil, err
4797	}
4798	ret := &GoogleApi__HttpBody{
4799		ServerResponse: googleapi.ServerResponse{
4800			Header:         res.Header,
4801			HTTPStatusCode: res.StatusCode,
4802		},
4803	}
4804	target := &ret
4805	if err := gensupport.DecodeResponse(target, res); err != nil {
4806		return nil, err
4807	}
4808	return ret, nil
4809	// {
4810	//   "description": "Performs explanation on the data in the request. {% dynamic include \"/ai-platform/includes/___explain-request\" %} ",
4811	//   "flatPath": "v1/projects/{projectsId}:explain",
4812	//   "httpMethod": "POST",
4813	//   "id": "ml.projects.explain",
4814	//   "parameterOrder": [
4815	//     "name"
4816	//   ],
4817	//   "parameters": {
4818	//     "name": {
4819	//       "description": "Required. The resource name of a model or a version. Authorization: requires the `predict` permission on the specified resource.",
4820	//       "location": "path",
4821	//       "pattern": "^projects/.*$",
4822	//       "required": true,
4823	//       "type": "string"
4824	//     }
4825	//   },
4826	//   "path": "v1/{+name}:explain",
4827	//   "request": {
4828	//     "$ref": "GoogleCloudMlV1__ExplainRequest"
4829	//   },
4830	//   "response": {
4831	//     "$ref": "GoogleApi__HttpBody"
4832	//   },
4833	//   "scopes": [
4834	//     "https://www.googleapis.com/auth/cloud-platform"
4835	//   ]
4836	// }
4837
4838}
4839
4840// method id "ml.projects.getConfig":
4841
4842type ProjectsGetConfigCall struct {
4843	s            *Service
4844	name         string
4845	urlParams_   gensupport.URLParams
4846	ifNoneMatch_ string
4847	ctx_         context.Context
4848	header_      http.Header
4849}
4850
4851// GetConfig: Get the service account information associated with your
4852// project. You need this information in order to grant the service
4853// account permissions for the Google Cloud Storage location where you
4854// put your model training code for training the model with Google Cloud
4855// Machine Learning.
4856//
4857// - name: The project name.
4858func (r *ProjectsService) GetConfig(name string) *ProjectsGetConfigCall {
4859	c := &ProjectsGetConfigCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4860	c.name = name
4861	return c
4862}
4863
4864// Fields allows partial responses to be retrieved. See
4865// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4866// for more information.
4867func (c *ProjectsGetConfigCall) Fields(s ...googleapi.Field) *ProjectsGetConfigCall {
4868	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4869	return c
4870}
4871
4872// IfNoneMatch sets the optional parameter which makes the operation
4873// fail if the object's ETag matches the given value. This is useful for
4874// getting updates only after the object has changed since the last
4875// request. Use googleapi.IsNotModified to check whether the response
4876// error from Do is the result of In-None-Match.
4877func (c *ProjectsGetConfigCall) IfNoneMatch(entityTag string) *ProjectsGetConfigCall {
4878	c.ifNoneMatch_ = entityTag
4879	return c
4880}
4881
4882// Context sets the context to be used in this call's Do method. Any
4883// pending HTTP request will be aborted if the provided context is
4884// canceled.
4885func (c *ProjectsGetConfigCall) Context(ctx context.Context) *ProjectsGetConfigCall {
4886	c.ctx_ = ctx
4887	return c
4888}
4889
4890// Header returns an http.Header that can be modified by the caller to
4891// add HTTP headers to the request.
4892func (c *ProjectsGetConfigCall) Header() http.Header {
4893	if c.header_ == nil {
4894		c.header_ = make(http.Header)
4895	}
4896	return c.header_
4897}
4898
4899func (c *ProjectsGetConfigCall) doRequest(alt string) (*http.Response, error) {
4900	reqHeaders := make(http.Header)
4901	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
4902	for k, v := range c.header_ {
4903		reqHeaders[k] = v
4904	}
4905	reqHeaders.Set("User-Agent", c.s.userAgent())
4906	if c.ifNoneMatch_ != "" {
4907		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
4908	}
4909	var body io.Reader = nil
4910	c.urlParams_.Set("alt", alt)
4911	c.urlParams_.Set("prettyPrint", "false")
4912	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:getConfig")
4913	urls += "?" + c.urlParams_.Encode()
4914	req, err := http.NewRequest("GET", urls, body)
4915	if err != nil {
4916		return nil, err
4917	}
4918	req.Header = reqHeaders
4919	googleapi.Expand(req.URL, map[string]string{
4920		"name": c.name,
4921	})
4922	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4923}
4924
4925// Do executes the "ml.projects.getConfig" call.
4926// Exactly one of *GoogleCloudMlV1__GetConfigResponse or error will be
4927// non-nil. Any non-2xx status code is an error. Response headers are in
4928// either *GoogleCloudMlV1__GetConfigResponse.ServerResponse.Header or
4929// (if a response was returned at all) in
4930// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
4931// whether the returned error was because http.StatusNotModified was
4932// returned.
4933func (c *ProjectsGetConfigCall) Do(opts ...googleapi.CallOption) (*GoogleCloudMlV1__GetConfigResponse, error) {
4934	gensupport.SetOptions(c.urlParams_, opts...)
4935	res, err := c.doRequest("json")
4936	if res != nil && res.StatusCode == http.StatusNotModified {
4937		if res.Body != nil {
4938			res.Body.Close()
4939		}
4940		return nil, &googleapi.Error{
4941			Code:   res.StatusCode,
4942			Header: res.Header,
4943		}
4944	}
4945	if err != nil {
4946		return nil, err
4947	}
4948	defer googleapi.CloseBody(res)
4949	if err := googleapi.CheckResponse(res); err != nil {
4950		return nil, err
4951	}
4952	ret := &GoogleCloudMlV1__GetConfigResponse{
4953		ServerResponse: googleapi.ServerResponse{
4954			Header:         res.Header,
4955			HTTPStatusCode: res.StatusCode,
4956		},
4957	}
4958	target := &ret
4959	if err := gensupport.DecodeResponse(target, res); err != nil {
4960		return nil, err
4961	}
4962	return ret, nil
4963	// {
4964	//   "description": "Get the service account information associated with your project. You need this information in order to grant the service account permissions for the Google Cloud Storage location where you put your model training code for training the model with Google Cloud Machine Learning.",
4965	//   "flatPath": "v1/projects/{projectsId}:getConfig",
4966	//   "httpMethod": "GET",
4967	//   "id": "ml.projects.getConfig",
4968	//   "parameterOrder": [
4969	//     "name"
4970	//   ],
4971	//   "parameters": {
4972	//     "name": {
4973	//       "description": "Required. The project name.",
4974	//       "location": "path",
4975	//       "pattern": "^projects/[^/]+$",
4976	//       "required": true,
4977	//       "type": "string"
4978	//     }
4979	//   },
4980	//   "path": "v1/{+name}:getConfig",
4981	//   "response": {
4982	//     "$ref": "GoogleCloudMlV1__GetConfigResponse"
4983	//   },
4984	//   "scopes": [
4985	//     "https://www.googleapis.com/auth/cloud-platform"
4986	//   ]
4987	// }
4988
4989}
4990
4991// method id "ml.projects.predict":
4992
4993type ProjectsPredictCall struct {
4994	s                               *Service
4995	name                            string
4996	googlecloudmlv1__predictrequest *GoogleCloudMlV1__PredictRequest
4997	urlParams_                      gensupport.URLParams
4998	ctx_                            context.Context
4999	header_                         http.Header
5000}
5001
5002// Predict: Performs online prediction on the data in the request. {%
5003// dynamic include "/ai-platform/includes/___predict-request" %}
5004//
5005// - name: The resource name of a model or a version. Authorization:
5006//   requires the `predict` permission on the specified resource.
5007func (r *ProjectsService) Predict(name string, googlecloudmlv1__predictrequest *GoogleCloudMlV1__PredictRequest) *ProjectsPredictCall {
5008	c := &ProjectsPredictCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5009	c.name = name
5010	c.googlecloudmlv1__predictrequest = googlecloudmlv1__predictrequest
5011	return c
5012}
5013
5014// Fields allows partial responses to be retrieved. See
5015// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5016// for more information.
5017func (c *ProjectsPredictCall) Fields(s ...googleapi.Field) *ProjectsPredictCall {
5018	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5019	return c
5020}
5021
5022// Context sets the context to be used in this call's Do method. Any
5023// pending HTTP request will be aborted if the provided context is
5024// canceled.
5025func (c *ProjectsPredictCall) Context(ctx context.Context) *ProjectsPredictCall {
5026	c.ctx_ = ctx
5027	return c
5028}
5029
5030// Header returns an http.Header that can be modified by the caller to
5031// add HTTP headers to the request.
5032func (c *ProjectsPredictCall) Header() http.Header {
5033	if c.header_ == nil {
5034		c.header_ = make(http.Header)
5035	}
5036	return c.header_
5037}
5038
5039func (c *ProjectsPredictCall) doRequest(alt string) (*http.Response, error) {
5040	reqHeaders := make(http.Header)
5041	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
5042	for k, v := range c.header_ {
5043		reqHeaders[k] = v
5044	}
5045	reqHeaders.Set("User-Agent", c.s.userAgent())
5046	var body io.Reader = nil
5047	body = strings.NewReader(c.googlecloudmlv1__predictrequest.HttpBody.Data)
5048	reqHeaders.Set("Content-Type", "application/json")
5049	c.urlParams_.Set("alt", alt)
5050	c.urlParams_.Set("prettyPrint", "false")
5051	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:predict")
5052	urls += "?" + c.urlParams_.Encode()
5053	req, err := http.NewRequest("POST", urls, body)
5054	if err != nil {
5055		return nil, err
5056	}
5057	req.Header = reqHeaders
5058	googleapi.Expand(req.URL, map[string]string{
5059		"name": c.name,
5060	})
5061	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5062}
5063
5064// Do executes the "ml.projects.predict" call.
5065// Exactly one of *GoogleApi__HttpBody or error will be non-nil. Any
5066// non-2xx status code is an error. Response headers are in either
5067// *GoogleApi__HttpBody.ServerResponse.Header or (if a response was
5068// returned at all) in error.(*googleapi.Error).Header. Use
5069// googleapi.IsNotModified to check whether the returned error was
5070// because http.StatusNotModified was returned.
5071func (c *ProjectsPredictCall) Do(opts ...googleapi.CallOption) (*GoogleApi__HttpBody, error) {
5072	gensupport.SetOptions(c.urlParams_, opts...)
5073	res, err := c.doRequest("json")
5074	if res != nil && res.StatusCode == http.StatusNotModified {
5075		if res.Body != nil {
5076			res.Body.Close()
5077		}
5078		return nil, &googleapi.Error{
5079			Code:   res.StatusCode,
5080			Header: res.Header,
5081		}
5082	}
5083	if err != nil {
5084		return nil, err
5085	}
5086	defer googleapi.CloseBody(res)
5087	if err := googleapi.CheckResponse(res); err != nil {
5088		return nil, err
5089	}
5090	ret := &GoogleApi__HttpBody{
5091		ServerResponse: googleapi.ServerResponse{
5092			Header:         res.Header,
5093			HTTPStatusCode: res.StatusCode,
5094		},
5095	}
5096	target := &ret
5097	var b bytes.Buffer
5098	if _, err := io.Copy(&b, res.Body); err != nil {
5099		return nil, err
5100	}
5101	if err := res.Body.Close(); err != nil {
5102		return nil, err
5103	}
5104	if err := json.NewDecoder(bytes.NewReader(b.Bytes())).Decode(target); err != nil {
5105		return nil, err
5106	}
5107	ret.Data = b.String()
5108	return ret, nil
5109	// {
5110	//   "description": "Performs online prediction on the data in the request. {% dynamic include \"/ai-platform/includes/___predict-request\" %} ",
5111	//   "flatPath": "v1/projects/{projectsId}:predict",
5112	//   "httpMethod": "POST",
5113	//   "id": "ml.projects.predict",
5114	//   "parameterOrder": [
5115	//     "name"
5116	//   ],
5117	//   "parameters": {
5118	//     "name": {
5119	//       "description": "Required. The resource name of a model or a version. Authorization: requires the `predict` permission on the specified resource.",
5120	//       "location": "path",
5121	//       "pattern": "^projects/.*$",
5122	//       "required": true,
5123	//       "type": "string"
5124	//     }
5125	//   },
5126	//   "path": "v1/{+name}:predict",
5127	//   "request": {
5128	//     "$ref": "GoogleCloudMlV1__PredictRequest"
5129	//   },
5130	//   "response": {
5131	//     "$ref": "GoogleApi__HttpBody"
5132	//   },
5133	//   "scopes": [
5134	//     "https://www.googleapis.com/auth/cloud-platform"
5135	//   ]
5136	// }
5137
5138}
5139
5140// method id "ml.projects.jobs.cancel":
5141
5142type ProjectsJobsCancelCall struct {
5143	s                                 *Service
5144	name                              string
5145	googlecloudmlv1__canceljobrequest *GoogleCloudMlV1__CancelJobRequest
5146	urlParams_                        gensupport.URLParams
5147	ctx_                              context.Context
5148	header_                           http.Header
5149}
5150
5151// Cancel: Cancels a running job.
5152//
5153// - name: The name of the job to cancel.
5154func (r *ProjectsJobsService) Cancel(name string, googlecloudmlv1__canceljobrequest *GoogleCloudMlV1__CancelJobRequest) *ProjectsJobsCancelCall {
5155	c := &ProjectsJobsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5156	c.name = name
5157	c.googlecloudmlv1__canceljobrequest = googlecloudmlv1__canceljobrequest
5158	return c
5159}
5160
5161// Fields allows partial responses to be retrieved. See
5162// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5163// for more information.
5164func (c *ProjectsJobsCancelCall) Fields(s ...googleapi.Field) *ProjectsJobsCancelCall {
5165	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5166	return c
5167}
5168
5169// Context sets the context to be used in this call's Do method. Any
5170// pending HTTP request will be aborted if the provided context is
5171// canceled.
5172func (c *ProjectsJobsCancelCall) Context(ctx context.Context) *ProjectsJobsCancelCall {
5173	c.ctx_ = ctx
5174	return c
5175}
5176
5177// Header returns an http.Header that can be modified by the caller to
5178// add HTTP headers to the request.
5179func (c *ProjectsJobsCancelCall) Header() http.Header {
5180	if c.header_ == nil {
5181		c.header_ = make(http.Header)
5182	}
5183	return c.header_
5184}
5185
5186func (c *ProjectsJobsCancelCall) doRequest(alt string) (*http.Response, error) {
5187	reqHeaders := make(http.Header)
5188	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
5189	for k, v := range c.header_ {
5190		reqHeaders[k] = v
5191	}
5192	reqHeaders.Set("User-Agent", c.s.userAgent())
5193	var body io.Reader = nil
5194	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudmlv1__canceljobrequest)
5195	if err != nil {
5196		return nil, err
5197	}
5198	reqHeaders.Set("Content-Type", "application/json")
5199	c.urlParams_.Set("alt", alt)
5200	c.urlParams_.Set("prettyPrint", "false")
5201	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
5202	urls += "?" + c.urlParams_.Encode()
5203	req, err := http.NewRequest("POST", urls, body)
5204	if err != nil {
5205		return nil, err
5206	}
5207	req.Header = reqHeaders
5208	googleapi.Expand(req.URL, map[string]string{
5209		"name": c.name,
5210	})
5211	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5212}
5213
5214// Do executes the "ml.projects.jobs.cancel" call.
5215// Exactly one of *GoogleProtobuf__Empty or error will be non-nil. Any
5216// non-2xx status code is an error. Response headers are in either
5217// *GoogleProtobuf__Empty.ServerResponse.Header or (if a response was
5218// returned at all) in error.(*googleapi.Error).Header. Use
5219// googleapi.IsNotModified to check whether the returned error was
5220// because http.StatusNotModified was returned.
5221func (c *ProjectsJobsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobuf__Empty, error) {
5222	gensupport.SetOptions(c.urlParams_, opts...)
5223	res, err := c.doRequest("json")
5224	if res != nil && res.StatusCode == http.StatusNotModified {
5225		if res.Body != nil {
5226			res.Body.Close()
5227		}
5228		return nil, &googleapi.Error{
5229			Code:   res.StatusCode,
5230			Header: res.Header,
5231		}
5232	}
5233	if err != nil {
5234		return nil, err
5235	}
5236	defer googleapi.CloseBody(res)
5237	if err := googleapi.CheckResponse(res); err != nil {
5238		return nil, err
5239	}
5240	ret := &GoogleProtobuf__Empty{
5241		ServerResponse: googleapi.ServerResponse{
5242			Header:         res.Header,
5243			HTTPStatusCode: res.StatusCode,
5244		},
5245	}
5246	target := &ret
5247	if err := gensupport.DecodeResponse(target, res); err != nil {
5248		return nil, err
5249	}
5250	return ret, nil
5251	// {
5252	//   "description": "Cancels a running job.",
5253	//   "flatPath": "v1/projects/{projectsId}/jobs/{jobsId}:cancel",
5254	//   "httpMethod": "POST",
5255	//   "id": "ml.projects.jobs.cancel",
5256	//   "parameterOrder": [
5257	//     "name"
5258	//   ],
5259	//   "parameters": {
5260	//     "name": {
5261	//       "description": "Required. The name of the job to cancel.",
5262	//       "location": "path",
5263	//       "pattern": "^projects/[^/]+/jobs/[^/]+$",
5264	//       "required": true,
5265	//       "type": "string"
5266	//     }
5267	//   },
5268	//   "path": "v1/{+name}:cancel",
5269	//   "request": {
5270	//     "$ref": "GoogleCloudMlV1__CancelJobRequest"
5271	//   },
5272	//   "response": {
5273	//     "$ref": "GoogleProtobuf__Empty"
5274	//   },
5275	//   "scopes": [
5276	//     "https://www.googleapis.com/auth/cloud-platform"
5277	//   ]
5278	// }
5279
5280}
5281
5282// method id "ml.projects.jobs.create":
5283
5284type ProjectsJobsCreateCall struct {
5285	s                    *Service
5286	parent               string
5287	googlecloudmlv1__job *GoogleCloudMlV1__Job
5288	urlParams_           gensupport.URLParams
5289	ctx_                 context.Context
5290	header_              http.Header
5291}
5292
5293// Create: Creates a training or a batch prediction job.
5294//
5295// - parent: The project name.
5296func (r *ProjectsJobsService) Create(parent string, googlecloudmlv1__job *GoogleCloudMlV1__Job) *ProjectsJobsCreateCall {
5297	c := &ProjectsJobsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5298	c.parent = parent
5299	c.googlecloudmlv1__job = googlecloudmlv1__job
5300	return c
5301}
5302
5303// Fields allows partial responses to be retrieved. See
5304// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5305// for more information.
5306func (c *ProjectsJobsCreateCall) Fields(s ...googleapi.Field) *ProjectsJobsCreateCall {
5307	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5308	return c
5309}
5310
5311// Context sets the context to be used in this call's Do method. Any
5312// pending HTTP request will be aborted if the provided context is
5313// canceled.
5314func (c *ProjectsJobsCreateCall) Context(ctx context.Context) *ProjectsJobsCreateCall {
5315	c.ctx_ = ctx
5316	return c
5317}
5318
5319// Header returns an http.Header that can be modified by the caller to
5320// add HTTP headers to the request.
5321func (c *ProjectsJobsCreateCall) Header() http.Header {
5322	if c.header_ == nil {
5323		c.header_ = make(http.Header)
5324	}
5325	return c.header_
5326}
5327
5328func (c *ProjectsJobsCreateCall) doRequest(alt string) (*http.Response, error) {
5329	reqHeaders := make(http.Header)
5330	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
5331	for k, v := range c.header_ {
5332		reqHeaders[k] = v
5333	}
5334	reqHeaders.Set("User-Agent", c.s.userAgent())
5335	var body io.Reader = nil
5336	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudmlv1__job)
5337	if err != nil {
5338		return nil, err
5339	}
5340	reqHeaders.Set("Content-Type", "application/json")
5341	c.urlParams_.Set("alt", alt)
5342	c.urlParams_.Set("prettyPrint", "false")
5343	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/jobs")
5344	urls += "?" + c.urlParams_.Encode()
5345	req, err := http.NewRequest("POST", urls, body)
5346	if err != nil {
5347		return nil, err
5348	}
5349	req.Header = reqHeaders
5350	googleapi.Expand(req.URL, map[string]string{
5351		"parent": c.parent,
5352	})
5353	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5354}
5355
5356// Do executes the "ml.projects.jobs.create" call.
5357// Exactly one of *GoogleCloudMlV1__Job or error will be non-nil. Any
5358// non-2xx status code is an error. Response headers are in either
5359// *GoogleCloudMlV1__Job.ServerResponse.Header or (if a response was
5360// returned at all) in error.(*googleapi.Error).Header. Use
5361// googleapi.IsNotModified to check whether the returned error was
5362// because http.StatusNotModified was returned.
5363func (c *ProjectsJobsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudMlV1__Job, error) {
5364	gensupport.SetOptions(c.urlParams_, opts...)
5365	res, err := c.doRequest("json")
5366	if res != nil && res.StatusCode == http.StatusNotModified {
5367		if res.Body != nil {
5368			res.Body.Close()
5369		}
5370		return nil, &googleapi.Error{
5371			Code:   res.StatusCode,
5372			Header: res.Header,
5373		}
5374	}
5375	if err != nil {
5376		return nil, err
5377	}
5378	defer googleapi.CloseBody(res)
5379	if err := googleapi.CheckResponse(res); err != nil {
5380		return nil, err
5381	}
5382	ret := &GoogleCloudMlV1__Job{
5383		ServerResponse: googleapi.ServerResponse{
5384			Header:         res.Header,
5385			HTTPStatusCode: res.StatusCode,
5386		},
5387	}
5388	target := &ret
5389	if err := gensupport.DecodeResponse(target, res); err != nil {
5390		return nil, err
5391	}
5392	return ret, nil
5393	// {
5394	//   "description": "Creates a training or a batch prediction job.",
5395	//   "flatPath": "v1/projects/{projectsId}/jobs",
5396	//   "httpMethod": "POST",
5397	//   "id": "ml.projects.jobs.create",
5398	//   "parameterOrder": [
5399	//     "parent"
5400	//   ],
5401	//   "parameters": {
5402	//     "parent": {
5403	//       "description": "Required. The project name.",
5404	//       "location": "path",
5405	//       "pattern": "^projects/[^/]+$",
5406	//       "required": true,
5407	//       "type": "string"
5408	//     }
5409	//   },
5410	//   "path": "v1/{+parent}/jobs",
5411	//   "request": {
5412	//     "$ref": "GoogleCloudMlV1__Job"
5413	//   },
5414	//   "response": {
5415	//     "$ref": "GoogleCloudMlV1__Job"
5416	//   },
5417	//   "scopes": [
5418	//     "https://www.googleapis.com/auth/cloud-platform"
5419	//   ]
5420	// }
5421
5422}
5423
5424// method id "ml.projects.jobs.get":
5425
5426type ProjectsJobsGetCall struct {
5427	s            *Service
5428	name         string
5429	urlParams_   gensupport.URLParams
5430	ifNoneMatch_ string
5431	ctx_         context.Context
5432	header_      http.Header
5433}
5434
5435// Get: Describes a job.
5436//
5437// - name: The name of the job to get the description of.
5438func (r *ProjectsJobsService) Get(name string) *ProjectsJobsGetCall {
5439	c := &ProjectsJobsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5440	c.name = name
5441	return c
5442}
5443
5444// Fields allows partial responses to be retrieved. See
5445// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5446// for more information.
5447func (c *ProjectsJobsGetCall) Fields(s ...googleapi.Field) *ProjectsJobsGetCall {
5448	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5449	return c
5450}
5451
5452// IfNoneMatch sets the optional parameter which makes the operation
5453// fail if the object's ETag matches the given value. This is useful for
5454// getting updates only after the object has changed since the last
5455// request. Use googleapi.IsNotModified to check whether the response
5456// error from Do is the result of In-None-Match.
5457func (c *ProjectsJobsGetCall) IfNoneMatch(entityTag string) *ProjectsJobsGetCall {
5458	c.ifNoneMatch_ = entityTag
5459	return c
5460}
5461
5462// Context sets the context to be used in this call's Do method. Any
5463// pending HTTP request will be aborted if the provided context is
5464// canceled.
5465func (c *ProjectsJobsGetCall) Context(ctx context.Context) *ProjectsJobsGetCall {
5466	c.ctx_ = ctx
5467	return c
5468}
5469
5470// Header returns an http.Header that can be modified by the caller to
5471// add HTTP headers to the request.
5472func (c *ProjectsJobsGetCall) Header() http.Header {
5473	if c.header_ == nil {
5474		c.header_ = make(http.Header)
5475	}
5476	return c.header_
5477}
5478
5479func (c *ProjectsJobsGetCall) doRequest(alt string) (*http.Response, error) {
5480	reqHeaders := make(http.Header)
5481	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
5482	for k, v := range c.header_ {
5483		reqHeaders[k] = v
5484	}
5485	reqHeaders.Set("User-Agent", c.s.userAgent())
5486	if c.ifNoneMatch_ != "" {
5487		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
5488	}
5489	var body io.Reader = nil
5490	c.urlParams_.Set("alt", alt)
5491	c.urlParams_.Set("prettyPrint", "false")
5492	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
5493	urls += "?" + c.urlParams_.Encode()
5494	req, err := http.NewRequest("GET", urls, body)
5495	if err != nil {
5496		return nil, err
5497	}
5498	req.Header = reqHeaders
5499	googleapi.Expand(req.URL, map[string]string{
5500		"name": c.name,
5501	})
5502	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5503}
5504
5505// Do executes the "ml.projects.jobs.get" call.
5506// Exactly one of *GoogleCloudMlV1__Job or error will be non-nil. Any
5507// non-2xx status code is an error. Response headers are in either
5508// *GoogleCloudMlV1__Job.ServerResponse.Header or (if a response was
5509// returned at all) in error.(*googleapi.Error).Header. Use
5510// googleapi.IsNotModified to check whether the returned error was
5511// because http.StatusNotModified was returned.
5512func (c *ProjectsJobsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudMlV1__Job, error) {
5513	gensupport.SetOptions(c.urlParams_, opts...)
5514	res, err := c.doRequest("json")
5515	if res != nil && res.StatusCode == http.StatusNotModified {
5516		if res.Body != nil {
5517			res.Body.Close()
5518		}
5519		return nil, &googleapi.Error{
5520			Code:   res.StatusCode,
5521			Header: res.Header,
5522		}
5523	}
5524	if err != nil {
5525		return nil, err
5526	}
5527	defer googleapi.CloseBody(res)
5528	if err := googleapi.CheckResponse(res); err != nil {
5529		return nil, err
5530	}
5531	ret := &GoogleCloudMlV1__Job{
5532		ServerResponse: googleapi.ServerResponse{
5533			Header:         res.Header,
5534			HTTPStatusCode: res.StatusCode,
5535		},
5536	}
5537	target := &ret
5538	if err := gensupport.DecodeResponse(target, res); err != nil {
5539		return nil, err
5540	}
5541	return ret, nil
5542	// {
5543	//   "description": "Describes a job.",
5544	//   "flatPath": "v1/projects/{projectsId}/jobs/{jobsId}",
5545	//   "httpMethod": "GET",
5546	//   "id": "ml.projects.jobs.get",
5547	//   "parameterOrder": [
5548	//     "name"
5549	//   ],
5550	//   "parameters": {
5551	//     "name": {
5552	//       "description": "Required. The name of the job to get the description of.",
5553	//       "location": "path",
5554	//       "pattern": "^projects/[^/]+/jobs/[^/]+$",
5555	//       "required": true,
5556	//       "type": "string"
5557	//     }
5558	//   },
5559	//   "path": "v1/{+name}",
5560	//   "response": {
5561	//     "$ref": "GoogleCloudMlV1__Job"
5562	//   },
5563	//   "scopes": [
5564	//     "https://www.googleapis.com/auth/cloud-platform",
5565	//     "https://www.googleapis.com/auth/cloud-platform.read-only"
5566	//   ]
5567	// }
5568
5569}
5570
5571// method id "ml.projects.jobs.getIamPolicy":
5572
5573type ProjectsJobsGetIamPolicyCall struct {
5574	s            *Service
5575	resource     string
5576	urlParams_   gensupport.URLParams
5577	ifNoneMatch_ string
5578	ctx_         context.Context
5579	header_      http.Header
5580}
5581
5582// GetIamPolicy: Gets the access control policy for a resource. Returns
5583// an empty policy if the resource exists and does not have a policy
5584// set.
5585//
5586// - resource: REQUIRED: The resource for which the policy is being
5587//   requested. See the operation documentation for the appropriate
5588//   value for this field.
5589func (r *ProjectsJobsService) GetIamPolicy(resource string) *ProjectsJobsGetIamPolicyCall {
5590	c := &ProjectsJobsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5591	c.resource = resource
5592	return c
5593}
5594
5595// OptionsRequestedPolicyVersion sets the optional parameter
5596// "options.requestedPolicyVersion": The policy format version to be
5597// returned. Valid values are 0, 1, and 3. Requests specifying an
5598// invalid value will be rejected. Requests for policies with any
5599// conditional bindings must specify version 3. Policies without any
5600// conditional bindings may specify any valid value or leave the field
5601// unset. To learn which resources support conditions in their IAM
5602// policies, see the IAM documentation
5603// (https://cloud.google.com/iam/help/conditions/resource-policies).
5604func (c *ProjectsJobsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsJobsGetIamPolicyCall {
5605	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
5606	return c
5607}
5608
5609// Fields allows partial responses to be retrieved. See
5610// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5611// for more information.
5612func (c *ProjectsJobsGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsJobsGetIamPolicyCall {
5613	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5614	return c
5615}
5616
5617// IfNoneMatch sets the optional parameter which makes the operation
5618// fail if the object's ETag matches the given value. This is useful for
5619// getting updates only after the object has changed since the last
5620// request. Use googleapi.IsNotModified to check whether the response
5621// error from Do is the result of In-None-Match.
5622func (c *ProjectsJobsGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsJobsGetIamPolicyCall {
5623	c.ifNoneMatch_ = entityTag
5624	return c
5625}
5626
5627// Context sets the context to be used in this call's Do method. Any
5628// pending HTTP request will be aborted if the provided context is
5629// canceled.
5630func (c *ProjectsJobsGetIamPolicyCall) Context(ctx context.Context) *ProjectsJobsGetIamPolicyCall {
5631	c.ctx_ = ctx
5632	return c
5633}
5634
5635// Header returns an http.Header that can be modified by the caller to
5636// add HTTP headers to the request.
5637func (c *ProjectsJobsGetIamPolicyCall) Header() http.Header {
5638	if c.header_ == nil {
5639		c.header_ = make(http.Header)
5640	}
5641	return c.header_
5642}
5643
5644func (c *ProjectsJobsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
5645	reqHeaders := make(http.Header)
5646	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
5647	for k, v := range c.header_ {
5648		reqHeaders[k] = v
5649	}
5650	reqHeaders.Set("User-Agent", c.s.userAgent())
5651	if c.ifNoneMatch_ != "" {
5652		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
5653	}
5654	var body io.Reader = nil
5655	c.urlParams_.Set("alt", alt)
5656	c.urlParams_.Set("prettyPrint", "false")
5657	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:getIamPolicy")
5658	urls += "?" + c.urlParams_.Encode()
5659	req, err := http.NewRequest("GET", urls, body)
5660	if err != nil {
5661		return nil, err
5662	}
5663	req.Header = reqHeaders
5664	googleapi.Expand(req.URL, map[string]string{
5665		"resource": c.resource,
5666	})
5667	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5668}
5669
5670// Do executes the "ml.projects.jobs.getIamPolicy" call.
5671// Exactly one of *GoogleIamV1__Policy or error will be non-nil. Any
5672// non-2xx status code is an error. Response headers are in either
5673// *GoogleIamV1__Policy.ServerResponse.Header or (if a response was
5674// returned at all) in error.(*googleapi.Error).Header. Use
5675// googleapi.IsNotModified to check whether the returned error was
5676// because http.StatusNotModified was returned.
5677func (c *ProjectsJobsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*GoogleIamV1__Policy, error) {
5678	gensupport.SetOptions(c.urlParams_, opts...)
5679	res, err := c.doRequest("json")
5680	if res != nil && res.StatusCode == http.StatusNotModified {
5681		if res.Body != nil {
5682			res.Body.Close()
5683		}
5684		return nil, &googleapi.Error{
5685			Code:   res.StatusCode,
5686			Header: res.Header,
5687		}
5688	}
5689	if err != nil {
5690		return nil, err
5691	}
5692	defer googleapi.CloseBody(res)
5693	if err := googleapi.CheckResponse(res); err != nil {
5694		return nil, err
5695	}
5696	ret := &GoogleIamV1__Policy{
5697		ServerResponse: googleapi.ServerResponse{
5698			Header:         res.Header,
5699			HTTPStatusCode: res.StatusCode,
5700		},
5701	}
5702	target := &ret
5703	if err := gensupport.DecodeResponse(target, res); err != nil {
5704		return nil, err
5705	}
5706	return ret, nil
5707	// {
5708	//   "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
5709	//   "flatPath": "v1/projects/{projectsId}/jobs/{jobsId}:getIamPolicy",
5710	//   "httpMethod": "GET",
5711	//   "id": "ml.projects.jobs.getIamPolicy",
5712	//   "parameterOrder": [
5713	//     "resource"
5714	//   ],
5715	//   "parameters": {
5716	//     "options.requestedPolicyVersion": {
5717	//       "description": "Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
5718	//       "format": "int32",
5719	//       "location": "query",
5720	//       "type": "integer"
5721	//     },
5722	//     "resource": {
5723	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
5724	//       "location": "path",
5725	//       "pattern": "^projects/[^/]+/jobs/[^/]+$",
5726	//       "required": true,
5727	//       "type": "string"
5728	//     }
5729	//   },
5730	//   "path": "v1/{+resource}:getIamPolicy",
5731	//   "response": {
5732	//     "$ref": "GoogleIamV1__Policy"
5733	//   },
5734	//   "scopes": [
5735	//     "https://www.googleapis.com/auth/cloud-platform"
5736	//   ]
5737	// }
5738
5739}
5740
5741// method id "ml.projects.jobs.list":
5742
5743type ProjectsJobsListCall struct {
5744	s            *Service
5745	parent       string
5746	urlParams_   gensupport.URLParams
5747	ifNoneMatch_ string
5748	ctx_         context.Context
5749	header_      http.Header
5750}
5751
5752// List: Lists the jobs in the project. If there are no jobs that match
5753// the request parameters, the list request returns an empty response
5754// body: {}.
5755//
5756// - parent: The name of the project for which to list jobs.
5757func (r *ProjectsJobsService) List(parent string) *ProjectsJobsListCall {
5758	c := &ProjectsJobsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5759	c.parent = parent
5760	return c
5761}
5762
5763// Filter sets the optional parameter "filter": Specifies the subset of
5764// jobs to retrieve. You can filter on the value of one or more
5765// attributes of the job object. For example, retrieve jobs with a job
5766// identifier that starts with 'census': gcloud ai-platform jobs list
5767// --filter='jobId:census*' List all failed jobs with names that start
5768// with 'rnn': gcloud ai-platform jobs list --filter='jobId:rnn* AND
5769// state:FAILED' For more examples, see the guide to monitoring jobs.
5770func (c *ProjectsJobsListCall) Filter(filter string) *ProjectsJobsListCall {
5771	c.urlParams_.Set("filter", filter)
5772	return c
5773}
5774
5775// PageSize sets the optional parameter "pageSize": The number of jobs
5776// to retrieve per "page" of results. If there are more remaining
5777// results than this number, the response message will contain a valid
5778// value in the `next_page_token` field. The default value is 20, and
5779// the maximum page size is 100.
5780func (c *ProjectsJobsListCall) PageSize(pageSize int64) *ProjectsJobsListCall {
5781	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
5782	return c
5783}
5784
5785// PageToken sets the optional parameter "pageToken": A page token to
5786// request the next page of results. You get the token from the
5787// `next_page_token` field of the response from the previous call.
5788func (c *ProjectsJobsListCall) PageToken(pageToken string) *ProjectsJobsListCall {
5789	c.urlParams_.Set("pageToken", pageToken)
5790	return c
5791}
5792
5793// Fields allows partial responses to be retrieved. See
5794// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5795// for more information.
5796func (c *ProjectsJobsListCall) Fields(s ...googleapi.Field) *ProjectsJobsListCall {
5797	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5798	return c
5799}
5800
5801// IfNoneMatch sets the optional parameter which makes the operation
5802// fail if the object's ETag matches the given value. This is useful for
5803// getting updates only after the object has changed since the last
5804// request. Use googleapi.IsNotModified to check whether the response
5805// error from Do is the result of In-None-Match.
5806func (c *ProjectsJobsListCall) IfNoneMatch(entityTag string) *ProjectsJobsListCall {
5807	c.ifNoneMatch_ = entityTag
5808	return c
5809}
5810
5811// Context sets the context to be used in this call's Do method. Any
5812// pending HTTP request will be aborted if the provided context is
5813// canceled.
5814func (c *ProjectsJobsListCall) Context(ctx context.Context) *ProjectsJobsListCall {
5815	c.ctx_ = ctx
5816	return c
5817}
5818
5819// Header returns an http.Header that can be modified by the caller to
5820// add HTTP headers to the request.
5821func (c *ProjectsJobsListCall) Header() http.Header {
5822	if c.header_ == nil {
5823		c.header_ = make(http.Header)
5824	}
5825	return c.header_
5826}
5827
5828func (c *ProjectsJobsListCall) doRequest(alt string) (*http.Response, error) {
5829	reqHeaders := make(http.Header)
5830	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
5831	for k, v := range c.header_ {
5832		reqHeaders[k] = v
5833	}
5834	reqHeaders.Set("User-Agent", c.s.userAgent())
5835	if c.ifNoneMatch_ != "" {
5836		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
5837	}
5838	var body io.Reader = nil
5839	c.urlParams_.Set("alt", alt)
5840	c.urlParams_.Set("prettyPrint", "false")
5841	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/jobs")
5842	urls += "?" + c.urlParams_.Encode()
5843	req, err := http.NewRequest("GET", urls, body)
5844	if err != nil {
5845		return nil, err
5846	}
5847	req.Header = reqHeaders
5848	googleapi.Expand(req.URL, map[string]string{
5849		"parent": c.parent,
5850	})
5851	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5852}
5853
5854// Do executes the "ml.projects.jobs.list" call.
5855// Exactly one of *GoogleCloudMlV1__ListJobsResponse or error will be
5856// non-nil. Any non-2xx status code is an error. Response headers are in
5857// either *GoogleCloudMlV1__ListJobsResponse.ServerResponse.Header or
5858// (if a response was returned at all) in
5859// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
5860// whether the returned error was because http.StatusNotModified was
5861// returned.
5862func (c *ProjectsJobsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudMlV1__ListJobsResponse, error) {
5863	gensupport.SetOptions(c.urlParams_, opts...)
5864	res, err := c.doRequest("json")
5865	if res != nil && res.StatusCode == http.StatusNotModified {
5866		if res.Body != nil {
5867			res.Body.Close()
5868		}
5869		return nil, &googleapi.Error{
5870			Code:   res.StatusCode,
5871			Header: res.Header,
5872		}
5873	}
5874	if err != nil {
5875		return nil, err
5876	}
5877	defer googleapi.CloseBody(res)
5878	if err := googleapi.CheckResponse(res); err != nil {
5879		return nil, err
5880	}
5881	ret := &GoogleCloudMlV1__ListJobsResponse{
5882		ServerResponse: googleapi.ServerResponse{
5883			Header:         res.Header,
5884			HTTPStatusCode: res.StatusCode,
5885		},
5886	}
5887	target := &ret
5888	if err := gensupport.DecodeResponse(target, res); err != nil {
5889		return nil, err
5890	}
5891	return ret, nil
5892	// {
5893	//   "description": "Lists the jobs in the project. If there are no jobs that match the request parameters, the list request returns an empty response body: {}.",
5894	//   "flatPath": "v1/projects/{projectsId}/jobs",
5895	//   "httpMethod": "GET",
5896	//   "id": "ml.projects.jobs.list",
5897	//   "parameterOrder": [
5898	//     "parent"
5899	//   ],
5900	//   "parameters": {
5901	//     "filter": {
5902	//       "description": "Optional. Specifies the subset of jobs to retrieve. You can filter on the value of one or more attributes of the job object. For example, retrieve jobs with a job identifier that starts with 'census': gcloud ai-platform jobs list --filter='jobId:census*' List all failed jobs with names that start with 'rnn': gcloud ai-platform jobs list --filter='jobId:rnn* AND state:FAILED' For more examples, see the guide to monitoring jobs.",
5903	//       "location": "query",
5904	//       "type": "string"
5905	//     },
5906	//     "pageSize": {
5907	//       "description": "Optional. The number of jobs to retrieve per \"page\" of results. If there are more remaining results than this number, the response message will contain a valid value in the `next_page_token` field. The default value is 20, and the maximum page size is 100.",
5908	//       "format": "int32",
5909	//       "location": "query",
5910	//       "type": "integer"
5911	//     },
5912	//     "pageToken": {
5913	//       "description": "Optional. A page token to request the next page of results. You get the token from the `next_page_token` field of the response from the previous call.",
5914	//       "location": "query",
5915	//       "type": "string"
5916	//     },
5917	//     "parent": {
5918	//       "description": "Required. The name of the project for which to list jobs.",
5919	//       "location": "path",
5920	//       "pattern": "^projects/[^/]+$",
5921	//       "required": true,
5922	//       "type": "string"
5923	//     }
5924	//   },
5925	//   "path": "v1/{+parent}/jobs",
5926	//   "response": {
5927	//     "$ref": "GoogleCloudMlV1__ListJobsResponse"
5928	//   },
5929	//   "scopes": [
5930	//     "https://www.googleapis.com/auth/cloud-platform",
5931	//     "https://www.googleapis.com/auth/cloud-platform.read-only"
5932	//   ]
5933	// }
5934
5935}
5936
5937// Pages invokes f for each page of results.
5938// A non-nil error returned from f will halt the iteration.
5939// The provided context supersedes any context provided to the Context method.
5940func (c *ProjectsJobsListCall) Pages(ctx context.Context, f func(*GoogleCloudMlV1__ListJobsResponse) error) error {
5941	c.ctx_ = ctx
5942	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
5943	for {
5944		x, err := c.Do()
5945		if err != nil {
5946			return err
5947		}
5948		if err := f(x); err != nil {
5949			return err
5950		}
5951		if x.NextPageToken == "" {
5952			return nil
5953		}
5954		c.PageToken(x.NextPageToken)
5955	}
5956}
5957
5958// method id "ml.projects.jobs.patch":
5959
5960type ProjectsJobsPatchCall struct {
5961	s                    *Service
5962	name                 string
5963	googlecloudmlv1__job *GoogleCloudMlV1__Job
5964	urlParams_           gensupport.URLParams
5965	ctx_                 context.Context
5966	header_              http.Header
5967}
5968
5969// Patch: Updates a specific job resource. Currently the only supported
5970// fields to update are `labels`.
5971//
5972// - name: The job name.
5973func (r *ProjectsJobsService) Patch(name string, googlecloudmlv1__job *GoogleCloudMlV1__Job) *ProjectsJobsPatchCall {
5974	c := &ProjectsJobsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5975	c.name = name
5976	c.googlecloudmlv1__job = googlecloudmlv1__job
5977	return c
5978}
5979
5980// UpdateMask sets the optional parameter "updateMask": Required.
5981// Specifies the path, relative to `Job`, of the field to update. To
5982// adopt etag mechanism, include `etag` field in the mask, and include
5983// the `etag` value in your job resource. For example, to change the
5984// labels of a job, the `update_mask` parameter would be specified as
5985// `labels`, `etag`, and the `PATCH` request body would specify the new
5986// value, as follows: { "labels": { "owner": "Google", "color": "Blue" }
5987// "etag": "33a64df551425fcc55e4d42a148795d9f25f89d4" } If `etag`
5988// matches the one on the server, the labels of the job will be replaced
5989// with the given ones, and the server end `etag` will be recalculated.
5990// Currently the only supported update masks are `labels` and `etag`.
5991func (c *ProjectsJobsPatchCall) UpdateMask(updateMask string) *ProjectsJobsPatchCall {
5992	c.urlParams_.Set("updateMask", updateMask)
5993	return c
5994}
5995
5996// Fields allows partial responses to be retrieved. See
5997// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5998// for more information.
5999func (c *ProjectsJobsPatchCall) Fields(s ...googleapi.Field) *ProjectsJobsPatchCall {
6000	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6001	return c
6002}
6003
6004// Context sets the context to be used in this call's Do method. Any
6005// pending HTTP request will be aborted if the provided context is
6006// canceled.
6007func (c *ProjectsJobsPatchCall) Context(ctx context.Context) *ProjectsJobsPatchCall {
6008	c.ctx_ = ctx
6009	return c
6010}
6011
6012// Header returns an http.Header that can be modified by the caller to
6013// add HTTP headers to the request.
6014func (c *ProjectsJobsPatchCall) Header() http.Header {
6015	if c.header_ == nil {
6016		c.header_ = make(http.Header)
6017	}
6018	return c.header_
6019}
6020
6021func (c *ProjectsJobsPatchCall) doRequest(alt string) (*http.Response, error) {
6022	reqHeaders := make(http.Header)
6023	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
6024	for k, v := range c.header_ {
6025		reqHeaders[k] = v
6026	}
6027	reqHeaders.Set("User-Agent", c.s.userAgent())
6028	var body io.Reader = nil
6029	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudmlv1__job)
6030	if err != nil {
6031		return nil, err
6032	}
6033	reqHeaders.Set("Content-Type", "application/json")
6034	c.urlParams_.Set("alt", alt)
6035	c.urlParams_.Set("prettyPrint", "false")
6036	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
6037	urls += "?" + c.urlParams_.Encode()
6038	req, err := http.NewRequest("PATCH", urls, body)
6039	if err != nil {
6040		return nil, err
6041	}
6042	req.Header = reqHeaders
6043	googleapi.Expand(req.URL, map[string]string{
6044		"name": c.name,
6045	})
6046	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6047}
6048
6049// Do executes the "ml.projects.jobs.patch" call.
6050// Exactly one of *GoogleCloudMlV1__Job or error will be non-nil. Any
6051// non-2xx status code is an error. Response headers are in either
6052// *GoogleCloudMlV1__Job.ServerResponse.Header or (if a response was
6053// returned at all) in error.(*googleapi.Error).Header. Use
6054// googleapi.IsNotModified to check whether the returned error was
6055// because http.StatusNotModified was returned.
6056func (c *ProjectsJobsPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudMlV1__Job, error) {
6057	gensupport.SetOptions(c.urlParams_, opts...)
6058	res, err := c.doRequest("json")
6059	if res != nil && res.StatusCode == http.StatusNotModified {
6060		if res.Body != nil {
6061			res.Body.Close()
6062		}
6063		return nil, &googleapi.Error{
6064			Code:   res.StatusCode,
6065			Header: res.Header,
6066		}
6067	}
6068	if err != nil {
6069		return nil, err
6070	}
6071	defer googleapi.CloseBody(res)
6072	if err := googleapi.CheckResponse(res); err != nil {
6073		return nil, err
6074	}
6075	ret := &GoogleCloudMlV1__Job{
6076		ServerResponse: googleapi.ServerResponse{
6077			Header:         res.Header,
6078			HTTPStatusCode: res.StatusCode,
6079		},
6080	}
6081	target := &ret
6082	if err := gensupport.DecodeResponse(target, res); err != nil {
6083		return nil, err
6084	}
6085	return ret, nil
6086	// {
6087	//   "description": "Updates a specific job resource. Currently the only supported fields to update are `labels`.",
6088	//   "flatPath": "v1/projects/{projectsId}/jobs/{jobsId}",
6089	//   "httpMethod": "PATCH",
6090	//   "id": "ml.projects.jobs.patch",
6091	//   "parameterOrder": [
6092	//     "name"
6093	//   ],
6094	//   "parameters": {
6095	//     "name": {
6096	//       "description": "Required. The job name.",
6097	//       "location": "path",
6098	//       "pattern": "^projects/[^/]+/jobs/[^/]+$",
6099	//       "required": true,
6100	//       "type": "string"
6101	//     },
6102	//     "updateMask": {
6103	//       "description": "Required. Specifies the path, relative to `Job`, of the field to update. To adopt etag mechanism, include `etag` field in the mask, and include the `etag` value in your job resource. For example, to change the labels of a job, the `update_mask` parameter would be specified as `labels`, `etag`, and the `PATCH` request body would specify the new value, as follows: { \"labels\": { \"owner\": \"Google\", \"color\": \"Blue\" } \"etag\": \"33a64df551425fcc55e4d42a148795d9f25f89d4\" } If `etag` matches the one on the server, the labels of the job will be replaced with the given ones, and the server end `etag` will be recalculated. Currently the only supported update masks are `labels` and `etag`.",
6104	//       "format": "google-fieldmask",
6105	//       "location": "query",
6106	//       "type": "string"
6107	//     }
6108	//   },
6109	//   "path": "v1/{+name}",
6110	//   "request": {
6111	//     "$ref": "GoogleCloudMlV1__Job"
6112	//   },
6113	//   "response": {
6114	//     "$ref": "GoogleCloudMlV1__Job"
6115	//   },
6116	//   "scopes": [
6117	//     "https://www.googleapis.com/auth/cloud-platform"
6118	//   ]
6119	// }
6120
6121}
6122
6123// method id "ml.projects.jobs.setIamPolicy":
6124
6125type ProjectsJobsSetIamPolicyCall struct {
6126	s                                *Service
6127	resource                         string
6128	googleiamv1__setiampolicyrequest *GoogleIamV1__SetIamPolicyRequest
6129	urlParams_                       gensupport.URLParams
6130	ctx_                             context.Context
6131	header_                          http.Header
6132}
6133
6134// SetIamPolicy: Sets the access control policy on the specified
6135// resource. Replaces any existing policy. Can return `NOT_FOUND`,
6136// `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.
6137//
6138// - resource: REQUIRED: The resource for which the policy is being
6139//   specified. See the operation documentation for the appropriate
6140//   value for this field.
6141func (r *ProjectsJobsService) SetIamPolicy(resource string, googleiamv1__setiampolicyrequest *GoogleIamV1__SetIamPolicyRequest) *ProjectsJobsSetIamPolicyCall {
6142	c := &ProjectsJobsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6143	c.resource = resource
6144	c.googleiamv1__setiampolicyrequest = googleiamv1__setiampolicyrequest
6145	return c
6146}
6147
6148// Fields allows partial responses to be retrieved. See
6149// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6150// for more information.
6151func (c *ProjectsJobsSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsJobsSetIamPolicyCall {
6152	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6153	return c
6154}
6155
6156// Context sets the context to be used in this call's Do method. Any
6157// pending HTTP request will be aborted if the provided context is
6158// canceled.
6159func (c *ProjectsJobsSetIamPolicyCall) Context(ctx context.Context) *ProjectsJobsSetIamPolicyCall {
6160	c.ctx_ = ctx
6161	return c
6162}
6163
6164// Header returns an http.Header that can be modified by the caller to
6165// add HTTP headers to the request.
6166func (c *ProjectsJobsSetIamPolicyCall) Header() http.Header {
6167	if c.header_ == nil {
6168		c.header_ = make(http.Header)
6169	}
6170	return c.header_
6171}
6172
6173func (c *ProjectsJobsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
6174	reqHeaders := make(http.Header)
6175	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
6176	for k, v := range c.header_ {
6177		reqHeaders[k] = v
6178	}
6179	reqHeaders.Set("User-Agent", c.s.userAgent())
6180	var body io.Reader = nil
6181	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleiamv1__setiampolicyrequest)
6182	if err != nil {
6183		return nil, err
6184	}
6185	reqHeaders.Set("Content-Type", "application/json")
6186	c.urlParams_.Set("alt", alt)
6187	c.urlParams_.Set("prettyPrint", "false")
6188	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:setIamPolicy")
6189	urls += "?" + c.urlParams_.Encode()
6190	req, err := http.NewRequest("POST", urls, body)
6191	if err != nil {
6192		return nil, err
6193	}
6194	req.Header = reqHeaders
6195	googleapi.Expand(req.URL, map[string]string{
6196		"resource": c.resource,
6197	})
6198	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6199}
6200
6201// Do executes the "ml.projects.jobs.setIamPolicy" call.
6202// Exactly one of *GoogleIamV1__Policy or error will be non-nil. Any
6203// non-2xx status code is an error. Response headers are in either
6204// *GoogleIamV1__Policy.ServerResponse.Header or (if a response was
6205// returned at all) in error.(*googleapi.Error).Header. Use
6206// googleapi.IsNotModified to check whether the returned error was
6207// because http.StatusNotModified was returned.
6208func (c *ProjectsJobsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*GoogleIamV1__Policy, error) {
6209	gensupport.SetOptions(c.urlParams_, opts...)
6210	res, err := c.doRequest("json")
6211	if res != nil && res.StatusCode == http.StatusNotModified {
6212		if res.Body != nil {
6213			res.Body.Close()
6214		}
6215		return nil, &googleapi.Error{
6216			Code:   res.StatusCode,
6217			Header: res.Header,
6218		}
6219	}
6220	if err != nil {
6221		return nil, err
6222	}
6223	defer googleapi.CloseBody(res)
6224	if err := googleapi.CheckResponse(res); err != nil {
6225		return nil, err
6226	}
6227	ret := &GoogleIamV1__Policy{
6228		ServerResponse: googleapi.ServerResponse{
6229			Header:         res.Header,
6230			HTTPStatusCode: res.StatusCode,
6231		},
6232	}
6233	target := &ret
6234	if err := gensupport.DecodeResponse(target, res); err != nil {
6235		return nil, err
6236	}
6237	return ret, nil
6238	// {
6239	//   "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
6240	//   "flatPath": "v1/projects/{projectsId}/jobs/{jobsId}:setIamPolicy",
6241	//   "httpMethod": "POST",
6242	//   "id": "ml.projects.jobs.setIamPolicy",
6243	//   "parameterOrder": [
6244	//     "resource"
6245	//   ],
6246	//   "parameters": {
6247	//     "resource": {
6248	//       "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
6249	//       "location": "path",
6250	//       "pattern": "^projects/[^/]+/jobs/[^/]+$",
6251	//       "required": true,
6252	//       "type": "string"
6253	//     }
6254	//   },
6255	//   "path": "v1/{+resource}:setIamPolicy",
6256	//   "request": {
6257	//     "$ref": "GoogleIamV1__SetIamPolicyRequest"
6258	//   },
6259	//   "response": {
6260	//     "$ref": "GoogleIamV1__Policy"
6261	//   },
6262	//   "scopes": [
6263	//     "https://www.googleapis.com/auth/cloud-platform"
6264	//   ]
6265	// }
6266
6267}
6268
6269// method id "ml.projects.jobs.testIamPermissions":
6270
6271type ProjectsJobsTestIamPermissionsCall struct {
6272	s                                      *Service
6273	resource                               string
6274	googleiamv1__testiampermissionsrequest *GoogleIamV1__TestIamPermissionsRequest
6275	urlParams_                             gensupport.URLParams
6276	ctx_                                   context.Context
6277	header_                                http.Header
6278}
6279
6280// TestIamPermissions: Returns permissions that a caller has on the
6281// specified resource. If the resource does not exist, this will return
6282// an empty set of permissions, not a `NOT_FOUND` error. Note: This
6283// operation is designed to be used for building permission-aware UIs
6284// and command-line tools, not for authorization checking. This
6285// operation may "fail open" without warning.
6286//
6287// - resource: REQUIRED: The resource for which the policy detail is
6288//   being requested. See the operation documentation for the
6289//   appropriate value for this field.
6290func (r *ProjectsJobsService) TestIamPermissions(resource string, googleiamv1__testiampermissionsrequest *GoogleIamV1__TestIamPermissionsRequest) *ProjectsJobsTestIamPermissionsCall {
6291	c := &ProjectsJobsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6292	c.resource = resource
6293	c.googleiamv1__testiampermissionsrequest = googleiamv1__testiampermissionsrequest
6294	return c
6295}
6296
6297// Fields allows partial responses to be retrieved. See
6298// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6299// for more information.
6300func (c *ProjectsJobsTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsJobsTestIamPermissionsCall {
6301	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6302	return c
6303}
6304
6305// Context sets the context to be used in this call's Do method. Any
6306// pending HTTP request will be aborted if the provided context is
6307// canceled.
6308func (c *ProjectsJobsTestIamPermissionsCall) Context(ctx context.Context) *ProjectsJobsTestIamPermissionsCall {
6309	c.ctx_ = ctx
6310	return c
6311}
6312
6313// Header returns an http.Header that can be modified by the caller to
6314// add HTTP headers to the request.
6315func (c *ProjectsJobsTestIamPermissionsCall) Header() http.Header {
6316	if c.header_ == nil {
6317		c.header_ = make(http.Header)
6318	}
6319	return c.header_
6320}
6321
6322func (c *ProjectsJobsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
6323	reqHeaders := make(http.Header)
6324	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
6325	for k, v := range c.header_ {
6326		reqHeaders[k] = v
6327	}
6328	reqHeaders.Set("User-Agent", c.s.userAgent())
6329	var body io.Reader = nil
6330	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleiamv1__testiampermissionsrequest)
6331	if err != nil {
6332		return nil, err
6333	}
6334	reqHeaders.Set("Content-Type", "application/json")
6335	c.urlParams_.Set("alt", alt)
6336	c.urlParams_.Set("prettyPrint", "false")
6337	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:testIamPermissions")
6338	urls += "?" + c.urlParams_.Encode()
6339	req, err := http.NewRequest("POST", urls, body)
6340	if err != nil {
6341		return nil, err
6342	}
6343	req.Header = reqHeaders
6344	googleapi.Expand(req.URL, map[string]string{
6345		"resource": c.resource,
6346	})
6347	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6348}
6349
6350// Do executes the "ml.projects.jobs.testIamPermissions" call.
6351// Exactly one of *GoogleIamV1__TestIamPermissionsResponse or error will
6352// be non-nil. Any non-2xx status code is an error. Response headers are
6353// in either
6354// *GoogleIamV1__TestIamPermissionsResponse.ServerResponse.Header or (if
6355// a response was returned at all) in error.(*googleapi.Error).Header.
6356// Use googleapi.IsNotModified to check whether the returned error was
6357// because http.StatusNotModified was returned.
6358func (c *ProjectsJobsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*GoogleIamV1__TestIamPermissionsResponse, error) {
6359	gensupport.SetOptions(c.urlParams_, opts...)
6360	res, err := c.doRequest("json")
6361	if res != nil && res.StatusCode == http.StatusNotModified {
6362		if res.Body != nil {
6363			res.Body.Close()
6364		}
6365		return nil, &googleapi.Error{
6366			Code:   res.StatusCode,
6367			Header: res.Header,
6368		}
6369	}
6370	if err != nil {
6371		return nil, err
6372	}
6373	defer googleapi.CloseBody(res)
6374	if err := googleapi.CheckResponse(res); err != nil {
6375		return nil, err
6376	}
6377	ret := &GoogleIamV1__TestIamPermissionsResponse{
6378		ServerResponse: googleapi.ServerResponse{
6379			Header:         res.Header,
6380			HTTPStatusCode: res.StatusCode,
6381		},
6382	}
6383	target := &ret
6384	if err := gensupport.DecodeResponse(target, res); err != nil {
6385		return nil, err
6386	}
6387	return ret, nil
6388	// {
6389	//   "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
6390	//   "flatPath": "v1/projects/{projectsId}/jobs/{jobsId}:testIamPermissions",
6391	//   "httpMethod": "POST",
6392	//   "id": "ml.projects.jobs.testIamPermissions",
6393	//   "parameterOrder": [
6394	//     "resource"
6395	//   ],
6396	//   "parameters": {
6397	//     "resource": {
6398	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
6399	//       "location": "path",
6400	//       "pattern": "^projects/[^/]+/jobs/[^/]+$",
6401	//       "required": true,
6402	//       "type": "string"
6403	//     }
6404	//   },
6405	//   "path": "v1/{+resource}:testIamPermissions",
6406	//   "request": {
6407	//     "$ref": "GoogleIamV1__TestIamPermissionsRequest"
6408	//   },
6409	//   "response": {
6410	//     "$ref": "GoogleIamV1__TestIamPermissionsResponse"
6411	//   },
6412	//   "scopes": [
6413	//     "https://www.googleapis.com/auth/cloud-platform"
6414	//   ]
6415	// }
6416
6417}
6418
6419// method id "ml.projects.locations.get":
6420
6421type ProjectsLocationsGetCall struct {
6422	s            *Service
6423	name         string
6424	urlParams_   gensupport.URLParams
6425	ifNoneMatch_ string
6426	ctx_         context.Context
6427	header_      http.Header
6428}
6429
6430// Get: Get the complete list of CMLE capabilities in a location, along
6431// with their location-specific properties.
6432//
6433// - name: The name of the location.
6434func (r *ProjectsLocationsService) Get(name string) *ProjectsLocationsGetCall {
6435	c := &ProjectsLocationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6436	c.name = name
6437	return c
6438}
6439
6440// Fields allows partial responses to be retrieved. See
6441// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6442// for more information.
6443func (c *ProjectsLocationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsGetCall {
6444	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6445	return c
6446}
6447
6448// IfNoneMatch sets the optional parameter which makes the operation
6449// fail if the object's ETag matches the given value. This is useful for
6450// getting updates only after the object has changed since the last
6451// request. Use googleapi.IsNotModified to check whether the response
6452// error from Do is the result of In-None-Match.
6453func (c *ProjectsLocationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsGetCall {
6454	c.ifNoneMatch_ = entityTag
6455	return c
6456}
6457
6458// Context sets the context to be used in this call's Do method. Any
6459// pending HTTP request will be aborted if the provided context is
6460// canceled.
6461func (c *ProjectsLocationsGetCall) Context(ctx context.Context) *ProjectsLocationsGetCall {
6462	c.ctx_ = ctx
6463	return c
6464}
6465
6466// Header returns an http.Header that can be modified by the caller to
6467// add HTTP headers to the request.
6468func (c *ProjectsLocationsGetCall) Header() http.Header {
6469	if c.header_ == nil {
6470		c.header_ = make(http.Header)
6471	}
6472	return c.header_
6473}
6474
6475func (c *ProjectsLocationsGetCall) doRequest(alt string) (*http.Response, error) {
6476	reqHeaders := make(http.Header)
6477	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
6478	for k, v := range c.header_ {
6479		reqHeaders[k] = v
6480	}
6481	reqHeaders.Set("User-Agent", c.s.userAgent())
6482	if c.ifNoneMatch_ != "" {
6483		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
6484	}
6485	var body io.Reader = nil
6486	c.urlParams_.Set("alt", alt)
6487	c.urlParams_.Set("prettyPrint", "false")
6488	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
6489	urls += "?" + c.urlParams_.Encode()
6490	req, err := http.NewRequest("GET", urls, body)
6491	if err != nil {
6492		return nil, err
6493	}
6494	req.Header = reqHeaders
6495	googleapi.Expand(req.URL, map[string]string{
6496		"name": c.name,
6497	})
6498	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6499}
6500
6501// Do executes the "ml.projects.locations.get" call.
6502// Exactly one of *GoogleCloudMlV1__Location or error will be non-nil.
6503// Any non-2xx status code is an error. Response headers are in either
6504// *GoogleCloudMlV1__Location.ServerResponse.Header or (if a response
6505// was returned at all) in error.(*googleapi.Error).Header. Use
6506// googleapi.IsNotModified to check whether the returned error was
6507// because http.StatusNotModified was returned.
6508func (c *ProjectsLocationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudMlV1__Location, error) {
6509	gensupport.SetOptions(c.urlParams_, opts...)
6510	res, err := c.doRequest("json")
6511	if res != nil && res.StatusCode == http.StatusNotModified {
6512		if res.Body != nil {
6513			res.Body.Close()
6514		}
6515		return nil, &googleapi.Error{
6516			Code:   res.StatusCode,
6517			Header: res.Header,
6518		}
6519	}
6520	if err != nil {
6521		return nil, err
6522	}
6523	defer googleapi.CloseBody(res)
6524	if err := googleapi.CheckResponse(res); err != nil {
6525		return nil, err
6526	}
6527	ret := &GoogleCloudMlV1__Location{
6528		ServerResponse: googleapi.ServerResponse{
6529			Header:         res.Header,
6530			HTTPStatusCode: res.StatusCode,
6531		},
6532	}
6533	target := &ret
6534	if err := gensupport.DecodeResponse(target, res); err != nil {
6535		return nil, err
6536	}
6537	return ret, nil
6538	// {
6539	//   "description": "Get the complete list of CMLE capabilities in a location, along with their location-specific properties.",
6540	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}",
6541	//   "httpMethod": "GET",
6542	//   "id": "ml.projects.locations.get",
6543	//   "parameterOrder": [
6544	//     "name"
6545	//   ],
6546	//   "parameters": {
6547	//     "name": {
6548	//       "description": "Required. The name of the location.",
6549	//       "location": "path",
6550	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
6551	//       "required": true,
6552	//       "type": "string"
6553	//     }
6554	//   },
6555	//   "path": "v1/{+name}",
6556	//   "response": {
6557	//     "$ref": "GoogleCloudMlV1__Location"
6558	//   },
6559	//   "scopes": [
6560	//     "https://www.googleapis.com/auth/cloud-platform",
6561	//     "https://www.googleapis.com/auth/cloud-platform.read-only"
6562	//   ]
6563	// }
6564
6565}
6566
6567// method id "ml.projects.locations.list":
6568
6569type ProjectsLocationsListCall struct {
6570	s            *Service
6571	parent       string
6572	urlParams_   gensupport.URLParams
6573	ifNoneMatch_ string
6574	ctx_         context.Context
6575	header_      http.Header
6576}
6577
6578// List: List all locations that provides at least one type of CMLE
6579// capability.
6580//
6581// - parent: The name of the project for which available locations are
6582//   to be listed (since some locations might be whitelisted for
6583//   specific projects).
6584func (r *ProjectsLocationsService) List(parent string) *ProjectsLocationsListCall {
6585	c := &ProjectsLocationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6586	c.parent = parent
6587	return c
6588}
6589
6590// PageSize sets the optional parameter "pageSize": The number of
6591// locations to retrieve per "page" of results. If there are more
6592// remaining results than this number, the response message will contain
6593// a valid value in the `next_page_token` field. The default value is
6594// 20, and the maximum page size is 100.
6595func (c *ProjectsLocationsListCall) PageSize(pageSize int64) *ProjectsLocationsListCall {
6596	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
6597	return c
6598}
6599
6600// PageToken sets the optional parameter "pageToken": A page token to
6601// request the next page of results. You get the token from the
6602// `next_page_token` field of the response from the previous call.
6603func (c *ProjectsLocationsListCall) PageToken(pageToken string) *ProjectsLocationsListCall {
6604	c.urlParams_.Set("pageToken", pageToken)
6605	return c
6606}
6607
6608// Fields allows partial responses to be retrieved. See
6609// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6610// for more information.
6611func (c *ProjectsLocationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsListCall {
6612	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6613	return c
6614}
6615
6616// IfNoneMatch sets the optional parameter which makes the operation
6617// fail if the object's ETag matches the given value. This is useful for
6618// getting updates only after the object has changed since the last
6619// request. Use googleapi.IsNotModified to check whether the response
6620// error from Do is the result of In-None-Match.
6621func (c *ProjectsLocationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsListCall {
6622	c.ifNoneMatch_ = entityTag
6623	return c
6624}
6625
6626// Context sets the context to be used in this call's Do method. Any
6627// pending HTTP request will be aborted if the provided context is
6628// canceled.
6629func (c *ProjectsLocationsListCall) Context(ctx context.Context) *ProjectsLocationsListCall {
6630	c.ctx_ = ctx
6631	return c
6632}
6633
6634// Header returns an http.Header that can be modified by the caller to
6635// add HTTP headers to the request.
6636func (c *ProjectsLocationsListCall) Header() http.Header {
6637	if c.header_ == nil {
6638		c.header_ = make(http.Header)
6639	}
6640	return c.header_
6641}
6642
6643func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
6644	reqHeaders := make(http.Header)
6645	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
6646	for k, v := range c.header_ {
6647		reqHeaders[k] = v
6648	}
6649	reqHeaders.Set("User-Agent", c.s.userAgent())
6650	if c.ifNoneMatch_ != "" {
6651		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
6652	}
6653	var body io.Reader = nil
6654	c.urlParams_.Set("alt", alt)
6655	c.urlParams_.Set("prettyPrint", "false")
6656	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/locations")
6657	urls += "?" + c.urlParams_.Encode()
6658	req, err := http.NewRequest("GET", urls, body)
6659	if err != nil {
6660		return nil, err
6661	}
6662	req.Header = reqHeaders
6663	googleapi.Expand(req.URL, map[string]string{
6664		"parent": c.parent,
6665	})
6666	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6667}
6668
6669// Do executes the "ml.projects.locations.list" call.
6670// Exactly one of *GoogleCloudMlV1__ListLocationsResponse or error will
6671// be non-nil. Any non-2xx status code is an error. Response headers are
6672// in either
6673// *GoogleCloudMlV1__ListLocationsResponse.ServerResponse.Header or (if
6674// a response was returned at all) in error.(*googleapi.Error).Header.
6675// Use googleapi.IsNotModified to check whether the returned error was
6676// because http.StatusNotModified was returned.
6677func (c *ProjectsLocationsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudMlV1__ListLocationsResponse, error) {
6678	gensupport.SetOptions(c.urlParams_, opts...)
6679	res, err := c.doRequest("json")
6680	if res != nil && res.StatusCode == http.StatusNotModified {
6681		if res.Body != nil {
6682			res.Body.Close()
6683		}
6684		return nil, &googleapi.Error{
6685			Code:   res.StatusCode,
6686			Header: res.Header,
6687		}
6688	}
6689	if err != nil {
6690		return nil, err
6691	}
6692	defer googleapi.CloseBody(res)
6693	if err := googleapi.CheckResponse(res); err != nil {
6694		return nil, err
6695	}
6696	ret := &GoogleCloudMlV1__ListLocationsResponse{
6697		ServerResponse: googleapi.ServerResponse{
6698			Header:         res.Header,
6699			HTTPStatusCode: res.StatusCode,
6700		},
6701	}
6702	target := &ret
6703	if err := gensupport.DecodeResponse(target, res); err != nil {
6704		return nil, err
6705	}
6706	return ret, nil
6707	// {
6708	//   "description": "List all locations that provides at least one type of CMLE capability.",
6709	//   "flatPath": "v1/projects/{projectsId}/locations",
6710	//   "httpMethod": "GET",
6711	//   "id": "ml.projects.locations.list",
6712	//   "parameterOrder": [
6713	//     "parent"
6714	//   ],
6715	//   "parameters": {
6716	//     "pageSize": {
6717	//       "description": "Optional. The number of locations to retrieve per \"page\" of results. If there are more remaining results than this number, the response message will contain a valid value in the `next_page_token` field. The default value is 20, and the maximum page size is 100.",
6718	//       "format": "int32",
6719	//       "location": "query",
6720	//       "type": "integer"
6721	//     },
6722	//     "pageToken": {
6723	//       "description": "Optional. A page token to request the next page of results. You get the token from the `next_page_token` field of the response from the previous call.",
6724	//       "location": "query",
6725	//       "type": "string"
6726	//     },
6727	//     "parent": {
6728	//       "description": "Required. The name of the project for which available locations are to be listed (since some locations might be whitelisted for specific projects).",
6729	//       "location": "path",
6730	//       "pattern": "^projects/[^/]+$",
6731	//       "required": true,
6732	//       "type": "string"
6733	//     }
6734	//   },
6735	//   "path": "v1/{+parent}/locations",
6736	//   "response": {
6737	//     "$ref": "GoogleCloudMlV1__ListLocationsResponse"
6738	//   },
6739	//   "scopes": [
6740	//     "https://www.googleapis.com/auth/cloud-platform",
6741	//     "https://www.googleapis.com/auth/cloud-platform.read-only"
6742	//   ]
6743	// }
6744
6745}
6746
6747// Pages invokes f for each page of results.
6748// A non-nil error returned from f will halt the iteration.
6749// The provided context supersedes any context provided to the Context method.
6750func (c *ProjectsLocationsListCall) Pages(ctx context.Context, f func(*GoogleCloudMlV1__ListLocationsResponse) error) error {
6751	c.ctx_ = ctx
6752	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
6753	for {
6754		x, err := c.Do()
6755		if err != nil {
6756			return err
6757		}
6758		if err := f(x); err != nil {
6759			return err
6760		}
6761		if x.NextPageToken == "" {
6762			return nil
6763		}
6764		c.PageToken(x.NextPageToken)
6765	}
6766}
6767
6768// method id "ml.projects.locations.operations.cancel":
6769
6770type ProjectsLocationsOperationsCancelCall struct {
6771	s          *Service
6772	name       string
6773	urlParams_ gensupport.URLParams
6774	ctx_       context.Context
6775	header_    http.Header
6776}
6777
6778// Cancel: Starts asynchronous cancellation on a long-running operation.
6779// The server makes a best effort to cancel the operation, but success
6780// is not guaranteed. If the server doesn't support this method, it
6781// returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use
6782// Operations.GetOperation or other methods to check whether the
6783// cancellation succeeded or whether the operation completed despite
6784// cancellation. On successful cancellation, the operation is not
6785// deleted; instead, it becomes an operation with an Operation.error
6786// value with a google.rpc.Status.code of 1, corresponding to
6787// `Code.CANCELLED`.
6788//
6789// - name: The name of the operation resource to be cancelled.
6790func (r *ProjectsLocationsOperationsService) Cancel(name string) *ProjectsLocationsOperationsCancelCall {
6791	c := &ProjectsLocationsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6792	c.name = name
6793	return c
6794}
6795
6796// Fields allows partial responses to be retrieved. See
6797// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6798// for more information.
6799func (c *ProjectsLocationsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsCancelCall {
6800	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6801	return c
6802}
6803
6804// Context sets the context to be used in this call's Do method. Any
6805// pending HTTP request will be aborted if the provided context is
6806// canceled.
6807func (c *ProjectsLocationsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsOperationsCancelCall {
6808	c.ctx_ = ctx
6809	return c
6810}
6811
6812// Header returns an http.Header that can be modified by the caller to
6813// add HTTP headers to the request.
6814func (c *ProjectsLocationsOperationsCancelCall) Header() http.Header {
6815	if c.header_ == nil {
6816		c.header_ = make(http.Header)
6817	}
6818	return c.header_
6819}
6820
6821func (c *ProjectsLocationsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
6822	reqHeaders := make(http.Header)
6823	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
6824	for k, v := range c.header_ {
6825		reqHeaders[k] = v
6826	}
6827	reqHeaders.Set("User-Agent", c.s.userAgent())
6828	var body io.Reader = nil
6829	c.urlParams_.Set("alt", alt)
6830	c.urlParams_.Set("prettyPrint", "false")
6831	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
6832	urls += "?" + c.urlParams_.Encode()
6833	req, err := http.NewRequest("POST", urls, body)
6834	if err != nil {
6835		return nil, err
6836	}
6837	req.Header = reqHeaders
6838	googleapi.Expand(req.URL, map[string]string{
6839		"name": c.name,
6840	})
6841	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6842}
6843
6844// Do executes the "ml.projects.locations.operations.cancel" call.
6845// Exactly one of *GoogleProtobuf__Empty or error will be non-nil. Any
6846// non-2xx status code is an error. Response headers are in either
6847// *GoogleProtobuf__Empty.ServerResponse.Header or (if a response was
6848// returned at all) in error.(*googleapi.Error).Header. Use
6849// googleapi.IsNotModified to check whether the returned error was
6850// because http.StatusNotModified was returned.
6851func (c *ProjectsLocationsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobuf__Empty, error) {
6852	gensupport.SetOptions(c.urlParams_, opts...)
6853	res, err := c.doRequest("json")
6854	if res != nil && res.StatusCode == http.StatusNotModified {
6855		if res.Body != nil {
6856			res.Body.Close()
6857		}
6858		return nil, &googleapi.Error{
6859			Code:   res.StatusCode,
6860			Header: res.Header,
6861		}
6862	}
6863	if err != nil {
6864		return nil, err
6865	}
6866	defer googleapi.CloseBody(res)
6867	if err := googleapi.CheckResponse(res); err != nil {
6868		return nil, err
6869	}
6870	ret := &GoogleProtobuf__Empty{
6871		ServerResponse: googleapi.ServerResponse{
6872			Header:         res.Header,
6873			HTTPStatusCode: res.StatusCode,
6874		},
6875	}
6876	target := &ret
6877	if err := gensupport.DecodeResponse(target, res); err != nil {
6878		return nil, err
6879	}
6880	return ret, nil
6881	// {
6882	//   "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`.",
6883	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel",
6884	//   "httpMethod": "POST",
6885	//   "id": "ml.projects.locations.operations.cancel",
6886	//   "parameterOrder": [
6887	//     "name"
6888	//   ],
6889	//   "parameters": {
6890	//     "name": {
6891	//       "description": "The name of the operation resource to be cancelled.",
6892	//       "location": "path",
6893	//       "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
6894	//       "required": true,
6895	//       "type": "string"
6896	//     }
6897	//   },
6898	//   "path": "v1/{+name}:cancel",
6899	//   "response": {
6900	//     "$ref": "GoogleProtobuf__Empty"
6901	//   },
6902	//   "scopes": [
6903	//     "https://www.googleapis.com/auth/cloud-platform"
6904	//   ]
6905	// }
6906
6907}
6908
6909// method id "ml.projects.locations.operations.get":
6910
6911type ProjectsLocationsOperationsGetCall struct {
6912	s            *Service
6913	name         string
6914	urlParams_   gensupport.URLParams
6915	ifNoneMatch_ string
6916	ctx_         context.Context
6917	header_      http.Header
6918}
6919
6920// Get: Gets the latest state of a long-running operation. Clients can
6921// use this method to poll the operation result at intervals as
6922// recommended by the API service.
6923//
6924// - name: The name of the operation resource.
6925func (r *ProjectsLocationsOperationsService) Get(name string) *ProjectsLocationsOperationsGetCall {
6926	c := &ProjectsLocationsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6927	c.name = name
6928	return c
6929}
6930
6931// Fields allows partial responses to be retrieved. See
6932// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6933// for more information.
6934func (c *ProjectsLocationsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsGetCall {
6935	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6936	return c
6937}
6938
6939// IfNoneMatch sets the optional parameter which makes the operation
6940// fail if the object's ETag matches the given value. This is useful for
6941// getting updates only after the object has changed since the last
6942// request. Use googleapi.IsNotModified to check whether the response
6943// error from Do is the result of In-None-Match.
6944func (c *ProjectsLocationsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsOperationsGetCall {
6945	c.ifNoneMatch_ = entityTag
6946	return c
6947}
6948
6949// Context sets the context to be used in this call's Do method. Any
6950// pending HTTP request will be aborted if the provided context is
6951// canceled.
6952func (c *ProjectsLocationsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsOperationsGetCall {
6953	c.ctx_ = ctx
6954	return c
6955}
6956
6957// Header returns an http.Header that can be modified by the caller to
6958// add HTTP headers to the request.
6959func (c *ProjectsLocationsOperationsGetCall) Header() http.Header {
6960	if c.header_ == nil {
6961		c.header_ = make(http.Header)
6962	}
6963	return c.header_
6964}
6965
6966func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
6967	reqHeaders := make(http.Header)
6968	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
6969	for k, v := range c.header_ {
6970		reqHeaders[k] = v
6971	}
6972	reqHeaders.Set("User-Agent", c.s.userAgent())
6973	if c.ifNoneMatch_ != "" {
6974		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
6975	}
6976	var body io.Reader = nil
6977	c.urlParams_.Set("alt", alt)
6978	c.urlParams_.Set("prettyPrint", "false")
6979	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
6980	urls += "?" + c.urlParams_.Encode()
6981	req, err := http.NewRequest("GET", urls, body)
6982	if err != nil {
6983		return nil, err
6984	}
6985	req.Header = reqHeaders
6986	googleapi.Expand(req.URL, map[string]string{
6987		"name": c.name,
6988	})
6989	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6990}
6991
6992// Do executes the "ml.projects.locations.operations.get" call.
6993// Exactly one of *GoogleLongrunning__Operation or error will be
6994// non-nil. Any non-2xx status code is an error. Response headers are in
6995// either *GoogleLongrunning__Operation.ServerResponse.Header or (if a
6996// response was returned at all) in error.(*googleapi.Error).Header. Use
6997// googleapi.IsNotModified to check whether the returned error was
6998// because http.StatusNotModified was returned.
6999func (c *ProjectsLocationsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunning__Operation, error) {
7000	gensupport.SetOptions(c.urlParams_, opts...)
7001	res, err := c.doRequest("json")
7002	if res != nil && res.StatusCode == http.StatusNotModified {
7003		if res.Body != nil {
7004			res.Body.Close()
7005		}
7006		return nil, &googleapi.Error{
7007			Code:   res.StatusCode,
7008			Header: res.Header,
7009		}
7010	}
7011	if err != nil {
7012		return nil, err
7013	}
7014	defer googleapi.CloseBody(res)
7015	if err := googleapi.CheckResponse(res); err != nil {
7016		return nil, err
7017	}
7018	ret := &GoogleLongrunning__Operation{
7019		ServerResponse: googleapi.ServerResponse{
7020			Header:         res.Header,
7021			HTTPStatusCode: res.StatusCode,
7022		},
7023	}
7024	target := &ret
7025	if err := gensupport.DecodeResponse(target, res); err != nil {
7026		return nil, err
7027	}
7028	return ret, nil
7029	// {
7030	//   "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.",
7031	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}",
7032	//   "httpMethod": "GET",
7033	//   "id": "ml.projects.locations.operations.get",
7034	//   "parameterOrder": [
7035	//     "name"
7036	//   ],
7037	//   "parameters": {
7038	//     "name": {
7039	//       "description": "The name of the operation resource.",
7040	//       "location": "path",
7041	//       "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
7042	//       "required": true,
7043	//       "type": "string"
7044	//     }
7045	//   },
7046	//   "path": "v1/{+name}",
7047	//   "response": {
7048	//     "$ref": "GoogleLongrunning__Operation"
7049	//   },
7050	//   "scopes": [
7051	//     "https://www.googleapis.com/auth/cloud-platform"
7052	//   ]
7053	// }
7054
7055}
7056
7057// method id "ml.projects.locations.studies.create":
7058
7059type ProjectsLocationsStudiesCreateCall struct {
7060	s                      *Service
7061	parent                 string
7062	googlecloudmlv1__study *GoogleCloudMlV1__Study
7063	urlParams_             gensupport.URLParams
7064	ctx_                   context.Context
7065	header_                http.Header
7066}
7067
7068// Create: Creates a study.
7069//
7070// - parent: The project and location that the study belongs to. Format:
7071//   projects/{project}/locations/{location}.
7072func (r *ProjectsLocationsStudiesService) Create(parent string, googlecloudmlv1__study *GoogleCloudMlV1__Study) *ProjectsLocationsStudiesCreateCall {
7073	c := &ProjectsLocationsStudiesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7074	c.parent = parent
7075	c.googlecloudmlv1__study = googlecloudmlv1__study
7076	return c
7077}
7078
7079// StudyId sets the optional parameter "studyId": Required. The ID to
7080// use for the study, which will become the final component of the
7081// study's resource name.
7082func (c *ProjectsLocationsStudiesCreateCall) StudyId(studyId string) *ProjectsLocationsStudiesCreateCall {
7083	c.urlParams_.Set("studyId", studyId)
7084	return c
7085}
7086
7087// Fields allows partial responses to be retrieved. See
7088// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7089// for more information.
7090func (c *ProjectsLocationsStudiesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsStudiesCreateCall {
7091	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7092	return c
7093}
7094
7095// Context sets the context to be used in this call's Do method. Any
7096// pending HTTP request will be aborted if the provided context is
7097// canceled.
7098func (c *ProjectsLocationsStudiesCreateCall) Context(ctx context.Context) *ProjectsLocationsStudiesCreateCall {
7099	c.ctx_ = ctx
7100	return c
7101}
7102
7103// Header returns an http.Header that can be modified by the caller to
7104// add HTTP headers to the request.
7105func (c *ProjectsLocationsStudiesCreateCall) Header() http.Header {
7106	if c.header_ == nil {
7107		c.header_ = make(http.Header)
7108	}
7109	return c.header_
7110}
7111
7112func (c *ProjectsLocationsStudiesCreateCall) doRequest(alt string) (*http.Response, error) {
7113	reqHeaders := make(http.Header)
7114	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
7115	for k, v := range c.header_ {
7116		reqHeaders[k] = v
7117	}
7118	reqHeaders.Set("User-Agent", c.s.userAgent())
7119	var body io.Reader = nil
7120	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudmlv1__study)
7121	if err != nil {
7122		return nil, err
7123	}
7124	reqHeaders.Set("Content-Type", "application/json")
7125	c.urlParams_.Set("alt", alt)
7126	c.urlParams_.Set("prettyPrint", "false")
7127	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/studies")
7128	urls += "?" + c.urlParams_.Encode()
7129	req, err := http.NewRequest("POST", urls, body)
7130	if err != nil {
7131		return nil, err
7132	}
7133	req.Header = reqHeaders
7134	googleapi.Expand(req.URL, map[string]string{
7135		"parent": c.parent,
7136	})
7137	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7138}
7139
7140// Do executes the "ml.projects.locations.studies.create" call.
7141// Exactly one of *GoogleCloudMlV1__Study or error will be non-nil. Any
7142// non-2xx status code is an error. Response headers are in either
7143// *GoogleCloudMlV1__Study.ServerResponse.Header or (if a response was
7144// returned at all) in error.(*googleapi.Error).Header. Use
7145// googleapi.IsNotModified to check whether the returned error was
7146// because http.StatusNotModified was returned.
7147func (c *ProjectsLocationsStudiesCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudMlV1__Study, error) {
7148	gensupport.SetOptions(c.urlParams_, opts...)
7149	res, err := c.doRequest("json")
7150	if res != nil && res.StatusCode == http.StatusNotModified {
7151		if res.Body != nil {
7152			res.Body.Close()
7153		}
7154		return nil, &googleapi.Error{
7155			Code:   res.StatusCode,
7156			Header: res.Header,
7157		}
7158	}
7159	if err != nil {
7160		return nil, err
7161	}
7162	defer googleapi.CloseBody(res)
7163	if err := googleapi.CheckResponse(res); err != nil {
7164		return nil, err
7165	}
7166	ret := &GoogleCloudMlV1__Study{
7167		ServerResponse: googleapi.ServerResponse{
7168			Header:         res.Header,
7169			HTTPStatusCode: res.StatusCode,
7170		},
7171	}
7172	target := &ret
7173	if err := gensupport.DecodeResponse(target, res); err != nil {
7174		return nil, err
7175	}
7176	return ret, nil
7177	// {
7178	//   "description": "Creates a study.",
7179	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies",
7180	//   "httpMethod": "POST",
7181	//   "id": "ml.projects.locations.studies.create",
7182	//   "parameterOrder": [
7183	//     "parent"
7184	//   ],
7185	//   "parameters": {
7186	//     "parent": {
7187	//       "description": "Required. The project and location that the study belongs to. Format: projects/{project}/locations/{location}",
7188	//       "location": "path",
7189	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
7190	//       "required": true,
7191	//       "type": "string"
7192	//     },
7193	//     "studyId": {
7194	//       "description": "Required. The ID to use for the study, which will become the final component of the study's resource name.",
7195	//       "location": "query",
7196	//       "type": "string"
7197	//     }
7198	//   },
7199	//   "path": "v1/{+parent}/studies",
7200	//   "request": {
7201	//     "$ref": "GoogleCloudMlV1__Study"
7202	//   },
7203	//   "response": {
7204	//     "$ref": "GoogleCloudMlV1__Study"
7205	//   },
7206	//   "scopes": [
7207	//     "https://www.googleapis.com/auth/cloud-platform"
7208	//   ]
7209	// }
7210
7211}
7212
7213// method id "ml.projects.locations.studies.delete":
7214
7215type ProjectsLocationsStudiesDeleteCall struct {
7216	s          *Service
7217	name       string
7218	urlParams_ gensupport.URLParams
7219	ctx_       context.Context
7220	header_    http.Header
7221}
7222
7223// Delete: Deletes a study.
7224//
7225// - name: The study name.
7226func (r *ProjectsLocationsStudiesService) Delete(name string) *ProjectsLocationsStudiesDeleteCall {
7227	c := &ProjectsLocationsStudiesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7228	c.name = name
7229	return c
7230}
7231
7232// Fields allows partial responses to be retrieved. See
7233// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7234// for more information.
7235func (c *ProjectsLocationsStudiesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsStudiesDeleteCall {
7236	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7237	return c
7238}
7239
7240// Context sets the context to be used in this call's Do method. Any
7241// pending HTTP request will be aborted if the provided context is
7242// canceled.
7243func (c *ProjectsLocationsStudiesDeleteCall) Context(ctx context.Context) *ProjectsLocationsStudiesDeleteCall {
7244	c.ctx_ = ctx
7245	return c
7246}
7247
7248// Header returns an http.Header that can be modified by the caller to
7249// add HTTP headers to the request.
7250func (c *ProjectsLocationsStudiesDeleteCall) Header() http.Header {
7251	if c.header_ == nil {
7252		c.header_ = make(http.Header)
7253	}
7254	return c.header_
7255}
7256
7257func (c *ProjectsLocationsStudiesDeleteCall) doRequest(alt string) (*http.Response, error) {
7258	reqHeaders := make(http.Header)
7259	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
7260	for k, v := range c.header_ {
7261		reqHeaders[k] = v
7262	}
7263	reqHeaders.Set("User-Agent", c.s.userAgent())
7264	var body io.Reader = nil
7265	c.urlParams_.Set("alt", alt)
7266	c.urlParams_.Set("prettyPrint", "false")
7267	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
7268	urls += "?" + c.urlParams_.Encode()
7269	req, err := http.NewRequest("DELETE", urls, body)
7270	if err != nil {
7271		return nil, err
7272	}
7273	req.Header = reqHeaders
7274	googleapi.Expand(req.URL, map[string]string{
7275		"name": c.name,
7276	})
7277	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7278}
7279
7280// Do executes the "ml.projects.locations.studies.delete" call.
7281// Exactly one of *GoogleProtobuf__Empty or error will be non-nil. Any
7282// non-2xx status code is an error. Response headers are in either
7283// *GoogleProtobuf__Empty.ServerResponse.Header or (if a response was
7284// returned at all) in error.(*googleapi.Error).Header. Use
7285// googleapi.IsNotModified to check whether the returned error was
7286// because http.StatusNotModified was returned.
7287func (c *ProjectsLocationsStudiesDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobuf__Empty, error) {
7288	gensupport.SetOptions(c.urlParams_, opts...)
7289	res, err := c.doRequest("json")
7290	if res != nil && res.StatusCode == http.StatusNotModified {
7291		if res.Body != nil {
7292			res.Body.Close()
7293		}
7294		return nil, &googleapi.Error{
7295			Code:   res.StatusCode,
7296			Header: res.Header,
7297		}
7298	}
7299	if err != nil {
7300		return nil, err
7301	}
7302	defer googleapi.CloseBody(res)
7303	if err := googleapi.CheckResponse(res); err != nil {
7304		return nil, err
7305	}
7306	ret := &GoogleProtobuf__Empty{
7307		ServerResponse: googleapi.ServerResponse{
7308			Header:         res.Header,
7309			HTTPStatusCode: res.StatusCode,
7310		},
7311	}
7312	target := &ret
7313	if err := gensupport.DecodeResponse(target, res); err != nil {
7314		return nil, err
7315	}
7316	return ret, nil
7317	// {
7318	//   "description": "Deletes a study.",
7319	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}",
7320	//   "httpMethod": "DELETE",
7321	//   "id": "ml.projects.locations.studies.delete",
7322	//   "parameterOrder": [
7323	//     "name"
7324	//   ],
7325	//   "parameters": {
7326	//     "name": {
7327	//       "description": "Required. The study name.",
7328	//       "location": "path",
7329	//       "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+$",
7330	//       "required": true,
7331	//       "type": "string"
7332	//     }
7333	//   },
7334	//   "path": "v1/{+name}",
7335	//   "response": {
7336	//     "$ref": "GoogleProtobuf__Empty"
7337	//   },
7338	//   "scopes": [
7339	//     "https://www.googleapis.com/auth/cloud-platform"
7340	//   ]
7341	// }
7342
7343}
7344
7345// method id "ml.projects.locations.studies.get":
7346
7347type ProjectsLocationsStudiesGetCall struct {
7348	s            *Service
7349	name         string
7350	urlParams_   gensupport.URLParams
7351	ifNoneMatch_ string
7352	ctx_         context.Context
7353	header_      http.Header
7354}
7355
7356// Get: Gets a study.
7357//
7358// - name: The study name.
7359func (r *ProjectsLocationsStudiesService) Get(name string) *ProjectsLocationsStudiesGetCall {
7360	c := &ProjectsLocationsStudiesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7361	c.name = name
7362	return c
7363}
7364
7365// Fields allows partial responses to be retrieved. See
7366// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7367// for more information.
7368func (c *ProjectsLocationsStudiesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsStudiesGetCall {
7369	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7370	return c
7371}
7372
7373// IfNoneMatch sets the optional parameter which makes the operation
7374// fail if the object's ETag matches the given value. This is useful for
7375// getting updates only after the object has changed since the last
7376// request. Use googleapi.IsNotModified to check whether the response
7377// error from Do is the result of In-None-Match.
7378func (c *ProjectsLocationsStudiesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsStudiesGetCall {
7379	c.ifNoneMatch_ = entityTag
7380	return c
7381}
7382
7383// Context sets the context to be used in this call's Do method. Any
7384// pending HTTP request will be aborted if the provided context is
7385// canceled.
7386func (c *ProjectsLocationsStudiesGetCall) Context(ctx context.Context) *ProjectsLocationsStudiesGetCall {
7387	c.ctx_ = ctx
7388	return c
7389}
7390
7391// Header returns an http.Header that can be modified by the caller to
7392// add HTTP headers to the request.
7393func (c *ProjectsLocationsStudiesGetCall) Header() http.Header {
7394	if c.header_ == nil {
7395		c.header_ = make(http.Header)
7396	}
7397	return c.header_
7398}
7399
7400func (c *ProjectsLocationsStudiesGetCall) doRequest(alt string) (*http.Response, error) {
7401	reqHeaders := make(http.Header)
7402	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
7403	for k, v := range c.header_ {
7404		reqHeaders[k] = v
7405	}
7406	reqHeaders.Set("User-Agent", c.s.userAgent())
7407	if c.ifNoneMatch_ != "" {
7408		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
7409	}
7410	var body io.Reader = nil
7411	c.urlParams_.Set("alt", alt)
7412	c.urlParams_.Set("prettyPrint", "false")
7413	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
7414	urls += "?" + c.urlParams_.Encode()
7415	req, err := http.NewRequest("GET", urls, body)
7416	if err != nil {
7417		return nil, err
7418	}
7419	req.Header = reqHeaders
7420	googleapi.Expand(req.URL, map[string]string{
7421		"name": c.name,
7422	})
7423	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7424}
7425
7426// Do executes the "ml.projects.locations.studies.get" call.
7427// Exactly one of *GoogleCloudMlV1__Study or error will be non-nil. Any
7428// non-2xx status code is an error. Response headers are in either
7429// *GoogleCloudMlV1__Study.ServerResponse.Header or (if a response was
7430// returned at all) in error.(*googleapi.Error).Header. Use
7431// googleapi.IsNotModified to check whether the returned error was
7432// because http.StatusNotModified was returned.
7433func (c *ProjectsLocationsStudiesGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudMlV1__Study, error) {
7434	gensupport.SetOptions(c.urlParams_, opts...)
7435	res, err := c.doRequest("json")
7436	if res != nil && res.StatusCode == http.StatusNotModified {
7437		if res.Body != nil {
7438			res.Body.Close()
7439		}
7440		return nil, &googleapi.Error{
7441			Code:   res.StatusCode,
7442			Header: res.Header,
7443		}
7444	}
7445	if err != nil {
7446		return nil, err
7447	}
7448	defer googleapi.CloseBody(res)
7449	if err := googleapi.CheckResponse(res); err != nil {
7450		return nil, err
7451	}
7452	ret := &GoogleCloudMlV1__Study{
7453		ServerResponse: googleapi.ServerResponse{
7454			Header:         res.Header,
7455			HTTPStatusCode: res.StatusCode,
7456		},
7457	}
7458	target := &ret
7459	if err := gensupport.DecodeResponse(target, res); err != nil {
7460		return nil, err
7461	}
7462	return ret, nil
7463	// {
7464	//   "description": "Gets a study.",
7465	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}",
7466	//   "httpMethod": "GET",
7467	//   "id": "ml.projects.locations.studies.get",
7468	//   "parameterOrder": [
7469	//     "name"
7470	//   ],
7471	//   "parameters": {
7472	//     "name": {
7473	//       "description": "Required. The study name.",
7474	//       "location": "path",
7475	//       "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+$",
7476	//       "required": true,
7477	//       "type": "string"
7478	//     }
7479	//   },
7480	//   "path": "v1/{+name}",
7481	//   "response": {
7482	//     "$ref": "GoogleCloudMlV1__Study"
7483	//   },
7484	//   "scopes": [
7485	//     "https://www.googleapis.com/auth/cloud-platform"
7486	//   ]
7487	// }
7488
7489}
7490
7491// method id "ml.projects.locations.studies.list":
7492
7493type ProjectsLocationsStudiesListCall struct {
7494	s            *Service
7495	parent       string
7496	urlParams_   gensupport.URLParams
7497	ifNoneMatch_ string
7498	ctx_         context.Context
7499	header_      http.Header
7500}
7501
7502// List: Lists all the studies in a region for an associated project.
7503//
7504// - parent: The project and location that the study belongs to. Format:
7505//   projects/{project}/locations/{location}.
7506func (r *ProjectsLocationsStudiesService) List(parent string) *ProjectsLocationsStudiesListCall {
7507	c := &ProjectsLocationsStudiesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7508	c.parent = parent
7509	return c
7510}
7511
7512// Fields allows partial responses to be retrieved. See
7513// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7514// for more information.
7515func (c *ProjectsLocationsStudiesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsStudiesListCall {
7516	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7517	return c
7518}
7519
7520// IfNoneMatch sets the optional parameter which makes the operation
7521// fail if the object's ETag matches the given value. This is useful for
7522// getting updates only after the object has changed since the last
7523// request. Use googleapi.IsNotModified to check whether the response
7524// error from Do is the result of In-None-Match.
7525func (c *ProjectsLocationsStudiesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsStudiesListCall {
7526	c.ifNoneMatch_ = entityTag
7527	return c
7528}
7529
7530// Context sets the context to be used in this call's Do method. Any
7531// pending HTTP request will be aborted if the provided context is
7532// canceled.
7533func (c *ProjectsLocationsStudiesListCall) Context(ctx context.Context) *ProjectsLocationsStudiesListCall {
7534	c.ctx_ = ctx
7535	return c
7536}
7537
7538// Header returns an http.Header that can be modified by the caller to
7539// add HTTP headers to the request.
7540func (c *ProjectsLocationsStudiesListCall) Header() http.Header {
7541	if c.header_ == nil {
7542		c.header_ = make(http.Header)
7543	}
7544	return c.header_
7545}
7546
7547func (c *ProjectsLocationsStudiesListCall) doRequest(alt string) (*http.Response, error) {
7548	reqHeaders := make(http.Header)
7549	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
7550	for k, v := range c.header_ {
7551		reqHeaders[k] = v
7552	}
7553	reqHeaders.Set("User-Agent", c.s.userAgent())
7554	if c.ifNoneMatch_ != "" {
7555		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
7556	}
7557	var body io.Reader = nil
7558	c.urlParams_.Set("alt", alt)
7559	c.urlParams_.Set("prettyPrint", "false")
7560	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/studies")
7561	urls += "?" + c.urlParams_.Encode()
7562	req, err := http.NewRequest("GET", urls, body)
7563	if err != nil {
7564		return nil, err
7565	}
7566	req.Header = reqHeaders
7567	googleapi.Expand(req.URL, map[string]string{
7568		"parent": c.parent,
7569	})
7570	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7571}
7572
7573// Do executes the "ml.projects.locations.studies.list" call.
7574// Exactly one of *GoogleCloudMlV1__ListStudiesResponse or error will be
7575// non-nil. Any non-2xx status code is an error. Response headers are in
7576// either *GoogleCloudMlV1__ListStudiesResponse.ServerResponse.Header or
7577// (if a response was returned at all) in
7578// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
7579// whether the returned error was because http.StatusNotModified was
7580// returned.
7581func (c *ProjectsLocationsStudiesListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudMlV1__ListStudiesResponse, error) {
7582	gensupport.SetOptions(c.urlParams_, opts...)
7583	res, err := c.doRequest("json")
7584	if res != nil && res.StatusCode == http.StatusNotModified {
7585		if res.Body != nil {
7586			res.Body.Close()
7587		}
7588		return nil, &googleapi.Error{
7589			Code:   res.StatusCode,
7590			Header: res.Header,
7591		}
7592	}
7593	if err != nil {
7594		return nil, err
7595	}
7596	defer googleapi.CloseBody(res)
7597	if err := googleapi.CheckResponse(res); err != nil {
7598		return nil, err
7599	}
7600	ret := &GoogleCloudMlV1__ListStudiesResponse{
7601		ServerResponse: googleapi.ServerResponse{
7602			Header:         res.Header,
7603			HTTPStatusCode: res.StatusCode,
7604		},
7605	}
7606	target := &ret
7607	if err := gensupport.DecodeResponse(target, res); err != nil {
7608		return nil, err
7609	}
7610	return ret, nil
7611	// {
7612	//   "description": "Lists all the studies in a region for an associated project.",
7613	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies",
7614	//   "httpMethod": "GET",
7615	//   "id": "ml.projects.locations.studies.list",
7616	//   "parameterOrder": [
7617	//     "parent"
7618	//   ],
7619	//   "parameters": {
7620	//     "parent": {
7621	//       "description": "Required. The project and location that the study belongs to. Format: projects/{project}/locations/{location}",
7622	//       "location": "path",
7623	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
7624	//       "required": true,
7625	//       "type": "string"
7626	//     }
7627	//   },
7628	//   "path": "v1/{+parent}/studies",
7629	//   "response": {
7630	//     "$ref": "GoogleCloudMlV1__ListStudiesResponse"
7631	//   },
7632	//   "scopes": [
7633	//     "https://www.googleapis.com/auth/cloud-platform"
7634	//   ]
7635	// }
7636
7637}
7638
7639// method id "ml.projects.locations.studies.trials.addMeasurement":
7640
7641type ProjectsLocationsStudiesTrialsAddMeasurementCall struct {
7642	s                                           *Service
7643	name                                        string
7644	googlecloudmlv1__addtrialmeasurementrequest *GoogleCloudMlV1__AddTrialMeasurementRequest
7645	urlParams_                                  gensupport.URLParams
7646	ctx_                                        context.Context
7647	header_                                     http.Header
7648}
7649
7650// AddMeasurement: Adds a measurement of the objective metrics to a
7651// trial. This measurement is assumed to have been taken before the
7652// trial is complete.
7653//
7654// - name: The trial name.
7655func (r *ProjectsLocationsStudiesTrialsService) AddMeasurement(name string, googlecloudmlv1__addtrialmeasurementrequest *GoogleCloudMlV1__AddTrialMeasurementRequest) *ProjectsLocationsStudiesTrialsAddMeasurementCall {
7656	c := &ProjectsLocationsStudiesTrialsAddMeasurementCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7657	c.name = name
7658	c.googlecloudmlv1__addtrialmeasurementrequest = googlecloudmlv1__addtrialmeasurementrequest
7659	return c
7660}
7661
7662// Fields allows partial responses to be retrieved. See
7663// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7664// for more information.
7665func (c *ProjectsLocationsStudiesTrialsAddMeasurementCall) Fields(s ...googleapi.Field) *ProjectsLocationsStudiesTrialsAddMeasurementCall {
7666	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7667	return c
7668}
7669
7670// Context sets the context to be used in this call's Do method. Any
7671// pending HTTP request will be aborted if the provided context is
7672// canceled.
7673func (c *ProjectsLocationsStudiesTrialsAddMeasurementCall) Context(ctx context.Context) *ProjectsLocationsStudiesTrialsAddMeasurementCall {
7674	c.ctx_ = ctx
7675	return c
7676}
7677
7678// Header returns an http.Header that can be modified by the caller to
7679// add HTTP headers to the request.
7680func (c *ProjectsLocationsStudiesTrialsAddMeasurementCall) Header() http.Header {
7681	if c.header_ == nil {
7682		c.header_ = make(http.Header)
7683	}
7684	return c.header_
7685}
7686
7687func (c *ProjectsLocationsStudiesTrialsAddMeasurementCall) doRequest(alt string) (*http.Response, error) {
7688	reqHeaders := make(http.Header)
7689	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
7690	for k, v := range c.header_ {
7691		reqHeaders[k] = v
7692	}
7693	reqHeaders.Set("User-Agent", c.s.userAgent())
7694	var body io.Reader = nil
7695	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudmlv1__addtrialmeasurementrequest)
7696	if err != nil {
7697		return nil, err
7698	}
7699	reqHeaders.Set("Content-Type", "application/json")
7700	c.urlParams_.Set("alt", alt)
7701	c.urlParams_.Set("prettyPrint", "false")
7702	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:addMeasurement")
7703	urls += "?" + c.urlParams_.Encode()
7704	req, err := http.NewRequest("POST", urls, body)
7705	if err != nil {
7706		return nil, err
7707	}
7708	req.Header = reqHeaders
7709	googleapi.Expand(req.URL, map[string]string{
7710		"name": c.name,
7711	})
7712	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7713}
7714
7715// Do executes the "ml.projects.locations.studies.trials.addMeasurement" call.
7716// Exactly one of *GoogleCloudMlV1__Trial or error will be non-nil. Any
7717// non-2xx status code is an error. Response headers are in either
7718// *GoogleCloudMlV1__Trial.ServerResponse.Header or (if a response was
7719// returned at all) in error.(*googleapi.Error).Header. Use
7720// googleapi.IsNotModified to check whether the returned error was
7721// because http.StatusNotModified was returned.
7722func (c *ProjectsLocationsStudiesTrialsAddMeasurementCall) Do(opts ...googleapi.CallOption) (*GoogleCloudMlV1__Trial, error) {
7723	gensupport.SetOptions(c.urlParams_, opts...)
7724	res, err := c.doRequest("json")
7725	if res != nil && res.StatusCode == http.StatusNotModified {
7726		if res.Body != nil {
7727			res.Body.Close()
7728		}
7729		return nil, &googleapi.Error{
7730			Code:   res.StatusCode,
7731			Header: res.Header,
7732		}
7733	}
7734	if err != nil {
7735		return nil, err
7736	}
7737	defer googleapi.CloseBody(res)
7738	if err := googleapi.CheckResponse(res); err != nil {
7739		return nil, err
7740	}
7741	ret := &GoogleCloudMlV1__Trial{
7742		ServerResponse: googleapi.ServerResponse{
7743			Header:         res.Header,
7744			HTTPStatusCode: res.StatusCode,
7745		},
7746	}
7747	target := &ret
7748	if err := gensupport.DecodeResponse(target, res); err != nil {
7749		return nil, err
7750	}
7751	return ret, nil
7752	// {
7753	//   "description": "Adds a measurement of the objective metrics to a trial. This measurement is assumed to have been taken before the trial is complete.",
7754	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}:addMeasurement",
7755	//   "httpMethod": "POST",
7756	//   "id": "ml.projects.locations.studies.trials.addMeasurement",
7757	//   "parameterOrder": [
7758	//     "name"
7759	//   ],
7760	//   "parameters": {
7761	//     "name": {
7762	//       "description": "Required. The trial name.",
7763	//       "location": "path",
7764	//       "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+$",
7765	//       "required": true,
7766	//       "type": "string"
7767	//     }
7768	//   },
7769	//   "path": "v1/{+name}:addMeasurement",
7770	//   "request": {
7771	//     "$ref": "GoogleCloudMlV1__AddTrialMeasurementRequest"
7772	//   },
7773	//   "response": {
7774	//     "$ref": "GoogleCloudMlV1__Trial"
7775	//   },
7776	//   "scopes": [
7777	//     "https://www.googleapis.com/auth/cloud-platform"
7778	//   ]
7779	// }
7780
7781}
7782
7783// method id "ml.projects.locations.studies.trials.checkEarlyStoppingState":
7784
7785type ProjectsLocationsStudiesTrialsCheckEarlyStoppingStateCall struct {
7786	s                                                    *Service
7787	name                                                 string
7788	googlecloudmlv1__checktrialearlystoppingstaterequest *GoogleCloudMlV1__CheckTrialEarlyStoppingStateRequest
7789	urlParams_                                           gensupport.URLParams
7790	ctx_                                                 context.Context
7791	header_                                              http.Header
7792}
7793
7794// CheckEarlyStoppingState: Checks whether a trial should stop or not.
7795// Returns a long-running operation. When the operation is successful,
7796// it will contain a CheckTrialEarlyStoppingStateResponse.
7797//
7798// - name: The trial name.
7799func (r *ProjectsLocationsStudiesTrialsService) CheckEarlyStoppingState(name string, googlecloudmlv1__checktrialearlystoppingstaterequest *GoogleCloudMlV1__CheckTrialEarlyStoppingStateRequest) *ProjectsLocationsStudiesTrialsCheckEarlyStoppingStateCall {
7800	c := &ProjectsLocationsStudiesTrialsCheckEarlyStoppingStateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7801	c.name = name
7802	c.googlecloudmlv1__checktrialearlystoppingstaterequest = googlecloudmlv1__checktrialearlystoppingstaterequest
7803	return c
7804}
7805
7806// Fields allows partial responses to be retrieved. See
7807// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7808// for more information.
7809func (c *ProjectsLocationsStudiesTrialsCheckEarlyStoppingStateCall) Fields(s ...googleapi.Field) *ProjectsLocationsStudiesTrialsCheckEarlyStoppingStateCall {
7810	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7811	return c
7812}
7813
7814// Context sets the context to be used in this call's Do method. Any
7815// pending HTTP request will be aborted if the provided context is
7816// canceled.
7817func (c *ProjectsLocationsStudiesTrialsCheckEarlyStoppingStateCall) Context(ctx context.Context) *ProjectsLocationsStudiesTrialsCheckEarlyStoppingStateCall {
7818	c.ctx_ = ctx
7819	return c
7820}
7821
7822// Header returns an http.Header that can be modified by the caller to
7823// add HTTP headers to the request.
7824func (c *ProjectsLocationsStudiesTrialsCheckEarlyStoppingStateCall) Header() http.Header {
7825	if c.header_ == nil {
7826		c.header_ = make(http.Header)
7827	}
7828	return c.header_
7829}
7830
7831func (c *ProjectsLocationsStudiesTrialsCheckEarlyStoppingStateCall) doRequest(alt string) (*http.Response, error) {
7832	reqHeaders := make(http.Header)
7833	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
7834	for k, v := range c.header_ {
7835		reqHeaders[k] = v
7836	}
7837	reqHeaders.Set("User-Agent", c.s.userAgent())
7838	var body io.Reader = nil
7839	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudmlv1__checktrialearlystoppingstaterequest)
7840	if err != nil {
7841		return nil, err
7842	}
7843	reqHeaders.Set("Content-Type", "application/json")
7844	c.urlParams_.Set("alt", alt)
7845	c.urlParams_.Set("prettyPrint", "false")
7846	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:checkEarlyStoppingState")
7847	urls += "?" + c.urlParams_.Encode()
7848	req, err := http.NewRequest("POST", urls, body)
7849	if err != nil {
7850		return nil, err
7851	}
7852	req.Header = reqHeaders
7853	googleapi.Expand(req.URL, map[string]string{
7854		"name": c.name,
7855	})
7856	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7857}
7858
7859// Do executes the "ml.projects.locations.studies.trials.checkEarlyStoppingState" call.
7860// Exactly one of *GoogleLongrunning__Operation or error will be
7861// non-nil. Any non-2xx status code is an error. Response headers are in
7862// either *GoogleLongrunning__Operation.ServerResponse.Header or (if a
7863// response was returned at all) in error.(*googleapi.Error).Header. Use
7864// googleapi.IsNotModified to check whether the returned error was
7865// because http.StatusNotModified was returned.
7866func (c *ProjectsLocationsStudiesTrialsCheckEarlyStoppingStateCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunning__Operation, error) {
7867	gensupport.SetOptions(c.urlParams_, opts...)
7868	res, err := c.doRequest("json")
7869	if res != nil && res.StatusCode == http.StatusNotModified {
7870		if res.Body != nil {
7871			res.Body.Close()
7872		}
7873		return nil, &googleapi.Error{
7874			Code:   res.StatusCode,
7875			Header: res.Header,
7876		}
7877	}
7878	if err != nil {
7879		return nil, err
7880	}
7881	defer googleapi.CloseBody(res)
7882	if err := googleapi.CheckResponse(res); err != nil {
7883		return nil, err
7884	}
7885	ret := &GoogleLongrunning__Operation{
7886		ServerResponse: googleapi.ServerResponse{
7887			Header:         res.Header,
7888			HTTPStatusCode: res.StatusCode,
7889		},
7890	}
7891	target := &ret
7892	if err := gensupport.DecodeResponse(target, res); err != nil {
7893		return nil, err
7894	}
7895	return ret, nil
7896	// {
7897	//   "description": "Checks whether a trial should stop or not. Returns a long-running operation. When the operation is successful, it will contain a CheckTrialEarlyStoppingStateResponse.",
7898	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}:checkEarlyStoppingState",
7899	//   "httpMethod": "POST",
7900	//   "id": "ml.projects.locations.studies.trials.checkEarlyStoppingState",
7901	//   "parameterOrder": [
7902	//     "name"
7903	//   ],
7904	//   "parameters": {
7905	//     "name": {
7906	//       "description": "Required. The trial name.",
7907	//       "location": "path",
7908	//       "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+$",
7909	//       "required": true,
7910	//       "type": "string"
7911	//     }
7912	//   },
7913	//   "path": "v1/{+name}:checkEarlyStoppingState",
7914	//   "request": {
7915	//     "$ref": "GoogleCloudMlV1__CheckTrialEarlyStoppingStateRequest"
7916	//   },
7917	//   "response": {
7918	//     "$ref": "GoogleLongrunning__Operation"
7919	//   },
7920	//   "scopes": [
7921	//     "https://www.googleapis.com/auth/cloud-platform"
7922	//   ]
7923	// }
7924
7925}
7926
7927// method id "ml.projects.locations.studies.trials.complete":
7928
7929type ProjectsLocationsStudiesTrialsCompleteCall struct {
7930	s                                     *Service
7931	name                                  string
7932	googlecloudmlv1__completetrialrequest *GoogleCloudMlV1__CompleteTrialRequest
7933	urlParams_                            gensupport.URLParams
7934	ctx_                                  context.Context
7935	header_                               http.Header
7936}
7937
7938// Complete: Marks a trial as complete.
7939//
7940// - name: The trial name.metat.
7941func (r *ProjectsLocationsStudiesTrialsService) Complete(name string, googlecloudmlv1__completetrialrequest *GoogleCloudMlV1__CompleteTrialRequest) *ProjectsLocationsStudiesTrialsCompleteCall {
7942	c := &ProjectsLocationsStudiesTrialsCompleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7943	c.name = name
7944	c.googlecloudmlv1__completetrialrequest = googlecloudmlv1__completetrialrequest
7945	return c
7946}
7947
7948// Fields allows partial responses to be retrieved. See
7949// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7950// for more information.
7951func (c *ProjectsLocationsStudiesTrialsCompleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsStudiesTrialsCompleteCall {
7952	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7953	return c
7954}
7955
7956// Context sets the context to be used in this call's Do method. Any
7957// pending HTTP request will be aborted if the provided context is
7958// canceled.
7959func (c *ProjectsLocationsStudiesTrialsCompleteCall) Context(ctx context.Context) *ProjectsLocationsStudiesTrialsCompleteCall {
7960	c.ctx_ = ctx
7961	return c
7962}
7963
7964// Header returns an http.Header that can be modified by the caller to
7965// add HTTP headers to the request.
7966func (c *ProjectsLocationsStudiesTrialsCompleteCall) Header() http.Header {
7967	if c.header_ == nil {
7968		c.header_ = make(http.Header)
7969	}
7970	return c.header_
7971}
7972
7973func (c *ProjectsLocationsStudiesTrialsCompleteCall) doRequest(alt string) (*http.Response, error) {
7974	reqHeaders := make(http.Header)
7975	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
7976	for k, v := range c.header_ {
7977		reqHeaders[k] = v
7978	}
7979	reqHeaders.Set("User-Agent", c.s.userAgent())
7980	var body io.Reader = nil
7981	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudmlv1__completetrialrequest)
7982	if err != nil {
7983		return nil, err
7984	}
7985	reqHeaders.Set("Content-Type", "application/json")
7986	c.urlParams_.Set("alt", alt)
7987	c.urlParams_.Set("prettyPrint", "false")
7988	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:complete")
7989	urls += "?" + c.urlParams_.Encode()
7990	req, err := http.NewRequest("POST", urls, body)
7991	if err != nil {
7992		return nil, err
7993	}
7994	req.Header = reqHeaders
7995	googleapi.Expand(req.URL, map[string]string{
7996		"name": c.name,
7997	})
7998	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7999}
8000
8001// Do executes the "ml.projects.locations.studies.trials.complete" call.
8002// Exactly one of *GoogleCloudMlV1__Trial or error will be non-nil. Any
8003// non-2xx status code is an error. Response headers are in either
8004// *GoogleCloudMlV1__Trial.ServerResponse.Header or (if a response was
8005// returned at all) in error.(*googleapi.Error).Header. Use
8006// googleapi.IsNotModified to check whether the returned error was
8007// because http.StatusNotModified was returned.
8008func (c *ProjectsLocationsStudiesTrialsCompleteCall) Do(opts ...googleapi.CallOption) (*GoogleCloudMlV1__Trial, error) {
8009	gensupport.SetOptions(c.urlParams_, opts...)
8010	res, err := c.doRequest("json")
8011	if res != nil && res.StatusCode == http.StatusNotModified {
8012		if res.Body != nil {
8013			res.Body.Close()
8014		}
8015		return nil, &googleapi.Error{
8016			Code:   res.StatusCode,
8017			Header: res.Header,
8018		}
8019	}
8020	if err != nil {
8021		return nil, err
8022	}
8023	defer googleapi.CloseBody(res)
8024	if err := googleapi.CheckResponse(res); err != nil {
8025		return nil, err
8026	}
8027	ret := &GoogleCloudMlV1__Trial{
8028		ServerResponse: googleapi.ServerResponse{
8029			Header:         res.Header,
8030			HTTPStatusCode: res.StatusCode,
8031		},
8032	}
8033	target := &ret
8034	if err := gensupport.DecodeResponse(target, res); err != nil {
8035		return nil, err
8036	}
8037	return ret, nil
8038	// {
8039	//   "description": "Marks a trial as complete.",
8040	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}:complete",
8041	//   "httpMethod": "POST",
8042	//   "id": "ml.projects.locations.studies.trials.complete",
8043	//   "parameterOrder": [
8044	//     "name"
8045	//   ],
8046	//   "parameters": {
8047	//     "name": {
8048	//       "description": "Required. The trial name.metat",
8049	//       "location": "path",
8050	//       "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+$",
8051	//       "required": true,
8052	//       "type": "string"
8053	//     }
8054	//   },
8055	//   "path": "v1/{+name}:complete",
8056	//   "request": {
8057	//     "$ref": "GoogleCloudMlV1__CompleteTrialRequest"
8058	//   },
8059	//   "response": {
8060	//     "$ref": "GoogleCloudMlV1__Trial"
8061	//   },
8062	//   "scopes": [
8063	//     "https://www.googleapis.com/auth/cloud-platform"
8064	//   ]
8065	// }
8066
8067}
8068
8069// method id "ml.projects.locations.studies.trials.create":
8070
8071type ProjectsLocationsStudiesTrialsCreateCall struct {
8072	s                      *Service
8073	parent                 string
8074	googlecloudmlv1__trial *GoogleCloudMlV1__Trial
8075	urlParams_             gensupport.URLParams
8076	ctx_                   context.Context
8077	header_                http.Header
8078}
8079
8080// Create: Adds a user provided trial to a study.
8081//
8082// - parent: The name of the study that the trial belongs to.
8083func (r *ProjectsLocationsStudiesTrialsService) Create(parent string, googlecloudmlv1__trial *GoogleCloudMlV1__Trial) *ProjectsLocationsStudiesTrialsCreateCall {
8084	c := &ProjectsLocationsStudiesTrialsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8085	c.parent = parent
8086	c.googlecloudmlv1__trial = googlecloudmlv1__trial
8087	return c
8088}
8089
8090// Fields allows partial responses to be retrieved. See
8091// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8092// for more information.
8093func (c *ProjectsLocationsStudiesTrialsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsStudiesTrialsCreateCall {
8094	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8095	return c
8096}
8097
8098// Context sets the context to be used in this call's Do method. Any
8099// pending HTTP request will be aborted if the provided context is
8100// canceled.
8101func (c *ProjectsLocationsStudiesTrialsCreateCall) Context(ctx context.Context) *ProjectsLocationsStudiesTrialsCreateCall {
8102	c.ctx_ = ctx
8103	return c
8104}
8105
8106// Header returns an http.Header that can be modified by the caller to
8107// add HTTP headers to the request.
8108func (c *ProjectsLocationsStudiesTrialsCreateCall) Header() http.Header {
8109	if c.header_ == nil {
8110		c.header_ = make(http.Header)
8111	}
8112	return c.header_
8113}
8114
8115func (c *ProjectsLocationsStudiesTrialsCreateCall) doRequest(alt string) (*http.Response, error) {
8116	reqHeaders := make(http.Header)
8117	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
8118	for k, v := range c.header_ {
8119		reqHeaders[k] = v
8120	}
8121	reqHeaders.Set("User-Agent", c.s.userAgent())
8122	var body io.Reader = nil
8123	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudmlv1__trial)
8124	if err != nil {
8125		return nil, err
8126	}
8127	reqHeaders.Set("Content-Type", "application/json")
8128	c.urlParams_.Set("alt", alt)
8129	c.urlParams_.Set("prettyPrint", "false")
8130	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/trials")
8131	urls += "?" + c.urlParams_.Encode()
8132	req, err := http.NewRequest("POST", urls, body)
8133	if err != nil {
8134		return nil, err
8135	}
8136	req.Header = reqHeaders
8137	googleapi.Expand(req.URL, map[string]string{
8138		"parent": c.parent,
8139	})
8140	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8141}
8142
8143// Do executes the "ml.projects.locations.studies.trials.create" call.
8144// Exactly one of *GoogleCloudMlV1__Trial or error will be non-nil. Any
8145// non-2xx status code is an error. Response headers are in either
8146// *GoogleCloudMlV1__Trial.ServerResponse.Header or (if a response was
8147// returned at all) in error.(*googleapi.Error).Header. Use
8148// googleapi.IsNotModified to check whether the returned error was
8149// because http.StatusNotModified was returned.
8150func (c *ProjectsLocationsStudiesTrialsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudMlV1__Trial, error) {
8151	gensupport.SetOptions(c.urlParams_, opts...)
8152	res, err := c.doRequest("json")
8153	if res != nil && res.StatusCode == http.StatusNotModified {
8154		if res.Body != nil {
8155			res.Body.Close()
8156		}
8157		return nil, &googleapi.Error{
8158			Code:   res.StatusCode,
8159			Header: res.Header,
8160		}
8161	}
8162	if err != nil {
8163		return nil, err
8164	}
8165	defer googleapi.CloseBody(res)
8166	if err := googleapi.CheckResponse(res); err != nil {
8167		return nil, err
8168	}
8169	ret := &GoogleCloudMlV1__Trial{
8170		ServerResponse: googleapi.ServerResponse{
8171			Header:         res.Header,
8172			HTTPStatusCode: res.StatusCode,
8173		},
8174	}
8175	target := &ret
8176	if err := gensupport.DecodeResponse(target, res); err != nil {
8177		return nil, err
8178	}
8179	return ret, nil
8180	// {
8181	//   "description": "Adds a user provided trial to a study.",
8182	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials",
8183	//   "httpMethod": "POST",
8184	//   "id": "ml.projects.locations.studies.trials.create",
8185	//   "parameterOrder": [
8186	//     "parent"
8187	//   ],
8188	//   "parameters": {
8189	//     "parent": {
8190	//       "description": "Required. The name of the study that the trial belongs to.",
8191	//       "location": "path",
8192	//       "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+$",
8193	//       "required": true,
8194	//       "type": "string"
8195	//     }
8196	//   },
8197	//   "path": "v1/{+parent}/trials",
8198	//   "request": {
8199	//     "$ref": "GoogleCloudMlV1__Trial"
8200	//   },
8201	//   "response": {
8202	//     "$ref": "GoogleCloudMlV1__Trial"
8203	//   },
8204	//   "scopes": [
8205	//     "https://www.googleapis.com/auth/cloud-platform"
8206	//   ]
8207	// }
8208
8209}
8210
8211// method id "ml.projects.locations.studies.trials.delete":
8212
8213type ProjectsLocationsStudiesTrialsDeleteCall struct {
8214	s          *Service
8215	name       string
8216	urlParams_ gensupport.URLParams
8217	ctx_       context.Context
8218	header_    http.Header
8219}
8220
8221// Delete: Deletes a trial.
8222//
8223// - name: The trial name.
8224func (r *ProjectsLocationsStudiesTrialsService) Delete(name string) *ProjectsLocationsStudiesTrialsDeleteCall {
8225	c := &ProjectsLocationsStudiesTrialsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8226	c.name = name
8227	return c
8228}
8229
8230// Fields allows partial responses to be retrieved. See
8231// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8232// for more information.
8233func (c *ProjectsLocationsStudiesTrialsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsStudiesTrialsDeleteCall {
8234	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8235	return c
8236}
8237
8238// Context sets the context to be used in this call's Do method. Any
8239// pending HTTP request will be aborted if the provided context is
8240// canceled.
8241func (c *ProjectsLocationsStudiesTrialsDeleteCall) Context(ctx context.Context) *ProjectsLocationsStudiesTrialsDeleteCall {
8242	c.ctx_ = ctx
8243	return c
8244}
8245
8246// Header returns an http.Header that can be modified by the caller to
8247// add HTTP headers to the request.
8248func (c *ProjectsLocationsStudiesTrialsDeleteCall) Header() http.Header {
8249	if c.header_ == nil {
8250		c.header_ = make(http.Header)
8251	}
8252	return c.header_
8253}
8254
8255func (c *ProjectsLocationsStudiesTrialsDeleteCall) doRequest(alt string) (*http.Response, error) {
8256	reqHeaders := make(http.Header)
8257	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
8258	for k, v := range c.header_ {
8259		reqHeaders[k] = v
8260	}
8261	reqHeaders.Set("User-Agent", c.s.userAgent())
8262	var body io.Reader = nil
8263	c.urlParams_.Set("alt", alt)
8264	c.urlParams_.Set("prettyPrint", "false")
8265	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
8266	urls += "?" + c.urlParams_.Encode()
8267	req, err := http.NewRequest("DELETE", urls, body)
8268	if err != nil {
8269		return nil, err
8270	}
8271	req.Header = reqHeaders
8272	googleapi.Expand(req.URL, map[string]string{
8273		"name": c.name,
8274	})
8275	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8276}
8277
8278// Do executes the "ml.projects.locations.studies.trials.delete" call.
8279// Exactly one of *GoogleProtobuf__Empty or error will be non-nil. Any
8280// non-2xx status code is an error. Response headers are in either
8281// *GoogleProtobuf__Empty.ServerResponse.Header or (if a response was
8282// returned at all) in error.(*googleapi.Error).Header. Use
8283// googleapi.IsNotModified to check whether the returned error was
8284// because http.StatusNotModified was returned.
8285func (c *ProjectsLocationsStudiesTrialsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobuf__Empty, error) {
8286	gensupport.SetOptions(c.urlParams_, opts...)
8287	res, err := c.doRequest("json")
8288	if res != nil && res.StatusCode == http.StatusNotModified {
8289		if res.Body != nil {
8290			res.Body.Close()
8291		}
8292		return nil, &googleapi.Error{
8293			Code:   res.StatusCode,
8294			Header: res.Header,
8295		}
8296	}
8297	if err != nil {
8298		return nil, err
8299	}
8300	defer googleapi.CloseBody(res)
8301	if err := googleapi.CheckResponse(res); err != nil {
8302		return nil, err
8303	}
8304	ret := &GoogleProtobuf__Empty{
8305		ServerResponse: googleapi.ServerResponse{
8306			Header:         res.Header,
8307			HTTPStatusCode: res.StatusCode,
8308		},
8309	}
8310	target := &ret
8311	if err := gensupport.DecodeResponse(target, res); err != nil {
8312		return nil, err
8313	}
8314	return ret, nil
8315	// {
8316	//   "description": "Deletes a trial.",
8317	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}",
8318	//   "httpMethod": "DELETE",
8319	//   "id": "ml.projects.locations.studies.trials.delete",
8320	//   "parameterOrder": [
8321	//     "name"
8322	//   ],
8323	//   "parameters": {
8324	//     "name": {
8325	//       "description": "Required. The trial name.",
8326	//       "location": "path",
8327	//       "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+$",
8328	//       "required": true,
8329	//       "type": "string"
8330	//     }
8331	//   },
8332	//   "path": "v1/{+name}",
8333	//   "response": {
8334	//     "$ref": "GoogleProtobuf__Empty"
8335	//   },
8336	//   "scopes": [
8337	//     "https://www.googleapis.com/auth/cloud-platform"
8338	//   ]
8339	// }
8340
8341}
8342
8343// method id "ml.projects.locations.studies.trials.get":
8344
8345type ProjectsLocationsStudiesTrialsGetCall struct {
8346	s            *Service
8347	name         string
8348	urlParams_   gensupport.URLParams
8349	ifNoneMatch_ string
8350	ctx_         context.Context
8351	header_      http.Header
8352}
8353
8354// Get: Gets a trial.
8355//
8356// - name: The trial name.
8357func (r *ProjectsLocationsStudiesTrialsService) Get(name string) *ProjectsLocationsStudiesTrialsGetCall {
8358	c := &ProjectsLocationsStudiesTrialsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8359	c.name = name
8360	return c
8361}
8362
8363// Fields allows partial responses to be retrieved. See
8364// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8365// for more information.
8366func (c *ProjectsLocationsStudiesTrialsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsStudiesTrialsGetCall {
8367	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8368	return c
8369}
8370
8371// IfNoneMatch sets the optional parameter which makes the operation
8372// fail if the object's ETag matches the given value. This is useful for
8373// getting updates only after the object has changed since the last
8374// request. Use googleapi.IsNotModified to check whether the response
8375// error from Do is the result of In-None-Match.
8376func (c *ProjectsLocationsStudiesTrialsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsStudiesTrialsGetCall {
8377	c.ifNoneMatch_ = entityTag
8378	return c
8379}
8380
8381// Context sets the context to be used in this call's Do method. Any
8382// pending HTTP request will be aborted if the provided context is
8383// canceled.
8384func (c *ProjectsLocationsStudiesTrialsGetCall) Context(ctx context.Context) *ProjectsLocationsStudiesTrialsGetCall {
8385	c.ctx_ = ctx
8386	return c
8387}
8388
8389// Header returns an http.Header that can be modified by the caller to
8390// add HTTP headers to the request.
8391func (c *ProjectsLocationsStudiesTrialsGetCall) Header() http.Header {
8392	if c.header_ == nil {
8393		c.header_ = make(http.Header)
8394	}
8395	return c.header_
8396}
8397
8398func (c *ProjectsLocationsStudiesTrialsGetCall) doRequest(alt string) (*http.Response, error) {
8399	reqHeaders := make(http.Header)
8400	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
8401	for k, v := range c.header_ {
8402		reqHeaders[k] = v
8403	}
8404	reqHeaders.Set("User-Agent", c.s.userAgent())
8405	if c.ifNoneMatch_ != "" {
8406		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
8407	}
8408	var body io.Reader = nil
8409	c.urlParams_.Set("alt", alt)
8410	c.urlParams_.Set("prettyPrint", "false")
8411	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
8412	urls += "?" + c.urlParams_.Encode()
8413	req, err := http.NewRequest("GET", urls, body)
8414	if err != nil {
8415		return nil, err
8416	}
8417	req.Header = reqHeaders
8418	googleapi.Expand(req.URL, map[string]string{
8419		"name": c.name,
8420	})
8421	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8422}
8423
8424// Do executes the "ml.projects.locations.studies.trials.get" call.
8425// Exactly one of *GoogleCloudMlV1__Trial or error will be non-nil. Any
8426// non-2xx status code is an error. Response headers are in either
8427// *GoogleCloudMlV1__Trial.ServerResponse.Header or (if a response was
8428// returned at all) in error.(*googleapi.Error).Header. Use
8429// googleapi.IsNotModified to check whether the returned error was
8430// because http.StatusNotModified was returned.
8431func (c *ProjectsLocationsStudiesTrialsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudMlV1__Trial, error) {
8432	gensupport.SetOptions(c.urlParams_, opts...)
8433	res, err := c.doRequest("json")
8434	if res != nil && res.StatusCode == http.StatusNotModified {
8435		if res.Body != nil {
8436			res.Body.Close()
8437		}
8438		return nil, &googleapi.Error{
8439			Code:   res.StatusCode,
8440			Header: res.Header,
8441		}
8442	}
8443	if err != nil {
8444		return nil, err
8445	}
8446	defer googleapi.CloseBody(res)
8447	if err := googleapi.CheckResponse(res); err != nil {
8448		return nil, err
8449	}
8450	ret := &GoogleCloudMlV1__Trial{
8451		ServerResponse: googleapi.ServerResponse{
8452			Header:         res.Header,
8453			HTTPStatusCode: res.StatusCode,
8454		},
8455	}
8456	target := &ret
8457	if err := gensupport.DecodeResponse(target, res); err != nil {
8458		return nil, err
8459	}
8460	return ret, nil
8461	// {
8462	//   "description": "Gets a trial.",
8463	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}",
8464	//   "httpMethod": "GET",
8465	//   "id": "ml.projects.locations.studies.trials.get",
8466	//   "parameterOrder": [
8467	//     "name"
8468	//   ],
8469	//   "parameters": {
8470	//     "name": {
8471	//       "description": "Required. The trial name.",
8472	//       "location": "path",
8473	//       "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+$",
8474	//       "required": true,
8475	//       "type": "string"
8476	//     }
8477	//   },
8478	//   "path": "v1/{+name}",
8479	//   "response": {
8480	//     "$ref": "GoogleCloudMlV1__Trial"
8481	//   },
8482	//   "scopes": [
8483	//     "https://www.googleapis.com/auth/cloud-platform"
8484	//   ]
8485	// }
8486
8487}
8488
8489// method id "ml.projects.locations.studies.trials.list":
8490
8491type ProjectsLocationsStudiesTrialsListCall struct {
8492	s            *Service
8493	parent       string
8494	urlParams_   gensupport.URLParams
8495	ifNoneMatch_ string
8496	ctx_         context.Context
8497	header_      http.Header
8498}
8499
8500// List: Lists the trials associated with a study.
8501//
8502// - parent: The name of the study that the trial belongs to.
8503func (r *ProjectsLocationsStudiesTrialsService) List(parent string) *ProjectsLocationsStudiesTrialsListCall {
8504	c := &ProjectsLocationsStudiesTrialsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8505	c.parent = parent
8506	return c
8507}
8508
8509// Fields allows partial responses to be retrieved. See
8510// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8511// for more information.
8512func (c *ProjectsLocationsStudiesTrialsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsStudiesTrialsListCall {
8513	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8514	return c
8515}
8516
8517// IfNoneMatch sets the optional parameter which makes the operation
8518// fail if the object's ETag matches the given value. This is useful for
8519// getting updates only after the object has changed since the last
8520// request. Use googleapi.IsNotModified to check whether the response
8521// error from Do is the result of In-None-Match.
8522func (c *ProjectsLocationsStudiesTrialsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsStudiesTrialsListCall {
8523	c.ifNoneMatch_ = entityTag
8524	return c
8525}
8526
8527// Context sets the context to be used in this call's Do method. Any
8528// pending HTTP request will be aborted if the provided context is
8529// canceled.
8530func (c *ProjectsLocationsStudiesTrialsListCall) Context(ctx context.Context) *ProjectsLocationsStudiesTrialsListCall {
8531	c.ctx_ = ctx
8532	return c
8533}
8534
8535// Header returns an http.Header that can be modified by the caller to
8536// add HTTP headers to the request.
8537func (c *ProjectsLocationsStudiesTrialsListCall) Header() http.Header {
8538	if c.header_ == nil {
8539		c.header_ = make(http.Header)
8540	}
8541	return c.header_
8542}
8543
8544func (c *ProjectsLocationsStudiesTrialsListCall) doRequest(alt string) (*http.Response, error) {
8545	reqHeaders := make(http.Header)
8546	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
8547	for k, v := range c.header_ {
8548		reqHeaders[k] = v
8549	}
8550	reqHeaders.Set("User-Agent", c.s.userAgent())
8551	if c.ifNoneMatch_ != "" {
8552		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
8553	}
8554	var body io.Reader = nil
8555	c.urlParams_.Set("alt", alt)
8556	c.urlParams_.Set("prettyPrint", "false")
8557	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/trials")
8558	urls += "?" + c.urlParams_.Encode()
8559	req, err := http.NewRequest("GET", urls, body)
8560	if err != nil {
8561		return nil, err
8562	}
8563	req.Header = reqHeaders
8564	googleapi.Expand(req.URL, map[string]string{
8565		"parent": c.parent,
8566	})
8567	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8568}
8569
8570// Do executes the "ml.projects.locations.studies.trials.list" call.
8571// Exactly one of *GoogleCloudMlV1__ListTrialsResponse or error will be
8572// non-nil. Any non-2xx status code is an error. Response headers are in
8573// either *GoogleCloudMlV1__ListTrialsResponse.ServerResponse.Header or
8574// (if a response was returned at all) in
8575// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
8576// whether the returned error was because http.StatusNotModified was
8577// returned.
8578func (c *ProjectsLocationsStudiesTrialsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudMlV1__ListTrialsResponse, error) {
8579	gensupport.SetOptions(c.urlParams_, opts...)
8580	res, err := c.doRequest("json")
8581	if res != nil && res.StatusCode == http.StatusNotModified {
8582		if res.Body != nil {
8583			res.Body.Close()
8584		}
8585		return nil, &googleapi.Error{
8586			Code:   res.StatusCode,
8587			Header: res.Header,
8588		}
8589	}
8590	if err != nil {
8591		return nil, err
8592	}
8593	defer googleapi.CloseBody(res)
8594	if err := googleapi.CheckResponse(res); err != nil {
8595		return nil, err
8596	}
8597	ret := &GoogleCloudMlV1__ListTrialsResponse{
8598		ServerResponse: googleapi.ServerResponse{
8599			Header:         res.Header,
8600			HTTPStatusCode: res.StatusCode,
8601		},
8602	}
8603	target := &ret
8604	if err := gensupport.DecodeResponse(target, res); err != nil {
8605		return nil, err
8606	}
8607	return ret, nil
8608	// {
8609	//   "description": "Lists the trials associated with a study.",
8610	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials",
8611	//   "httpMethod": "GET",
8612	//   "id": "ml.projects.locations.studies.trials.list",
8613	//   "parameterOrder": [
8614	//     "parent"
8615	//   ],
8616	//   "parameters": {
8617	//     "parent": {
8618	//       "description": "Required. The name of the study that the trial belongs to.",
8619	//       "location": "path",
8620	//       "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+$",
8621	//       "required": true,
8622	//       "type": "string"
8623	//     }
8624	//   },
8625	//   "path": "v1/{+parent}/trials",
8626	//   "response": {
8627	//     "$ref": "GoogleCloudMlV1__ListTrialsResponse"
8628	//   },
8629	//   "scopes": [
8630	//     "https://www.googleapis.com/auth/cloud-platform"
8631	//   ]
8632	// }
8633
8634}
8635
8636// method id "ml.projects.locations.studies.trials.listOptimalTrials":
8637
8638type ProjectsLocationsStudiesTrialsListOptimalTrialsCall struct {
8639	s                                         *Service
8640	parent                                    string
8641	googlecloudmlv1__listoptimaltrialsrequest *GoogleCloudMlV1__ListOptimalTrialsRequest
8642	urlParams_                                gensupport.URLParams
8643	ctx_                                      context.Context
8644	header_                                   http.Header
8645}
8646
8647// ListOptimalTrials: Lists the pareto-optimal trials for
8648// multi-objective study or the optimal trials for single-objective
8649// study. The definition of pareto-optimal can be checked in wiki page.
8650// https://en.wikipedia.org/wiki/Pareto_efficiency
8651//
8652// - parent: The name of the study that the pareto-optimal trial belongs
8653//   to.
8654func (r *ProjectsLocationsStudiesTrialsService) ListOptimalTrials(parent string, googlecloudmlv1__listoptimaltrialsrequest *GoogleCloudMlV1__ListOptimalTrialsRequest) *ProjectsLocationsStudiesTrialsListOptimalTrialsCall {
8655	c := &ProjectsLocationsStudiesTrialsListOptimalTrialsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8656	c.parent = parent
8657	c.googlecloudmlv1__listoptimaltrialsrequest = googlecloudmlv1__listoptimaltrialsrequest
8658	return c
8659}
8660
8661// Fields allows partial responses to be retrieved. See
8662// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8663// for more information.
8664func (c *ProjectsLocationsStudiesTrialsListOptimalTrialsCall) Fields(s ...googleapi.Field) *ProjectsLocationsStudiesTrialsListOptimalTrialsCall {
8665	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8666	return c
8667}
8668
8669// Context sets the context to be used in this call's Do method. Any
8670// pending HTTP request will be aborted if the provided context is
8671// canceled.
8672func (c *ProjectsLocationsStudiesTrialsListOptimalTrialsCall) Context(ctx context.Context) *ProjectsLocationsStudiesTrialsListOptimalTrialsCall {
8673	c.ctx_ = ctx
8674	return c
8675}
8676
8677// Header returns an http.Header that can be modified by the caller to
8678// add HTTP headers to the request.
8679func (c *ProjectsLocationsStudiesTrialsListOptimalTrialsCall) Header() http.Header {
8680	if c.header_ == nil {
8681		c.header_ = make(http.Header)
8682	}
8683	return c.header_
8684}
8685
8686func (c *ProjectsLocationsStudiesTrialsListOptimalTrialsCall) doRequest(alt string) (*http.Response, error) {
8687	reqHeaders := make(http.Header)
8688	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
8689	for k, v := range c.header_ {
8690		reqHeaders[k] = v
8691	}
8692	reqHeaders.Set("User-Agent", c.s.userAgent())
8693	var body io.Reader = nil
8694	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudmlv1__listoptimaltrialsrequest)
8695	if err != nil {
8696		return nil, err
8697	}
8698	reqHeaders.Set("Content-Type", "application/json")
8699	c.urlParams_.Set("alt", alt)
8700	c.urlParams_.Set("prettyPrint", "false")
8701	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/trials:listOptimalTrials")
8702	urls += "?" + c.urlParams_.Encode()
8703	req, err := http.NewRequest("POST", urls, body)
8704	if err != nil {
8705		return nil, err
8706	}
8707	req.Header = reqHeaders
8708	googleapi.Expand(req.URL, map[string]string{
8709		"parent": c.parent,
8710	})
8711	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8712}
8713
8714// Do executes the "ml.projects.locations.studies.trials.listOptimalTrials" call.
8715// Exactly one of *GoogleCloudMlV1__ListOptimalTrialsResponse or error
8716// will be non-nil. Any non-2xx status code is an error. Response
8717// headers are in either
8718// *GoogleCloudMlV1__ListOptimalTrialsResponse.ServerResponse.Header or
8719// (if a response was returned at all) in
8720// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
8721// whether the returned error was because http.StatusNotModified was
8722// returned.
8723func (c *ProjectsLocationsStudiesTrialsListOptimalTrialsCall) Do(opts ...googleapi.CallOption) (*GoogleCloudMlV1__ListOptimalTrialsResponse, error) {
8724	gensupport.SetOptions(c.urlParams_, opts...)
8725	res, err := c.doRequest("json")
8726	if res != nil && res.StatusCode == http.StatusNotModified {
8727		if res.Body != nil {
8728			res.Body.Close()
8729		}
8730		return nil, &googleapi.Error{
8731			Code:   res.StatusCode,
8732			Header: res.Header,
8733		}
8734	}
8735	if err != nil {
8736		return nil, err
8737	}
8738	defer googleapi.CloseBody(res)
8739	if err := googleapi.CheckResponse(res); err != nil {
8740		return nil, err
8741	}
8742	ret := &GoogleCloudMlV1__ListOptimalTrialsResponse{
8743		ServerResponse: googleapi.ServerResponse{
8744			Header:         res.Header,
8745			HTTPStatusCode: res.StatusCode,
8746		},
8747	}
8748	target := &ret
8749	if err := gensupport.DecodeResponse(target, res); err != nil {
8750		return nil, err
8751	}
8752	return ret, nil
8753	// {
8754	//   "description": "Lists the pareto-optimal trials for multi-objective study or the optimal trials for single-objective study. The definition of pareto-optimal can be checked in wiki page. https://en.wikipedia.org/wiki/Pareto_efficiency",
8755	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials:listOptimalTrials",
8756	//   "httpMethod": "POST",
8757	//   "id": "ml.projects.locations.studies.trials.listOptimalTrials",
8758	//   "parameterOrder": [
8759	//     "parent"
8760	//   ],
8761	//   "parameters": {
8762	//     "parent": {
8763	//       "description": "Required. The name of the study that the pareto-optimal trial belongs to.",
8764	//       "location": "path",
8765	//       "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+$",
8766	//       "required": true,
8767	//       "type": "string"
8768	//     }
8769	//   },
8770	//   "path": "v1/{+parent}/trials:listOptimalTrials",
8771	//   "request": {
8772	//     "$ref": "GoogleCloudMlV1__ListOptimalTrialsRequest"
8773	//   },
8774	//   "response": {
8775	//     "$ref": "GoogleCloudMlV1__ListOptimalTrialsResponse"
8776	//   },
8777	//   "scopes": [
8778	//     "https://www.googleapis.com/auth/cloud-platform"
8779	//   ]
8780	// }
8781
8782}
8783
8784// method id "ml.projects.locations.studies.trials.stop":
8785
8786type ProjectsLocationsStudiesTrialsStopCall struct {
8787	s                                 *Service
8788	name                              string
8789	googlecloudmlv1__stoptrialrequest *GoogleCloudMlV1__StopTrialRequest
8790	urlParams_                        gensupport.URLParams
8791	ctx_                              context.Context
8792	header_                           http.Header
8793}
8794
8795// Stop: Stops a trial.
8796//
8797// - name: The trial name.
8798func (r *ProjectsLocationsStudiesTrialsService) Stop(name string, googlecloudmlv1__stoptrialrequest *GoogleCloudMlV1__StopTrialRequest) *ProjectsLocationsStudiesTrialsStopCall {
8799	c := &ProjectsLocationsStudiesTrialsStopCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8800	c.name = name
8801	c.googlecloudmlv1__stoptrialrequest = googlecloudmlv1__stoptrialrequest
8802	return c
8803}
8804
8805// Fields allows partial responses to be retrieved. See
8806// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8807// for more information.
8808func (c *ProjectsLocationsStudiesTrialsStopCall) Fields(s ...googleapi.Field) *ProjectsLocationsStudiesTrialsStopCall {
8809	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8810	return c
8811}
8812
8813// Context sets the context to be used in this call's Do method. Any
8814// pending HTTP request will be aborted if the provided context is
8815// canceled.
8816func (c *ProjectsLocationsStudiesTrialsStopCall) Context(ctx context.Context) *ProjectsLocationsStudiesTrialsStopCall {
8817	c.ctx_ = ctx
8818	return c
8819}
8820
8821// Header returns an http.Header that can be modified by the caller to
8822// add HTTP headers to the request.
8823func (c *ProjectsLocationsStudiesTrialsStopCall) Header() http.Header {
8824	if c.header_ == nil {
8825		c.header_ = make(http.Header)
8826	}
8827	return c.header_
8828}
8829
8830func (c *ProjectsLocationsStudiesTrialsStopCall) doRequest(alt string) (*http.Response, error) {
8831	reqHeaders := make(http.Header)
8832	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
8833	for k, v := range c.header_ {
8834		reqHeaders[k] = v
8835	}
8836	reqHeaders.Set("User-Agent", c.s.userAgent())
8837	var body io.Reader = nil
8838	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudmlv1__stoptrialrequest)
8839	if err != nil {
8840		return nil, err
8841	}
8842	reqHeaders.Set("Content-Type", "application/json")
8843	c.urlParams_.Set("alt", alt)
8844	c.urlParams_.Set("prettyPrint", "false")
8845	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:stop")
8846	urls += "?" + c.urlParams_.Encode()
8847	req, err := http.NewRequest("POST", urls, body)
8848	if err != nil {
8849		return nil, err
8850	}
8851	req.Header = reqHeaders
8852	googleapi.Expand(req.URL, map[string]string{
8853		"name": c.name,
8854	})
8855	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8856}
8857
8858// Do executes the "ml.projects.locations.studies.trials.stop" call.
8859// Exactly one of *GoogleCloudMlV1__Trial or error will be non-nil. Any
8860// non-2xx status code is an error. Response headers are in either
8861// *GoogleCloudMlV1__Trial.ServerResponse.Header or (if a response was
8862// returned at all) in error.(*googleapi.Error).Header. Use
8863// googleapi.IsNotModified to check whether the returned error was
8864// because http.StatusNotModified was returned.
8865func (c *ProjectsLocationsStudiesTrialsStopCall) Do(opts ...googleapi.CallOption) (*GoogleCloudMlV1__Trial, error) {
8866	gensupport.SetOptions(c.urlParams_, opts...)
8867	res, err := c.doRequest("json")
8868	if res != nil && res.StatusCode == http.StatusNotModified {
8869		if res.Body != nil {
8870			res.Body.Close()
8871		}
8872		return nil, &googleapi.Error{
8873			Code:   res.StatusCode,
8874			Header: res.Header,
8875		}
8876	}
8877	if err != nil {
8878		return nil, err
8879	}
8880	defer googleapi.CloseBody(res)
8881	if err := googleapi.CheckResponse(res); err != nil {
8882		return nil, err
8883	}
8884	ret := &GoogleCloudMlV1__Trial{
8885		ServerResponse: googleapi.ServerResponse{
8886			Header:         res.Header,
8887			HTTPStatusCode: res.StatusCode,
8888		},
8889	}
8890	target := &ret
8891	if err := gensupport.DecodeResponse(target, res); err != nil {
8892		return nil, err
8893	}
8894	return ret, nil
8895	// {
8896	//   "description": "Stops a trial.",
8897	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}:stop",
8898	//   "httpMethod": "POST",
8899	//   "id": "ml.projects.locations.studies.trials.stop",
8900	//   "parameterOrder": [
8901	//     "name"
8902	//   ],
8903	//   "parameters": {
8904	//     "name": {
8905	//       "description": "Required. The trial name.",
8906	//       "location": "path",
8907	//       "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+$",
8908	//       "required": true,
8909	//       "type": "string"
8910	//     }
8911	//   },
8912	//   "path": "v1/{+name}:stop",
8913	//   "request": {
8914	//     "$ref": "GoogleCloudMlV1__StopTrialRequest"
8915	//   },
8916	//   "response": {
8917	//     "$ref": "GoogleCloudMlV1__Trial"
8918	//   },
8919	//   "scopes": [
8920	//     "https://www.googleapis.com/auth/cloud-platform"
8921	//   ]
8922	// }
8923
8924}
8925
8926// method id "ml.projects.locations.studies.trials.suggest":
8927
8928type ProjectsLocationsStudiesTrialsSuggestCall struct {
8929	s                                     *Service
8930	parent                                string
8931	googlecloudmlv1__suggesttrialsrequest *GoogleCloudMlV1__SuggestTrialsRequest
8932	urlParams_                            gensupport.URLParams
8933	ctx_                                  context.Context
8934	header_                               http.Header
8935}
8936
8937// Suggest: Adds one or more trials to a study, with parameter values
8938// suggested by AI Platform Vizier. Returns a long-running operation
8939// associated with the generation of trial suggestions. When this
8940// long-running operation succeeds, it will contain a
8941// SuggestTrialsResponse.
8942//
8943// - parent: The name of the study that the trial belongs to.
8944func (r *ProjectsLocationsStudiesTrialsService) Suggest(parent string, googlecloudmlv1__suggesttrialsrequest *GoogleCloudMlV1__SuggestTrialsRequest) *ProjectsLocationsStudiesTrialsSuggestCall {
8945	c := &ProjectsLocationsStudiesTrialsSuggestCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8946	c.parent = parent
8947	c.googlecloudmlv1__suggesttrialsrequest = googlecloudmlv1__suggesttrialsrequest
8948	return c
8949}
8950
8951// Fields allows partial responses to be retrieved. See
8952// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8953// for more information.
8954func (c *ProjectsLocationsStudiesTrialsSuggestCall) Fields(s ...googleapi.Field) *ProjectsLocationsStudiesTrialsSuggestCall {
8955	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8956	return c
8957}
8958
8959// Context sets the context to be used in this call's Do method. Any
8960// pending HTTP request will be aborted if the provided context is
8961// canceled.
8962func (c *ProjectsLocationsStudiesTrialsSuggestCall) Context(ctx context.Context) *ProjectsLocationsStudiesTrialsSuggestCall {
8963	c.ctx_ = ctx
8964	return c
8965}
8966
8967// Header returns an http.Header that can be modified by the caller to
8968// add HTTP headers to the request.
8969func (c *ProjectsLocationsStudiesTrialsSuggestCall) Header() http.Header {
8970	if c.header_ == nil {
8971		c.header_ = make(http.Header)
8972	}
8973	return c.header_
8974}
8975
8976func (c *ProjectsLocationsStudiesTrialsSuggestCall) doRequest(alt string) (*http.Response, error) {
8977	reqHeaders := make(http.Header)
8978	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
8979	for k, v := range c.header_ {
8980		reqHeaders[k] = v
8981	}
8982	reqHeaders.Set("User-Agent", c.s.userAgent())
8983	var body io.Reader = nil
8984	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudmlv1__suggesttrialsrequest)
8985	if err != nil {
8986		return nil, err
8987	}
8988	reqHeaders.Set("Content-Type", "application/json")
8989	c.urlParams_.Set("alt", alt)
8990	c.urlParams_.Set("prettyPrint", "false")
8991	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/trials:suggest")
8992	urls += "?" + c.urlParams_.Encode()
8993	req, err := http.NewRequest("POST", urls, body)
8994	if err != nil {
8995		return nil, err
8996	}
8997	req.Header = reqHeaders
8998	googleapi.Expand(req.URL, map[string]string{
8999		"parent": c.parent,
9000	})
9001	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9002}
9003
9004// Do executes the "ml.projects.locations.studies.trials.suggest" call.
9005// Exactly one of *GoogleLongrunning__Operation or error will be
9006// non-nil. Any non-2xx status code is an error. Response headers are in
9007// either *GoogleLongrunning__Operation.ServerResponse.Header or (if a
9008// response was returned at all) in error.(*googleapi.Error).Header. Use
9009// googleapi.IsNotModified to check whether the returned error was
9010// because http.StatusNotModified was returned.
9011func (c *ProjectsLocationsStudiesTrialsSuggestCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunning__Operation, error) {
9012	gensupport.SetOptions(c.urlParams_, opts...)
9013	res, err := c.doRequest("json")
9014	if res != nil && res.StatusCode == http.StatusNotModified {
9015		if res.Body != nil {
9016			res.Body.Close()
9017		}
9018		return nil, &googleapi.Error{
9019			Code:   res.StatusCode,
9020			Header: res.Header,
9021		}
9022	}
9023	if err != nil {
9024		return nil, err
9025	}
9026	defer googleapi.CloseBody(res)
9027	if err := googleapi.CheckResponse(res); err != nil {
9028		return nil, err
9029	}
9030	ret := &GoogleLongrunning__Operation{
9031		ServerResponse: googleapi.ServerResponse{
9032			Header:         res.Header,
9033			HTTPStatusCode: res.StatusCode,
9034		},
9035	}
9036	target := &ret
9037	if err := gensupport.DecodeResponse(target, res); err != nil {
9038		return nil, err
9039	}
9040	return ret, nil
9041	// {
9042	//   "description": "Adds one or more trials to a study, with parameter values suggested by AI Platform Vizier. Returns a long-running operation associated with the generation of trial suggestions. When this long-running operation succeeds, it will contain a SuggestTrialsResponse.",
9043	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials:suggest",
9044	//   "httpMethod": "POST",
9045	//   "id": "ml.projects.locations.studies.trials.suggest",
9046	//   "parameterOrder": [
9047	//     "parent"
9048	//   ],
9049	//   "parameters": {
9050	//     "parent": {
9051	//       "description": "Required. The name of the study that the trial belongs to.",
9052	//       "location": "path",
9053	//       "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+$",
9054	//       "required": true,
9055	//       "type": "string"
9056	//     }
9057	//   },
9058	//   "path": "v1/{+parent}/trials:suggest",
9059	//   "request": {
9060	//     "$ref": "GoogleCloudMlV1__SuggestTrialsRequest"
9061	//   },
9062	//   "response": {
9063	//     "$ref": "GoogleLongrunning__Operation"
9064	//   },
9065	//   "scopes": [
9066	//     "https://www.googleapis.com/auth/cloud-platform"
9067	//   ]
9068	// }
9069
9070}
9071
9072// method id "ml.projects.models.create":
9073
9074type ProjectsModelsCreateCall struct {
9075	s                      *Service
9076	parent                 string
9077	googlecloudmlv1__model *GoogleCloudMlV1__Model
9078	urlParams_             gensupport.URLParams
9079	ctx_                   context.Context
9080	header_                http.Header
9081}
9082
9083// Create: Creates a model which will later contain one or more
9084// versions. You must add at least one version before you can request
9085// predictions from the model. Add versions by calling
9086// projects.models.versions.create.
9087//
9088// - parent: The project name.
9089func (r *ProjectsModelsService) Create(parent string, googlecloudmlv1__model *GoogleCloudMlV1__Model) *ProjectsModelsCreateCall {
9090	c := &ProjectsModelsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9091	c.parent = parent
9092	c.googlecloudmlv1__model = googlecloudmlv1__model
9093	return c
9094}
9095
9096// Fields allows partial responses to be retrieved. See
9097// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9098// for more information.
9099func (c *ProjectsModelsCreateCall) Fields(s ...googleapi.Field) *ProjectsModelsCreateCall {
9100	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9101	return c
9102}
9103
9104// Context sets the context to be used in this call's Do method. Any
9105// pending HTTP request will be aborted if the provided context is
9106// canceled.
9107func (c *ProjectsModelsCreateCall) Context(ctx context.Context) *ProjectsModelsCreateCall {
9108	c.ctx_ = ctx
9109	return c
9110}
9111
9112// Header returns an http.Header that can be modified by the caller to
9113// add HTTP headers to the request.
9114func (c *ProjectsModelsCreateCall) Header() http.Header {
9115	if c.header_ == nil {
9116		c.header_ = make(http.Header)
9117	}
9118	return c.header_
9119}
9120
9121func (c *ProjectsModelsCreateCall) doRequest(alt string) (*http.Response, error) {
9122	reqHeaders := make(http.Header)
9123	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
9124	for k, v := range c.header_ {
9125		reqHeaders[k] = v
9126	}
9127	reqHeaders.Set("User-Agent", c.s.userAgent())
9128	var body io.Reader = nil
9129	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudmlv1__model)
9130	if err != nil {
9131		return nil, err
9132	}
9133	reqHeaders.Set("Content-Type", "application/json")
9134	c.urlParams_.Set("alt", alt)
9135	c.urlParams_.Set("prettyPrint", "false")
9136	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/models")
9137	urls += "?" + c.urlParams_.Encode()
9138	req, err := http.NewRequest("POST", urls, body)
9139	if err != nil {
9140		return nil, err
9141	}
9142	req.Header = reqHeaders
9143	googleapi.Expand(req.URL, map[string]string{
9144		"parent": c.parent,
9145	})
9146	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9147}
9148
9149// Do executes the "ml.projects.models.create" call.
9150// Exactly one of *GoogleCloudMlV1__Model or error will be non-nil. Any
9151// non-2xx status code is an error. Response headers are in either
9152// *GoogleCloudMlV1__Model.ServerResponse.Header or (if a response was
9153// returned at all) in error.(*googleapi.Error).Header. Use
9154// googleapi.IsNotModified to check whether the returned error was
9155// because http.StatusNotModified was returned.
9156func (c *ProjectsModelsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudMlV1__Model, error) {
9157	gensupport.SetOptions(c.urlParams_, opts...)
9158	res, err := c.doRequest("json")
9159	if res != nil && res.StatusCode == http.StatusNotModified {
9160		if res.Body != nil {
9161			res.Body.Close()
9162		}
9163		return nil, &googleapi.Error{
9164			Code:   res.StatusCode,
9165			Header: res.Header,
9166		}
9167	}
9168	if err != nil {
9169		return nil, err
9170	}
9171	defer googleapi.CloseBody(res)
9172	if err := googleapi.CheckResponse(res); err != nil {
9173		return nil, err
9174	}
9175	ret := &GoogleCloudMlV1__Model{
9176		ServerResponse: googleapi.ServerResponse{
9177			Header:         res.Header,
9178			HTTPStatusCode: res.StatusCode,
9179		},
9180	}
9181	target := &ret
9182	if err := gensupport.DecodeResponse(target, res); err != nil {
9183		return nil, err
9184	}
9185	return ret, nil
9186	// {
9187	//   "description": "Creates a model which will later contain one or more versions. You must add at least one version before you can request predictions from the model. Add versions by calling projects.models.versions.create.",
9188	//   "flatPath": "v1/projects/{projectsId}/models",
9189	//   "httpMethod": "POST",
9190	//   "id": "ml.projects.models.create",
9191	//   "parameterOrder": [
9192	//     "parent"
9193	//   ],
9194	//   "parameters": {
9195	//     "parent": {
9196	//       "description": "Required. The project name.",
9197	//       "location": "path",
9198	//       "pattern": "^projects/[^/]+$",
9199	//       "required": true,
9200	//       "type": "string"
9201	//     }
9202	//   },
9203	//   "path": "v1/{+parent}/models",
9204	//   "request": {
9205	//     "$ref": "GoogleCloudMlV1__Model"
9206	//   },
9207	//   "response": {
9208	//     "$ref": "GoogleCloudMlV1__Model"
9209	//   },
9210	//   "scopes": [
9211	//     "https://www.googleapis.com/auth/cloud-platform"
9212	//   ]
9213	// }
9214
9215}
9216
9217// method id "ml.projects.models.delete":
9218
9219type ProjectsModelsDeleteCall struct {
9220	s          *Service
9221	name       string
9222	urlParams_ gensupport.URLParams
9223	ctx_       context.Context
9224	header_    http.Header
9225}
9226
9227// Delete: Deletes a model. You can only delete a model if there are no
9228// versions in it. You can delete versions by calling
9229// projects.models.versions.delete.
9230//
9231// - name: The name of the model.
9232func (r *ProjectsModelsService) Delete(name string) *ProjectsModelsDeleteCall {
9233	c := &ProjectsModelsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9234	c.name = name
9235	return c
9236}
9237
9238// Fields allows partial responses to be retrieved. See
9239// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9240// for more information.
9241func (c *ProjectsModelsDeleteCall) Fields(s ...googleapi.Field) *ProjectsModelsDeleteCall {
9242	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9243	return c
9244}
9245
9246// Context sets the context to be used in this call's Do method. Any
9247// pending HTTP request will be aborted if the provided context is
9248// canceled.
9249func (c *ProjectsModelsDeleteCall) Context(ctx context.Context) *ProjectsModelsDeleteCall {
9250	c.ctx_ = ctx
9251	return c
9252}
9253
9254// Header returns an http.Header that can be modified by the caller to
9255// add HTTP headers to the request.
9256func (c *ProjectsModelsDeleteCall) Header() http.Header {
9257	if c.header_ == nil {
9258		c.header_ = make(http.Header)
9259	}
9260	return c.header_
9261}
9262
9263func (c *ProjectsModelsDeleteCall) doRequest(alt string) (*http.Response, error) {
9264	reqHeaders := make(http.Header)
9265	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
9266	for k, v := range c.header_ {
9267		reqHeaders[k] = v
9268	}
9269	reqHeaders.Set("User-Agent", c.s.userAgent())
9270	var body io.Reader = nil
9271	c.urlParams_.Set("alt", alt)
9272	c.urlParams_.Set("prettyPrint", "false")
9273	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
9274	urls += "?" + c.urlParams_.Encode()
9275	req, err := http.NewRequest("DELETE", urls, body)
9276	if err != nil {
9277		return nil, err
9278	}
9279	req.Header = reqHeaders
9280	googleapi.Expand(req.URL, map[string]string{
9281		"name": c.name,
9282	})
9283	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9284}
9285
9286// Do executes the "ml.projects.models.delete" call.
9287// Exactly one of *GoogleLongrunning__Operation or error will be
9288// non-nil. Any non-2xx status code is an error. Response headers are in
9289// either *GoogleLongrunning__Operation.ServerResponse.Header or (if a
9290// response was returned at all) in error.(*googleapi.Error).Header. Use
9291// googleapi.IsNotModified to check whether the returned error was
9292// because http.StatusNotModified was returned.
9293func (c *ProjectsModelsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunning__Operation, error) {
9294	gensupport.SetOptions(c.urlParams_, opts...)
9295	res, err := c.doRequest("json")
9296	if res != nil && res.StatusCode == http.StatusNotModified {
9297		if res.Body != nil {
9298			res.Body.Close()
9299		}
9300		return nil, &googleapi.Error{
9301			Code:   res.StatusCode,
9302			Header: res.Header,
9303		}
9304	}
9305	if err != nil {
9306		return nil, err
9307	}
9308	defer googleapi.CloseBody(res)
9309	if err := googleapi.CheckResponse(res); err != nil {
9310		return nil, err
9311	}
9312	ret := &GoogleLongrunning__Operation{
9313		ServerResponse: googleapi.ServerResponse{
9314			Header:         res.Header,
9315			HTTPStatusCode: res.StatusCode,
9316		},
9317	}
9318	target := &ret
9319	if err := gensupport.DecodeResponse(target, res); err != nil {
9320		return nil, err
9321	}
9322	return ret, nil
9323	// {
9324	//   "description": "Deletes a model. You can only delete a model if there are no versions in it. You can delete versions by calling projects.models.versions.delete.",
9325	//   "flatPath": "v1/projects/{projectsId}/models/{modelsId}",
9326	//   "httpMethod": "DELETE",
9327	//   "id": "ml.projects.models.delete",
9328	//   "parameterOrder": [
9329	//     "name"
9330	//   ],
9331	//   "parameters": {
9332	//     "name": {
9333	//       "description": "Required. The name of the model.",
9334	//       "location": "path",
9335	//       "pattern": "^projects/[^/]+/models/[^/]+$",
9336	//       "required": true,
9337	//       "type": "string"
9338	//     }
9339	//   },
9340	//   "path": "v1/{+name}",
9341	//   "response": {
9342	//     "$ref": "GoogleLongrunning__Operation"
9343	//   },
9344	//   "scopes": [
9345	//     "https://www.googleapis.com/auth/cloud-platform"
9346	//   ]
9347	// }
9348
9349}
9350
9351// method id "ml.projects.models.get":
9352
9353type ProjectsModelsGetCall struct {
9354	s            *Service
9355	name         string
9356	urlParams_   gensupport.URLParams
9357	ifNoneMatch_ string
9358	ctx_         context.Context
9359	header_      http.Header
9360}
9361
9362// Get: Gets information about a model, including its name, the
9363// description (if set), and the default version (if at least one
9364// version of the model has been deployed).
9365//
9366// - name: The name of the model.
9367func (r *ProjectsModelsService) Get(name string) *ProjectsModelsGetCall {
9368	c := &ProjectsModelsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9369	c.name = name
9370	return c
9371}
9372
9373// Fields allows partial responses to be retrieved. See
9374// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9375// for more information.
9376func (c *ProjectsModelsGetCall) Fields(s ...googleapi.Field) *ProjectsModelsGetCall {
9377	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9378	return c
9379}
9380
9381// IfNoneMatch sets the optional parameter which makes the operation
9382// fail if the object's ETag matches the given value. This is useful for
9383// getting updates only after the object has changed since the last
9384// request. Use googleapi.IsNotModified to check whether the response
9385// error from Do is the result of In-None-Match.
9386func (c *ProjectsModelsGetCall) IfNoneMatch(entityTag string) *ProjectsModelsGetCall {
9387	c.ifNoneMatch_ = entityTag
9388	return c
9389}
9390
9391// Context sets the context to be used in this call's Do method. Any
9392// pending HTTP request will be aborted if the provided context is
9393// canceled.
9394func (c *ProjectsModelsGetCall) Context(ctx context.Context) *ProjectsModelsGetCall {
9395	c.ctx_ = ctx
9396	return c
9397}
9398
9399// Header returns an http.Header that can be modified by the caller to
9400// add HTTP headers to the request.
9401func (c *ProjectsModelsGetCall) Header() http.Header {
9402	if c.header_ == nil {
9403		c.header_ = make(http.Header)
9404	}
9405	return c.header_
9406}
9407
9408func (c *ProjectsModelsGetCall) doRequest(alt string) (*http.Response, error) {
9409	reqHeaders := make(http.Header)
9410	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
9411	for k, v := range c.header_ {
9412		reqHeaders[k] = v
9413	}
9414	reqHeaders.Set("User-Agent", c.s.userAgent())
9415	if c.ifNoneMatch_ != "" {
9416		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
9417	}
9418	var body io.Reader = nil
9419	c.urlParams_.Set("alt", alt)
9420	c.urlParams_.Set("prettyPrint", "false")
9421	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
9422	urls += "?" + c.urlParams_.Encode()
9423	req, err := http.NewRequest("GET", urls, body)
9424	if err != nil {
9425		return nil, err
9426	}
9427	req.Header = reqHeaders
9428	googleapi.Expand(req.URL, map[string]string{
9429		"name": c.name,
9430	})
9431	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9432}
9433
9434// Do executes the "ml.projects.models.get" call.
9435// Exactly one of *GoogleCloudMlV1__Model or error will be non-nil. Any
9436// non-2xx status code is an error. Response headers are in either
9437// *GoogleCloudMlV1__Model.ServerResponse.Header or (if a response was
9438// returned at all) in error.(*googleapi.Error).Header. Use
9439// googleapi.IsNotModified to check whether the returned error was
9440// because http.StatusNotModified was returned.
9441func (c *ProjectsModelsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudMlV1__Model, error) {
9442	gensupport.SetOptions(c.urlParams_, opts...)
9443	res, err := c.doRequest("json")
9444	if res != nil && res.StatusCode == http.StatusNotModified {
9445		if res.Body != nil {
9446			res.Body.Close()
9447		}
9448		return nil, &googleapi.Error{
9449			Code:   res.StatusCode,
9450			Header: res.Header,
9451		}
9452	}
9453	if err != nil {
9454		return nil, err
9455	}
9456	defer googleapi.CloseBody(res)
9457	if err := googleapi.CheckResponse(res); err != nil {
9458		return nil, err
9459	}
9460	ret := &GoogleCloudMlV1__Model{
9461		ServerResponse: googleapi.ServerResponse{
9462			Header:         res.Header,
9463			HTTPStatusCode: res.StatusCode,
9464		},
9465	}
9466	target := &ret
9467	if err := gensupport.DecodeResponse(target, res); err != nil {
9468		return nil, err
9469	}
9470	return ret, nil
9471	// {
9472	//   "description": "Gets information about a model, including its name, the description (if set), and the default version (if at least one version of the model has been deployed).",
9473	//   "flatPath": "v1/projects/{projectsId}/models/{modelsId}",
9474	//   "httpMethod": "GET",
9475	//   "id": "ml.projects.models.get",
9476	//   "parameterOrder": [
9477	//     "name"
9478	//   ],
9479	//   "parameters": {
9480	//     "name": {
9481	//       "description": "Required. The name of the model.",
9482	//       "location": "path",
9483	//       "pattern": "^projects/[^/]+/models/[^/]+$",
9484	//       "required": true,
9485	//       "type": "string"
9486	//     }
9487	//   },
9488	//   "path": "v1/{+name}",
9489	//   "response": {
9490	//     "$ref": "GoogleCloudMlV1__Model"
9491	//   },
9492	//   "scopes": [
9493	//     "https://www.googleapis.com/auth/cloud-platform",
9494	//     "https://www.googleapis.com/auth/cloud-platform.read-only"
9495	//   ]
9496	// }
9497
9498}
9499
9500// method id "ml.projects.models.getIamPolicy":
9501
9502type ProjectsModelsGetIamPolicyCall struct {
9503	s            *Service
9504	resource     string
9505	urlParams_   gensupport.URLParams
9506	ifNoneMatch_ string
9507	ctx_         context.Context
9508	header_      http.Header
9509}
9510
9511// GetIamPolicy: Gets the access control policy for a resource. Returns
9512// an empty policy if the resource exists and does not have a policy
9513// set.
9514//
9515// - resource: REQUIRED: The resource for which the policy is being
9516//   requested. See the operation documentation for the appropriate
9517//   value for this field.
9518func (r *ProjectsModelsService) GetIamPolicy(resource string) *ProjectsModelsGetIamPolicyCall {
9519	c := &ProjectsModelsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9520	c.resource = resource
9521	return c
9522}
9523
9524// OptionsRequestedPolicyVersion sets the optional parameter
9525// "options.requestedPolicyVersion": The policy format version to be
9526// returned. Valid values are 0, 1, and 3. Requests specifying an
9527// invalid value will be rejected. Requests for policies with any
9528// conditional bindings must specify version 3. Policies without any
9529// conditional bindings may specify any valid value or leave the field
9530// unset. To learn which resources support conditions in their IAM
9531// policies, see the IAM documentation
9532// (https://cloud.google.com/iam/help/conditions/resource-policies).
9533func (c *ProjectsModelsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsModelsGetIamPolicyCall {
9534	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
9535	return c
9536}
9537
9538// Fields allows partial responses to be retrieved. See
9539// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9540// for more information.
9541func (c *ProjectsModelsGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsModelsGetIamPolicyCall {
9542	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9543	return c
9544}
9545
9546// IfNoneMatch sets the optional parameter which makes the operation
9547// fail if the object's ETag matches the given value. This is useful for
9548// getting updates only after the object has changed since the last
9549// request. Use googleapi.IsNotModified to check whether the response
9550// error from Do is the result of In-None-Match.
9551func (c *ProjectsModelsGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsModelsGetIamPolicyCall {
9552	c.ifNoneMatch_ = entityTag
9553	return c
9554}
9555
9556// Context sets the context to be used in this call's Do method. Any
9557// pending HTTP request will be aborted if the provided context is
9558// canceled.
9559func (c *ProjectsModelsGetIamPolicyCall) Context(ctx context.Context) *ProjectsModelsGetIamPolicyCall {
9560	c.ctx_ = ctx
9561	return c
9562}
9563
9564// Header returns an http.Header that can be modified by the caller to
9565// add HTTP headers to the request.
9566func (c *ProjectsModelsGetIamPolicyCall) Header() http.Header {
9567	if c.header_ == nil {
9568		c.header_ = make(http.Header)
9569	}
9570	return c.header_
9571}
9572
9573func (c *ProjectsModelsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
9574	reqHeaders := make(http.Header)
9575	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
9576	for k, v := range c.header_ {
9577		reqHeaders[k] = v
9578	}
9579	reqHeaders.Set("User-Agent", c.s.userAgent())
9580	if c.ifNoneMatch_ != "" {
9581		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
9582	}
9583	var body io.Reader = nil
9584	c.urlParams_.Set("alt", alt)
9585	c.urlParams_.Set("prettyPrint", "false")
9586	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:getIamPolicy")
9587	urls += "?" + c.urlParams_.Encode()
9588	req, err := http.NewRequest("GET", urls, body)
9589	if err != nil {
9590		return nil, err
9591	}
9592	req.Header = reqHeaders
9593	googleapi.Expand(req.URL, map[string]string{
9594		"resource": c.resource,
9595	})
9596	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9597}
9598
9599// Do executes the "ml.projects.models.getIamPolicy" call.
9600// Exactly one of *GoogleIamV1__Policy or error will be non-nil. Any
9601// non-2xx status code is an error. Response headers are in either
9602// *GoogleIamV1__Policy.ServerResponse.Header or (if a response was
9603// returned at all) in error.(*googleapi.Error).Header. Use
9604// googleapi.IsNotModified to check whether the returned error was
9605// because http.StatusNotModified was returned.
9606func (c *ProjectsModelsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*GoogleIamV1__Policy, error) {
9607	gensupport.SetOptions(c.urlParams_, opts...)
9608	res, err := c.doRequest("json")
9609	if res != nil && res.StatusCode == http.StatusNotModified {
9610		if res.Body != nil {
9611			res.Body.Close()
9612		}
9613		return nil, &googleapi.Error{
9614			Code:   res.StatusCode,
9615			Header: res.Header,
9616		}
9617	}
9618	if err != nil {
9619		return nil, err
9620	}
9621	defer googleapi.CloseBody(res)
9622	if err := googleapi.CheckResponse(res); err != nil {
9623		return nil, err
9624	}
9625	ret := &GoogleIamV1__Policy{
9626		ServerResponse: googleapi.ServerResponse{
9627			Header:         res.Header,
9628			HTTPStatusCode: res.StatusCode,
9629		},
9630	}
9631	target := &ret
9632	if err := gensupport.DecodeResponse(target, res); err != nil {
9633		return nil, err
9634	}
9635	return ret, nil
9636	// {
9637	//   "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
9638	//   "flatPath": "v1/projects/{projectsId}/models/{modelsId}:getIamPolicy",
9639	//   "httpMethod": "GET",
9640	//   "id": "ml.projects.models.getIamPolicy",
9641	//   "parameterOrder": [
9642	//     "resource"
9643	//   ],
9644	//   "parameters": {
9645	//     "options.requestedPolicyVersion": {
9646	//       "description": "Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
9647	//       "format": "int32",
9648	//       "location": "query",
9649	//       "type": "integer"
9650	//     },
9651	//     "resource": {
9652	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
9653	//       "location": "path",
9654	//       "pattern": "^projects/[^/]+/models/[^/]+$",
9655	//       "required": true,
9656	//       "type": "string"
9657	//     }
9658	//   },
9659	//   "path": "v1/{+resource}:getIamPolicy",
9660	//   "response": {
9661	//     "$ref": "GoogleIamV1__Policy"
9662	//   },
9663	//   "scopes": [
9664	//     "https://www.googleapis.com/auth/cloud-platform"
9665	//   ]
9666	// }
9667
9668}
9669
9670// method id "ml.projects.models.list":
9671
9672type ProjectsModelsListCall struct {
9673	s            *Service
9674	parent       string
9675	urlParams_   gensupport.URLParams
9676	ifNoneMatch_ string
9677	ctx_         context.Context
9678	header_      http.Header
9679}
9680
9681// List: Lists the models in a project. Each project can contain
9682// multiple models, and each model can have multiple versions. If there
9683// are no models that match the request parameters, the list request
9684// returns an empty response body: {}.
9685//
9686// - parent: The name of the project whose models are to be listed.
9687func (r *ProjectsModelsService) List(parent string) *ProjectsModelsListCall {
9688	c := &ProjectsModelsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9689	c.parent = parent
9690	return c
9691}
9692
9693// Filter sets the optional parameter "filter": Specifies the subset of
9694// models to retrieve.
9695func (c *ProjectsModelsListCall) Filter(filter string) *ProjectsModelsListCall {
9696	c.urlParams_.Set("filter", filter)
9697	return c
9698}
9699
9700// PageSize sets the optional parameter "pageSize": The number of models
9701// to retrieve per "page" of results. If there are more remaining
9702// results than this number, the response message will contain a valid
9703// value in the `next_page_token` field. The default value is 20, and
9704// the maximum page size is 100.
9705func (c *ProjectsModelsListCall) PageSize(pageSize int64) *ProjectsModelsListCall {
9706	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
9707	return c
9708}
9709
9710// PageToken sets the optional parameter "pageToken": A page token to
9711// request the next page of results. You get the token from the
9712// `next_page_token` field of the response from the previous call.
9713func (c *ProjectsModelsListCall) PageToken(pageToken string) *ProjectsModelsListCall {
9714	c.urlParams_.Set("pageToken", pageToken)
9715	return c
9716}
9717
9718// Fields allows partial responses to be retrieved. See
9719// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9720// for more information.
9721func (c *ProjectsModelsListCall) Fields(s ...googleapi.Field) *ProjectsModelsListCall {
9722	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9723	return c
9724}
9725
9726// IfNoneMatch sets the optional parameter which makes the operation
9727// fail if the object's ETag matches the given value. This is useful for
9728// getting updates only after the object has changed since the last
9729// request. Use googleapi.IsNotModified to check whether the response
9730// error from Do is the result of In-None-Match.
9731func (c *ProjectsModelsListCall) IfNoneMatch(entityTag string) *ProjectsModelsListCall {
9732	c.ifNoneMatch_ = entityTag
9733	return c
9734}
9735
9736// Context sets the context to be used in this call's Do method. Any
9737// pending HTTP request will be aborted if the provided context is
9738// canceled.
9739func (c *ProjectsModelsListCall) Context(ctx context.Context) *ProjectsModelsListCall {
9740	c.ctx_ = ctx
9741	return c
9742}
9743
9744// Header returns an http.Header that can be modified by the caller to
9745// add HTTP headers to the request.
9746func (c *ProjectsModelsListCall) Header() http.Header {
9747	if c.header_ == nil {
9748		c.header_ = make(http.Header)
9749	}
9750	return c.header_
9751}
9752
9753func (c *ProjectsModelsListCall) doRequest(alt string) (*http.Response, error) {
9754	reqHeaders := make(http.Header)
9755	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
9756	for k, v := range c.header_ {
9757		reqHeaders[k] = v
9758	}
9759	reqHeaders.Set("User-Agent", c.s.userAgent())
9760	if c.ifNoneMatch_ != "" {
9761		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
9762	}
9763	var body io.Reader = nil
9764	c.urlParams_.Set("alt", alt)
9765	c.urlParams_.Set("prettyPrint", "false")
9766	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/models")
9767	urls += "?" + c.urlParams_.Encode()
9768	req, err := http.NewRequest("GET", urls, body)
9769	if err != nil {
9770		return nil, err
9771	}
9772	req.Header = reqHeaders
9773	googleapi.Expand(req.URL, map[string]string{
9774		"parent": c.parent,
9775	})
9776	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9777}
9778
9779// Do executes the "ml.projects.models.list" call.
9780// Exactly one of *GoogleCloudMlV1__ListModelsResponse or error will be
9781// non-nil. Any non-2xx status code is an error. Response headers are in
9782// either *GoogleCloudMlV1__ListModelsResponse.ServerResponse.Header or
9783// (if a response was returned at all) in
9784// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
9785// whether the returned error was because http.StatusNotModified was
9786// returned.
9787func (c *ProjectsModelsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudMlV1__ListModelsResponse, error) {
9788	gensupport.SetOptions(c.urlParams_, opts...)
9789	res, err := c.doRequest("json")
9790	if res != nil && res.StatusCode == http.StatusNotModified {
9791		if res.Body != nil {
9792			res.Body.Close()
9793		}
9794		return nil, &googleapi.Error{
9795			Code:   res.StatusCode,
9796			Header: res.Header,
9797		}
9798	}
9799	if err != nil {
9800		return nil, err
9801	}
9802	defer googleapi.CloseBody(res)
9803	if err := googleapi.CheckResponse(res); err != nil {
9804		return nil, err
9805	}
9806	ret := &GoogleCloudMlV1__ListModelsResponse{
9807		ServerResponse: googleapi.ServerResponse{
9808			Header:         res.Header,
9809			HTTPStatusCode: res.StatusCode,
9810		},
9811	}
9812	target := &ret
9813	if err := gensupport.DecodeResponse(target, res); err != nil {
9814		return nil, err
9815	}
9816	return ret, nil
9817	// {
9818	//   "description": "Lists the models in a project. Each project can contain multiple models, and each model can have multiple versions. If there are no models that match the request parameters, the list request returns an empty response body: {}.",
9819	//   "flatPath": "v1/projects/{projectsId}/models",
9820	//   "httpMethod": "GET",
9821	//   "id": "ml.projects.models.list",
9822	//   "parameterOrder": [
9823	//     "parent"
9824	//   ],
9825	//   "parameters": {
9826	//     "filter": {
9827	//       "description": "Optional. Specifies the subset of models to retrieve.",
9828	//       "location": "query",
9829	//       "type": "string"
9830	//     },
9831	//     "pageSize": {
9832	//       "description": "Optional. The number of models to retrieve per \"page\" of results. If there are more remaining results than this number, the response message will contain a valid value in the `next_page_token` field. The default value is 20, and the maximum page size is 100.",
9833	//       "format": "int32",
9834	//       "location": "query",
9835	//       "type": "integer"
9836	//     },
9837	//     "pageToken": {
9838	//       "description": "Optional. A page token to request the next page of results. You get the token from the `next_page_token` field of the response from the previous call.",
9839	//       "location": "query",
9840	//       "type": "string"
9841	//     },
9842	//     "parent": {
9843	//       "description": "Required. The name of the project whose models are to be listed.",
9844	//       "location": "path",
9845	//       "pattern": "^projects/[^/]+$",
9846	//       "required": true,
9847	//       "type": "string"
9848	//     }
9849	//   },
9850	//   "path": "v1/{+parent}/models",
9851	//   "response": {
9852	//     "$ref": "GoogleCloudMlV1__ListModelsResponse"
9853	//   },
9854	//   "scopes": [
9855	//     "https://www.googleapis.com/auth/cloud-platform",
9856	//     "https://www.googleapis.com/auth/cloud-platform.read-only"
9857	//   ]
9858	// }
9859
9860}
9861
9862// Pages invokes f for each page of results.
9863// A non-nil error returned from f will halt the iteration.
9864// The provided context supersedes any context provided to the Context method.
9865func (c *ProjectsModelsListCall) Pages(ctx context.Context, f func(*GoogleCloudMlV1__ListModelsResponse) error) error {
9866	c.ctx_ = ctx
9867	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
9868	for {
9869		x, err := c.Do()
9870		if err != nil {
9871			return err
9872		}
9873		if err := f(x); err != nil {
9874			return err
9875		}
9876		if x.NextPageToken == "" {
9877			return nil
9878		}
9879		c.PageToken(x.NextPageToken)
9880	}
9881}
9882
9883// method id "ml.projects.models.patch":
9884
9885type ProjectsModelsPatchCall struct {
9886	s                      *Service
9887	name                   string
9888	googlecloudmlv1__model *GoogleCloudMlV1__Model
9889	urlParams_             gensupport.URLParams
9890	ctx_                   context.Context
9891	header_                http.Header
9892}
9893
9894// Patch: Updates a specific model resource. Currently the only
9895// supported fields to update are `description` and
9896// `default_version.name`.
9897//
9898// - name: The project name.
9899func (r *ProjectsModelsService) Patch(name string, googlecloudmlv1__model *GoogleCloudMlV1__Model) *ProjectsModelsPatchCall {
9900	c := &ProjectsModelsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9901	c.name = name
9902	c.googlecloudmlv1__model = googlecloudmlv1__model
9903	return c
9904}
9905
9906// UpdateMask sets the optional parameter "updateMask": Required.
9907// Specifies the path, relative to `Model`, of the field to update. For
9908// example, to change the description of a model to "foo" and set its
9909// default version to "version_1", the `update_mask` parameter would be
9910// specified as `description`, `default_version.name`, and the `PATCH`
9911// request body would specify the new value, as follows: {
9912// "description": "foo", "defaultVersion": { "name":"version_1" } }
9913// Currently the supported update masks are `description` and
9914// `default_version.name`.
9915func (c *ProjectsModelsPatchCall) UpdateMask(updateMask string) *ProjectsModelsPatchCall {
9916	c.urlParams_.Set("updateMask", updateMask)
9917	return c
9918}
9919
9920// Fields allows partial responses to be retrieved. See
9921// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9922// for more information.
9923func (c *ProjectsModelsPatchCall) Fields(s ...googleapi.Field) *ProjectsModelsPatchCall {
9924	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9925	return c
9926}
9927
9928// Context sets the context to be used in this call's Do method. Any
9929// pending HTTP request will be aborted if the provided context is
9930// canceled.
9931func (c *ProjectsModelsPatchCall) Context(ctx context.Context) *ProjectsModelsPatchCall {
9932	c.ctx_ = ctx
9933	return c
9934}
9935
9936// Header returns an http.Header that can be modified by the caller to
9937// add HTTP headers to the request.
9938func (c *ProjectsModelsPatchCall) Header() http.Header {
9939	if c.header_ == nil {
9940		c.header_ = make(http.Header)
9941	}
9942	return c.header_
9943}
9944
9945func (c *ProjectsModelsPatchCall) doRequest(alt string) (*http.Response, error) {
9946	reqHeaders := make(http.Header)
9947	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
9948	for k, v := range c.header_ {
9949		reqHeaders[k] = v
9950	}
9951	reqHeaders.Set("User-Agent", c.s.userAgent())
9952	var body io.Reader = nil
9953	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudmlv1__model)
9954	if err != nil {
9955		return nil, err
9956	}
9957	reqHeaders.Set("Content-Type", "application/json")
9958	c.urlParams_.Set("alt", alt)
9959	c.urlParams_.Set("prettyPrint", "false")
9960	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
9961	urls += "?" + c.urlParams_.Encode()
9962	req, err := http.NewRequest("PATCH", urls, body)
9963	if err != nil {
9964		return nil, err
9965	}
9966	req.Header = reqHeaders
9967	googleapi.Expand(req.URL, map[string]string{
9968		"name": c.name,
9969	})
9970	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9971}
9972
9973// Do executes the "ml.projects.models.patch" call.
9974// Exactly one of *GoogleLongrunning__Operation or error will be
9975// non-nil. Any non-2xx status code is an error. Response headers are in
9976// either *GoogleLongrunning__Operation.ServerResponse.Header or (if a
9977// response was returned at all) in error.(*googleapi.Error).Header. Use
9978// googleapi.IsNotModified to check whether the returned error was
9979// because http.StatusNotModified was returned.
9980func (c *ProjectsModelsPatchCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunning__Operation, error) {
9981	gensupport.SetOptions(c.urlParams_, opts...)
9982	res, err := c.doRequest("json")
9983	if res != nil && res.StatusCode == http.StatusNotModified {
9984		if res.Body != nil {
9985			res.Body.Close()
9986		}
9987		return nil, &googleapi.Error{
9988			Code:   res.StatusCode,
9989			Header: res.Header,
9990		}
9991	}
9992	if err != nil {
9993		return nil, err
9994	}
9995	defer googleapi.CloseBody(res)
9996	if err := googleapi.CheckResponse(res); err != nil {
9997		return nil, err
9998	}
9999	ret := &GoogleLongrunning__Operation{
10000		ServerResponse: googleapi.ServerResponse{
10001			Header:         res.Header,
10002			HTTPStatusCode: res.StatusCode,
10003		},
10004	}
10005	target := &ret
10006	if err := gensupport.DecodeResponse(target, res); err != nil {
10007		return nil, err
10008	}
10009	return ret, nil
10010	// {
10011	//   "description": "Updates a specific model resource. Currently the only supported fields to update are `description` and `default_version.name`.",
10012	//   "flatPath": "v1/projects/{projectsId}/models/{modelsId}",
10013	//   "httpMethod": "PATCH",
10014	//   "id": "ml.projects.models.patch",
10015	//   "parameterOrder": [
10016	//     "name"
10017	//   ],
10018	//   "parameters": {
10019	//     "name": {
10020	//       "description": "Required. The project name.",
10021	//       "location": "path",
10022	//       "pattern": "^projects/[^/]+/models/[^/]+$",
10023	//       "required": true,
10024	//       "type": "string"
10025	//     },
10026	//     "updateMask": {
10027	//       "description": "Required. Specifies the path, relative to `Model`, of the field to update. For example, to change the description of a model to \"foo\" and set its default version to \"version_1\", the `update_mask` parameter would be specified as `description`, `default_version.name`, and the `PATCH` request body would specify the new value, as follows: { \"description\": \"foo\", \"defaultVersion\": { \"name\":\"version_1\" } } Currently the supported update masks are `description` and `default_version.name`.",
10028	//       "format": "google-fieldmask",
10029	//       "location": "query",
10030	//       "type": "string"
10031	//     }
10032	//   },
10033	//   "path": "v1/{+name}",
10034	//   "request": {
10035	//     "$ref": "GoogleCloudMlV1__Model"
10036	//   },
10037	//   "response": {
10038	//     "$ref": "GoogleLongrunning__Operation"
10039	//   },
10040	//   "scopes": [
10041	//     "https://www.googleapis.com/auth/cloud-platform"
10042	//   ]
10043	// }
10044
10045}
10046
10047// method id "ml.projects.models.setIamPolicy":
10048
10049type ProjectsModelsSetIamPolicyCall struct {
10050	s                                *Service
10051	resource                         string
10052	googleiamv1__setiampolicyrequest *GoogleIamV1__SetIamPolicyRequest
10053	urlParams_                       gensupport.URLParams
10054	ctx_                             context.Context
10055	header_                          http.Header
10056}
10057
10058// SetIamPolicy: Sets the access control policy on the specified
10059// resource. Replaces any existing policy. Can return `NOT_FOUND`,
10060// `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.
10061//
10062// - resource: REQUIRED: The resource for which the policy is being
10063//   specified. See the operation documentation for the appropriate
10064//   value for this field.
10065func (r *ProjectsModelsService) SetIamPolicy(resource string, googleiamv1__setiampolicyrequest *GoogleIamV1__SetIamPolicyRequest) *ProjectsModelsSetIamPolicyCall {
10066	c := &ProjectsModelsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10067	c.resource = resource
10068	c.googleiamv1__setiampolicyrequest = googleiamv1__setiampolicyrequest
10069	return c
10070}
10071
10072// Fields allows partial responses to be retrieved. See
10073// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10074// for more information.
10075func (c *ProjectsModelsSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsModelsSetIamPolicyCall {
10076	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10077	return c
10078}
10079
10080// Context sets the context to be used in this call's Do method. Any
10081// pending HTTP request will be aborted if the provided context is
10082// canceled.
10083func (c *ProjectsModelsSetIamPolicyCall) Context(ctx context.Context) *ProjectsModelsSetIamPolicyCall {
10084	c.ctx_ = ctx
10085	return c
10086}
10087
10088// Header returns an http.Header that can be modified by the caller to
10089// add HTTP headers to the request.
10090func (c *ProjectsModelsSetIamPolicyCall) Header() http.Header {
10091	if c.header_ == nil {
10092		c.header_ = make(http.Header)
10093	}
10094	return c.header_
10095}
10096
10097func (c *ProjectsModelsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
10098	reqHeaders := make(http.Header)
10099	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
10100	for k, v := range c.header_ {
10101		reqHeaders[k] = v
10102	}
10103	reqHeaders.Set("User-Agent", c.s.userAgent())
10104	var body io.Reader = nil
10105	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleiamv1__setiampolicyrequest)
10106	if err != nil {
10107		return nil, err
10108	}
10109	reqHeaders.Set("Content-Type", "application/json")
10110	c.urlParams_.Set("alt", alt)
10111	c.urlParams_.Set("prettyPrint", "false")
10112	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:setIamPolicy")
10113	urls += "?" + c.urlParams_.Encode()
10114	req, err := http.NewRequest("POST", urls, body)
10115	if err != nil {
10116		return nil, err
10117	}
10118	req.Header = reqHeaders
10119	googleapi.Expand(req.URL, map[string]string{
10120		"resource": c.resource,
10121	})
10122	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10123}
10124
10125// Do executes the "ml.projects.models.setIamPolicy" call.
10126// Exactly one of *GoogleIamV1__Policy or error will be non-nil. Any
10127// non-2xx status code is an error. Response headers are in either
10128// *GoogleIamV1__Policy.ServerResponse.Header or (if a response was
10129// returned at all) in error.(*googleapi.Error).Header. Use
10130// googleapi.IsNotModified to check whether the returned error was
10131// because http.StatusNotModified was returned.
10132func (c *ProjectsModelsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*GoogleIamV1__Policy, error) {
10133	gensupport.SetOptions(c.urlParams_, opts...)
10134	res, err := c.doRequest("json")
10135	if res != nil && res.StatusCode == http.StatusNotModified {
10136		if res.Body != nil {
10137			res.Body.Close()
10138		}
10139		return nil, &googleapi.Error{
10140			Code:   res.StatusCode,
10141			Header: res.Header,
10142		}
10143	}
10144	if err != nil {
10145		return nil, err
10146	}
10147	defer googleapi.CloseBody(res)
10148	if err := googleapi.CheckResponse(res); err != nil {
10149		return nil, err
10150	}
10151	ret := &GoogleIamV1__Policy{
10152		ServerResponse: googleapi.ServerResponse{
10153			Header:         res.Header,
10154			HTTPStatusCode: res.StatusCode,
10155		},
10156	}
10157	target := &ret
10158	if err := gensupport.DecodeResponse(target, res); err != nil {
10159		return nil, err
10160	}
10161	return ret, nil
10162	// {
10163	//   "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
10164	//   "flatPath": "v1/projects/{projectsId}/models/{modelsId}:setIamPolicy",
10165	//   "httpMethod": "POST",
10166	//   "id": "ml.projects.models.setIamPolicy",
10167	//   "parameterOrder": [
10168	//     "resource"
10169	//   ],
10170	//   "parameters": {
10171	//     "resource": {
10172	//       "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
10173	//       "location": "path",
10174	//       "pattern": "^projects/[^/]+/models/[^/]+$",
10175	//       "required": true,
10176	//       "type": "string"
10177	//     }
10178	//   },
10179	//   "path": "v1/{+resource}:setIamPolicy",
10180	//   "request": {
10181	//     "$ref": "GoogleIamV1__SetIamPolicyRequest"
10182	//   },
10183	//   "response": {
10184	//     "$ref": "GoogleIamV1__Policy"
10185	//   },
10186	//   "scopes": [
10187	//     "https://www.googleapis.com/auth/cloud-platform"
10188	//   ]
10189	// }
10190
10191}
10192
10193// method id "ml.projects.models.testIamPermissions":
10194
10195type ProjectsModelsTestIamPermissionsCall struct {
10196	s                                      *Service
10197	resource                               string
10198	googleiamv1__testiampermissionsrequest *GoogleIamV1__TestIamPermissionsRequest
10199	urlParams_                             gensupport.URLParams
10200	ctx_                                   context.Context
10201	header_                                http.Header
10202}
10203
10204// TestIamPermissions: Returns permissions that a caller has on the
10205// specified resource. If the resource does not exist, this will return
10206// an empty set of permissions, not a `NOT_FOUND` error. Note: This
10207// operation is designed to be used for building permission-aware UIs
10208// and command-line tools, not for authorization checking. This
10209// operation may "fail open" without warning.
10210//
10211// - resource: REQUIRED: The resource for which the policy detail is
10212//   being requested. See the operation documentation for the
10213//   appropriate value for this field.
10214func (r *ProjectsModelsService) TestIamPermissions(resource string, googleiamv1__testiampermissionsrequest *GoogleIamV1__TestIamPermissionsRequest) *ProjectsModelsTestIamPermissionsCall {
10215	c := &ProjectsModelsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10216	c.resource = resource
10217	c.googleiamv1__testiampermissionsrequest = googleiamv1__testiampermissionsrequest
10218	return c
10219}
10220
10221// Fields allows partial responses to be retrieved. See
10222// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10223// for more information.
10224func (c *ProjectsModelsTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsModelsTestIamPermissionsCall {
10225	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10226	return c
10227}
10228
10229// Context sets the context to be used in this call's Do method. Any
10230// pending HTTP request will be aborted if the provided context is
10231// canceled.
10232func (c *ProjectsModelsTestIamPermissionsCall) Context(ctx context.Context) *ProjectsModelsTestIamPermissionsCall {
10233	c.ctx_ = ctx
10234	return c
10235}
10236
10237// Header returns an http.Header that can be modified by the caller to
10238// add HTTP headers to the request.
10239func (c *ProjectsModelsTestIamPermissionsCall) Header() http.Header {
10240	if c.header_ == nil {
10241		c.header_ = make(http.Header)
10242	}
10243	return c.header_
10244}
10245
10246func (c *ProjectsModelsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
10247	reqHeaders := make(http.Header)
10248	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
10249	for k, v := range c.header_ {
10250		reqHeaders[k] = v
10251	}
10252	reqHeaders.Set("User-Agent", c.s.userAgent())
10253	var body io.Reader = nil
10254	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleiamv1__testiampermissionsrequest)
10255	if err != nil {
10256		return nil, err
10257	}
10258	reqHeaders.Set("Content-Type", "application/json")
10259	c.urlParams_.Set("alt", alt)
10260	c.urlParams_.Set("prettyPrint", "false")
10261	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:testIamPermissions")
10262	urls += "?" + c.urlParams_.Encode()
10263	req, err := http.NewRequest("POST", urls, body)
10264	if err != nil {
10265		return nil, err
10266	}
10267	req.Header = reqHeaders
10268	googleapi.Expand(req.URL, map[string]string{
10269		"resource": c.resource,
10270	})
10271	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10272}
10273
10274// Do executes the "ml.projects.models.testIamPermissions" call.
10275// Exactly one of *GoogleIamV1__TestIamPermissionsResponse or error will
10276// be non-nil. Any non-2xx status code is an error. Response headers are
10277// in either
10278// *GoogleIamV1__TestIamPermissionsResponse.ServerResponse.Header or (if
10279// a response was returned at all) in error.(*googleapi.Error).Header.
10280// Use googleapi.IsNotModified to check whether the returned error was
10281// because http.StatusNotModified was returned.
10282func (c *ProjectsModelsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*GoogleIamV1__TestIamPermissionsResponse, error) {
10283	gensupport.SetOptions(c.urlParams_, opts...)
10284	res, err := c.doRequest("json")
10285	if res != nil && res.StatusCode == http.StatusNotModified {
10286		if res.Body != nil {
10287			res.Body.Close()
10288		}
10289		return nil, &googleapi.Error{
10290			Code:   res.StatusCode,
10291			Header: res.Header,
10292		}
10293	}
10294	if err != nil {
10295		return nil, err
10296	}
10297	defer googleapi.CloseBody(res)
10298	if err := googleapi.CheckResponse(res); err != nil {
10299		return nil, err
10300	}
10301	ret := &GoogleIamV1__TestIamPermissionsResponse{
10302		ServerResponse: googleapi.ServerResponse{
10303			Header:         res.Header,
10304			HTTPStatusCode: res.StatusCode,
10305		},
10306	}
10307	target := &ret
10308	if err := gensupport.DecodeResponse(target, res); err != nil {
10309		return nil, err
10310	}
10311	return ret, nil
10312	// {
10313	//   "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
10314	//   "flatPath": "v1/projects/{projectsId}/models/{modelsId}:testIamPermissions",
10315	//   "httpMethod": "POST",
10316	//   "id": "ml.projects.models.testIamPermissions",
10317	//   "parameterOrder": [
10318	//     "resource"
10319	//   ],
10320	//   "parameters": {
10321	//     "resource": {
10322	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
10323	//       "location": "path",
10324	//       "pattern": "^projects/[^/]+/models/[^/]+$",
10325	//       "required": true,
10326	//       "type": "string"
10327	//     }
10328	//   },
10329	//   "path": "v1/{+resource}:testIamPermissions",
10330	//   "request": {
10331	//     "$ref": "GoogleIamV1__TestIamPermissionsRequest"
10332	//   },
10333	//   "response": {
10334	//     "$ref": "GoogleIamV1__TestIamPermissionsResponse"
10335	//   },
10336	//   "scopes": [
10337	//     "https://www.googleapis.com/auth/cloud-platform"
10338	//   ]
10339	// }
10340
10341}
10342
10343// method id "ml.projects.models.versions.create":
10344
10345type ProjectsModelsVersionsCreateCall struct {
10346	s                        *Service
10347	parent                   string
10348	googlecloudmlv1__version *GoogleCloudMlV1__Version
10349	urlParams_               gensupport.URLParams
10350	ctx_                     context.Context
10351	header_                  http.Header
10352}
10353
10354// Create: Creates a new version of a model from a trained TensorFlow
10355// model. If the version created in the cloud by this call is the first
10356// deployed version of the specified model, it will be made the default
10357// version of the model. When you add a version to a model that already
10358// has one or more versions, the default version does not automatically
10359// change. If you want a new version to be the default, you must call
10360// projects.models.versions.setDefault.
10361//
10362// - parent: The name of the model.
10363func (r *ProjectsModelsVersionsService) Create(parent string, googlecloudmlv1__version *GoogleCloudMlV1__Version) *ProjectsModelsVersionsCreateCall {
10364	c := &ProjectsModelsVersionsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10365	c.parent = parent
10366	c.googlecloudmlv1__version = googlecloudmlv1__version
10367	return c
10368}
10369
10370// Fields allows partial responses to be retrieved. See
10371// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10372// for more information.
10373func (c *ProjectsModelsVersionsCreateCall) Fields(s ...googleapi.Field) *ProjectsModelsVersionsCreateCall {
10374	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10375	return c
10376}
10377
10378// Context sets the context to be used in this call's Do method. Any
10379// pending HTTP request will be aborted if the provided context is
10380// canceled.
10381func (c *ProjectsModelsVersionsCreateCall) Context(ctx context.Context) *ProjectsModelsVersionsCreateCall {
10382	c.ctx_ = ctx
10383	return c
10384}
10385
10386// Header returns an http.Header that can be modified by the caller to
10387// add HTTP headers to the request.
10388func (c *ProjectsModelsVersionsCreateCall) Header() http.Header {
10389	if c.header_ == nil {
10390		c.header_ = make(http.Header)
10391	}
10392	return c.header_
10393}
10394
10395func (c *ProjectsModelsVersionsCreateCall) doRequest(alt string) (*http.Response, error) {
10396	reqHeaders := make(http.Header)
10397	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
10398	for k, v := range c.header_ {
10399		reqHeaders[k] = v
10400	}
10401	reqHeaders.Set("User-Agent", c.s.userAgent())
10402	var body io.Reader = nil
10403	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudmlv1__version)
10404	if err != nil {
10405		return nil, err
10406	}
10407	reqHeaders.Set("Content-Type", "application/json")
10408	c.urlParams_.Set("alt", alt)
10409	c.urlParams_.Set("prettyPrint", "false")
10410	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/versions")
10411	urls += "?" + c.urlParams_.Encode()
10412	req, err := http.NewRequest("POST", urls, body)
10413	if err != nil {
10414		return nil, err
10415	}
10416	req.Header = reqHeaders
10417	googleapi.Expand(req.URL, map[string]string{
10418		"parent": c.parent,
10419	})
10420	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10421}
10422
10423// Do executes the "ml.projects.models.versions.create" call.
10424// Exactly one of *GoogleLongrunning__Operation or error will be
10425// non-nil. Any non-2xx status code is an error. Response headers are in
10426// either *GoogleLongrunning__Operation.ServerResponse.Header or (if a
10427// response was returned at all) in error.(*googleapi.Error).Header. Use
10428// googleapi.IsNotModified to check whether the returned error was
10429// because http.StatusNotModified was returned.
10430func (c *ProjectsModelsVersionsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunning__Operation, error) {
10431	gensupport.SetOptions(c.urlParams_, opts...)
10432	res, err := c.doRequest("json")
10433	if res != nil && res.StatusCode == http.StatusNotModified {
10434		if res.Body != nil {
10435			res.Body.Close()
10436		}
10437		return nil, &googleapi.Error{
10438			Code:   res.StatusCode,
10439			Header: res.Header,
10440		}
10441	}
10442	if err != nil {
10443		return nil, err
10444	}
10445	defer googleapi.CloseBody(res)
10446	if err := googleapi.CheckResponse(res); err != nil {
10447		return nil, err
10448	}
10449	ret := &GoogleLongrunning__Operation{
10450		ServerResponse: googleapi.ServerResponse{
10451			Header:         res.Header,
10452			HTTPStatusCode: res.StatusCode,
10453		},
10454	}
10455	target := &ret
10456	if err := gensupport.DecodeResponse(target, res); err != nil {
10457		return nil, err
10458	}
10459	return ret, nil
10460	// {
10461	//   "description": "Creates a new version of a model from a trained TensorFlow model. If the version created in the cloud by this call is the first deployed version of the specified model, it will be made the default version of the model. When you add a version to a model that already has one or more versions, the default version does not automatically change. If you want a new version to be the default, you must call projects.models.versions.setDefault.",
10462	//   "flatPath": "v1/projects/{projectsId}/models/{modelsId}/versions",
10463	//   "httpMethod": "POST",
10464	//   "id": "ml.projects.models.versions.create",
10465	//   "parameterOrder": [
10466	//     "parent"
10467	//   ],
10468	//   "parameters": {
10469	//     "parent": {
10470	//       "description": "Required. The name of the model.",
10471	//       "location": "path",
10472	//       "pattern": "^projects/[^/]+/models/[^/]+$",
10473	//       "required": true,
10474	//       "type": "string"
10475	//     }
10476	//   },
10477	//   "path": "v1/{+parent}/versions",
10478	//   "request": {
10479	//     "$ref": "GoogleCloudMlV1__Version"
10480	//   },
10481	//   "response": {
10482	//     "$ref": "GoogleLongrunning__Operation"
10483	//   },
10484	//   "scopes": [
10485	//     "https://www.googleapis.com/auth/cloud-platform"
10486	//   ]
10487	// }
10488
10489}
10490
10491// method id "ml.projects.models.versions.delete":
10492
10493type ProjectsModelsVersionsDeleteCall struct {
10494	s          *Service
10495	name       string
10496	urlParams_ gensupport.URLParams
10497	ctx_       context.Context
10498	header_    http.Header
10499}
10500
10501// Delete: Deletes a model version. Each model can have multiple
10502// versions deployed and in use at any given time. Use this method to
10503// remove a single version. Note: You cannot delete the version that is
10504// set as the default version of the model unless it is the only
10505// remaining version.
10506//
10507// - name: The name of the version. You can get the names of all the
10508//   versions of a model by calling projects.models.versions.list.
10509func (r *ProjectsModelsVersionsService) Delete(name string) *ProjectsModelsVersionsDeleteCall {
10510	c := &ProjectsModelsVersionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10511	c.name = name
10512	return c
10513}
10514
10515// Fields allows partial responses to be retrieved. See
10516// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10517// for more information.
10518func (c *ProjectsModelsVersionsDeleteCall) Fields(s ...googleapi.Field) *ProjectsModelsVersionsDeleteCall {
10519	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10520	return c
10521}
10522
10523// Context sets the context to be used in this call's Do method. Any
10524// pending HTTP request will be aborted if the provided context is
10525// canceled.
10526func (c *ProjectsModelsVersionsDeleteCall) Context(ctx context.Context) *ProjectsModelsVersionsDeleteCall {
10527	c.ctx_ = ctx
10528	return c
10529}
10530
10531// Header returns an http.Header that can be modified by the caller to
10532// add HTTP headers to the request.
10533func (c *ProjectsModelsVersionsDeleteCall) Header() http.Header {
10534	if c.header_ == nil {
10535		c.header_ = make(http.Header)
10536	}
10537	return c.header_
10538}
10539
10540func (c *ProjectsModelsVersionsDeleteCall) doRequest(alt string) (*http.Response, error) {
10541	reqHeaders := make(http.Header)
10542	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
10543	for k, v := range c.header_ {
10544		reqHeaders[k] = v
10545	}
10546	reqHeaders.Set("User-Agent", c.s.userAgent())
10547	var body io.Reader = nil
10548	c.urlParams_.Set("alt", alt)
10549	c.urlParams_.Set("prettyPrint", "false")
10550	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
10551	urls += "?" + c.urlParams_.Encode()
10552	req, err := http.NewRequest("DELETE", urls, body)
10553	if err != nil {
10554		return nil, err
10555	}
10556	req.Header = reqHeaders
10557	googleapi.Expand(req.URL, map[string]string{
10558		"name": c.name,
10559	})
10560	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10561}
10562
10563// Do executes the "ml.projects.models.versions.delete" call.
10564// Exactly one of *GoogleLongrunning__Operation or error will be
10565// non-nil. Any non-2xx status code is an error. Response headers are in
10566// either *GoogleLongrunning__Operation.ServerResponse.Header or (if a
10567// response was returned at all) in error.(*googleapi.Error).Header. Use
10568// googleapi.IsNotModified to check whether the returned error was
10569// because http.StatusNotModified was returned.
10570func (c *ProjectsModelsVersionsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunning__Operation, error) {
10571	gensupport.SetOptions(c.urlParams_, opts...)
10572	res, err := c.doRequest("json")
10573	if res != nil && res.StatusCode == http.StatusNotModified {
10574		if res.Body != nil {
10575			res.Body.Close()
10576		}
10577		return nil, &googleapi.Error{
10578			Code:   res.StatusCode,
10579			Header: res.Header,
10580		}
10581	}
10582	if err != nil {
10583		return nil, err
10584	}
10585	defer googleapi.CloseBody(res)
10586	if err := googleapi.CheckResponse(res); err != nil {
10587		return nil, err
10588	}
10589	ret := &GoogleLongrunning__Operation{
10590		ServerResponse: googleapi.ServerResponse{
10591			Header:         res.Header,
10592			HTTPStatusCode: res.StatusCode,
10593		},
10594	}
10595	target := &ret
10596	if err := gensupport.DecodeResponse(target, res); err != nil {
10597		return nil, err
10598	}
10599	return ret, nil
10600	// {
10601	//   "description": "Deletes a model version. Each model can have multiple versions deployed and in use at any given time. Use this method to remove a single version. Note: You cannot delete the version that is set as the default version of the model unless it is the only remaining version.",
10602	//   "flatPath": "v1/projects/{projectsId}/models/{modelsId}/versions/{versionsId}",
10603	//   "httpMethod": "DELETE",
10604	//   "id": "ml.projects.models.versions.delete",
10605	//   "parameterOrder": [
10606	//     "name"
10607	//   ],
10608	//   "parameters": {
10609	//     "name": {
10610	//       "description": "Required. The name of the version. You can get the names of all the versions of a model by calling projects.models.versions.list.",
10611	//       "location": "path",
10612	//       "pattern": "^projects/[^/]+/models/[^/]+/versions/[^/]+$",
10613	//       "required": true,
10614	//       "type": "string"
10615	//     }
10616	//   },
10617	//   "path": "v1/{+name}",
10618	//   "response": {
10619	//     "$ref": "GoogleLongrunning__Operation"
10620	//   },
10621	//   "scopes": [
10622	//     "https://www.googleapis.com/auth/cloud-platform"
10623	//   ]
10624	// }
10625
10626}
10627
10628// method id "ml.projects.models.versions.get":
10629
10630type ProjectsModelsVersionsGetCall struct {
10631	s            *Service
10632	name         string
10633	urlParams_   gensupport.URLParams
10634	ifNoneMatch_ string
10635	ctx_         context.Context
10636	header_      http.Header
10637}
10638
10639// Get: Gets information about a model version. Models can have multiple
10640// versions. You can call projects.models.versions.list to get the same
10641// information that this method returns for all of the versions of a
10642// model.
10643//
10644// - name: The name of the version.
10645func (r *ProjectsModelsVersionsService) Get(name string) *ProjectsModelsVersionsGetCall {
10646	c := &ProjectsModelsVersionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10647	c.name = name
10648	return c
10649}
10650
10651// Fields allows partial responses to be retrieved. See
10652// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10653// for more information.
10654func (c *ProjectsModelsVersionsGetCall) Fields(s ...googleapi.Field) *ProjectsModelsVersionsGetCall {
10655	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10656	return c
10657}
10658
10659// IfNoneMatch sets the optional parameter which makes the operation
10660// fail if the object's ETag matches the given value. This is useful for
10661// getting updates only after the object has changed since the last
10662// request. Use googleapi.IsNotModified to check whether the response
10663// error from Do is the result of In-None-Match.
10664func (c *ProjectsModelsVersionsGetCall) IfNoneMatch(entityTag string) *ProjectsModelsVersionsGetCall {
10665	c.ifNoneMatch_ = entityTag
10666	return c
10667}
10668
10669// Context sets the context to be used in this call's Do method. Any
10670// pending HTTP request will be aborted if the provided context is
10671// canceled.
10672func (c *ProjectsModelsVersionsGetCall) Context(ctx context.Context) *ProjectsModelsVersionsGetCall {
10673	c.ctx_ = ctx
10674	return c
10675}
10676
10677// Header returns an http.Header that can be modified by the caller to
10678// add HTTP headers to the request.
10679func (c *ProjectsModelsVersionsGetCall) Header() http.Header {
10680	if c.header_ == nil {
10681		c.header_ = make(http.Header)
10682	}
10683	return c.header_
10684}
10685
10686func (c *ProjectsModelsVersionsGetCall) doRequest(alt string) (*http.Response, error) {
10687	reqHeaders := make(http.Header)
10688	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
10689	for k, v := range c.header_ {
10690		reqHeaders[k] = v
10691	}
10692	reqHeaders.Set("User-Agent", c.s.userAgent())
10693	if c.ifNoneMatch_ != "" {
10694		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
10695	}
10696	var body io.Reader = nil
10697	c.urlParams_.Set("alt", alt)
10698	c.urlParams_.Set("prettyPrint", "false")
10699	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
10700	urls += "?" + c.urlParams_.Encode()
10701	req, err := http.NewRequest("GET", urls, body)
10702	if err != nil {
10703		return nil, err
10704	}
10705	req.Header = reqHeaders
10706	googleapi.Expand(req.URL, map[string]string{
10707		"name": c.name,
10708	})
10709	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10710}
10711
10712// Do executes the "ml.projects.models.versions.get" call.
10713// Exactly one of *GoogleCloudMlV1__Version or error will be non-nil.
10714// Any non-2xx status code is an error. Response headers are in either
10715// *GoogleCloudMlV1__Version.ServerResponse.Header or (if a response was
10716// returned at all) in error.(*googleapi.Error).Header. Use
10717// googleapi.IsNotModified to check whether the returned error was
10718// because http.StatusNotModified was returned.
10719func (c *ProjectsModelsVersionsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudMlV1__Version, error) {
10720	gensupport.SetOptions(c.urlParams_, opts...)
10721	res, err := c.doRequest("json")
10722	if res != nil && res.StatusCode == http.StatusNotModified {
10723		if res.Body != nil {
10724			res.Body.Close()
10725		}
10726		return nil, &googleapi.Error{
10727			Code:   res.StatusCode,
10728			Header: res.Header,
10729		}
10730	}
10731	if err != nil {
10732		return nil, err
10733	}
10734	defer googleapi.CloseBody(res)
10735	if err := googleapi.CheckResponse(res); err != nil {
10736		return nil, err
10737	}
10738	ret := &GoogleCloudMlV1__Version{
10739		ServerResponse: googleapi.ServerResponse{
10740			Header:         res.Header,
10741			HTTPStatusCode: res.StatusCode,
10742		},
10743	}
10744	target := &ret
10745	if err := gensupport.DecodeResponse(target, res); err != nil {
10746		return nil, err
10747	}
10748	return ret, nil
10749	// {
10750	//   "description": "Gets information about a model version. Models can have multiple versions. You can call projects.models.versions.list to get the same information that this method returns for all of the versions of a model.",
10751	//   "flatPath": "v1/projects/{projectsId}/models/{modelsId}/versions/{versionsId}",
10752	//   "httpMethod": "GET",
10753	//   "id": "ml.projects.models.versions.get",
10754	//   "parameterOrder": [
10755	//     "name"
10756	//   ],
10757	//   "parameters": {
10758	//     "name": {
10759	//       "description": "Required. The name of the version.",
10760	//       "location": "path",
10761	//       "pattern": "^projects/[^/]+/models/[^/]+/versions/[^/]+$",
10762	//       "required": true,
10763	//       "type": "string"
10764	//     }
10765	//   },
10766	//   "path": "v1/{+name}",
10767	//   "response": {
10768	//     "$ref": "GoogleCloudMlV1__Version"
10769	//   },
10770	//   "scopes": [
10771	//     "https://www.googleapis.com/auth/cloud-platform"
10772	//   ]
10773	// }
10774
10775}
10776
10777// method id "ml.projects.models.versions.list":
10778
10779type ProjectsModelsVersionsListCall struct {
10780	s            *Service
10781	parent       string
10782	urlParams_   gensupport.URLParams
10783	ifNoneMatch_ string
10784	ctx_         context.Context
10785	header_      http.Header
10786}
10787
10788// List: Gets basic information about all the versions of a model. If
10789// you expect that a model has many versions, or if you need to handle
10790// only a limited number of results at a time, you can request that the
10791// list be retrieved in batches (called pages). If there are no versions
10792// that match the request parameters, the list request returns an empty
10793// response body: {}.
10794//
10795// - parent: The name of the model for which to list the version.
10796func (r *ProjectsModelsVersionsService) List(parent string) *ProjectsModelsVersionsListCall {
10797	c := &ProjectsModelsVersionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10798	c.parent = parent
10799	return c
10800}
10801
10802// Filter sets the optional parameter "filter": Specifies the subset of
10803// versions to retrieve.
10804func (c *ProjectsModelsVersionsListCall) Filter(filter string) *ProjectsModelsVersionsListCall {
10805	c.urlParams_.Set("filter", filter)
10806	return c
10807}
10808
10809// PageSize sets the optional parameter "pageSize": The number of
10810// versions to retrieve per "page" of results. If there are more
10811// remaining results than this number, the response message will contain
10812// a valid value in the `next_page_token` field. The default value is
10813// 20, and the maximum page size is 100.
10814func (c *ProjectsModelsVersionsListCall) PageSize(pageSize int64) *ProjectsModelsVersionsListCall {
10815	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
10816	return c
10817}
10818
10819// PageToken sets the optional parameter "pageToken": A page token to
10820// request the next page of results. You get the token from the
10821// `next_page_token` field of the response from the previous call.
10822func (c *ProjectsModelsVersionsListCall) PageToken(pageToken string) *ProjectsModelsVersionsListCall {
10823	c.urlParams_.Set("pageToken", pageToken)
10824	return c
10825}
10826
10827// Fields allows partial responses to be retrieved. See
10828// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10829// for more information.
10830func (c *ProjectsModelsVersionsListCall) Fields(s ...googleapi.Field) *ProjectsModelsVersionsListCall {
10831	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10832	return c
10833}
10834
10835// IfNoneMatch sets the optional parameter which makes the operation
10836// fail if the object's ETag matches the given value. This is useful for
10837// getting updates only after the object has changed since the last
10838// request. Use googleapi.IsNotModified to check whether the response
10839// error from Do is the result of In-None-Match.
10840func (c *ProjectsModelsVersionsListCall) IfNoneMatch(entityTag string) *ProjectsModelsVersionsListCall {
10841	c.ifNoneMatch_ = entityTag
10842	return c
10843}
10844
10845// Context sets the context to be used in this call's Do method. Any
10846// pending HTTP request will be aborted if the provided context is
10847// canceled.
10848func (c *ProjectsModelsVersionsListCall) Context(ctx context.Context) *ProjectsModelsVersionsListCall {
10849	c.ctx_ = ctx
10850	return c
10851}
10852
10853// Header returns an http.Header that can be modified by the caller to
10854// add HTTP headers to the request.
10855func (c *ProjectsModelsVersionsListCall) Header() http.Header {
10856	if c.header_ == nil {
10857		c.header_ = make(http.Header)
10858	}
10859	return c.header_
10860}
10861
10862func (c *ProjectsModelsVersionsListCall) doRequest(alt string) (*http.Response, error) {
10863	reqHeaders := make(http.Header)
10864	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
10865	for k, v := range c.header_ {
10866		reqHeaders[k] = v
10867	}
10868	reqHeaders.Set("User-Agent", c.s.userAgent())
10869	if c.ifNoneMatch_ != "" {
10870		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
10871	}
10872	var body io.Reader = nil
10873	c.urlParams_.Set("alt", alt)
10874	c.urlParams_.Set("prettyPrint", "false")
10875	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/versions")
10876	urls += "?" + c.urlParams_.Encode()
10877	req, err := http.NewRequest("GET", urls, body)
10878	if err != nil {
10879		return nil, err
10880	}
10881	req.Header = reqHeaders
10882	googleapi.Expand(req.URL, map[string]string{
10883		"parent": c.parent,
10884	})
10885	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10886}
10887
10888// Do executes the "ml.projects.models.versions.list" call.
10889// Exactly one of *GoogleCloudMlV1__ListVersionsResponse or error will
10890// be non-nil. Any non-2xx status code is an error. Response headers are
10891// in either
10892// *GoogleCloudMlV1__ListVersionsResponse.ServerResponse.Header or (if a
10893// response was returned at all) in error.(*googleapi.Error).Header. Use
10894// googleapi.IsNotModified to check whether the returned error was
10895// because http.StatusNotModified was returned.
10896func (c *ProjectsModelsVersionsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudMlV1__ListVersionsResponse, error) {
10897	gensupport.SetOptions(c.urlParams_, opts...)
10898	res, err := c.doRequest("json")
10899	if res != nil && res.StatusCode == http.StatusNotModified {
10900		if res.Body != nil {
10901			res.Body.Close()
10902		}
10903		return nil, &googleapi.Error{
10904			Code:   res.StatusCode,
10905			Header: res.Header,
10906		}
10907	}
10908	if err != nil {
10909		return nil, err
10910	}
10911	defer googleapi.CloseBody(res)
10912	if err := googleapi.CheckResponse(res); err != nil {
10913		return nil, err
10914	}
10915	ret := &GoogleCloudMlV1__ListVersionsResponse{
10916		ServerResponse: googleapi.ServerResponse{
10917			Header:         res.Header,
10918			HTTPStatusCode: res.StatusCode,
10919		},
10920	}
10921	target := &ret
10922	if err := gensupport.DecodeResponse(target, res); err != nil {
10923		return nil, err
10924	}
10925	return ret, nil
10926	// {
10927	//   "description": "Gets basic information about all the versions of a model. If you expect that a model has many versions, or if you need to handle only a limited number of results at a time, you can request that the list be retrieved in batches (called pages). If there are no versions that match the request parameters, the list request returns an empty response body: {}.",
10928	//   "flatPath": "v1/projects/{projectsId}/models/{modelsId}/versions",
10929	//   "httpMethod": "GET",
10930	//   "id": "ml.projects.models.versions.list",
10931	//   "parameterOrder": [
10932	//     "parent"
10933	//   ],
10934	//   "parameters": {
10935	//     "filter": {
10936	//       "description": "Optional. Specifies the subset of versions to retrieve.",
10937	//       "location": "query",
10938	//       "type": "string"
10939	//     },
10940	//     "pageSize": {
10941	//       "description": "Optional. The number of versions to retrieve per \"page\" of results. If there are more remaining results than this number, the response message will contain a valid value in the `next_page_token` field. The default value is 20, and the maximum page size is 100.",
10942	//       "format": "int32",
10943	//       "location": "query",
10944	//       "type": "integer"
10945	//     },
10946	//     "pageToken": {
10947	//       "description": "Optional. A page token to request the next page of results. You get the token from the `next_page_token` field of the response from the previous call.",
10948	//       "location": "query",
10949	//       "type": "string"
10950	//     },
10951	//     "parent": {
10952	//       "description": "Required. The name of the model for which to list the version.",
10953	//       "location": "path",
10954	//       "pattern": "^projects/[^/]+/models/[^/]+$",
10955	//       "required": true,
10956	//       "type": "string"
10957	//     }
10958	//   },
10959	//   "path": "v1/{+parent}/versions",
10960	//   "response": {
10961	//     "$ref": "GoogleCloudMlV1__ListVersionsResponse"
10962	//   },
10963	//   "scopes": [
10964	//     "https://www.googleapis.com/auth/cloud-platform",
10965	//     "https://www.googleapis.com/auth/cloud-platform.read-only"
10966	//   ]
10967	// }
10968
10969}
10970
10971// Pages invokes f for each page of results.
10972// A non-nil error returned from f will halt the iteration.
10973// The provided context supersedes any context provided to the Context method.
10974func (c *ProjectsModelsVersionsListCall) Pages(ctx context.Context, f func(*GoogleCloudMlV1__ListVersionsResponse) error) error {
10975	c.ctx_ = ctx
10976	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
10977	for {
10978		x, err := c.Do()
10979		if err != nil {
10980			return err
10981		}
10982		if err := f(x); err != nil {
10983			return err
10984		}
10985		if x.NextPageToken == "" {
10986			return nil
10987		}
10988		c.PageToken(x.NextPageToken)
10989	}
10990}
10991
10992// method id "ml.projects.models.versions.patch":
10993
10994type ProjectsModelsVersionsPatchCall struct {
10995	s                        *Service
10996	name                     string
10997	googlecloudmlv1__version *GoogleCloudMlV1__Version
10998	urlParams_               gensupport.URLParams
10999	ctx_                     context.Context
11000	header_                  http.Header
11001}
11002
11003// Patch: Updates the specified Version resource. Currently the only
11004// update-able fields are `description`, `requestLoggingConfig`,
11005// `autoScaling.minNodes`, and `manualScaling.nodes`.
11006//
11007// - name: The name of the model.
11008func (r *ProjectsModelsVersionsService) Patch(name string, googlecloudmlv1__version *GoogleCloudMlV1__Version) *ProjectsModelsVersionsPatchCall {
11009	c := &ProjectsModelsVersionsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11010	c.name = name
11011	c.googlecloudmlv1__version = googlecloudmlv1__version
11012	return c
11013}
11014
11015// UpdateMask sets the optional parameter "updateMask": Required.
11016// Specifies the path, relative to `Version`, of the field to update.
11017// Must be present and non-empty. For example, to change the description
11018// of a version to "foo", the `update_mask` parameter would be specified
11019// as `description`, and the `PATCH` request body would specify the new
11020// value, as follows: ``` { "description": "foo" } ``` Currently the
11021// only supported update mask fields are `description`,
11022// `requestLoggingConfig`, `autoScaling.minNodes`, and
11023// `manualScaling.nodes`. However, you can only update
11024// `manualScaling.nodes` if the version uses a Compute Engine (N1)
11025// machine type (/ml-engine/docs/machine-types-online-prediction).
11026func (c *ProjectsModelsVersionsPatchCall) UpdateMask(updateMask string) *ProjectsModelsVersionsPatchCall {
11027	c.urlParams_.Set("updateMask", updateMask)
11028	return c
11029}
11030
11031// Fields allows partial responses to be retrieved. See
11032// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
11033// for more information.
11034func (c *ProjectsModelsVersionsPatchCall) Fields(s ...googleapi.Field) *ProjectsModelsVersionsPatchCall {
11035	c.urlParams_.Set("fields", googleapi.CombineFields(s))
11036	return c
11037}
11038
11039// Context sets the context to be used in this call's Do method. Any
11040// pending HTTP request will be aborted if the provided context is
11041// canceled.
11042func (c *ProjectsModelsVersionsPatchCall) Context(ctx context.Context) *ProjectsModelsVersionsPatchCall {
11043	c.ctx_ = ctx
11044	return c
11045}
11046
11047// Header returns an http.Header that can be modified by the caller to
11048// add HTTP headers to the request.
11049func (c *ProjectsModelsVersionsPatchCall) Header() http.Header {
11050	if c.header_ == nil {
11051		c.header_ = make(http.Header)
11052	}
11053	return c.header_
11054}
11055
11056func (c *ProjectsModelsVersionsPatchCall) doRequest(alt string) (*http.Response, error) {
11057	reqHeaders := make(http.Header)
11058	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
11059	for k, v := range c.header_ {
11060		reqHeaders[k] = v
11061	}
11062	reqHeaders.Set("User-Agent", c.s.userAgent())
11063	var body io.Reader = nil
11064	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudmlv1__version)
11065	if err != nil {
11066		return nil, err
11067	}
11068	reqHeaders.Set("Content-Type", "application/json")
11069	c.urlParams_.Set("alt", alt)
11070	c.urlParams_.Set("prettyPrint", "false")
11071	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
11072	urls += "?" + c.urlParams_.Encode()
11073	req, err := http.NewRequest("PATCH", urls, body)
11074	if err != nil {
11075		return nil, err
11076	}
11077	req.Header = reqHeaders
11078	googleapi.Expand(req.URL, map[string]string{
11079		"name": c.name,
11080	})
11081	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11082}
11083
11084// Do executes the "ml.projects.models.versions.patch" call.
11085// Exactly one of *GoogleLongrunning__Operation or error will be
11086// non-nil. Any non-2xx status code is an error. Response headers are in
11087// either *GoogleLongrunning__Operation.ServerResponse.Header or (if a
11088// response was returned at all) in error.(*googleapi.Error).Header. Use
11089// googleapi.IsNotModified to check whether the returned error was
11090// because http.StatusNotModified was returned.
11091func (c *ProjectsModelsVersionsPatchCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunning__Operation, error) {
11092	gensupport.SetOptions(c.urlParams_, opts...)
11093	res, err := c.doRequest("json")
11094	if res != nil && res.StatusCode == http.StatusNotModified {
11095		if res.Body != nil {
11096			res.Body.Close()
11097		}
11098		return nil, &googleapi.Error{
11099			Code:   res.StatusCode,
11100			Header: res.Header,
11101		}
11102	}
11103	if err != nil {
11104		return nil, err
11105	}
11106	defer googleapi.CloseBody(res)
11107	if err := googleapi.CheckResponse(res); err != nil {
11108		return nil, err
11109	}
11110	ret := &GoogleLongrunning__Operation{
11111		ServerResponse: googleapi.ServerResponse{
11112			Header:         res.Header,
11113			HTTPStatusCode: res.StatusCode,
11114		},
11115	}
11116	target := &ret
11117	if err := gensupport.DecodeResponse(target, res); err != nil {
11118		return nil, err
11119	}
11120	return ret, nil
11121	// {
11122	//   "description": "Updates the specified Version resource. Currently the only update-able fields are `description`, `requestLoggingConfig`, `autoScaling.minNodes`, and `manualScaling.nodes`.",
11123	//   "flatPath": "v1/projects/{projectsId}/models/{modelsId}/versions/{versionsId}",
11124	//   "httpMethod": "PATCH",
11125	//   "id": "ml.projects.models.versions.patch",
11126	//   "parameterOrder": [
11127	//     "name"
11128	//   ],
11129	//   "parameters": {
11130	//     "name": {
11131	//       "description": "Required. The name of the model.",
11132	//       "location": "path",
11133	//       "pattern": "^projects/[^/]+/models/[^/]+/versions/[^/]+$",
11134	//       "required": true,
11135	//       "type": "string"
11136	//     },
11137	//     "updateMask": {
11138	//       "description": "Required. Specifies the path, relative to `Version`, of the field to update. Must be present and non-empty. For example, to change the description of a version to \"foo\", the `update_mask` parameter would be specified as `description`, and the `PATCH` request body would specify the new value, as follows: ``` { \"description\": \"foo\" } ``` Currently the only supported update mask fields are `description`, `requestLoggingConfig`, `autoScaling.minNodes`, and `manualScaling.nodes`. However, you can only update `manualScaling.nodes` if the version uses a [Compute Engine (N1) machine type](/ml-engine/docs/machine-types-online-prediction).",
11139	//       "format": "google-fieldmask",
11140	//       "location": "query",
11141	//       "type": "string"
11142	//     }
11143	//   },
11144	//   "path": "v1/{+name}",
11145	//   "request": {
11146	//     "$ref": "GoogleCloudMlV1__Version"
11147	//   },
11148	//   "response": {
11149	//     "$ref": "GoogleLongrunning__Operation"
11150	//   },
11151	//   "scopes": [
11152	//     "https://www.googleapis.com/auth/cloud-platform"
11153	//   ]
11154	// }
11155
11156}
11157
11158// method id "ml.projects.models.versions.setDefault":
11159
11160type ProjectsModelsVersionsSetDefaultCall struct {
11161	s                                         *Service
11162	name                                      string
11163	googlecloudmlv1__setdefaultversionrequest *GoogleCloudMlV1__SetDefaultVersionRequest
11164	urlParams_                                gensupport.URLParams
11165	ctx_                                      context.Context
11166	header_                                   http.Header
11167}
11168
11169// SetDefault: Designates a version to be the default for the model. The
11170// default version is used for prediction requests made against the
11171// model that don't specify a version. The first version to be created
11172// for a model is automatically set as the default. You must make any
11173// subsequent changes to the default version setting manually using this
11174// method.
11175//
11176// - name: The name of the version to make the default for the model.
11177//   You can get the names of all the versions of a model by calling
11178//   projects.models.versions.list.
11179func (r *ProjectsModelsVersionsService) SetDefault(name string, googlecloudmlv1__setdefaultversionrequest *GoogleCloudMlV1__SetDefaultVersionRequest) *ProjectsModelsVersionsSetDefaultCall {
11180	c := &ProjectsModelsVersionsSetDefaultCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11181	c.name = name
11182	c.googlecloudmlv1__setdefaultversionrequest = googlecloudmlv1__setdefaultversionrequest
11183	return c
11184}
11185
11186// Fields allows partial responses to be retrieved. See
11187// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
11188// for more information.
11189func (c *ProjectsModelsVersionsSetDefaultCall) Fields(s ...googleapi.Field) *ProjectsModelsVersionsSetDefaultCall {
11190	c.urlParams_.Set("fields", googleapi.CombineFields(s))
11191	return c
11192}
11193
11194// Context sets the context to be used in this call's Do method. Any
11195// pending HTTP request will be aborted if the provided context is
11196// canceled.
11197func (c *ProjectsModelsVersionsSetDefaultCall) Context(ctx context.Context) *ProjectsModelsVersionsSetDefaultCall {
11198	c.ctx_ = ctx
11199	return c
11200}
11201
11202// Header returns an http.Header that can be modified by the caller to
11203// add HTTP headers to the request.
11204func (c *ProjectsModelsVersionsSetDefaultCall) Header() http.Header {
11205	if c.header_ == nil {
11206		c.header_ = make(http.Header)
11207	}
11208	return c.header_
11209}
11210
11211func (c *ProjectsModelsVersionsSetDefaultCall) doRequest(alt string) (*http.Response, error) {
11212	reqHeaders := make(http.Header)
11213	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
11214	for k, v := range c.header_ {
11215		reqHeaders[k] = v
11216	}
11217	reqHeaders.Set("User-Agent", c.s.userAgent())
11218	var body io.Reader = nil
11219	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudmlv1__setdefaultversionrequest)
11220	if err != nil {
11221		return nil, err
11222	}
11223	reqHeaders.Set("Content-Type", "application/json")
11224	c.urlParams_.Set("alt", alt)
11225	c.urlParams_.Set("prettyPrint", "false")
11226	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:setDefault")
11227	urls += "?" + c.urlParams_.Encode()
11228	req, err := http.NewRequest("POST", urls, body)
11229	if err != nil {
11230		return nil, err
11231	}
11232	req.Header = reqHeaders
11233	googleapi.Expand(req.URL, map[string]string{
11234		"name": c.name,
11235	})
11236	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11237}
11238
11239// Do executes the "ml.projects.models.versions.setDefault" call.
11240// Exactly one of *GoogleCloudMlV1__Version or error will be non-nil.
11241// Any non-2xx status code is an error. Response headers are in either
11242// *GoogleCloudMlV1__Version.ServerResponse.Header or (if a response was
11243// returned at all) in error.(*googleapi.Error).Header. Use
11244// googleapi.IsNotModified to check whether the returned error was
11245// because http.StatusNotModified was returned.
11246func (c *ProjectsModelsVersionsSetDefaultCall) Do(opts ...googleapi.CallOption) (*GoogleCloudMlV1__Version, error) {
11247	gensupport.SetOptions(c.urlParams_, opts...)
11248	res, err := c.doRequest("json")
11249	if res != nil && res.StatusCode == http.StatusNotModified {
11250		if res.Body != nil {
11251			res.Body.Close()
11252		}
11253		return nil, &googleapi.Error{
11254			Code:   res.StatusCode,
11255			Header: res.Header,
11256		}
11257	}
11258	if err != nil {
11259		return nil, err
11260	}
11261	defer googleapi.CloseBody(res)
11262	if err := googleapi.CheckResponse(res); err != nil {
11263		return nil, err
11264	}
11265	ret := &GoogleCloudMlV1__Version{
11266		ServerResponse: googleapi.ServerResponse{
11267			Header:         res.Header,
11268			HTTPStatusCode: res.StatusCode,
11269		},
11270	}
11271	target := &ret
11272	if err := gensupport.DecodeResponse(target, res); err != nil {
11273		return nil, err
11274	}
11275	return ret, nil
11276	// {
11277	//   "description": "Designates a version to be the default for the model. The default version is used for prediction requests made against the model that don't specify a version. The first version to be created for a model is automatically set as the default. You must make any subsequent changes to the default version setting manually using this method.",
11278	//   "flatPath": "v1/projects/{projectsId}/models/{modelsId}/versions/{versionsId}:setDefault",
11279	//   "httpMethod": "POST",
11280	//   "id": "ml.projects.models.versions.setDefault",
11281	//   "parameterOrder": [
11282	//     "name"
11283	//   ],
11284	//   "parameters": {
11285	//     "name": {
11286	//       "description": "Required. The name of the version to make the default for the model. You can get the names of all the versions of a model by calling projects.models.versions.list.",
11287	//       "location": "path",
11288	//       "pattern": "^projects/[^/]+/models/[^/]+/versions/[^/]+$",
11289	//       "required": true,
11290	//       "type": "string"
11291	//     }
11292	//   },
11293	//   "path": "v1/{+name}:setDefault",
11294	//   "request": {
11295	//     "$ref": "GoogleCloudMlV1__SetDefaultVersionRequest"
11296	//   },
11297	//   "response": {
11298	//     "$ref": "GoogleCloudMlV1__Version"
11299	//   },
11300	//   "scopes": [
11301	//     "https://www.googleapis.com/auth/cloud-platform"
11302	//   ]
11303	// }
11304
11305}
11306
11307// method id "ml.projects.operations.cancel":
11308
11309type ProjectsOperationsCancelCall struct {
11310	s          *Service
11311	name       string
11312	urlParams_ gensupport.URLParams
11313	ctx_       context.Context
11314	header_    http.Header
11315}
11316
11317// Cancel: Starts asynchronous cancellation on a long-running operation.
11318// The server makes a best effort to cancel the operation, but success
11319// is not guaranteed. If the server doesn't support this method, it
11320// returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use
11321// Operations.GetOperation or other methods to check whether the
11322// cancellation succeeded or whether the operation completed despite
11323// cancellation. On successful cancellation, the operation is not
11324// deleted; instead, it becomes an operation with an Operation.error
11325// value with a google.rpc.Status.code of 1, corresponding to
11326// `Code.CANCELLED`.
11327//
11328// - name: The name of the operation resource to be cancelled.
11329func (r *ProjectsOperationsService) Cancel(name string) *ProjectsOperationsCancelCall {
11330	c := &ProjectsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11331	c.name = name
11332	return c
11333}
11334
11335// Fields allows partial responses to be retrieved. See
11336// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
11337// for more information.
11338func (c *ProjectsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsOperationsCancelCall {
11339	c.urlParams_.Set("fields", googleapi.CombineFields(s))
11340	return c
11341}
11342
11343// Context sets the context to be used in this call's Do method. Any
11344// pending HTTP request will be aborted if the provided context is
11345// canceled.
11346func (c *ProjectsOperationsCancelCall) Context(ctx context.Context) *ProjectsOperationsCancelCall {
11347	c.ctx_ = ctx
11348	return c
11349}
11350
11351// Header returns an http.Header that can be modified by the caller to
11352// add HTTP headers to the request.
11353func (c *ProjectsOperationsCancelCall) Header() http.Header {
11354	if c.header_ == nil {
11355		c.header_ = make(http.Header)
11356	}
11357	return c.header_
11358}
11359
11360func (c *ProjectsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
11361	reqHeaders := make(http.Header)
11362	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
11363	for k, v := range c.header_ {
11364		reqHeaders[k] = v
11365	}
11366	reqHeaders.Set("User-Agent", c.s.userAgent())
11367	var body io.Reader = nil
11368	c.urlParams_.Set("alt", alt)
11369	c.urlParams_.Set("prettyPrint", "false")
11370	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
11371	urls += "?" + c.urlParams_.Encode()
11372	req, err := http.NewRequest("POST", urls, body)
11373	if err != nil {
11374		return nil, err
11375	}
11376	req.Header = reqHeaders
11377	googleapi.Expand(req.URL, map[string]string{
11378		"name": c.name,
11379	})
11380	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11381}
11382
11383// Do executes the "ml.projects.operations.cancel" call.
11384// Exactly one of *GoogleProtobuf__Empty or error will be non-nil. Any
11385// non-2xx status code is an error. Response headers are in either
11386// *GoogleProtobuf__Empty.ServerResponse.Header or (if a response was
11387// returned at all) in error.(*googleapi.Error).Header. Use
11388// googleapi.IsNotModified to check whether the returned error was
11389// because http.StatusNotModified was returned.
11390func (c *ProjectsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobuf__Empty, error) {
11391	gensupport.SetOptions(c.urlParams_, opts...)
11392	res, err := c.doRequest("json")
11393	if res != nil && res.StatusCode == http.StatusNotModified {
11394		if res.Body != nil {
11395			res.Body.Close()
11396		}
11397		return nil, &googleapi.Error{
11398			Code:   res.StatusCode,
11399			Header: res.Header,
11400		}
11401	}
11402	if err != nil {
11403		return nil, err
11404	}
11405	defer googleapi.CloseBody(res)
11406	if err := googleapi.CheckResponse(res); err != nil {
11407		return nil, err
11408	}
11409	ret := &GoogleProtobuf__Empty{
11410		ServerResponse: googleapi.ServerResponse{
11411			Header:         res.Header,
11412			HTTPStatusCode: res.StatusCode,
11413		},
11414	}
11415	target := &ret
11416	if err := gensupport.DecodeResponse(target, res); err != nil {
11417		return nil, err
11418	}
11419	return ret, nil
11420	// {
11421	//   "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`.",
11422	//   "flatPath": "v1/projects/{projectsId}/operations/{operationsId}:cancel",
11423	//   "httpMethod": "POST",
11424	//   "id": "ml.projects.operations.cancel",
11425	//   "parameterOrder": [
11426	//     "name"
11427	//   ],
11428	//   "parameters": {
11429	//     "name": {
11430	//       "description": "The name of the operation resource to be cancelled.",
11431	//       "location": "path",
11432	//       "pattern": "^projects/[^/]+/operations/[^/]+$",
11433	//       "required": true,
11434	//       "type": "string"
11435	//     }
11436	//   },
11437	//   "path": "v1/{+name}:cancel",
11438	//   "response": {
11439	//     "$ref": "GoogleProtobuf__Empty"
11440	//   },
11441	//   "scopes": [
11442	//     "https://www.googleapis.com/auth/cloud-platform"
11443	//   ]
11444	// }
11445
11446}
11447
11448// method id "ml.projects.operations.get":
11449
11450type ProjectsOperationsGetCall struct {
11451	s            *Service
11452	name         string
11453	urlParams_   gensupport.URLParams
11454	ifNoneMatch_ string
11455	ctx_         context.Context
11456	header_      http.Header
11457}
11458
11459// Get: Gets the latest state of a long-running operation. Clients can
11460// use this method to poll the operation result at intervals as
11461// recommended by the API service.
11462//
11463// - name: The name of the operation resource.
11464func (r *ProjectsOperationsService) Get(name string) *ProjectsOperationsGetCall {
11465	c := &ProjectsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11466	c.name = name
11467	return c
11468}
11469
11470// Fields allows partial responses to be retrieved. See
11471// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
11472// for more information.
11473func (c *ProjectsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsOperationsGetCall {
11474	c.urlParams_.Set("fields", googleapi.CombineFields(s))
11475	return c
11476}
11477
11478// IfNoneMatch sets the optional parameter which makes the operation
11479// fail if the object's ETag matches the given value. This is useful for
11480// getting updates only after the object has changed since the last
11481// request. Use googleapi.IsNotModified to check whether the response
11482// error from Do is the result of In-None-Match.
11483func (c *ProjectsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsOperationsGetCall {
11484	c.ifNoneMatch_ = entityTag
11485	return c
11486}
11487
11488// Context sets the context to be used in this call's Do method. Any
11489// pending HTTP request will be aborted if the provided context is
11490// canceled.
11491func (c *ProjectsOperationsGetCall) Context(ctx context.Context) *ProjectsOperationsGetCall {
11492	c.ctx_ = ctx
11493	return c
11494}
11495
11496// Header returns an http.Header that can be modified by the caller to
11497// add HTTP headers to the request.
11498func (c *ProjectsOperationsGetCall) Header() http.Header {
11499	if c.header_ == nil {
11500		c.header_ = make(http.Header)
11501	}
11502	return c.header_
11503}
11504
11505func (c *ProjectsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
11506	reqHeaders := make(http.Header)
11507	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
11508	for k, v := range c.header_ {
11509		reqHeaders[k] = v
11510	}
11511	reqHeaders.Set("User-Agent", c.s.userAgent())
11512	if c.ifNoneMatch_ != "" {
11513		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
11514	}
11515	var body io.Reader = nil
11516	c.urlParams_.Set("alt", alt)
11517	c.urlParams_.Set("prettyPrint", "false")
11518	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
11519	urls += "?" + c.urlParams_.Encode()
11520	req, err := http.NewRequest("GET", urls, body)
11521	if err != nil {
11522		return nil, err
11523	}
11524	req.Header = reqHeaders
11525	googleapi.Expand(req.URL, map[string]string{
11526		"name": c.name,
11527	})
11528	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11529}
11530
11531// Do executes the "ml.projects.operations.get" call.
11532// Exactly one of *GoogleLongrunning__Operation or error will be
11533// non-nil. Any non-2xx status code is an error. Response headers are in
11534// either *GoogleLongrunning__Operation.ServerResponse.Header or (if a
11535// response was returned at all) in error.(*googleapi.Error).Header. Use
11536// googleapi.IsNotModified to check whether the returned error was
11537// because http.StatusNotModified was returned.
11538func (c *ProjectsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunning__Operation, error) {
11539	gensupport.SetOptions(c.urlParams_, opts...)
11540	res, err := c.doRequest("json")
11541	if res != nil && res.StatusCode == http.StatusNotModified {
11542		if res.Body != nil {
11543			res.Body.Close()
11544		}
11545		return nil, &googleapi.Error{
11546			Code:   res.StatusCode,
11547			Header: res.Header,
11548		}
11549	}
11550	if err != nil {
11551		return nil, err
11552	}
11553	defer googleapi.CloseBody(res)
11554	if err := googleapi.CheckResponse(res); err != nil {
11555		return nil, err
11556	}
11557	ret := &GoogleLongrunning__Operation{
11558		ServerResponse: googleapi.ServerResponse{
11559			Header:         res.Header,
11560			HTTPStatusCode: res.StatusCode,
11561		},
11562	}
11563	target := &ret
11564	if err := gensupport.DecodeResponse(target, res); err != nil {
11565		return nil, err
11566	}
11567	return ret, nil
11568	// {
11569	//   "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.",
11570	//   "flatPath": "v1/projects/{projectsId}/operations/{operationsId}",
11571	//   "httpMethod": "GET",
11572	//   "id": "ml.projects.operations.get",
11573	//   "parameterOrder": [
11574	//     "name"
11575	//   ],
11576	//   "parameters": {
11577	//     "name": {
11578	//       "description": "The name of the operation resource.",
11579	//       "location": "path",
11580	//       "pattern": "^projects/[^/]+/operations/[^/]+$",
11581	//       "required": true,
11582	//       "type": "string"
11583	//     }
11584	//   },
11585	//   "path": "v1/{+name}",
11586	//   "response": {
11587	//     "$ref": "GoogleLongrunning__Operation"
11588	//   },
11589	//   "scopes": [
11590	//     "https://www.googleapis.com/auth/cloud-platform"
11591	//   ]
11592	// }
11593
11594}
11595
11596// method id "ml.projects.operations.list":
11597
11598type ProjectsOperationsListCall struct {
11599	s            *Service
11600	name         string
11601	urlParams_   gensupport.URLParams
11602	ifNoneMatch_ string
11603	ctx_         context.Context
11604	header_      http.Header
11605}
11606
11607// List: Lists operations that match the specified filter in the
11608// request. If the server doesn't support this method, it returns
11609// `UNIMPLEMENTED`. NOTE: the `name` binding allows API services to
11610// override the binding to use different resource name schemes, such as
11611// `users/*/operations`. To override the binding, API services can add a
11612// binding such as "/v1/{name=users/*}/operations" to their service
11613// configuration. For backwards compatibility, the default name includes
11614// the operations collection id, however overriding users must ensure
11615// the name binding is the parent resource, without the operations
11616// collection id.
11617//
11618// - name: The name of the operation's parent resource.
11619func (r *ProjectsOperationsService) List(name string) *ProjectsOperationsListCall {
11620	c := &ProjectsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11621	c.name = name
11622	return c
11623}
11624
11625// Filter sets the optional parameter "filter": The standard list
11626// filter.
11627func (c *ProjectsOperationsListCall) Filter(filter string) *ProjectsOperationsListCall {
11628	c.urlParams_.Set("filter", filter)
11629	return c
11630}
11631
11632// PageSize sets the optional parameter "pageSize": The standard list
11633// page size.
11634func (c *ProjectsOperationsListCall) PageSize(pageSize int64) *ProjectsOperationsListCall {
11635	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
11636	return c
11637}
11638
11639// PageToken sets the optional parameter "pageToken": The standard list
11640// page token.
11641func (c *ProjectsOperationsListCall) PageToken(pageToken string) *ProjectsOperationsListCall {
11642	c.urlParams_.Set("pageToken", pageToken)
11643	return c
11644}
11645
11646// Fields allows partial responses to be retrieved. See
11647// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
11648// for more information.
11649func (c *ProjectsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsOperationsListCall {
11650	c.urlParams_.Set("fields", googleapi.CombineFields(s))
11651	return c
11652}
11653
11654// IfNoneMatch sets the optional parameter which makes the operation
11655// fail if the object's ETag matches the given value. This is useful for
11656// getting updates only after the object has changed since the last
11657// request. Use googleapi.IsNotModified to check whether the response
11658// error from Do is the result of In-None-Match.
11659func (c *ProjectsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsOperationsListCall {
11660	c.ifNoneMatch_ = entityTag
11661	return c
11662}
11663
11664// Context sets the context to be used in this call's Do method. Any
11665// pending HTTP request will be aborted if the provided context is
11666// canceled.
11667func (c *ProjectsOperationsListCall) Context(ctx context.Context) *ProjectsOperationsListCall {
11668	c.ctx_ = ctx
11669	return c
11670}
11671
11672// Header returns an http.Header that can be modified by the caller to
11673// add HTTP headers to the request.
11674func (c *ProjectsOperationsListCall) Header() http.Header {
11675	if c.header_ == nil {
11676		c.header_ = make(http.Header)
11677	}
11678	return c.header_
11679}
11680
11681func (c *ProjectsOperationsListCall) doRequest(alt string) (*http.Response, error) {
11682	reqHeaders := make(http.Header)
11683	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
11684	for k, v := range c.header_ {
11685		reqHeaders[k] = v
11686	}
11687	reqHeaders.Set("User-Agent", c.s.userAgent())
11688	if c.ifNoneMatch_ != "" {
11689		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
11690	}
11691	var body io.Reader = nil
11692	c.urlParams_.Set("alt", alt)
11693	c.urlParams_.Set("prettyPrint", "false")
11694	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
11695	urls += "?" + c.urlParams_.Encode()
11696	req, err := http.NewRequest("GET", urls, body)
11697	if err != nil {
11698		return nil, err
11699	}
11700	req.Header = reqHeaders
11701	googleapi.Expand(req.URL, map[string]string{
11702		"name": c.name,
11703	})
11704	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11705}
11706
11707// Do executes the "ml.projects.operations.list" call.
11708// Exactly one of *GoogleLongrunning__ListOperationsResponse or error
11709// will be non-nil. Any non-2xx status code is an error. Response
11710// headers are in either
11711// *GoogleLongrunning__ListOperationsResponse.ServerResponse.Header or
11712// (if a response was returned at all) in
11713// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
11714// whether the returned error was because http.StatusNotModified was
11715// returned.
11716func (c *ProjectsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunning__ListOperationsResponse, error) {
11717	gensupport.SetOptions(c.urlParams_, opts...)
11718	res, err := c.doRequest("json")
11719	if res != nil && res.StatusCode == http.StatusNotModified {
11720		if res.Body != nil {
11721			res.Body.Close()
11722		}
11723		return nil, &googleapi.Error{
11724			Code:   res.StatusCode,
11725			Header: res.Header,
11726		}
11727	}
11728	if err != nil {
11729		return nil, err
11730	}
11731	defer googleapi.CloseBody(res)
11732	if err := googleapi.CheckResponse(res); err != nil {
11733		return nil, err
11734	}
11735	ret := &GoogleLongrunning__ListOperationsResponse{
11736		ServerResponse: googleapi.ServerResponse{
11737			Header:         res.Header,
11738			HTTPStatusCode: res.StatusCode,
11739		},
11740	}
11741	target := &ret
11742	if err := gensupport.DecodeResponse(target, res); err != nil {
11743		return nil, err
11744	}
11745	return ret, nil
11746	// {
11747	//   "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.",
11748	//   "flatPath": "v1/projects/{projectsId}/operations",
11749	//   "httpMethod": "GET",
11750	//   "id": "ml.projects.operations.list",
11751	//   "parameterOrder": [
11752	//     "name"
11753	//   ],
11754	//   "parameters": {
11755	//     "filter": {
11756	//       "description": "The standard list filter.",
11757	//       "location": "query",
11758	//       "type": "string"
11759	//     },
11760	//     "name": {
11761	//       "description": "The name of the operation's parent resource.",
11762	//       "location": "path",
11763	//       "pattern": "^projects/[^/]+$",
11764	//       "required": true,
11765	//       "type": "string"
11766	//     },
11767	//     "pageSize": {
11768	//       "description": "The standard list page size.",
11769	//       "format": "int32",
11770	//       "location": "query",
11771	//       "type": "integer"
11772	//     },
11773	//     "pageToken": {
11774	//       "description": "The standard list page token.",
11775	//       "location": "query",
11776	//       "type": "string"
11777	//     }
11778	//   },
11779	//   "path": "v1/{+name}/operations",
11780	//   "response": {
11781	//     "$ref": "GoogleLongrunning__ListOperationsResponse"
11782	//   },
11783	//   "scopes": [
11784	//     "https://www.googleapis.com/auth/cloud-platform"
11785	//   ]
11786	// }
11787
11788}
11789
11790// Pages invokes f for each page of results.
11791// A non-nil error returned from f will halt the iteration.
11792// The provided context supersedes any context provided to the Context method.
11793func (c *ProjectsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunning__ListOperationsResponse) error) error {
11794	c.ctx_ = ctx
11795	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
11796	for {
11797		x, err := c.Do()
11798		if err != nil {
11799			return err
11800		}
11801		if err := f(x); err != nil {
11802			return err
11803		}
11804		if x.NextPageToken == "" {
11805			return nil
11806		}
11807		c.PageToken(x.NextPageToken)
11808	}
11809}
11810