1// Copyright 2021 Google LLC
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15// Code generated by protoc-gen-go. DO NOT EDIT.
16// versions:
17// 	protoc-gen-go v1.26.0
18// 	protoc        v3.12.2
19// source: google/cloud/aiplatform/v1/custom_job.proto
20
21package aiplatform
22
23import (
24	reflect "reflect"
25	sync "sync"
26
27	_ "google.golang.org/genproto/googleapis/api/annotations"
28	status "google.golang.org/genproto/googleapis/rpc/status"
29	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
30	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
31	durationpb "google.golang.org/protobuf/types/known/durationpb"
32	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
33)
34
35const (
36	// Verify that this generated code is sufficiently up-to-date.
37	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
38	// Verify that runtime/protoimpl is sufficiently up-to-date.
39	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
40)
41
42// Represents a job that runs custom workloads such as a Docker container or a
43// Python package. A CustomJob can have multiple worker pools and each worker
44// pool can have its own machine and input spec. A CustomJob will be cleaned up
45// once the job enters terminal state (failed or succeeded).
46type CustomJob struct {
47	state         protoimpl.MessageState
48	sizeCache     protoimpl.SizeCache
49	unknownFields protoimpl.UnknownFields
50
51	// Output only. Resource name of a CustomJob.
52	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
53	// Required. The display name of the CustomJob.
54	// The name can be up to 128 characters long and can be consist of any UTF-8
55	// characters.
56	DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
57	// Required. Job spec.
58	JobSpec *CustomJobSpec `protobuf:"bytes,4,opt,name=job_spec,json=jobSpec,proto3" json:"job_spec,omitempty"`
59	// Output only. The detailed state of the job.
60	State JobState `protobuf:"varint,5,opt,name=state,proto3,enum=google.cloud.aiplatform.v1.JobState" json:"state,omitempty"`
61	// Output only. Time when the CustomJob was created.
62	CreateTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
63	// Output only. Time when the CustomJob for the first time entered the
64	// `JOB_STATE_RUNNING` state.
65	StartTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
66	// Output only. Time when the CustomJob entered any of the following states:
67	// `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED`, `JOB_STATE_CANCELLED`.
68	EndTime *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
69	// Output only. Time when the CustomJob was most recently updated.
70	UpdateTime *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
71	// Output only. Only populated when job's state is `JOB_STATE_FAILED` or
72	// `JOB_STATE_CANCELLED`.
73	Error *status.Status `protobuf:"bytes,10,opt,name=error,proto3" json:"error,omitempty"`
74	// The labels with user-defined metadata to organize CustomJobs.
75	//
76	// Label keys and values can be no longer than 64 characters
77	// (Unicode codepoints), can only contain lowercase letters, numeric
78	// characters, underscores and dashes. International characters are allowed.
79	//
80	// See https://goo.gl/xmQnxf for more information and examples of labels.
81	Labels map[string]string `protobuf:"bytes,11,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
82	// Customer-managed encryption key options for a CustomJob. If this is set,
83	// then all resources created by the CustomJob will be encrypted with the
84	// provided encryption key.
85	EncryptionSpec *EncryptionSpec `protobuf:"bytes,12,opt,name=encryption_spec,json=encryptionSpec,proto3" json:"encryption_spec,omitempty"`
86	// Output only. URIs for accessing [interactive
87	// shells](https://cloud.google.com/vertex-ai/docs/training/monitor-debug-interactive-shell)
88	// (one URI for each training node). Only available if
89	// [job_spec.enable_web_access][google.cloud.aiplatform.v1.CustomJobSpec.enable_web_access] is `true`.
90	//
91	// The keys are names of each node in the training job; for example,
92	// `workerpool0-0` for the primary node, `workerpool1-0` for the first node in
93	// the second worker pool, and `workerpool1-1` for the second node in the
94	// second worker pool.
95	//
96	// The values are the URIs for each node's interactive shell.
97	WebAccessUris map[string]string `protobuf:"bytes,16,rep,name=web_access_uris,json=webAccessUris,proto3" json:"web_access_uris,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
98}
99
100func (x *CustomJob) Reset() {
101	*x = CustomJob{}
102	if protoimpl.UnsafeEnabled {
103		mi := &file_google_cloud_aiplatform_v1_custom_job_proto_msgTypes[0]
104		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
105		ms.StoreMessageInfo(mi)
106	}
107}
108
109func (x *CustomJob) String() string {
110	return protoimpl.X.MessageStringOf(x)
111}
112
113func (*CustomJob) ProtoMessage() {}
114
115func (x *CustomJob) ProtoReflect() protoreflect.Message {
116	mi := &file_google_cloud_aiplatform_v1_custom_job_proto_msgTypes[0]
117	if protoimpl.UnsafeEnabled && x != nil {
118		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
119		if ms.LoadMessageInfo() == nil {
120			ms.StoreMessageInfo(mi)
121		}
122		return ms
123	}
124	return mi.MessageOf(x)
125}
126
127// Deprecated: Use CustomJob.ProtoReflect.Descriptor instead.
128func (*CustomJob) Descriptor() ([]byte, []int) {
129	return file_google_cloud_aiplatform_v1_custom_job_proto_rawDescGZIP(), []int{0}
130}
131
132func (x *CustomJob) GetName() string {
133	if x != nil {
134		return x.Name
135	}
136	return ""
137}
138
139func (x *CustomJob) GetDisplayName() string {
140	if x != nil {
141		return x.DisplayName
142	}
143	return ""
144}
145
146func (x *CustomJob) GetJobSpec() *CustomJobSpec {
147	if x != nil {
148		return x.JobSpec
149	}
150	return nil
151}
152
153func (x *CustomJob) GetState() JobState {
154	if x != nil {
155		return x.State
156	}
157	return JobState_JOB_STATE_UNSPECIFIED
158}
159
160func (x *CustomJob) GetCreateTime() *timestamppb.Timestamp {
161	if x != nil {
162		return x.CreateTime
163	}
164	return nil
165}
166
167func (x *CustomJob) GetStartTime() *timestamppb.Timestamp {
168	if x != nil {
169		return x.StartTime
170	}
171	return nil
172}
173
174func (x *CustomJob) GetEndTime() *timestamppb.Timestamp {
175	if x != nil {
176		return x.EndTime
177	}
178	return nil
179}
180
181func (x *CustomJob) GetUpdateTime() *timestamppb.Timestamp {
182	if x != nil {
183		return x.UpdateTime
184	}
185	return nil
186}
187
188func (x *CustomJob) GetError() *status.Status {
189	if x != nil {
190		return x.Error
191	}
192	return nil
193}
194
195func (x *CustomJob) GetLabels() map[string]string {
196	if x != nil {
197		return x.Labels
198	}
199	return nil
200}
201
202func (x *CustomJob) GetEncryptionSpec() *EncryptionSpec {
203	if x != nil {
204		return x.EncryptionSpec
205	}
206	return nil
207}
208
209func (x *CustomJob) GetWebAccessUris() map[string]string {
210	if x != nil {
211		return x.WebAccessUris
212	}
213	return nil
214}
215
216// Represents the spec of a CustomJob.
217type CustomJobSpec struct {
218	state         protoimpl.MessageState
219	sizeCache     protoimpl.SizeCache
220	unknownFields protoimpl.UnknownFields
221
222	// Required. The spec of the worker pools including machine type and Docker image.
223	// All worker pools except the first one are optional and can be skipped by
224	// providing an empty value.
225	WorkerPoolSpecs []*WorkerPoolSpec `protobuf:"bytes,1,rep,name=worker_pool_specs,json=workerPoolSpecs,proto3" json:"worker_pool_specs,omitempty"`
226	// Scheduling options for a CustomJob.
227	Scheduling *Scheduling `protobuf:"bytes,3,opt,name=scheduling,proto3" json:"scheduling,omitempty"`
228	// Specifies the service account for workload run-as account.
229	// Users submitting jobs must have act-as permission on this run-as account.
230	// If unspecified, the [Vertex AI Custom Code Service
231	// Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents)
232	// for the CustomJob's project is used.
233	ServiceAccount string `protobuf:"bytes,4,opt,name=service_account,json=serviceAccount,proto3" json:"service_account,omitempty"`
234	// The full name of the Compute Engine
235	// [network](/compute/docs/networks-and-firewalls#networks) to which the Job
236	// should be peered. For example, `projects/12345/global/networks/myVPC`.
237	// [Format](/compute/docs/reference/rest/v1/networks/insert)
238	// is of the form `projects/{project}/global/networks/{network}`.
239	// Where {project} is a project number, as in `12345`, and {network} is a
240	// network name.
241	//
242	// Private services access must already be configured for the network. If left
243	// unspecified, the job is not peered with any network.
244	Network string `protobuf:"bytes,5,opt,name=network,proto3" json:"network,omitempty"`
245	// The Cloud Storage location to store the output of this CustomJob or
246	// HyperparameterTuningJob. For HyperparameterTuningJob,
247	// the baseOutputDirectory of
248	// each child CustomJob backing a Trial is set to a subdirectory of name
249	// [id][google.cloud.aiplatform.v1.Trial.id] under its parent HyperparameterTuningJob's
250	// baseOutputDirectory.
251	//
252	// The following Vertex AI environment variables will be passed to
253	// containers or python modules when this field is set:
254	//
255	//   For CustomJob:
256	//
257	//   * AIP_MODEL_DIR = `<base_output_directory>/model/`
258	//   * AIP_CHECKPOINT_DIR = `<base_output_directory>/checkpoints/`
259	//   * AIP_TENSORBOARD_LOG_DIR = `<base_output_directory>/logs/`
260	//
261	//   For CustomJob backing a Trial of HyperparameterTuningJob:
262	//
263	//   * AIP_MODEL_DIR = `<base_output_directory>/<trial_id>/model/`
264	//   * AIP_CHECKPOINT_DIR = `<base_output_directory>/<trial_id>/checkpoints/`
265	//   * AIP_TENSORBOARD_LOG_DIR = `<base_output_directory>/<trial_id>/logs/`
266	BaseOutputDirectory *GcsDestination `protobuf:"bytes,6,opt,name=base_output_directory,json=baseOutputDirectory,proto3" json:"base_output_directory,omitempty"`
267	// Optional. The name of a Vertex AI [Tensorboard][google.cloud.aiplatform.v1.Tensorboard] resource to which this CustomJob
268	// will upload Tensorboard logs.
269	// Format:
270	// `projects/{project}/locations/{location}/tensorboards/{tensorboard}`
271	Tensorboard string `protobuf:"bytes,7,opt,name=tensorboard,proto3" json:"tensorboard,omitempty"`
272	// Optional. Whether you want Vertex AI to enable [interactive shell
273	// access](https://cloud.google.com/vertex-ai/docs/training/monitor-debug-interactive-shell)
274	// to training containers.
275	//
276	// If set to `true`, you can access interactive shells at the URIs given
277	// by [CustomJob.web_access_uris][google.cloud.aiplatform.v1.CustomJob.web_access_uris] or [Trial.web_access_uris][google.cloud.aiplatform.v1.Trial.web_access_uris] (within
278	// [HyperparameterTuningJob.trials][google.cloud.aiplatform.v1.HyperparameterTuningJob.trials]).
279	EnableWebAccess bool `protobuf:"varint,10,opt,name=enable_web_access,json=enableWebAccess,proto3" json:"enable_web_access,omitempty"`
280}
281
282func (x *CustomJobSpec) Reset() {
283	*x = CustomJobSpec{}
284	if protoimpl.UnsafeEnabled {
285		mi := &file_google_cloud_aiplatform_v1_custom_job_proto_msgTypes[1]
286		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
287		ms.StoreMessageInfo(mi)
288	}
289}
290
291func (x *CustomJobSpec) String() string {
292	return protoimpl.X.MessageStringOf(x)
293}
294
295func (*CustomJobSpec) ProtoMessage() {}
296
297func (x *CustomJobSpec) ProtoReflect() protoreflect.Message {
298	mi := &file_google_cloud_aiplatform_v1_custom_job_proto_msgTypes[1]
299	if protoimpl.UnsafeEnabled && x != nil {
300		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
301		if ms.LoadMessageInfo() == nil {
302			ms.StoreMessageInfo(mi)
303		}
304		return ms
305	}
306	return mi.MessageOf(x)
307}
308
309// Deprecated: Use CustomJobSpec.ProtoReflect.Descriptor instead.
310func (*CustomJobSpec) Descriptor() ([]byte, []int) {
311	return file_google_cloud_aiplatform_v1_custom_job_proto_rawDescGZIP(), []int{1}
312}
313
314func (x *CustomJobSpec) GetWorkerPoolSpecs() []*WorkerPoolSpec {
315	if x != nil {
316		return x.WorkerPoolSpecs
317	}
318	return nil
319}
320
321func (x *CustomJobSpec) GetScheduling() *Scheduling {
322	if x != nil {
323		return x.Scheduling
324	}
325	return nil
326}
327
328func (x *CustomJobSpec) GetServiceAccount() string {
329	if x != nil {
330		return x.ServiceAccount
331	}
332	return ""
333}
334
335func (x *CustomJobSpec) GetNetwork() string {
336	if x != nil {
337		return x.Network
338	}
339	return ""
340}
341
342func (x *CustomJobSpec) GetBaseOutputDirectory() *GcsDestination {
343	if x != nil {
344		return x.BaseOutputDirectory
345	}
346	return nil
347}
348
349func (x *CustomJobSpec) GetTensorboard() string {
350	if x != nil {
351		return x.Tensorboard
352	}
353	return ""
354}
355
356func (x *CustomJobSpec) GetEnableWebAccess() bool {
357	if x != nil {
358		return x.EnableWebAccess
359	}
360	return false
361}
362
363// Represents the spec of a worker pool in a job.
364type WorkerPoolSpec struct {
365	state         protoimpl.MessageState
366	sizeCache     protoimpl.SizeCache
367	unknownFields protoimpl.UnknownFields
368
369	// The custom task to be executed in this worker pool.
370	//
371	// Types that are assignable to Task:
372	//	*WorkerPoolSpec_ContainerSpec
373	//	*WorkerPoolSpec_PythonPackageSpec
374	Task isWorkerPoolSpec_Task `protobuf_oneof:"task"`
375	// Optional. Immutable. The specification of a single machine.
376	MachineSpec *MachineSpec `protobuf:"bytes,1,opt,name=machine_spec,json=machineSpec,proto3" json:"machine_spec,omitempty"`
377	// Optional. The number of worker replicas to use for this worker pool.
378	ReplicaCount int64 `protobuf:"varint,2,opt,name=replica_count,json=replicaCount,proto3" json:"replica_count,omitempty"`
379	// Disk spec.
380	DiskSpec *DiskSpec `protobuf:"bytes,5,opt,name=disk_spec,json=diskSpec,proto3" json:"disk_spec,omitempty"`
381}
382
383func (x *WorkerPoolSpec) Reset() {
384	*x = WorkerPoolSpec{}
385	if protoimpl.UnsafeEnabled {
386		mi := &file_google_cloud_aiplatform_v1_custom_job_proto_msgTypes[2]
387		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
388		ms.StoreMessageInfo(mi)
389	}
390}
391
392func (x *WorkerPoolSpec) String() string {
393	return protoimpl.X.MessageStringOf(x)
394}
395
396func (*WorkerPoolSpec) ProtoMessage() {}
397
398func (x *WorkerPoolSpec) ProtoReflect() protoreflect.Message {
399	mi := &file_google_cloud_aiplatform_v1_custom_job_proto_msgTypes[2]
400	if protoimpl.UnsafeEnabled && x != nil {
401		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
402		if ms.LoadMessageInfo() == nil {
403			ms.StoreMessageInfo(mi)
404		}
405		return ms
406	}
407	return mi.MessageOf(x)
408}
409
410// Deprecated: Use WorkerPoolSpec.ProtoReflect.Descriptor instead.
411func (*WorkerPoolSpec) Descriptor() ([]byte, []int) {
412	return file_google_cloud_aiplatform_v1_custom_job_proto_rawDescGZIP(), []int{2}
413}
414
415func (m *WorkerPoolSpec) GetTask() isWorkerPoolSpec_Task {
416	if m != nil {
417		return m.Task
418	}
419	return nil
420}
421
422func (x *WorkerPoolSpec) GetContainerSpec() *ContainerSpec {
423	if x, ok := x.GetTask().(*WorkerPoolSpec_ContainerSpec); ok {
424		return x.ContainerSpec
425	}
426	return nil
427}
428
429func (x *WorkerPoolSpec) GetPythonPackageSpec() *PythonPackageSpec {
430	if x, ok := x.GetTask().(*WorkerPoolSpec_PythonPackageSpec); ok {
431		return x.PythonPackageSpec
432	}
433	return nil
434}
435
436func (x *WorkerPoolSpec) GetMachineSpec() *MachineSpec {
437	if x != nil {
438		return x.MachineSpec
439	}
440	return nil
441}
442
443func (x *WorkerPoolSpec) GetReplicaCount() int64 {
444	if x != nil {
445		return x.ReplicaCount
446	}
447	return 0
448}
449
450func (x *WorkerPoolSpec) GetDiskSpec() *DiskSpec {
451	if x != nil {
452		return x.DiskSpec
453	}
454	return nil
455}
456
457type isWorkerPoolSpec_Task interface {
458	isWorkerPoolSpec_Task()
459}
460
461type WorkerPoolSpec_ContainerSpec struct {
462	// The custom container task.
463	ContainerSpec *ContainerSpec `protobuf:"bytes,6,opt,name=container_spec,json=containerSpec,proto3,oneof"`
464}
465
466type WorkerPoolSpec_PythonPackageSpec struct {
467	// The Python packaged task.
468	PythonPackageSpec *PythonPackageSpec `protobuf:"bytes,7,opt,name=python_package_spec,json=pythonPackageSpec,proto3,oneof"`
469}
470
471func (*WorkerPoolSpec_ContainerSpec) isWorkerPoolSpec_Task() {}
472
473func (*WorkerPoolSpec_PythonPackageSpec) isWorkerPoolSpec_Task() {}
474
475// The spec of a Container.
476type ContainerSpec struct {
477	state         protoimpl.MessageState
478	sizeCache     protoimpl.SizeCache
479	unknownFields protoimpl.UnknownFields
480
481	// Required. The URI of a container image in the Container Registry that is to be run on
482	// each worker replica.
483	ImageUri string `protobuf:"bytes,1,opt,name=image_uri,json=imageUri,proto3" json:"image_uri,omitempty"`
484	// The command to be invoked when the container is started.
485	// It overrides the entrypoint instruction in Dockerfile when provided.
486	Command []string `protobuf:"bytes,2,rep,name=command,proto3" json:"command,omitempty"`
487	// The arguments to be passed when starting the container.
488	Args []string `protobuf:"bytes,3,rep,name=args,proto3" json:"args,omitempty"`
489	// Environment variables to be passed to the container.
490	// Maximum limit is 100.
491	Env []*EnvVar `protobuf:"bytes,4,rep,name=env,proto3" json:"env,omitempty"`
492}
493
494func (x *ContainerSpec) Reset() {
495	*x = ContainerSpec{}
496	if protoimpl.UnsafeEnabled {
497		mi := &file_google_cloud_aiplatform_v1_custom_job_proto_msgTypes[3]
498		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
499		ms.StoreMessageInfo(mi)
500	}
501}
502
503func (x *ContainerSpec) String() string {
504	return protoimpl.X.MessageStringOf(x)
505}
506
507func (*ContainerSpec) ProtoMessage() {}
508
509func (x *ContainerSpec) ProtoReflect() protoreflect.Message {
510	mi := &file_google_cloud_aiplatform_v1_custom_job_proto_msgTypes[3]
511	if protoimpl.UnsafeEnabled && x != nil {
512		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
513		if ms.LoadMessageInfo() == nil {
514			ms.StoreMessageInfo(mi)
515		}
516		return ms
517	}
518	return mi.MessageOf(x)
519}
520
521// Deprecated: Use ContainerSpec.ProtoReflect.Descriptor instead.
522func (*ContainerSpec) Descriptor() ([]byte, []int) {
523	return file_google_cloud_aiplatform_v1_custom_job_proto_rawDescGZIP(), []int{3}
524}
525
526func (x *ContainerSpec) GetImageUri() string {
527	if x != nil {
528		return x.ImageUri
529	}
530	return ""
531}
532
533func (x *ContainerSpec) GetCommand() []string {
534	if x != nil {
535		return x.Command
536	}
537	return nil
538}
539
540func (x *ContainerSpec) GetArgs() []string {
541	if x != nil {
542		return x.Args
543	}
544	return nil
545}
546
547func (x *ContainerSpec) GetEnv() []*EnvVar {
548	if x != nil {
549		return x.Env
550	}
551	return nil
552}
553
554// The spec of a Python packaged code.
555type PythonPackageSpec struct {
556	state         protoimpl.MessageState
557	sizeCache     protoimpl.SizeCache
558	unknownFields protoimpl.UnknownFields
559
560	// Required. The URI of a container image in Artifact Registry that will run the
561	// provided Python package. Vertex AI provides a wide range of executor
562	// images with pre-installed packages to meet users' various use cases. See
563	// the list of [pre-built containers for
564	// training](https://cloud.google.com/vertex-ai/docs/training/pre-built-containers).
565	// You must use an image from this list.
566	ExecutorImageUri string `protobuf:"bytes,1,opt,name=executor_image_uri,json=executorImageUri,proto3" json:"executor_image_uri,omitempty"`
567	// Required. The Google Cloud Storage location of the Python package files which are
568	// the training program and its dependent packages.
569	// The maximum number of package URIs is 100.
570	PackageUris []string `protobuf:"bytes,2,rep,name=package_uris,json=packageUris,proto3" json:"package_uris,omitempty"`
571	// Required. The Python module name to run after installing the packages.
572	PythonModule string `protobuf:"bytes,3,opt,name=python_module,json=pythonModule,proto3" json:"python_module,omitempty"`
573	// Command line arguments to be passed to the Python task.
574	Args []string `protobuf:"bytes,4,rep,name=args,proto3" json:"args,omitempty"`
575	// Environment variables to be passed to the python module.
576	// Maximum limit is 100.
577	Env []*EnvVar `protobuf:"bytes,5,rep,name=env,proto3" json:"env,omitempty"`
578}
579
580func (x *PythonPackageSpec) Reset() {
581	*x = PythonPackageSpec{}
582	if protoimpl.UnsafeEnabled {
583		mi := &file_google_cloud_aiplatform_v1_custom_job_proto_msgTypes[4]
584		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
585		ms.StoreMessageInfo(mi)
586	}
587}
588
589func (x *PythonPackageSpec) String() string {
590	return protoimpl.X.MessageStringOf(x)
591}
592
593func (*PythonPackageSpec) ProtoMessage() {}
594
595func (x *PythonPackageSpec) ProtoReflect() protoreflect.Message {
596	mi := &file_google_cloud_aiplatform_v1_custom_job_proto_msgTypes[4]
597	if protoimpl.UnsafeEnabled && x != nil {
598		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
599		if ms.LoadMessageInfo() == nil {
600			ms.StoreMessageInfo(mi)
601		}
602		return ms
603	}
604	return mi.MessageOf(x)
605}
606
607// Deprecated: Use PythonPackageSpec.ProtoReflect.Descriptor instead.
608func (*PythonPackageSpec) Descriptor() ([]byte, []int) {
609	return file_google_cloud_aiplatform_v1_custom_job_proto_rawDescGZIP(), []int{4}
610}
611
612func (x *PythonPackageSpec) GetExecutorImageUri() string {
613	if x != nil {
614		return x.ExecutorImageUri
615	}
616	return ""
617}
618
619func (x *PythonPackageSpec) GetPackageUris() []string {
620	if x != nil {
621		return x.PackageUris
622	}
623	return nil
624}
625
626func (x *PythonPackageSpec) GetPythonModule() string {
627	if x != nil {
628		return x.PythonModule
629	}
630	return ""
631}
632
633func (x *PythonPackageSpec) GetArgs() []string {
634	if x != nil {
635		return x.Args
636	}
637	return nil
638}
639
640func (x *PythonPackageSpec) GetEnv() []*EnvVar {
641	if x != nil {
642		return x.Env
643	}
644	return nil
645}
646
647// All parameters related to queuing and scheduling of custom jobs.
648type Scheduling struct {
649	state         protoimpl.MessageState
650	sizeCache     protoimpl.SizeCache
651	unknownFields protoimpl.UnknownFields
652
653	// The maximum job running time. The default is 7 days.
654	Timeout *durationpb.Duration `protobuf:"bytes,1,opt,name=timeout,proto3" json:"timeout,omitempty"`
655	// Restarts the entire CustomJob if a worker gets restarted.
656	// This feature can be used by distributed training jobs that are not
657	// resilient to workers leaving and joining a job.
658	RestartJobOnWorkerRestart bool `protobuf:"varint,3,opt,name=restart_job_on_worker_restart,json=restartJobOnWorkerRestart,proto3" json:"restart_job_on_worker_restart,omitempty"`
659}
660
661func (x *Scheduling) Reset() {
662	*x = Scheduling{}
663	if protoimpl.UnsafeEnabled {
664		mi := &file_google_cloud_aiplatform_v1_custom_job_proto_msgTypes[5]
665		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
666		ms.StoreMessageInfo(mi)
667	}
668}
669
670func (x *Scheduling) String() string {
671	return protoimpl.X.MessageStringOf(x)
672}
673
674func (*Scheduling) ProtoMessage() {}
675
676func (x *Scheduling) ProtoReflect() protoreflect.Message {
677	mi := &file_google_cloud_aiplatform_v1_custom_job_proto_msgTypes[5]
678	if protoimpl.UnsafeEnabled && x != nil {
679		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
680		if ms.LoadMessageInfo() == nil {
681			ms.StoreMessageInfo(mi)
682		}
683		return ms
684	}
685	return mi.MessageOf(x)
686}
687
688// Deprecated: Use Scheduling.ProtoReflect.Descriptor instead.
689func (*Scheduling) Descriptor() ([]byte, []int) {
690	return file_google_cloud_aiplatform_v1_custom_job_proto_rawDescGZIP(), []int{5}
691}
692
693func (x *Scheduling) GetTimeout() *durationpb.Duration {
694	if x != nil {
695		return x.Timeout
696	}
697	return nil
698}
699
700func (x *Scheduling) GetRestartJobOnWorkerRestart() bool {
701	if x != nil {
702		return x.RestartJobOnWorkerRestart
703	}
704	return false
705}
706
707var File_google_cloud_aiplatform_v1_custom_job_proto protoreflect.FileDescriptor
708
709var file_google_cloud_aiplatform_v1_custom_job_proto_rawDesc = []byte{
710	0x0a, 0x2b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61,
711	0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x75, 0x73,
712	0x74, 0x6f, 0x6d, 0x5f, 0x6a, 0x6f, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x67,
713	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c,
714	0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
715	0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61,
716	0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67,
717	0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e,
718	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x30, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c,
719	0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76,
720	0x31, 0x2f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65,
721	0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
722	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
723	0x2f, 0x76, 0x31, 0x2f, 0x65, 0x6e, 0x76, 0x5f, 0x76, 0x61, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74,
724	0x6f, 0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f,
725	0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x69, 0x6f,
726	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63,
727	0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f,
728	0x76, 0x31, 0x2f, 0x6a, 0x6f, 0x62, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f,
729	0x74, 0x6f, 0x1a, 0x32, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64,
730	0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x6d,
731	0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73,
732	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70,
733	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
734	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70,
735	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
736	0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
737	0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
738	0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e,
739	0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf6,
740	0x07, 0x0a, 0x09, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4a, 0x6f, 0x62, 0x12, 0x17, 0x0a, 0x04,
741	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52,
742	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79,
743	0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02,
744	0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x49, 0x0a,
745	0x08, 0x6a, 0x6f, 0x62, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32,
746	0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61,
747	0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, 0x73,
748	0x74, 0x6f, 0x6d, 0x4a, 0x6f, 0x62, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
749	0x07, 0x6a, 0x6f, 0x62, 0x53, 0x70, 0x65, 0x63, 0x12, 0x3f, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74,
750	0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
751	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
752	0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0,
753	0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65,
754	0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
755	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
756	0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52,
757	0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x0a, 0x73,
758	0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32,
759	0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
760	0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03,
761	0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x65,
762	0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
763	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
764	0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07,
765	0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74,
766	0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
767	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
768	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75,
769	0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x65, 0x72, 0x72,
770	0x6f, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
771	0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x03, 0xe0, 0x41,
772	0x03, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x49, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65,
773	0x6c, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
774	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f,
775	0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4a, 0x6f, 0x62, 0x2e,
776	0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62,
777	0x65, 0x6c, 0x73, 0x12, 0x53, 0x0a, 0x0f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f,
778	0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67,
779	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c,
780	0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70,
781	0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x52, 0x0e, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70,
782	0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x65, 0x0a, 0x0f, 0x77, 0x65, 0x62, 0x5f,
783	0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x73, 0x18, 0x10, 0x20, 0x03, 0x28,
784	0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
785	0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43,
786	0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4a, 0x6f, 0x62, 0x2e, 0x57, 0x65, 0x62, 0x41, 0x63, 0x63, 0x65,
787	0x73, 0x73, 0x55, 0x72, 0x69, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x03,
788	0x52, 0x0d, 0x77, 0x65, 0x62, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x55, 0x72, 0x69, 0x73, 0x1a,
789	0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
790	0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
791	0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
792	0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x40, 0x0a, 0x12, 0x57, 0x65,
793	0x62, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x55, 0x72, 0x69, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
794	0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b,
795	0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
796	0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x69, 0xea, 0x41,
797	0x66, 0x0a, 0x23, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f,
798	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x75, 0x73,
799	0x74, 0x6f, 0x6d, 0x4a, 0x6f, 0x62, 0x12, 0x3f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73,
800	0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74,
801	0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f,
802	0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4a, 0x6f, 0x62, 0x73, 0x2f, 0x7b, 0x63, 0x75, 0x73, 0x74,
803	0x6f, 0x6d, 0x5f, 0x6a, 0x6f, 0x62, 0x7d, 0x22, 0xfe, 0x03, 0x0a, 0x0d, 0x43, 0x75, 0x73, 0x74,
804	0x6f, 0x6d, 0x4a, 0x6f, 0x62, 0x53, 0x70, 0x65, 0x63, 0x12, 0x5b, 0x0a, 0x11, 0x77, 0x6f, 0x72,
805	0x6b, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x73, 0x18, 0x01,
806	0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
807	0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76,
808	0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x70, 0x65, 0x63,
809	0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6f,
810	0x6c, 0x53, 0x70, 0x65, 0x63, 0x73, 0x12, 0x46, 0x0a, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75,
811	0x6c, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f,
812	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74,
813	0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69,
814	0x6e, 0x67, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x27,
815	0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e,
816	0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
817	0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3d, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f,
818	0x72, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0xfa, 0x41, 0x20, 0x0a, 0x1e, 0x63,
819	0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
820	0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x07, 0x6e,
821	0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x5e, 0x0a, 0x15, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x6f,
822	0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18,
823	0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
824	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e,
825	0x76, 0x31, 0x2e, 0x47, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f,
826	0x6e, 0x52, 0x13, 0x62, 0x61, 0x73, 0x65, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x44, 0x69, 0x72,
827	0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x4f, 0x0a, 0x0b, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72,
828	0x62, 0x6f, 0x61, 0x72, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2d, 0xe0, 0x41, 0x01,
829	0xfa, 0x41, 0x27, 0x0a, 0x25, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e,
830	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54,
831	0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x0b, 0x74, 0x65, 0x6e, 0x73,
832	0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x12, 0x2f, 0x0a, 0x11, 0x65, 0x6e, 0x61, 0x62, 0x6c,
833	0x65, 0x5f, 0x77, 0x65, 0x62, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x0a, 0x20, 0x01,
834	0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x57,
835	0x65, 0x62, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x8e, 0x03, 0x0a, 0x0e, 0x57, 0x6f, 0x72,
836	0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x70, 0x65, 0x63, 0x12, 0x52, 0x0a, 0x0e, 0x63,
837	0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x06, 0x20,
838	0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
839	0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31,
840	0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x48, 0x00,
841	0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x12,
842	0x5f, 0x0a, 0x13, 0x70, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67,
843	0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67,
844	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c,
845	0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x79, 0x74, 0x68, 0x6f, 0x6e,
846	0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x53, 0x70, 0x65, 0x63, 0x48, 0x00, 0x52, 0x11, 0x70,
847	0x79, 0x74, 0x68, 0x6f, 0x6e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x53, 0x70, 0x65, 0x63,
848	0x12, 0x52, 0x0a, 0x0c, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63,
849	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
850	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
851	0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x53, 0x70, 0x65, 0x63, 0x42,
852	0x06, 0xe0, 0x41, 0x01, 0xe0, 0x41, 0x05, 0x52, 0x0b, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65,
853	0x53, 0x70, 0x65, 0x63, 0x12, 0x28, 0x0a, 0x0d, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f,
854	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x01,
855	0x52, 0x0c, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x41,
856	0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28,
857	0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
858	0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44,
859	0x69, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x52, 0x08, 0x64, 0x69, 0x73, 0x6b, 0x53, 0x70, 0x65,
860	0x63, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x22, 0x95, 0x01, 0x0a, 0x0d, 0x43, 0x6f,
861	0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x12, 0x20, 0x0a, 0x09, 0x69,
862	0x6d, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03,
863	0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x69, 0x12, 0x18, 0x0a,
864	0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07,
865	0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18,
866	0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x34, 0x0a, 0x03, 0x65,
867	0x6e, 0x76, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
868	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f,
869	0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x76, 0x56, 0x61, 0x72, 0x52, 0x03, 0x65, 0x6e,
870	0x76, 0x22, 0xe2, 0x01, 0x0a, 0x11, 0x50, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x50, 0x61, 0x63, 0x6b,
871	0x61, 0x67, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x31, 0x0a, 0x12, 0x65, 0x78, 0x65, 0x63, 0x75,
872	0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20,
873	0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74,
874	0x6f, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x69, 0x12, 0x26, 0x0a, 0x0c, 0x70, 0x61,
875	0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09,
876	0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x55, 0x72,
877	0x69, 0x73, 0x12, 0x28, 0x0a, 0x0d, 0x70, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x5f, 0x6d, 0x6f, 0x64,
878	0x75, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c,
879	0x70, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04,
880	0x61, 0x72, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73,
881	0x12, 0x34, 0x0a, 0x03, 0x65, 0x6e, 0x76, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e,
882	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70,
883	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x76, 0x56, 0x61,
884	0x72, 0x52, 0x03, 0x65, 0x6e, 0x76, 0x22, 0x83, 0x01, 0x0a, 0x0a, 0x53, 0x63, 0x68, 0x65, 0x64,
885	0x75, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74,
886	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
887	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
888	0x6e, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x40, 0x0a, 0x1d, 0x72, 0x65,
889	0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x6f, 0x6e, 0x5f, 0x77, 0x6f, 0x72,
890	0x6b, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28,
891	0x08, 0x52, 0x19, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x4f, 0x6e, 0x57,
892	0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x42, 0xd2, 0x01, 0x0a,
893	0x1e, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
894	0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x42,
895	0x0e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4a, 0x6f, 0x62, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50,
896	0x01, 0x5a, 0x44, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67,
897	0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f,
898	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61,
899	0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x3b, 0x61, 0x69, 0x70,
900	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0xaa, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
901	0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
902	0x6d, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c,
903	0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56,
904	0x31, 0xea, 0x02, 0x1d, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75,
905	0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56,
906	0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
907}
908
909var (
910	file_google_cloud_aiplatform_v1_custom_job_proto_rawDescOnce sync.Once
911	file_google_cloud_aiplatform_v1_custom_job_proto_rawDescData = file_google_cloud_aiplatform_v1_custom_job_proto_rawDesc
912)
913
914func file_google_cloud_aiplatform_v1_custom_job_proto_rawDescGZIP() []byte {
915	file_google_cloud_aiplatform_v1_custom_job_proto_rawDescOnce.Do(func() {
916		file_google_cloud_aiplatform_v1_custom_job_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_aiplatform_v1_custom_job_proto_rawDescData)
917	})
918	return file_google_cloud_aiplatform_v1_custom_job_proto_rawDescData
919}
920
921var file_google_cloud_aiplatform_v1_custom_job_proto_msgTypes = make([]protoimpl.MessageInfo, 8)
922var file_google_cloud_aiplatform_v1_custom_job_proto_goTypes = []interface{}{
923	(*CustomJob)(nil),             // 0: google.cloud.aiplatform.v1.CustomJob
924	(*CustomJobSpec)(nil),         // 1: google.cloud.aiplatform.v1.CustomJobSpec
925	(*WorkerPoolSpec)(nil),        // 2: google.cloud.aiplatform.v1.WorkerPoolSpec
926	(*ContainerSpec)(nil),         // 3: google.cloud.aiplatform.v1.ContainerSpec
927	(*PythonPackageSpec)(nil),     // 4: google.cloud.aiplatform.v1.PythonPackageSpec
928	(*Scheduling)(nil),            // 5: google.cloud.aiplatform.v1.Scheduling
929	nil,                           // 6: google.cloud.aiplatform.v1.CustomJob.LabelsEntry
930	nil,                           // 7: google.cloud.aiplatform.v1.CustomJob.WebAccessUrisEntry
931	(JobState)(0),                 // 8: google.cloud.aiplatform.v1.JobState
932	(*timestamppb.Timestamp)(nil), // 9: google.protobuf.Timestamp
933	(*status.Status)(nil),         // 10: google.rpc.Status
934	(*EncryptionSpec)(nil),        // 11: google.cloud.aiplatform.v1.EncryptionSpec
935	(*GcsDestination)(nil),        // 12: google.cloud.aiplatform.v1.GcsDestination
936	(*MachineSpec)(nil),           // 13: google.cloud.aiplatform.v1.MachineSpec
937	(*DiskSpec)(nil),              // 14: google.cloud.aiplatform.v1.DiskSpec
938	(*EnvVar)(nil),                // 15: google.cloud.aiplatform.v1.EnvVar
939	(*durationpb.Duration)(nil),   // 16: google.protobuf.Duration
940}
941var file_google_cloud_aiplatform_v1_custom_job_proto_depIdxs = []int32{
942	1,  // 0: google.cloud.aiplatform.v1.CustomJob.job_spec:type_name -> google.cloud.aiplatform.v1.CustomJobSpec
943	8,  // 1: google.cloud.aiplatform.v1.CustomJob.state:type_name -> google.cloud.aiplatform.v1.JobState
944	9,  // 2: google.cloud.aiplatform.v1.CustomJob.create_time:type_name -> google.protobuf.Timestamp
945	9,  // 3: google.cloud.aiplatform.v1.CustomJob.start_time:type_name -> google.protobuf.Timestamp
946	9,  // 4: google.cloud.aiplatform.v1.CustomJob.end_time:type_name -> google.protobuf.Timestamp
947	9,  // 5: google.cloud.aiplatform.v1.CustomJob.update_time:type_name -> google.protobuf.Timestamp
948	10, // 6: google.cloud.aiplatform.v1.CustomJob.error:type_name -> google.rpc.Status
949	6,  // 7: google.cloud.aiplatform.v1.CustomJob.labels:type_name -> google.cloud.aiplatform.v1.CustomJob.LabelsEntry
950	11, // 8: google.cloud.aiplatform.v1.CustomJob.encryption_spec:type_name -> google.cloud.aiplatform.v1.EncryptionSpec
951	7,  // 9: google.cloud.aiplatform.v1.CustomJob.web_access_uris:type_name -> google.cloud.aiplatform.v1.CustomJob.WebAccessUrisEntry
952	2,  // 10: google.cloud.aiplatform.v1.CustomJobSpec.worker_pool_specs:type_name -> google.cloud.aiplatform.v1.WorkerPoolSpec
953	5,  // 11: google.cloud.aiplatform.v1.CustomJobSpec.scheduling:type_name -> google.cloud.aiplatform.v1.Scheduling
954	12, // 12: google.cloud.aiplatform.v1.CustomJobSpec.base_output_directory:type_name -> google.cloud.aiplatform.v1.GcsDestination
955	3,  // 13: google.cloud.aiplatform.v1.WorkerPoolSpec.container_spec:type_name -> google.cloud.aiplatform.v1.ContainerSpec
956	4,  // 14: google.cloud.aiplatform.v1.WorkerPoolSpec.python_package_spec:type_name -> google.cloud.aiplatform.v1.PythonPackageSpec
957	13, // 15: google.cloud.aiplatform.v1.WorkerPoolSpec.machine_spec:type_name -> google.cloud.aiplatform.v1.MachineSpec
958	14, // 16: google.cloud.aiplatform.v1.WorkerPoolSpec.disk_spec:type_name -> google.cloud.aiplatform.v1.DiskSpec
959	15, // 17: google.cloud.aiplatform.v1.ContainerSpec.env:type_name -> google.cloud.aiplatform.v1.EnvVar
960	15, // 18: google.cloud.aiplatform.v1.PythonPackageSpec.env:type_name -> google.cloud.aiplatform.v1.EnvVar
961	16, // 19: google.cloud.aiplatform.v1.Scheduling.timeout:type_name -> google.protobuf.Duration
962	20, // [20:20] is the sub-list for method output_type
963	20, // [20:20] is the sub-list for method input_type
964	20, // [20:20] is the sub-list for extension type_name
965	20, // [20:20] is the sub-list for extension extendee
966	0,  // [0:20] is the sub-list for field type_name
967}
968
969func init() { file_google_cloud_aiplatform_v1_custom_job_proto_init() }
970func file_google_cloud_aiplatform_v1_custom_job_proto_init() {
971	if File_google_cloud_aiplatform_v1_custom_job_proto != nil {
972		return
973	}
974	file_google_cloud_aiplatform_v1_encryption_spec_proto_init()
975	file_google_cloud_aiplatform_v1_env_var_proto_init()
976	file_google_cloud_aiplatform_v1_io_proto_init()
977	file_google_cloud_aiplatform_v1_job_state_proto_init()
978	file_google_cloud_aiplatform_v1_machine_resources_proto_init()
979	if !protoimpl.UnsafeEnabled {
980		file_google_cloud_aiplatform_v1_custom_job_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
981			switch v := v.(*CustomJob); i {
982			case 0:
983				return &v.state
984			case 1:
985				return &v.sizeCache
986			case 2:
987				return &v.unknownFields
988			default:
989				return nil
990			}
991		}
992		file_google_cloud_aiplatform_v1_custom_job_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
993			switch v := v.(*CustomJobSpec); i {
994			case 0:
995				return &v.state
996			case 1:
997				return &v.sizeCache
998			case 2:
999				return &v.unknownFields
1000			default:
1001				return nil
1002			}
1003		}
1004		file_google_cloud_aiplatform_v1_custom_job_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
1005			switch v := v.(*WorkerPoolSpec); i {
1006			case 0:
1007				return &v.state
1008			case 1:
1009				return &v.sizeCache
1010			case 2:
1011				return &v.unknownFields
1012			default:
1013				return nil
1014			}
1015		}
1016		file_google_cloud_aiplatform_v1_custom_job_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
1017			switch v := v.(*ContainerSpec); i {
1018			case 0:
1019				return &v.state
1020			case 1:
1021				return &v.sizeCache
1022			case 2:
1023				return &v.unknownFields
1024			default:
1025				return nil
1026			}
1027		}
1028		file_google_cloud_aiplatform_v1_custom_job_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
1029			switch v := v.(*PythonPackageSpec); i {
1030			case 0:
1031				return &v.state
1032			case 1:
1033				return &v.sizeCache
1034			case 2:
1035				return &v.unknownFields
1036			default:
1037				return nil
1038			}
1039		}
1040		file_google_cloud_aiplatform_v1_custom_job_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
1041			switch v := v.(*Scheduling); i {
1042			case 0:
1043				return &v.state
1044			case 1:
1045				return &v.sizeCache
1046			case 2:
1047				return &v.unknownFields
1048			default:
1049				return nil
1050			}
1051		}
1052	}
1053	file_google_cloud_aiplatform_v1_custom_job_proto_msgTypes[2].OneofWrappers = []interface{}{
1054		(*WorkerPoolSpec_ContainerSpec)(nil),
1055		(*WorkerPoolSpec_PythonPackageSpec)(nil),
1056	}
1057	type x struct{}
1058	out := protoimpl.TypeBuilder{
1059		File: protoimpl.DescBuilder{
1060			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
1061			RawDescriptor: file_google_cloud_aiplatform_v1_custom_job_proto_rawDesc,
1062			NumEnums:      0,
1063			NumMessages:   8,
1064			NumExtensions: 0,
1065			NumServices:   0,
1066		},
1067		GoTypes:           file_google_cloud_aiplatform_v1_custom_job_proto_goTypes,
1068		DependencyIndexes: file_google_cloud_aiplatform_v1_custom_job_proto_depIdxs,
1069		MessageInfos:      file_google_cloud_aiplatform_v1_custom_job_proto_msgTypes,
1070	}.Build()
1071	File_google_cloud_aiplatform_v1_custom_job_proto = out.File
1072	file_google_cloud_aiplatform_v1_custom_job_proto_rawDesc = nil
1073	file_google_cloud_aiplatform_v1_custom_job_proto_goTypes = nil
1074	file_google_cloud_aiplatform_v1_custom_job_proto_depIdxs = nil
1075}
1076