• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2020 Google LLC
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *     https://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 // Generated by the protocol buffer compiler.  DO NOT EDIT!
17 // source: google/cloud/aiplatform/v1/model.proto
18 
19 package com.google.cloud.aiplatform.v1;
20 
21 /**
22  *
23  *
24  * <pre>
25  * A trained machine learning Model.
26  * </pre>
27  *
28  * Protobuf type {@code google.cloud.aiplatform.v1.Model}
29  */
30 public final class Model extends com.google.protobuf.GeneratedMessageV3
31     implements
32     // @@protoc_insertion_point(message_implements:google.cloud.aiplatform.v1.Model)
33     ModelOrBuilder {
34   private static final long serialVersionUID = 0L;
35   // Use Model.newBuilder() to construct.
Model(com.google.protobuf.GeneratedMessageV3.Builder<?> builder)36   private Model(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
37     super(builder);
38   }
39 
Model()40   private Model() {
41     name_ = "";
42     versionId_ = "";
43     versionAliases_ = com.google.protobuf.LazyStringArrayList.EMPTY;
44     displayName_ = "";
45     description_ = "";
46     versionDescription_ = "";
47     metadataSchemaUri_ = "";
48     supportedExportFormats_ = java.util.Collections.emptyList();
49     trainingPipeline_ = "";
50     artifactUri_ = "";
51     supportedDeploymentResourcesTypes_ = java.util.Collections.emptyList();
52     supportedInputStorageFormats_ = com.google.protobuf.LazyStringArrayList.EMPTY;
53     supportedOutputStorageFormats_ = com.google.protobuf.LazyStringArrayList.EMPTY;
54     deployedModels_ = java.util.Collections.emptyList();
55     etag_ = "";
56     metadataArtifact_ = "";
57   }
58 
59   @java.lang.Override
60   @SuppressWarnings({"unused"})
newInstance(UnusedPrivateParameter unused)61   protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
62     return new Model();
63   }
64 
65   @java.lang.Override
getUnknownFields()66   public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
67     return this.unknownFields;
68   }
69 
getDescriptor()70   public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
71     return com.google.cloud.aiplatform.v1.ModelProto
72         .internal_static_google_cloud_aiplatform_v1_Model_descriptor;
73   }
74 
75   @SuppressWarnings({"rawtypes"})
76   @java.lang.Override
internalGetMapField(int number)77   protected com.google.protobuf.MapField internalGetMapField(int number) {
78     switch (number) {
79       case 17:
80         return internalGetLabels();
81       default:
82         throw new RuntimeException("Invalid map field number: " + number);
83     }
84   }
85 
86   @java.lang.Override
87   protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()88       internalGetFieldAccessorTable() {
89     return com.google.cloud.aiplatform.v1.ModelProto
90         .internal_static_google_cloud_aiplatform_v1_Model_fieldAccessorTable
91         .ensureFieldAccessorsInitialized(
92             com.google.cloud.aiplatform.v1.Model.class,
93             com.google.cloud.aiplatform.v1.Model.Builder.class);
94   }
95 
96   /**
97    *
98    *
99    * <pre>
100    * Identifies a type of Model's prediction resources.
101    * </pre>
102    *
103    * Protobuf enum {@code google.cloud.aiplatform.v1.Model.DeploymentResourcesType}
104    */
105   public enum DeploymentResourcesType implements com.google.protobuf.ProtocolMessageEnum {
106     /**
107      *
108      *
109      * <pre>
110      * Should not be used.
111      * </pre>
112      *
113      * <code>DEPLOYMENT_RESOURCES_TYPE_UNSPECIFIED = 0;</code>
114      */
115     DEPLOYMENT_RESOURCES_TYPE_UNSPECIFIED(0),
116     /**
117      *
118      *
119      * <pre>
120      * Resources that are dedicated to the
121      * [DeployedModel][google.cloud.aiplatform.v1.DeployedModel], and that need
122      * a higher degree of manual configuration.
123      * </pre>
124      *
125      * <code>DEDICATED_RESOURCES = 1;</code>
126      */
127     DEDICATED_RESOURCES(1),
128     /**
129      *
130      *
131      * <pre>
132      * Resources that to large degree are decided by Vertex AI, and require
133      * only a modest additional configuration.
134      * </pre>
135      *
136      * <code>AUTOMATIC_RESOURCES = 2;</code>
137      */
138     AUTOMATIC_RESOURCES(2),
139     /**
140      *
141      *
142      * <pre>
143      * Resources that can be shared by multiple
144      * [DeployedModels][google.cloud.aiplatform.v1.DeployedModel]. A
145      * pre-configured [DeploymentResourcePool][] is required.
146      * </pre>
147      *
148      * <code>SHARED_RESOURCES = 3;</code>
149      */
150     SHARED_RESOURCES(3),
151     UNRECOGNIZED(-1),
152     ;
153 
154     /**
155      *
156      *
157      * <pre>
158      * Should not be used.
159      * </pre>
160      *
161      * <code>DEPLOYMENT_RESOURCES_TYPE_UNSPECIFIED = 0;</code>
162      */
163     public static final int DEPLOYMENT_RESOURCES_TYPE_UNSPECIFIED_VALUE = 0;
164     /**
165      *
166      *
167      * <pre>
168      * Resources that are dedicated to the
169      * [DeployedModel][google.cloud.aiplatform.v1.DeployedModel], and that need
170      * a higher degree of manual configuration.
171      * </pre>
172      *
173      * <code>DEDICATED_RESOURCES = 1;</code>
174      */
175     public static final int DEDICATED_RESOURCES_VALUE = 1;
176     /**
177      *
178      *
179      * <pre>
180      * Resources that to large degree are decided by Vertex AI, and require
181      * only a modest additional configuration.
182      * </pre>
183      *
184      * <code>AUTOMATIC_RESOURCES = 2;</code>
185      */
186     public static final int AUTOMATIC_RESOURCES_VALUE = 2;
187     /**
188      *
189      *
190      * <pre>
191      * Resources that can be shared by multiple
192      * [DeployedModels][google.cloud.aiplatform.v1.DeployedModel]. A
193      * pre-configured [DeploymentResourcePool][] is required.
194      * </pre>
195      *
196      * <code>SHARED_RESOURCES = 3;</code>
197      */
198     public static final int SHARED_RESOURCES_VALUE = 3;
199 
getNumber()200     public final int getNumber() {
201       if (this == UNRECOGNIZED) {
202         throw new java.lang.IllegalArgumentException(
203             "Can't get the number of an unknown enum value.");
204       }
205       return value;
206     }
207 
208     /**
209      * @param value The numeric wire value of the corresponding enum entry.
210      * @return The enum associated with the given numeric wire value.
211      * @deprecated Use {@link #forNumber(int)} instead.
212      */
213     @java.lang.Deprecated
valueOf(int value)214     public static DeploymentResourcesType valueOf(int value) {
215       return forNumber(value);
216     }
217 
218     /**
219      * @param value The numeric wire value of the corresponding enum entry.
220      * @return The enum associated with the given numeric wire value.
221      */
forNumber(int value)222     public static DeploymentResourcesType forNumber(int value) {
223       switch (value) {
224         case 0:
225           return DEPLOYMENT_RESOURCES_TYPE_UNSPECIFIED;
226         case 1:
227           return DEDICATED_RESOURCES;
228         case 2:
229           return AUTOMATIC_RESOURCES;
230         case 3:
231           return SHARED_RESOURCES;
232         default:
233           return null;
234       }
235     }
236 
237     public static com.google.protobuf.Internal.EnumLiteMap<DeploymentResourcesType>
internalGetValueMap()238         internalGetValueMap() {
239       return internalValueMap;
240     }
241 
242     private static final com.google.protobuf.Internal.EnumLiteMap<DeploymentResourcesType>
243         internalValueMap =
244             new com.google.protobuf.Internal.EnumLiteMap<DeploymentResourcesType>() {
245               public DeploymentResourcesType findValueByNumber(int number) {
246                 return DeploymentResourcesType.forNumber(number);
247               }
248             };
249 
getValueDescriptor()250     public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() {
251       if (this == UNRECOGNIZED) {
252         throw new java.lang.IllegalStateException(
253             "Can't get the descriptor of an unrecognized enum value.");
254       }
255       return getDescriptor().getValues().get(ordinal());
256     }
257 
getDescriptorForType()258     public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() {
259       return getDescriptor();
260     }
261 
getDescriptor()262     public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() {
263       return com.google.cloud.aiplatform.v1.Model.getDescriptor().getEnumTypes().get(0);
264     }
265 
266     private static final DeploymentResourcesType[] VALUES = values();
267 
valueOf( com.google.protobuf.Descriptors.EnumValueDescriptor desc)268     public static DeploymentResourcesType valueOf(
269         com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
270       if (desc.getType() != getDescriptor()) {
271         throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type.");
272       }
273       if (desc.getIndex() == -1) {
274         return UNRECOGNIZED;
275       }
276       return VALUES[desc.getIndex()];
277     }
278 
279     private final int value;
280 
DeploymentResourcesType(int value)281     private DeploymentResourcesType(int value) {
282       this.value = value;
283     }
284 
285     // @@protoc_insertion_point(enum_scope:google.cloud.aiplatform.v1.Model.DeploymentResourcesType)
286   }
287 
288   public interface ExportFormatOrBuilder
289       extends
290       // @@protoc_insertion_point(interface_extends:google.cloud.aiplatform.v1.Model.ExportFormat)
291       com.google.protobuf.MessageOrBuilder {
292 
293     /**
294      *
295      *
296      * <pre>
297      * Output only. The ID of the export format.
298      * The possible format IDs are:
299      * * `tflite`
300      * Used for Android mobile devices.
301      * * `edgetpu-tflite`
302      * Used for [Edge TPU](https://cloud.google.com/edge-tpu/) devices.
303      * * `tf-saved-model`
304      * A tensorflow model in SavedModel format.
305      * * `tf-js`
306      * A [TensorFlow.js](https://www.tensorflow.org/js) model that can be used
307      * in the browser and in Node.js using JavaScript.
308      * * `core-ml`
309      * Used for iOS mobile devices.
310      * * `custom-trained`
311      * A Model that was uploaded or trained by custom code.
312      * </pre>
313      *
314      * <code>string id = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
315      *
316      * @return The id.
317      */
getId()318     java.lang.String getId();
319     /**
320      *
321      *
322      * <pre>
323      * Output only. The ID of the export format.
324      * The possible format IDs are:
325      * * `tflite`
326      * Used for Android mobile devices.
327      * * `edgetpu-tflite`
328      * Used for [Edge TPU](https://cloud.google.com/edge-tpu/) devices.
329      * * `tf-saved-model`
330      * A tensorflow model in SavedModel format.
331      * * `tf-js`
332      * A [TensorFlow.js](https://www.tensorflow.org/js) model that can be used
333      * in the browser and in Node.js using JavaScript.
334      * * `core-ml`
335      * Used for iOS mobile devices.
336      * * `custom-trained`
337      * A Model that was uploaded or trained by custom code.
338      * </pre>
339      *
340      * <code>string id = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
341      *
342      * @return The bytes for id.
343      */
getIdBytes()344     com.google.protobuf.ByteString getIdBytes();
345 
346     /**
347      *
348      *
349      * <pre>
350      * Output only. The content of this Model that may be exported.
351      * </pre>
352      *
353      * <code>
354      * repeated .google.cloud.aiplatform.v1.Model.ExportFormat.ExportableContent exportable_contents = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
355      * </code>
356      *
357      * @return A list containing the exportableContents.
358      */
359     java.util.List<com.google.cloud.aiplatform.v1.Model.ExportFormat.ExportableContent>
getExportableContentsList()360         getExportableContentsList();
361     /**
362      *
363      *
364      * <pre>
365      * Output only. The content of this Model that may be exported.
366      * </pre>
367      *
368      * <code>
369      * repeated .google.cloud.aiplatform.v1.Model.ExportFormat.ExportableContent exportable_contents = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
370      * </code>
371      *
372      * @return The count of exportableContents.
373      */
getExportableContentsCount()374     int getExportableContentsCount();
375     /**
376      *
377      *
378      * <pre>
379      * Output only. The content of this Model that may be exported.
380      * </pre>
381      *
382      * <code>
383      * repeated .google.cloud.aiplatform.v1.Model.ExportFormat.ExportableContent exportable_contents = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
384      * </code>
385      *
386      * @param index The index of the element to return.
387      * @return The exportableContents at the given index.
388      */
getExportableContents( int index)389     com.google.cloud.aiplatform.v1.Model.ExportFormat.ExportableContent getExportableContents(
390         int index);
391     /**
392      *
393      *
394      * <pre>
395      * Output only. The content of this Model that may be exported.
396      * </pre>
397      *
398      * <code>
399      * repeated .google.cloud.aiplatform.v1.Model.ExportFormat.ExportableContent exportable_contents = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
400      * </code>
401      *
402      * @return A list containing the enum numeric values on the wire for exportableContents.
403      */
getExportableContentsValueList()404     java.util.List<java.lang.Integer> getExportableContentsValueList();
405     /**
406      *
407      *
408      * <pre>
409      * Output only. The content of this Model that may be exported.
410      * </pre>
411      *
412      * <code>
413      * repeated .google.cloud.aiplatform.v1.Model.ExportFormat.ExportableContent exportable_contents = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
414      * </code>
415      *
416      * @param index The index of the value to return.
417      * @return The enum numeric value on the wire of exportableContents at the given index.
418      */
getExportableContentsValue(int index)419     int getExportableContentsValue(int index);
420   }
421   /**
422    *
423    *
424    * <pre>
425    * Represents export format supported by the Model.
426    * All formats export to Google Cloud Storage.
427    * </pre>
428    *
429    * Protobuf type {@code google.cloud.aiplatform.v1.Model.ExportFormat}
430    */
431   public static final class ExportFormat extends com.google.protobuf.GeneratedMessageV3
432       implements
433       // @@protoc_insertion_point(message_implements:google.cloud.aiplatform.v1.Model.ExportFormat)
434       ExportFormatOrBuilder {
435     private static final long serialVersionUID = 0L;
436     // Use ExportFormat.newBuilder() to construct.
ExportFormat(com.google.protobuf.GeneratedMessageV3.Builder<?> builder)437     private ExportFormat(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
438       super(builder);
439     }
440 
ExportFormat()441     private ExportFormat() {
442       id_ = "";
443       exportableContents_ = java.util.Collections.emptyList();
444     }
445 
446     @java.lang.Override
447     @SuppressWarnings({"unused"})
newInstance(UnusedPrivateParameter unused)448     protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
449       return new ExportFormat();
450     }
451 
452     @java.lang.Override
getUnknownFields()453     public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
454       return this.unknownFields;
455     }
456 
getDescriptor()457     public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
458       return com.google.cloud.aiplatform.v1.ModelProto
459           .internal_static_google_cloud_aiplatform_v1_Model_ExportFormat_descriptor;
460     }
461 
462     @java.lang.Override
463     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()464         internalGetFieldAccessorTable() {
465       return com.google.cloud.aiplatform.v1.ModelProto
466           .internal_static_google_cloud_aiplatform_v1_Model_ExportFormat_fieldAccessorTable
467           .ensureFieldAccessorsInitialized(
468               com.google.cloud.aiplatform.v1.Model.ExportFormat.class,
469               com.google.cloud.aiplatform.v1.Model.ExportFormat.Builder.class);
470     }
471 
472     /**
473      *
474      *
475      * <pre>
476      * The Model content that can be exported.
477      * </pre>
478      *
479      * Protobuf enum {@code google.cloud.aiplatform.v1.Model.ExportFormat.ExportableContent}
480      */
481     public enum ExportableContent implements com.google.protobuf.ProtocolMessageEnum {
482       /**
483        *
484        *
485        * <pre>
486        * Should not be used.
487        * </pre>
488        *
489        * <code>EXPORTABLE_CONTENT_UNSPECIFIED = 0;</code>
490        */
491       EXPORTABLE_CONTENT_UNSPECIFIED(0),
492       /**
493        *
494        *
495        * <pre>
496        * Model artifact and any of its supported files. Will be exported to the
497        * location specified by the `artifactDestination` field of the
498        * [ExportModelRequest.output_config][google.cloud.aiplatform.v1.ExportModelRequest.output_config]
499        * object.
500        * </pre>
501        *
502        * <code>ARTIFACT = 1;</code>
503        */
504       ARTIFACT(1),
505       /**
506        *
507        *
508        * <pre>
509        * The container image that is to be used when deploying this Model. Will
510        * be exported to the location specified by the `imageDestination` field
511        * of the
512        * [ExportModelRequest.output_config][google.cloud.aiplatform.v1.ExportModelRequest.output_config]
513        * object.
514        * </pre>
515        *
516        * <code>IMAGE = 2;</code>
517        */
518       IMAGE(2),
519       UNRECOGNIZED(-1),
520       ;
521 
522       /**
523        *
524        *
525        * <pre>
526        * Should not be used.
527        * </pre>
528        *
529        * <code>EXPORTABLE_CONTENT_UNSPECIFIED = 0;</code>
530        */
531       public static final int EXPORTABLE_CONTENT_UNSPECIFIED_VALUE = 0;
532       /**
533        *
534        *
535        * <pre>
536        * Model artifact and any of its supported files. Will be exported to the
537        * location specified by the `artifactDestination` field of the
538        * [ExportModelRequest.output_config][google.cloud.aiplatform.v1.ExportModelRequest.output_config]
539        * object.
540        * </pre>
541        *
542        * <code>ARTIFACT = 1;</code>
543        */
544       public static final int ARTIFACT_VALUE = 1;
545       /**
546        *
547        *
548        * <pre>
549        * The container image that is to be used when deploying this Model. Will
550        * be exported to the location specified by the `imageDestination` field
551        * of the
552        * [ExportModelRequest.output_config][google.cloud.aiplatform.v1.ExportModelRequest.output_config]
553        * object.
554        * </pre>
555        *
556        * <code>IMAGE = 2;</code>
557        */
558       public static final int IMAGE_VALUE = 2;
559 
getNumber()560       public final int getNumber() {
561         if (this == UNRECOGNIZED) {
562           throw new java.lang.IllegalArgumentException(
563               "Can't get the number of an unknown enum value.");
564         }
565         return value;
566       }
567 
568       /**
569        * @param value The numeric wire value of the corresponding enum entry.
570        * @return The enum associated with the given numeric wire value.
571        * @deprecated Use {@link #forNumber(int)} instead.
572        */
573       @java.lang.Deprecated
valueOf(int value)574       public static ExportableContent valueOf(int value) {
575         return forNumber(value);
576       }
577 
578       /**
579        * @param value The numeric wire value of the corresponding enum entry.
580        * @return The enum associated with the given numeric wire value.
581        */
forNumber(int value)582       public static ExportableContent forNumber(int value) {
583         switch (value) {
584           case 0:
585             return EXPORTABLE_CONTENT_UNSPECIFIED;
586           case 1:
587             return ARTIFACT;
588           case 2:
589             return IMAGE;
590           default:
591             return null;
592         }
593       }
594 
595       public static com.google.protobuf.Internal.EnumLiteMap<ExportableContent>
internalGetValueMap()596           internalGetValueMap() {
597         return internalValueMap;
598       }
599 
600       private static final com.google.protobuf.Internal.EnumLiteMap<ExportableContent>
601           internalValueMap =
602               new com.google.protobuf.Internal.EnumLiteMap<ExportableContent>() {
603                 public ExportableContent findValueByNumber(int number) {
604                   return ExportableContent.forNumber(number);
605                 }
606               };
607 
getValueDescriptor()608       public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() {
609         if (this == UNRECOGNIZED) {
610           throw new java.lang.IllegalStateException(
611               "Can't get the descriptor of an unrecognized enum value.");
612         }
613         return getDescriptor().getValues().get(ordinal());
614       }
615 
getDescriptorForType()616       public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() {
617         return getDescriptor();
618       }
619 
getDescriptor()620       public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() {
621         return com.google.cloud.aiplatform.v1.Model.ExportFormat.getDescriptor()
622             .getEnumTypes()
623             .get(0);
624       }
625 
626       private static final ExportableContent[] VALUES = values();
627 
valueOf( com.google.protobuf.Descriptors.EnumValueDescriptor desc)628       public static ExportableContent valueOf(
629           com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
630         if (desc.getType() != getDescriptor()) {
631           throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type.");
632         }
633         if (desc.getIndex() == -1) {
634           return UNRECOGNIZED;
635         }
636         return VALUES[desc.getIndex()];
637       }
638 
639       private final int value;
640 
ExportableContent(int value)641       private ExportableContent(int value) {
642         this.value = value;
643       }
644 
645       // @@protoc_insertion_point(enum_scope:google.cloud.aiplatform.v1.Model.ExportFormat.ExportableContent)
646     }
647 
648     public static final int ID_FIELD_NUMBER = 1;
649 
650     @SuppressWarnings("serial")
651     private volatile java.lang.Object id_ = "";
652     /**
653      *
654      *
655      * <pre>
656      * Output only. The ID of the export format.
657      * The possible format IDs are:
658      * * `tflite`
659      * Used for Android mobile devices.
660      * * `edgetpu-tflite`
661      * Used for [Edge TPU](https://cloud.google.com/edge-tpu/) devices.
662      * * `tf-saved-model`
663      * A tensorflow model in SavedModel format.
664      * * `tf-js`
665      * A [TensorFlow.js](https://www.tensorflow.org/js) model that can be used
666      * in the browser and in Node.js using JavaScript.
667      * * `core-ml`
668      * Used for iOS mobile devices.
669      * * `custom-trained`
670      * A Model that was uploaded or trained by custom code.
671      * </pre>
672      *
673      * <code>string id = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
674      *
675      * @return The id.
676      */
677     @java.lang.Override
getId()678     public java.lang.String getId() {
679       java.lang.Object ref = id_;
680       if (ref instanceof java.lang.String) {
681         return (java.lang.String) ref;
682       } else {
683         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
684         java.lang.String s = bs.toStringUtf8();
685         id_ = s;
686         return s;
687       }
688     }
689     /**
690      *
691      *
692      * <pre>
693      * Output only. The ID of the export format.
694      * The possible format IDs are:
695      * * `tflite`
696      * Used for Android mobile devices.
697      * * `edgetpu-tflite`
698      * Used for [Edge TPU](https://cloud.google.com/edge-tpu/) devices.
699      * * `tf-saved-model`
700      * A tensorflow model in SavedModel format.
701      * * `tf-js`
702      * A [TensorFlow.js](https://www.tensorflow.org/js) model that can be used
703      * in the browser and in Node.js using JavaScript.
704      * * `core-ml`
705      * Used for iOS mobile devices.
706      * * `custom-trained`
707      * A Model that was uploaded or trained by custom code.
708      * </pre>
709      *
710      * <code>string id = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
711      *
712      * @return The bytes for id.
713      */
714     @java.lang.Override
getIdBytes()715     public com.google.protobuf.ByteString getIdBytes() {
716       java.lang.Object ref = id_;
717       if (ref instanceof java.lang.String) {
718         com.google.protobuf.ByteString b =
719             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
720         id_ = b;
721         return b;
722       } else {
723         return (com.google.protobuf.ByteString) ref;
724       }
725     }
726 
727     public static final int EXPORTABLE_CONTENTS_FIELD_NUMBER = 2;
728 
729     @SuppressWarnings("serial")
730     private java.util.List<java.lang.Integer> exportableContents_;
731 
732     private static final com.google.protobuf.Internal.ListAdapter.Converter<
733             java.lang.Integer, com.google.cloud.aiplatform.v1.Model.ExportFormat.ExportableContent>
734         exportableContents_converter_ =
735             new com.google.protobuf.Internal.ListAdapter.Converter<
736                 java.lang.Integer,
737                 com.google.cloud.aiplatform.v1.Model.ExportFormat.ExportableContent>() {
738               public com.google.cloud.aiplatform.v1.Model.ExportFormat.ExportableContent convert(
739                   java.lang.Integer from) {
740                 com.google.cloud.aiplatform.v1.Model.ExportFormat.ExportableContent result =
741                     com.google.cloud.aiplatform.v1.Model.ExportFormat.ExportableContent.forNumber(
742                         from);
743                 return result == null
744                     ? com.google.cloud.aiplatform.v1.Model.ExportFormat.ExportableContent
745                         .UNRECOGNIZED
746                     : result;
747               }
748             };
749     /**
750      *
751      *
752      * <pre>
753      * Output only. The content of this Model that may be exported.
754      * </pre>
755      *
756      * <code>
757      * repeated .google.cloud.aiplatform.v1.Model.ExportFormat.ExportableContent exportable_contents = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
758      * </code>
759      *
760      * @return A list containing the exportableContents.
761      */
762     @java.lang.Override
763     public java.util.List<com.google.cloud.aiplatform.v1.Model.ExportFormat.ExportableContent>
getExportableContentsList()764         getExportableContentsList() {
765       return new com.google.protobuf.Internal.ListAdapter<
766           java.lang.Integer, com.google.cloud.aiplatform.v1.Model.ExportFormat.ExportableContent>(
767           exportableContents_, exportableContents_converter_);
768     }
769     /**
770      *
771      *
772      * <pre>
773      * Output only. The content of this Model that may be exported.
774      * </pre>
775      *
776      * <code>
777      * repeated .google.cloud.aiplatform.v1.Model.ExportFormat.ExportableContent exportable_contents = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
778      * </code>
779      *
780      * @return The count of exportableContents.
781      */
782     @java.lang.Override
getExportableContentsCount()783     public int getExportableContentsCount() {
784       return exportableContents_.size();
785     }
786     /**
787      *
788      *
789      * <pre>
790      * Output only. The content of this Model that may be exported.
791      * </pre>
792      *
793      * <code>
794      * repeated .google.cloud.aiplatform.v1.Model.ExportFormat.ExportableContent exportable_contents = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
795      * </code>
796      *
797      * @param index The index of the element to return.
798      * @return The exportableContents at the given index.
799      */
800     @java.lang.Override
801     public com.google.cloud.aiplatform.v1.Model.ExportFormat.ExportableContent
getExportableContents(int index)802         getExportableContents(int index) {
803       return exportableContents_converter_.convert(exportableContents_.get(index));
804     }
805     /**
806      *
807      *
808      * <pre>
809      * Output only. The content of this Model that may be exported.
810      * </pre>
811      *
812      * <code>
813      * repeated .google.cloud.aiplatform.v1.Model.ExportFormat.ExportableContent exportable_contents = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
814      * </code>
815      *
816      * @return A list containing the enum numeric values on the wire for exportableContents.
817      */
818     @java.lang.Override
getExportableContentsValueList()819     public java.util.List<java.lang.Integer> getExportableContentsValueList() {
820       return exportableContents_;
821     }
822     /**
823      *
824      *
825      * <pre>
826      * Output only. The content of this Model that may be exported.
827      * </pre>
828      *
829      * <code>
830      * repeated .google.cloud.aiplatform.v1.Model.ExportFormat.ExportableContent exportable_contents = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
831      * </code>
832      *
833      * @param index The index of the value to return.
834      * @return The enum numeric value on the wire of exportableContents at the given index.
835      */
836     @java.lang.Override
getExportableContentsValue(int index)837     public int getExportableContentsValue(int index) {
838       return exportableContents_.get(index);
839     }
840 
841     private int exportableContentsMemoizedSerializedSize;
842 
843     private byte memoizedIsInitialized = -1;
844 
845     @java.lang.Override
isInitialized()846     public final boolean isInitialized() {
847       byte isInitialized = memoizedIsInitialized;
848       if (isInitialized == 1) return true;
849       if (isInitialized == 0) return false;
850 
851       memoizedIsInitialized = 1;
852       return true;
853     }
854 
855     @java.lang.Override
writeTo(com.google.protobuf.CodedOutputStream output)856     public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
857       getSerializedSize();
858       if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(id_)) {
859         com.google.protobuf.GeneratedMessageV3.writeString(output, 1, id_);
860       }
861       if (getExportableContentsList().size() > 0) {
862         output.writeUInt32NoTag(18);
863         output.writeUInt32NoTag(exportableContentsMemoizedSerializedSize);
864       }
865       for (int i = 0; i < exportableContents_.size(); i++) {
866         output.writeEnumNoTag(exportableContents_.get(i));
867       }
868       getUnknownFields().writeTo(output);
869     }
870 
871     @java.lang.Override
getSerializedSize()872     public int getSerializedSize() {
873       int size = memoizedSize;
874       if (size != -1) return size;
875 
876       size = 0;
877       if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(id_)) {
878         size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, id_);
879       }
880       {
881         int dataSize = 0;
882         for (int i = 0; i < exportableContents_.size(); i++) {
883           dataSize +=
884               com.google.protobuf.CodedOutputStream.computeEnumSizeNoTag(
885                   exportableContents_.get(i));
886         }
887         size += dataSize;
888         if (!getExportableContentsList().isEmpty()) {
889           size += 1;
890           size += com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(dataSize);
891         }
892         exportableContentsMemoizedSerializedSize = dataSize;
893       }
894       size += getUnknownFields().getSerializedSize();
895       memoizedSize = size;
896       return size;
897     }
898 
899     @java.lang.Override
equals(final java.lang.Object obj)900     public boolean equals(final java.lang.Object obj) {
901       if (obj == this) {
902         return true;
903       }
904       if (!(obj instanceof com.google.cloud.aiplatform.v1.Model.ExportFormat)) {
905         return super.equals(obj);
906       }
907       com.google.cloud.aiplatform.v1.Model.ExportFormat other =
908           (com.google.cloud.aiplatform.v1.Model.ExportFormat) obj;
909 
910       if (!getId().equals(other.getId())) return false;
911       if (!exportableContents_.equals(other.exportableContents_)) return false;
912       if (!getUnknownFields().equals(other.getUnknownFields())) return false;
913       return true;
914     }
915 
916     @java.lang.Override
hashCode()917     public int hashCode() {
918       if (memoizedHashCode != 0) {
919         return memoizedHashCode;
920       }
921       int hash = 41;
922       hash = (19 * hash) + getDescriptor().hashCode();
923       hash = (37 * hash) + ID_FIELD_NUMBER;
924       hash = (53 * hash) + getId().hashCode();
925       if (getExportableContentsCount() > 0) {
926         hash = (37 * hash) + EXPORTABLE_CONTENTS_FIELD_NUMBER;
927         hash = (53 * hash) + exportableContents_.hashCode();
928       }
929       hash = (29 * hash) + getUnknownFields().hashCode();
930       memoizedHashCode = hash;
931       return hash;
932     }
933 
parseFrom( java.nio.ByteBuffer data)934     public static com.google.cloud.aiplatform.v1.Model.ExportFormat parseFrom(
935         java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException {
936       return PARSER.parseFrom(data);
937     }
938 
parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)939     public static com.google.cloud.aiplatform.v1.Model.ExportFormat parseFrom(
940         java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
941         throws com.google.protobuf.InvalidProtocolBufferException {
942       return PARSER.parseFrom(data, extensionRegistry);
943     }
944 
parseFrom( com.google.protobuf.ByteString data)945     public static com.google.cloud.aiplatform.v1.Model.ExportFormat parseFrom(
946         com.google.protobuf.ByteString data)
947         throws com.google.protobuf.InvalidProtocolBufferException {
948       return PARSER.parseFrom(data);
949     }
950 
parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)951     public static com.google.cloud.aiplatform.v1.Model.ExportFormat parseFrom(
952         com.google.protobuf.ByteString data,
953         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
954         throws com.google.protobuf.InvalidProtocolBufferException {
955       return PARSER.parseFrom(data, extensionRegistry);
956     }
957 
parseFrom(byte[] data)958     public static com.google.cloud.aiplatform.v1.Model.ExportFormat parseFrom(byte[] data)
959         throws com.google.protobuf.InvalidProtocolBufferException {
960       return PARSER.parseFrom(data);
961     }
962 
parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)963     public static com.google.cloud.aiplatform.v1.Model.ExportFormat parseFrom(
964         byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
965         throws com.google.protobuf.InvalidProtocolBufferException {
966       return PARSER.parseFrom(data, extensionRegistry);
967     }
968 
parseFrom( java.io.InputStream input)969     public static com.google.cloud.aiplatform.v1.Model.ExportFormat parseFrom(
970         java.io.InputStream input) throws java.io.IOException {
971       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
972     }
973 
parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)974     public static com.google.cloud.aiplatform.v1.Model.ExportFormat parseFrom(
975         java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
976         throws java.io.IOException {
977       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
978           PARSER, input, extensionRegistry);
979     }
980 
parseDelimitedFrom( java.io.InputStream input)981     public static com.google.cloud.aiplatform.v1.Model.ExportFormat parseDelimitedFrom(
982         java.io.InputStream input) throws java.io.IOException {
983       return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
984     }
985 
parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)986     public static com.google.cloud.aiplatform.v1.Model.ExportFormat parseDelimitedFrom(
987         java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
988         throws java.io.IOException {
989       return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
990           PARSER, input, extensionRegistry);
991     }
992 
parseFrom( com.google.protobuf.CodedInputStream input)993     public static com.google.cloud.aiplatform.v1.Model.ExportFormat parseFrom(
994         com.google.protobuf.CodedInputStream input) throws java.io.IOException {
995       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
996     }
997 
parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)998     public static com.google.cloud.aiplatform.v1.Model.ExportFormat parseFrom(
999         com.google.protobuf.CodedInputStream input,
1000         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1001         throws java.io.IOException {
1002       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
1003           PARSER, input, extensionRegistry);
1004     }
1005 
1006     @java.lang.Override
newBuilderForType()1007     public Builder newBuilderForType() {
1008       return newBuilder();
1009     }
1010 
newBuilder()1011     public static Builder newBuilder() {
1012       return DEFAULT_INSTANCE.toBuilder();
1013     }
1014 
newBuilder(com.google.cloud.aiplatform.v1.Model.ExportFormat prototype)1015     public static Builder newBuilder(com.google.cloud.aiplatform.v1.Model.ExportFormat prototype) {
1016       return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
1017     }
1018 
1019     @java.lang.Override
toBuilder()1020     public Builder toBuilder() {
1021       return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
1022     }
1023 
1024     @java.lang.Override
newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent)1025     protected Builder newBuilderForType(
1026         com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
1027       Builder builder = new Builder(parent);
1028       return builder;
1029     }
1030     /**
1031      *
1032      *
1033      * <pre>
1034      * Represents export format supported by the Model.
1035      * All formats export to Google Cloud Storage.
1036      * </pre>
1037      *
1038      * Protobuf type {@code google.cloud.aiplatform.v1.Model.ExportFormat}
1039      */
1040     public static final class Builder
1041         extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
1042         implements
1043         // @@protoc_insertion_point(builder_implements:google.cloud.aiplatform.v1.Model.ExportFormat)
1044         com.google.cloud.aiplatform.v1.Model.ExportFormatOrBuilder {
getDescriptor()1045       public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
1046         return com.google.cloud.aiplatform.v1.ModelProto
1047             .internal_static_google_cloud_aiplatform_v1_Model_ExportFormat_descriptor;
1048       }
1049 
1050       @java.lang.Override
1051       protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()1052           internalGetFieldAccessorTable() {
1053         return com.google.cloud.aiplatform.v1.ModelProto
1054             .internal_static_google_cloud_aiplatform_v1_Model_ExportFormat_fieldAccessorTable
1055             .ensureFieldAccessorsInitialized(
1056                 com.google.cloud.aiplatform.v1.Model.ExportFormat.class,
1057                 com.google.cloud.aiplatform.v1.Model.ExportFormat.Builder.class);
1058       }
1059 
1060       // Construct using com.google.cloud.aiplatform.v1.Model.ExportFormat.newBuilder()
Builder()1061       private Builder() {}
1062 
Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)1063       private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
1064         super(parent);
1065       }
1066 
1067       @java.lang.Override
clear()1068       public Builder clear() {
1069         super.clear();
1070         bitField0_ = 0;
1071         id_ = "";
1072         exportableContents_ = java.util.Collections.emptyList();
1073         bitField0_ = (bitField0_ & ~0x00000002);
1074         return this;
1075       }
1076 
1077       @java.lang.Override
getDescriptorForType()1078       public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
1079         return com.google.cloud.aiplatform.v1.ModelProto
1080             .internal_static_google_cloud_aiplatform_v1_Model_ExportFormat_descriptor;
1081       }
1082 
1083       @java.lang.Override
getDefaultInstanceForType()1084       public com.google.cloud.aiplatform.v1.Model.ExportFormat getDefaultInstanceForType() {
1085         return com.google.cloud.aiplatform.v1.Model.ExportFormat.getDefaultInstance();
1086       }
1087 
1088       @java.lang.Override
build()1089       public com.google.cloud.aiplatform.v1.Model.ExportFormat build() {
1090         com.google.cloud.aiplatform.v1.Model.ExportFormat result = buildPartial();
1091         if (!result.isInitialized()) {
1092           throw newUninitializedMessageException(result);
1093         }
1094         return result;
1095       }
1096 
1097       @java.lang.Override
buildPartial()1098       public com.google.cloud.aiplatform.v1.Model.ExportFormat buildPartial() {
1099         com.google.cloud.aiplatform.v1.Model.ExportFormat result =
1100             new com.google.cloud.aiplatform.v1.Model.ExportFormat(this);
1101         buildPartialRepeatedFields(result);
1102         if (bitField0_ != 0) {
1103           buildPartial0(result);
1104         }
1105         onBuilt();
1106         return result;
1107       }
1108 
buildPartialRepeatedFields( com.google.cloud.aiplatform.v1.Model.ExportFormat result)1109       private void buildPartialRepeatedFields(
1110           com.google.cloud.aiplatform.v1.Model.ExportFormat result) {
1111         if (((bitField0_ & 0x00000002) != 0)) {
1112           exportableContents_ = java.util.Collections.unmodifiableList(exportableContents_);
1113           bitField0_ = (bitField0_ & ~0x00000002);
1114         }
1115         result.exportableContents_ = exportableContents_;
1116       }
1117 
buildPartial0(com.google.cloud.aiplatform.v1.Model.ExportFormat result)1118       private void buildPartial0(com.google.cloud.aiplatform.v1.Model.ExportFormat result) {
1119         int from_bitField0_ = bitField0_;
1120         if (((from_bitField0_ & 0x00000001) != 0)) {
1121           result.id_ = id_;
1122         }
1123       }
1124 
1125       @java.lang.Override
clone()1126       public Builder clone() {
1127         return super.clone();
1128       }
1129 
1130       @java.lang.Override
setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)1131       public Builder setField(
1132           com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
1133         return super.setField(field, value);
1134       }
1135 
1136       @java.lang.Override
clearField(com.google.protobuf.Descriptors.FieldDescriptor field)1137       public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
1138         return super.clearField(field);
1139       }
1140 
1141       @java.lang.Override
clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)1142       public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
1143         return super.clearOneof(oneof);
1144       }
1145 
1146       @java.lang.Override
setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)1147       public Builder setRepeatedField(
1148           com.google.protobuf.Descriptors.FieldDescriptor field,
1149           int index,
1150           java.lang.Object value) {
1151         return super.setRepeatedField(field, index, value);
1152       }
1153 
1154       @java.lang.Override
addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)1155       public Builder addRepeatedField(
1156           com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
1157         return super.addRepeatedField(field, value);
1158       }
1159 
1160       @java.lang.Override
mergeFrom(com.google.protobuf.Message other)1161       public Builder mergeFrom(com.google.protobuf.Message other) {
1162         if (other instanceof com.google.cloud.aiplatform.v1.Model.ExportFormat) {
1163           return mergeFrom((com.google.cloud.aiplatform.v1.Model.ExportFormat) other);
1164         } else {
1165           super.mergeFrom(other);
1166           return this;
1167         }
1168       }
1169 
mergeFrom(com.google.cloud.aiplatform.v1.Model.ExportFormat other)1170       public Builder mergeFrom(com.google.cloud.aiplatform.v1.Model.ExportFormat other) {
1171         if (other == com.google.cloud.aiplatform.v1.Model.ExportFormat.getDefaultInstance())
1172           return this;
1173         if (!other.getId().isEmpty()) {
1174           id_ = other.id_;
1175           bitField0_ |= 0x00000001;
1176           onChanged();
1177         }
1178         if (!other.exportableContents_.isEmpty()) {
1179           if (exportableContents_.isEmpty()) {
1180             exportableContents_ = other.exportableContents_;
1181             bitField0_ = (bitField0_ & ~0x00000002);
1182           } else {
1183             ensureExportableContentsIsMutable();
1184             exportableContents_.addAll(other.exportableContents_);
1185           }
1186           onChanged();
1187         }
1188         this.mergeUnknownFields(other.getUnknownFields());
1189         onChanged();
1190         return this;
1191       }
1192 
1193       @java.lang.Override
isInitialized()1194       public final boolean isInitialized() {
1195         return true;
1196       }
1197 
1198       @java.lang.Override
mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1199       public Builder mergeFrom(
1200           com.google.protobuf.CodedInputStream input,
1201           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1202           throws java.io.IOException {
1203         if (extensionRegistry == null) {
1204           throw new java.lang.NullPointerException();
1205         }
1206         try {
1207           boolean done = false;
1208           while (!done) {
1209             int tag = input.readTag();
1210             switch (tag) {
1211               case 0:
1212                 done = true;
1213                 break;
1214               case 10:
1215                 {
1216                   id_ = input.readStringRequireUtf8();
1217                   bitField0_ |= 0x00000001;
1218                   break;
1219                 } // case 10
1220               case 16:
1221                 {
1222                   int tmpRaw = input.readEnum();
1223                   ensureExportableContentsIsMutable();
1224                   exportableContents_.add(tmpRaw);
1225                   break;
1226                 } // case 16
1227               case 18:
1228                 {
1229                   int length = input.readRawVarint32();
1230                   int oldLimit = input.pushLimit(length);
1231                   while (input.getBytesUntilLimit() > 0) {
1232                     int tmpRaw = input.readEnum();
1233                     ensureExportableContentsIsMutable();
1234                     exportableContents_.add(tmpRaw);
1235                   }
1236                   input.popLimit(oldLimit);
1237                   break;
1238                 } // case 18
1239               default:
1240                 {
1241                   if (!super.parseUnknownField(input, extensionRegistry, tag)) {
1242                     done = true; // was an endgroup tag
1243                   }
1244                   break;
1245                 } // default:
1246             } // switch (tag)
1247           } // while (!done)
1248         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1249           throw e.unwrapIOException();
1250         } finally {
1251           onChanged();
1252         } // finally
1253         return this;
1254       }
1255 
1256       private int bitField0_;
1257 
1258       private java.lang.Object id_ = "";
1259       /**
1260        *
1261        *
1262        * <pre>
1263        * Output only. The ID of the export format.
1264        * The possible format IDs are:
1265        * * `tflite`
1266        * Used for Android mobile devices.
1267        * * `edgetpu-tflite`
1268        * Used for [Edge TPU](https://cloud.google.com/edge-tpu/) devices.
1269        * * `tf-saved-model`
1270        * A tensorflow model in SavedModel format.
1271        * * `tf-js`
1272        * A [TensorFlow.js](https://www.tensorflow.org/js) model that can be used
1273        * in the browser and in Node.js using JavaScript.
1274        * * `core-ml`
1275        * Used for iOS mobile devices.
1276        * * `custom-trained`
1277        * A Model that was uploaded or trained by custom code.
1278        * </pre>
1279        *
1280        * <code>string id = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
1281        *
1282        * @return The id.
1283        */
getId()1284       public java.lang.String getId() {
1285         java.lang.Object ref = id_;
1286         if (!(ref instanceof java.lang.String)) {
1287           com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1288           java.lang.String s = bs.toStringUtf8();
1289           id_ = s;
1290           return s;
1291         } else {
1292           return (java.lang.String) ref;
1293         }
1294       }
1295       /**
1296        *
1297        *
1298        * <pre>
1299        * Output only. The ID of the export format.
1300        * The possible format IDs are:
1301        * * `tflite`
1302        * Used for Android mobile devices.
1303        * * `edgetpu-tflite`
1304        * Used for [Edge TPU](https://cloud.google.com/edge-tpu/) devices.
1305        * * `tf-saved-model`
1306        * A tensorflow model in SavedModel format.
1307        * * `tf-js`
1308        * A [TensorFlow.js](https://www.tensorflow.org/js) model that can be used
1309        * in the browser and in Node.js using JavaScript.
1310        * * `core-ml`
1311        * Used for iOS mobile devices.
1312        * * `custom-trained`
1313        * A Model that was uploaded or trained by custom code.
1314        * </pre>
1315        *
1316        * <code>string id = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
1317        *
1318        * @return The bytes for id.
1319        */
getIdBytes()1320       public com.google.protobuf.ByteString getIdBytes() {
1321         java.lang.Object ref = id_;
1322         if (ref instanceof String) {
1323           com.google.protobuf.ByteString b =
1324               com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1325           id_ = b;
1326           return b;
1327         } else {
1328           return (com.google.protobuf.ByteString) ref;
1329         }
1330       }
1331       /**
1332        *
1333        *
1334        * <pre>
1335        * Output only. The ID of the export format.
1336        * The possible format IDs are:
1337        * * `tflite`
1338        * Used for Android mobile devices.
1339        * * `edgetpu-tflite`
1340        * Used for [Edge TPU](https://cloud.google.com/edge-tpu/) devices.
1341        * * `tf-saved-model`
1342        * A tensorflow model in SavedModel format.
1343        * * `tf-js`
1344        * A [TensorFlow.js](https://www.tensorflow.org/js) model that can be used
1345        * in the browser and in Node.js using JavaScript.
1346        * * `core-ml`
1347        * Used for iOS mobile devices.
1348        * * `custom-trained`
1349        * A Model that was uploaded or trained by custom code.
1350        * </pre>
1351        *
1352        * <code>string id = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
1353        *
1354        * @param value The id to set.
1355        * @return This builder for chaining.
1356        */
setId(java.lang.String value)1357       public Builder setId(java.lang.String value) {
1358         if (value == null) {
1359           throw new NullPointerException();
1360         }
1361         id_ = value;
1362         bitField0_ |= 0x00000001;
1363         onChanged();
1364         return this;
1365       }
1366       /**
1367        *
1368        *
1369        * <pre>
1370        * Output only. The ID of the export format.
1371        * The possible format IDs are:
1372        * * `tflite`
1373        * Used for Android mobile devices.
1374        * * `edgetpu-tflite`
1375        * Used for [Edge TPU](https://cloud.google.com/edge-tpu/) devices.
1376        * * `tf-saved-model`
1377        * A tensorflow model in SavedModel format.
1378        * * `tf-js`
1379        * A [TensorFlow.js](https://www.tensorflow.org/js) model that can be used
1380        * in the browser and in Node.js using JavaScript.
1381        * * `core-ml`
1382        * Used for iOS mobile devices.
1383        * * `custom-trained`
1384        * A Model that was uploaded or trained by custom code.
1385        * </pre>
1386        *
1387        * <code>string id = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
1388        *
1389        * @return This builder for chaining.
1390        */
clearId()1391       public Builder clearId() {
1392         id_ = getDefaultInstance().getId();
1393         bitField0_ = (bitField0_ & ~0x00000001);
1394         onChanged();
1395         return this;
1396       }
1397       /**
1398        *
1399        *
1400        * <pre>
1401        * Output only. The ID of the export format.
1402        * The possible format IDs are:
1403        * * `tflite`
1404        * Used for Android mobile devices.
1405        * * `edgetpu-tflite`
1406        * Used for [Edge TPU](https://cloud.google.com/edge-tpu/) devices.
1407        * * `tf-saved-model`
1408        * A tensorflow model in SavedModel format.
1409        * * `tf-js`
1410        * A [TensorFlow.js](https://www.tensorflow.org/js) model that can be used
1411        * in the browser and in Node.js using JavaScript.
1412        * * `core-ml`
1413        * Used for iOS mobile devices.
1414        * * `custom-trained`
1415        * A Model that was uploaded or trained by custom code.
1416        * </pre>
1417        *
1418        * <code>string id = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
1419        *
1420        * @param value The bytes for id to set.
1421        * @return This builder for chaining.
1422        */
setIdBytes(com.google.protobuf.ByteString value)1423       public Builder setIdBytes(com.google.protobuf.ByteString value) {
1424         if (value == null) {
1425           throw new NullPointerException();
1426         }
1427         checkByteStringIsUtf8(value);
1428         id_ = value;
1429         bitField0_ |= 0x00000001;
1430         onChanged();
1431         return this;
1432       }
1433 
1434       private java.util.List<java.lang.Integer> exportableContents_ =
1435           java.util.Collections.emptyList();
1436 
ensureExportableContentsIsMutable()1437       private void ensureExportableContentsIsMutable() {
1438         if (!((bitField0_ & 0x00000002) != 0)) {
1439           exportableContents_ = new java.util.ArrayList<java.lang.Integer>(exportableContents_);
1440           bitField0_ |= 0x00000002;
1441         }
1442       }
1443       /**
1444        *
1445        *
1446        * <pre>
1447        * Output only. The content of this Model that may be exported.
1448        * </pre>
1449        *
1450        * <code>
1451        * repeated .google.cloud.aiplatform.v1.Model.ExportFormat.ExportableContent exportable_contents = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
1452        * </code>
1453        *
1454        * @return A list containing the exportableContents.
1455        */
1456       public java.util.List<com.google.cloud.aiplatform.v1.Model.ExportFormat.ExportableContent>
getExportableContentsList()1457           getExportableContentsList() {
1458         return new com.google.protobuf.Internal.ListAdapter<
1459             java.lang.Integer, com.google.cloud.aiplatform.v1.Model.ExportFormat.ExportableContent>(
1460             exportableContents_, exportableContents_converter_);
1461       }
1462       /**
1463        *
1464        *
1465        * <pre>
1466        * Output only. The content of this Model that may be exported.
1467        * </pre>
1468        *
1469        * <code>
1470        * repeated .google.cloud.aiplatform.v1.Model.ExportFormat.ExportableContent exportable_contents = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
1471        * </code>
1472        *
1473        * @return The count of exportableContents.
1474        */
getExportableContentsCount()1475       public int getExportableContentsCount() {
1476         return exportableContents_.size();
1477       }
1478       /**
1479        *
1480        *
1481        * <pre>
1482        * Output only. The content of this Model that may be exported.
1483        * </pre>
1484        *
1485        * <code>
1486        * repeated .google.cloud.aiplatform.v1.Model.ExportFormat.ExportableContent exportable_contents = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
1487        * </code>
1488        *
1489        * @param index The index of the element to return.
1490        * @return The exportableContents at the given index.
1491        */
1492       public com.google.cloud.aiplatform.v1.Model.ExportFormat.ExportableContent
getExportableContents(int index)1493           getExportableContents(int index) {
1494         return exportableContents_converter_.convert(exportableContents_.get(index));
1495       }
1496       /**
1497        *
1498        *
1499        * <pre>
1500        * Output only. The content of this Model that may be exported.
1501        * </pre>
1502        *
1503        * <code>
1504        * repeated .google.cloud.aiplatform.v1.Model.ExportFormat.ExportableContent exportable_contents = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
1505        * </code>
1506        *
1507        * @param index The index to set the value at.
1508        * @param value The exportableContents to set.
1509        * @return This builder for chaining.
1510        */
setExportableContents( int index, com.google.cloud.aiplatform.v1.Model.ExportFormat.ExportableContent value)1511       public Builder setExportableContents(
1512           int index, com.google.cloud.aiplatform.v1.Model.ExportFormat.ExportableContent value) {
1513         if (value == null) {
1514           throw new NullPointerException();
1515         }
1516         ensureExportableContentsIsMutable();
1517         exportableContents_.set(index, value.getNumber());
1518         onChanged();
1519         return this;
1520       }
1521       /**
1522        *
1523        *
1524        * <pre>
1525        * Output only. The content of this Model that may be exported.
1526        * </pre>
1527        *
1528        * <code>
1529        * repeated .google.cloud.aiplatform.v1.Model.ExportFormat.ExportableContent exportable_contents = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
1530        * </code>
1531        *
1532        * @param value The exportableContents to add.
1533        * @return This builder for chaining.
1534        */
addExportableContents( com.google.cloud.aiplatform.v1.Model.ExportFormat.ExportableContent value)1535       public Builder addExportableContents(
1536           com.google.cloud.aiplatform.v1.Model.ExportFormat.ExportableContent value) {
1537         if (value == null) {
1538           throw new NullPointerException();
1539         }
1540         ensureExportableContentsIsMutable();
1541         exportableContents_.add(value.getNumber());
1542         onChanged();
1543         return this;
1544       }
1545       /**
1546        *
1547        *
1548        * <pre>
1549        * Output only. The content of this Model that may be exported.
1550        * </pre>
1551        *
1552        * <code>
1553        * repeated .google.cloud.aiplatform.v1.Model.ExportFormat.ExportableContent exportable_contents = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
1554        * </code>
1555        *
1556        * @param values The exportableContents to add.
1557        * @return This builder for chaining.
1558        */
addAllExportableContents( java.lang.Iterable< ? extends com.google.cloud.aiplatform.v1.Model.ExportFormat.ExportableContent> values)1559       public Builder addAllExportableContents(
1560           java.lang.Iterable<
1561                   ? extends com.google.cloud.aiplatform.v1.Model.ExportFormat.ExportableContent>
1562               values) {
1563         ensureExportableContentsIsMutable();
1564         for (com.google.cloud.aiplatform.v1.Model.ExportFormat.ExportableContent value : values) {
1565           exportableContents_.add(value.getNumber());
1566         }
1567         onChanged();
1568         return this;
1569       }
1570       /**
1571        *
1572        *
1573        * <pre>
1574        * Output only. The content of this Model that may be exported.
1575        * </pre>
1576        *
1577        * <code>
1578        * repeated .google.cloud.aiplatform.v1.Model.ExportFormat.ExportableContent exportable_contents = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
1579        * </code>
1580        *
1581        * @return This builder for chaining.
1582        */
clearExportableContents()1583       public Builder clearExportableContents() {
1584         exportableContents_ = java.util.Collections.emptyList();
1585         bitField0_ = (bitField0_ & ~0x00000002);
1586         onChanged();
1587         return this;
1588       }
1589       /**
1590        *
1591        *
1592        * <pre>
1593        * Output only. The content of this Model that may be exported.
1594        * </pre>
1595        *
1596        * <code>
1597        * repeated .google.cloud.aiplatform.v1.Model.ExportFormat.ExportableContent exportable_contents = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
1598        * </code>
1599        *
1600        * @return A list containing the enum numeric values on the wire for exportableContents.
1601        */
getExportableContentsValueList()1602       public java.util.List<java.lang.Integer> getExportableContentsValueList() {
1603         return java.util.Collections.unmodifiableList(exportableContents_);
1604       }
1605       /**
1606        *
1607        *
1608        * <pre>
1609        * Output only. The content of this Model that may be exported.
1610        * </pre>
1611        *
1612        * <code>
1613        * repeated .google.cloud.aiplatform.v1.Model.ExportFormat.ExportableContent exportable_contents = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
1614        * </code>
1615        *
1616        * @param index The index of the value to return.
1617        * @return The enum numeric value on the wire of exportableContents at the given index.
1618        */
getExportableContentsValue(int index)1619       public int getExportableContentsValue(int index) {
1620         return exportableContents_.get(index);
1621       }
1622       /**
1623        *
1624        *
1625        * <pre>
1626        * Output only. The content of this Model that may be exported.
1627        * </pre>
1628        *
1629        * <code>
1630        * repeated .google.cloud.aiplatform.v1.Model.ExportFormat.ExportableContent exportable_contents = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
1631        * </code>
1632        *
1633        * @param index The index to set the value at.
1634        * @param value The enum numeric value on the wire for exportableContents to set.
1635        * @return This builder for chaining.
1636        */
setExportableContentsValue(int index, int value)1637       public Builder setExportableContentsValue(int index, int value) {
1638         ensureExportableContentsIsMutable();
1639         exportableContents_.set(index, value);
1640         onChanged();
1641         return this;
1642       }
1643       /**
1644        *
1645        *
1646        * <pre>
1647        * Output only. The content of this Model that may be exported.
1648        * </pre>
1649        *
1650        * <code>
1651        * repeated .google.cloud.aiplatform.v1.Model.ExportFormat.ExportableContent exportable_contents = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
1652        * </code>
1653        *
1654        * @param value The enum numeric value on the wire for exportableContents to add.
1655        * @return This builder for chaining.
1656        */
addExportableContentsValue(int value)1657       public Builder addExportableContentsValue(int value) {
1658         ensureExportableContentsIsMutable();
1659         exportableContents_.add(value);
1660         onChanged();
1661         return this;
1662       }
1663       /**
1664        *
1665        *
1666        * <pre>
1667        * Output only. The content of this Model that may be exported.
1668        * </pre>
1669        *
1670        * <code>
1671        * repeated .google.cloud.aiplatform.v1.Model.ExportFormat.ExportableContent exportable_contents = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
1672        * </code>
1673        *
1674        * @param values The enum numeric values on the wire for exportableContents to add.
1675        * @return This builder for chaining.
1676        */
addAllExportableContentsValue(java.lang.Iterable<java.lang.Integer> values)1677       public Builder addAllExportableContentsValue(java.lang.Iterable<java.lang.Integer> values) {
1678         ensureExportableContentsIsMutable();
1679         for (int value : values) {
1680           exportableContents_.add(value);
1681         }
1682         onChanged();
1683         return this;
1684       }
1685 
1686       @java.lang.Override
setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)1687       public final Builder setUnknownFields(
1688           final com.google.protobuf.UnknownFieldSet unknownFields) {
1689         return super.setUnknownFields(unknownFields);
1690       }
1691 
1692       @java.lang.Override
mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)1693       public final Builder mergeUnknownFields(
1694           final com.google.protobuf.UnknownFieldSet unknownFields) {
1695         return super.mergeUnknownFields(unknownFields);
1696       }
1697 
1698       // @@protoc_insertion_point(builder_scope:google.cloud.aiplatform.v1.Model.ExportFormat)
1699     }
1700 
1701     // @@protoc_insertion_point(class_scope:google.cloud.aiplatform.v1.Model.ExportFormat)
1702     private static final com.google.cloud.aiplatform.v1.Model.ExportFormat DEFAULT_INSTANCE;
1703 
1704     static {
1705       DEFAULT_INSTANCE = new com.google.cloud.aiplatform.v1.Model.ExportFormat();
1706     }
1707 
getDefaultInstance()1708     public static com.google.cloud.aiplatform.v1.Model.ExportFormat getDefaultInstance() {
1709       return DEFAULT_INSTANCE;
1710     }
1711 
1712     private static final com.google.protobuf.Parser<ExportFormat> PARSER =
1713         new com.google.protobuf.AbstractParser<ExportFormat>() {
1714           @java.lang.Override
1715           public ExportFormat parsePartialFrom(
1716               com.google.protobuf.CodedInputStream input,
1717               com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1718               throws com.google.protobuf.InvalidProtocolBufferException {
1719             Builder builder = newBuilder();
1720             try {
1721               builder.mergeFrom(input, extensionRegistry);
1722             } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1723               throw e.setUnfinishedMessage(builder.buildPartial());
1724             } catch (com.google.protobuf.UninitializedMessageException e) {
1725               throw e.asInvalidProtocolBufferException()
1726                   .setUnfinishedMessage(builder.buildPartial());
1727             } catch (java.io.IOException e) {
1728               throw new com.google.protobuf.InvalidProtocolBufferException(e)
1729                   .setUnfinishedMessage(builder.buildPartial());
1730             }
1731             return builder.buildPartial();
1732           }
1733         };
1734 
parser()1735     public static com.google.protobuf.Parser<ExportFormat> parser() {
1736       return PARSER;
1737     }
1738 
1739     @java.lang.Override
getParserForType()1740     public com.google.protobuf.Parser<ExportFormat> getParserForType() {
1741       return PARSER;
1742     }
1743 
1744     @java.lang.Override
getDefaultInstanceForType()1745     public com.google.cloud.aiplatform.v1.Model.ExportFormat getDefaultInstanceForType() {
1746       return DEFAULT_INSTANCE;
1747     }
1748   }
1749 
1750   public interface OriginalModelInfoOrBuilder
1751       extends
1752       // @@protoc_insertion_point(interface_extends:google.cloud.aiplatform.v1.Model.OriginalModelInfo)
1753       com.google.protobuf.MessageOrBuilder {
1754 
1755     /**
1756      *
1757      *
1758      * <pre>
1759      * Output only. The resource name of the Model this Model is a copy of,
1760      * including the revision. Format:
1761      * `projects/{project}/locations/{location}/models/{model_id}&#64;{version_id}`
1762      * </pre>
1763      *
1764      * <code>
1765      * string model = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... }
1766      * </code>
1767      *
1768      * @return The model.
1769      */
getModel()1770     java.lang.String getModel();
1771     /**
1772      *
1773      *
1774      * <pre>
1775      * Output only. The resource name of the Model this Model is a copy of,
1776      * including the revision. Format:
1777      * `projects/{project}/locations/{location}/models/{model_id}&#64;{version_id}`
1778      * </pre>
1779      *
1780      * <code>
1781      * string model = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... }
1782      * </code>
1783      *
1784      * @return The bytes for model.
1785      */
getModelBytes()1786     com.google.protobuf.ByteString getModelBytes();
1787   }
1788   /**
1789    *
1790    *
1791    * <pre>
1792    * Contains information about the original Model if this Model is a copy.
1793    * </pre>
1794    *
1795    * Protobuf type {@code google.cloud.aiplatform.v1.Model.OriginalModelInfo}
1796    */
1797   public static final class OriginalModelInfo extends com.google.protobuf.GeneratedMessageV3
1798       implements
1799       // @@protoc_insertion_point(message_implements:google.cloud.aiplatform.v1.Model.OriginalModelInfo)
1800       OriginalModelInfoOrBuilder {
1801     private static final long serialVersionUID = 0L;
1802     // Use OriginalModelInfo.newBuilder() to construct.
OriginalModelInfo(com.google.protobuf.GeneratedMessageV3.Builder<?> builder)1803     private OriginalModelInfo(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
1804       super(builder);
1805     }
1806 
OriginalModelInfo()1807     private OriginalModelInfo() {
1808       model_ = "";
1809     }
1810 
1811     @java.lang.Override
1812     @SuppressWarnings({"unused"})
newInstance(UnusedPrivateParameter unused)1813     protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
1814       return new OriginalModelInfo();
1815     }
1816 
1817     @java.lang.Override
getUnknownFields()1818     public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
1819       return this.unknownFields;
1820     }
1821 
getDescriptor()1822     public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
1823       return com.google.cloud.aiplatform.v1.ModelProto
1824           .internal_static_google_cloud_aiplatform_v1_Model_OriginalModelInfo_descriptor;
1825     }
1826 
1827     @java.lang.Override
1828     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()1829         internalGetFieldAccessorTable() {
1830       return com.google.cloud.aiplatform.v1.ModelProto
1831           .internal_static_google_cloud_aiplatform_v1_Model_OriginalModelInfo_fieldAccessorTable
1832           .ensureFieldAccessorsInitialized(
1833               com.google.cloud.aiplatform.v1.Model.OriginalModelInfo.class,
1834               com.google.cloud.aiplatform.v1.Model.OriginalModelInfo.Builder.class);
1835     }
1836 
1837     public static final int MODEL_FIELD_NUMBER = 1;
1838 
1839     @SuppressWarnings("serial")
1840     private volatile java.lang.Object model_ = "";
1841     /**
1842      *
1843      *
1844      * <pre>
1845      * Output only. The resource name of the Model this Model is a copy of,
1846      * including the revision. Format:
1847      * `projects/{project}/locations/{location}/models/{model_id}&#64;{version_id}`
1848      * </pre>
1849      *
1850      * <code>
1851      * string model = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... }
1852      * </code>
1853      *
1854      * @return The model.
1855      */
1856     @java.lang.Override
getModel()1857     public java.lang.String getModel() {
1858       java.lang.Object ref = model_;
1859       if (ref instanceof java.lang.String) {
1860         return (java.lang.String) ref;
1861       } else {
1862         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1863         java.lang.String s = bs.toStringUtf8();
1864         model_ = s;
1865         return s;
1866       }
1867     }
1868     /**
1869      *
1870      *
1871      * <pre>
1872      * Output only. The resource name of the Model this Model is a copy of,
1873      * including the revision. Format:
1874      * `projects/{project}/locations/{location}/models/{model_id}&#64;{version_id}`
1875      * </pre>
1876      *
1877      * <code>
1878      * string model = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... }
1879      * </code>
1880      *
1881      * @return The bytes for model.
1882      */
1883     @java.lang.Override
getModelBytes()1884     public com.google.protobuf.ByteString getModelBytes() {
1885       java.lang.Object ref = model_;
1886       if (ref instanceof java.lang.String) {
1887         com.google.protobuf.ByteString b =
1888             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1889         model_ = b;
1890         return b;
1891       } else {
1892         return (com.google.protobuf.ByteString) ref;
1893       }
1894     }
1895 
1896     private byte memoizedIsInitialized = -1;
1897 
1898     @java.lang.Override
isInitialized()1899     public final boolean isInitialized() {
1900       byte isInitialized = memoizedIsInitialized;
1901       if (isInitialized == 1) return true;
1902       if (isInitialized == 0) return false;
1903 
1904       memoizedIsInitialized = 1;
1905       return true;
1906     }
1907 
1908     @java.lang.Override
writeTo(com.google.protobuf.CodedOutputStream output)1909     public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
1910       if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(model_)) {
1911         com.google.protobuf.GeneratedMessageV3.writeString(output, 1, model_);
1912       }
1913       getUnknownFields().writeTo(output);
1914     }
1915 
1916     @java.lang.Override
getSerializedSize()1917     public int getSerializedSize() {
1918       int size = memoizedSize;
1919       if (size != -1) return size;
1920 
1921       size = 0;
1922       if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(model_)) {
1923         size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, model_);
1924       }
1925       size += getUnknownFields().getSerializedSize();
1926       memoizedSize = size;
1927       return size;
1928     }
1929 
1930     @java.lang.Override
equals(final java.lang.Object obj)1931     public boolean equals(final java.lang.Object obj) {
1932       if (obj == this) {
1933         return true;
1934       }
1935       if (!(obj instanceof com.google.cloud.aiplatform.v1.Model.OriginalModelInfo)) {
1936         return super.equals(obj);
1937       }
1938       com.google.cloud.aiplatform.v1.Model.OriginalModelInfo other =
1939           (com.google.cloud.aiplatform.v1.Model.OriginalModelInfo) obj;
1940 
1941       if (!getModel().equals(other.getModel())) return false;
1942       if (!getUnknownFields().equals(other.getUnknownFields())) return false;
1943       return true;
1944     }
1945 
1946     @java.lang.Override
hashCode()1947     public int hashCode() {
1948       if (memoizedHashCode != 0) {
1949         return memoizedHashCode;
1950       }
1951       int hash = 41;
1952       hash = (19 * hash) + getDescriptor().hashCode();
1953       hash = (37 * hash) + MODEL_FIELD_NUMBER;
1954       hash = (53 * hash) + getModel().hashCode();
1955       hash = (29 * hash) + getUnknownFields().hashCode();
1956       memoizedHashCode = hash;
1957       return hash;
1958     }
1959 
parseFrom( java.nio.ByteBuffer data)1960     public static com.google.cloud.aiplatform.v1.Model.OriginalModelInfo parseFrom(
1961         java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException {
1962       return PARSER.parseFrom(data);
1963     }
1964 
parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1965     public static com.google.cloud.aiplatform.v1.Model.OriginalModelInfo parseFrom(
1966         java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1967         throws com.google.protobuf.InvalidProtocolBufferException {
1968       return PARSER.parseFrom(data, extensionRegistry);
1969     }
1970 
parseFrom( com.google.protobuf.ByteString data)1971     public static com.google.cloud.aiplatform.v1.Model.OriginalModelInfo parseFrom(
1972         com.google.protobuf.ByteString data)
1973         throws com.google.protobuf.InvalidProtocolBufferException {
1974       return PARSER.parseFrom(data);
1975     }
1976 
parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1977     public static com.google.cloud.aiplatform.v1.Model.OriginalModelInfo parseFrom(
1978         com.google.protobuf.ByteString data,
1979         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1980         throws com.google.protobuf.InvalidProtocolBufferException {
1981       return PARSER.parseFrom(data, extensionRegistry);
1982     }
1983 
parseFrom(byte[] data)1984     public static com.google.cloud.aiplatform.v1.Model.OriginalModelInfo parseFrom(byte[] data)
1985         throws com.google.protobuf.InvalidProtocolBufferException {
1986       return PARSER.parseFrom(data);
1987     }
1988 
parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1989     public static com.google.cloud.aiplatform.v1.Model.OriginalModelInfo parseFrom(
1990         byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1991         throws com.google.protobuf.InvalidProtocolBufferException {
1992       return PARSER.parseFrom(data, extensionRegistry);
1993     }
1994 
parseFrom( java.io.InputStream input)1995     public static com.google.cloud.aiplatform.v1.Model.OriginalModelInfo parseFrom(
1996         java.io.InputStream input) throws java.io.IOException {
1997       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
1998     }
1999 
parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)2000     public static com.google.cloud.aiplatform.v1.Model.OriginalModelInfo parseFrom(
2001         java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2002         throws java.io.IOException {
2003       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
2004           PARSER, input, extensionRegistry);
2005     }
2006 
parseDelimitedFrom( java.io.InputStream input)2007     public static com.google.cloud.aiplatform.v1.Model.OriginalModelInfo parseDelimitedFrom(
2008         java.io.InputStream input) throws java.io.IOException {
2009       return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
2010     }
2011 
parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)2012     public static com.google.cloud.aiplatform.v1.Model.OriginalModelInfo parseDelimitedFrom(
2013         java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2014         throws java.io.IOException {
2015       return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
2016           PARSER, input, extensionRegistry);
2017     }
2018 
parseFrom( com.google.protobuf.CodedInputStream input)2019     public static com.google.cloud.aiplatform.v1.Model.OriginalModelInfo parseFrom(
2020         com.google.protobuf.CodedInputStream input) throws java.io.IOException {
2021       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
2022     }
2023 
parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)2024     public static com.google.cloud.aiplatform.v1.Model.OriginalModelInfo parseFrom(
2025         com.google.protobuf.CodedInputStream input,
2026         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2027         throws java.io.IOException {
2028       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
2029           PARSER, input, extensionRegistry);
2030     }
2031 
2032     @java.lang.Override
newBuilderForType()2033     public Builder newBuilderForType() {
2034       return newBuilder();
2035     }
2036 
newBuilder()2037     public static Builder newBuilder() {
2038       return DEFAULT_INSTANCE.toBuilder();
2039     }
2040 
newBuilder( com.google.cloud.aiplatform.v1.Model.OriginalModelInfo prototype)2041     public static Builder newBuilder(
2042         com.google.cloud.aiplatform.v1.Model.OriginalModelInfo prototype) {
2043       return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
2044     }
2045 
2046     @java.lang.Override
toBuilder()2047     public Builder toBuilder() {
2048       return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
2049     }
2050 
2051     @java.lang.Override
newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent)2052     protected Builder newBuilderForType(
2053         com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
2054       Builder builder = new Builder(parent);
2055       return builder;
2056     }
2057     /**
2058      *
2059      *
2060      * <pre>
2061      * Contains information about the original Model if this Model is a copy.
2062      * </pre>
2063      *
2064      * Protobuf type {@code google.cloud.aiplatform.v1.Model.OriginalModelInfo}
2065      */
2066     public static final class Builder
2067         extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
2068         implements
2069         // @@protoc_insertion_point(builder_implements:google.cloud.aiplatform.v1.Model.OriginalModelInfo)
2070         com.google.cloud.aiplatform.v1.Model.OriginalModelInfoOrBuilder {
getDescriptor()2071       public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
2072         return com.google.cloud.aiplatform.v1.ModelProto
2073             .internal_static_google_cloud_aiplatform_v1_Model_OriginalModelInfo_descriptor;
2074       }
2075 
2076       @java.lang.Override
2077       protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()2078           internalGetFieldAccessorTable() {
2079         return com.google.cloud.aiplatform.v1.ModelProto
2080             .internal_static_google_cloud_aiplatform_v1_Model_OriginalModelInfo_fieldAccessorTable
2081             .ensureFieldAccessorsInitialized(
2082                 com.google.cloud.aiplatform.v1.Model.OriginalModelInfo.class,
2083                 com.google.cloud.aiplatform.v1.Model.OriginalModelInfo.Builder.class);
2084       }
2085 
2086       // Construct using com.google.cloud.aiplatform.v1.Model.OriginalModelInfo.newBuilder()
Builder()2087       private Builder() {}
2088 
Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)2089       private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
2090         super(parent);
2091       }
2092 
2093       @java.lang.Override
clear()2094       public Builder clear() {
2095         super.clear();
2096         bitField0_ = 0;
2097         model_ = "";
2098         return this;
2099       }
2100 
2101       @java.lang.Override
getDescriptorForType()2102       public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
2103         return com.google.cloud.aiplatform.v1.ModelProto
2104             .internal_static_google_cloud_aiplatform_v1_Model_OriginalModelInfo_descriptor;
2105       }
2106 
2107       @java.lang.Override
getDefaultInstanceForType()2108       public com.google.cloud.aiplatform.v1.Model.OriginalModelInfo getDefaultInstanceForType() {
2109         return com.google.cloud.aiplatform.v1.Model.OriginalModelInfo.getDefaultInstance();
2110       }
2111 
2112       @java.lang.Override
build()2113       public com.google.cloud.aiplatform.v1.Model.OriginalModelInfo build() {
2114         com.google.cloud.aiplatform.v1.Model.OriginalModelInfo result = buildPartial();
2115         if (!result.isInitialized()) {
2116           throw newUninitializedMessageException(result);
2117         }
2118         return result;
2119       }
2120 
2121       @java.lang.Override
buildPartial()2122       public com.google.cloud.aiplatform.v1.Model.OriginalModelInfo buildPartial() {
2123         com.google.cloud.aiplatform.v1.Model.OriginalModelInfo result =
2124             new com.google.cloud.aiplatform.v1.Model.OriginalModelInfo(this);
2125         if (bitField0_ != 0) {
2126           buildPartial0(result);
2127         }
2128         onBuilt();
2129         return result;
2130       }
2131 
buildPartial0(com.google.cloud.aiplatform.v1.Model.OriginalModelInfo result)2132       private void buildPartial0(com.google.cloud.aiplatform.v1.Model.OriginalModelInfo result) {
2133         int from_bitField0_ = bitField0_;
2134         if (((from_bitField0_ & 0x00000001) != 0)) {
2135           result.model_ = model_;
2136         }
2137       }
2138 
2139       @java.lang.Override
clone()2140       public Builder clone() {
2141         return super.clone();
2142       }
2143 
2144       @java.lang.Override
setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)2145       public Builder setField(
2146           com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
2147         return super.setField(field, value);
2148       }
2149 
2150       @java.lang.Override
clearField(com.google.protobuf.Descriptors.FieldDescriptor field)2151       public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
2152         return super.clearField(field);
2153       }
2154 
2155       @java.lang.Override
clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)2156       public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
2157         return super.clearOneof(oneof);
2158       }
2159 
2160       @java.lang.Override
setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)2161       public Builder setRepeatedField(
2162           com.google.protobuf.Descriptors.FieldDescriptor field,
2163           int index,
2164           java.lang.Object value) {
2165         return super.setRepeatedField(field, index, value);
2166       }
2167 
2168       @java.lang.Override
addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)2169       public Builder addRepeatedField(
2170           com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
2171         return super.addRepeatedField(field, value);
2172       }
2173 
2174       @java.lang.Override
mergeFrom(com.google.protobuf.Message other)2175       public Builder mergeFrom(com.google.protobuf.Message other) {
2176         if (other instanceof com.google.cloud.aiplatform.v1.Model.OriginalModelInfo) {
2177           return mergeFrom((com.google.cloud.aiplatform.v1.Model.OriginalModelInfo) other);
2178         } else {
2179           super.mergeFrom(other);
2180           return this;
2181         }
2182       }
2183 
mergeFrom(com.google.cloud.aiplatform.v1.Model.OriginalModelInfo other)2184       public Builder mergeFrom(com.google.cloud.aiplatform.v1.Model.OriginalModelInfo other) {
2185         if (other == com.google.cloud.aiplatform.v1.Model.OriginalModelInfo.getDefaultInstance())
2186           return this;
2187         if (!other.getModel().isEmpty()) {
2188           model_ = other.model_;
2189           bitField0_ |= 0x00000001;
2190           onChanged();
2191         }
2192         this.mergeUnknownFields(other.getUnknownFields());
2193         onChanged();
2194         return this;
2195       }
2196 
2197       @java.lang.Override
isInitialized()2198       public final boolean isInitialized() {
2199         return true;
2200       }
2201 
2202       @java.lang.Override
mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)2203       public Builder mergeFrom(
2204           com.google.protobuf.CodedInputStream input,
2205           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2206           throws java.io.IOException {
2207         if (extensionRegistry == null) {
2208           throw new java.lang.NullPointerException();
2209         }
2210         try {
2211           boolean done = false;
2212           while (!done) {
2213             int tag = input.readTag();
2214             switch (tag) {
2215               case 0:
2216                 done = true;
2217                 break;
2218               case 10:
2219                 {
2220                   model_ = input.readStringRequireUtf8();
2221                   bitField0_ |= 0x00000001;
2222                   break;
2223                 } // case 10
2224               default:
2225                 {
2226                   if (!super.parseUnknownField(input, extensionRegistry, tag)) {
2227                     done = true; // was an endgroup tag
2228                   }
2229                   break;
2230                 } // default:
2231             } // switch (tag)
2232           } // while (!done)
2233         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
2234           throw e.unwrapIOException();
2235         } finally {
2236           onChanged();
2237         } // finally
2238         return this;
2239       }
2240 
2241       private int bitField0_;
2242 
2243       private java.lang.Object model_ = "";
2244       /**
2245        *
2246        *
2247        * <pre>
2248        * Output only. The resource name of the Model this Model is a copy of,
2249        * including the revision. Format:
2250        * `projects/{project}/locations/{location}/models/{model_id}&#64;{version_id}`
2251        * </pre>
2252        *
2253        * <code>
2254        * string model = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... }
2255        * </code>
2256        *
2257        * @return The model.
2258        */
getModel()2259       public java.lang.String getModel() {
2260         java.lang.Object ref = model_;
2261         if (!(ref instanceof java.lang.String)) {
2262           com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
2263           java.lang.String s = bs.toStringUtf8();
2264           model_ = s;
2265           return s;
2266         } else {
2267           return (java.lang.String) ref;
2268         }
2269       }
2270       /**
2271        *
2272        *
2273        * <pre>
2274        * Output only. The resource name of the Model this Model is a copy of,
2275        * including the revision. Format:
2276        * `projects/{project}/locations/{location}/models/{model_id}&#64;{version_id}`
2277        * </pre>
2278        *
2279        * <code>
2280        * string model = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... }
2281        * </code>
2282        *
2283        * @return The bytes for model.
2284        */
getModelBytes()2285       public com.google.protobuf.ByteString getModelBytes() {
2286         java.lang.Object ref = model_;
2287         if (ref instanceof String) {
2288           com.google.protobuf.ByteString b =
2289               com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
2290           model_ = b;
2291           return b;
2292         } else {
2293           return (com.google.protobuf.ByteString) ref;
2294         }
2295       }
2296       /**
2297        *
2298        *
2299        * <pre>
2300        * Output only. The resource name of the Model this Model is a copy of,
2301        * including the revision. Format:
2302        * `projects/{project}/locations/{location}/models/{model_id}&#64;{version_id}`
2303        * </pre>
2304        *
2305        * <code>
2306        * string model = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... }
2307        * </code>
2308        *
2309        * @param value The model to set.
2310        * @return This builder for chaining.
2311        */
setModel(java.lang.String value)2312       public Builder setModel(java.lang.String value) {
2313         if (value == null) {
2314           throw new NullPointerException();
2315         }
2316         model_ = value;
2317         bitField0_ |= 0x00000001;
2318         onChanged();
2319         return this;
2320       }
2321       /**
2322        *
2323        *
2324        * <pre>
2325        * Output only. The resource name of the Model this Model is a copy of,
2326        * including the revision. Format:
2327        * `projects/{project}/locations/{location}/models/{model_id}&#64;{version_id}`
2328        * </pre>
2329        *
2330        * <code>
2331        * string model = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... }
2332        * </code>
2333        *
2334        * @return This builder for chaining.
2335        */
clearModel()2336       public Builder clearModel() {
2337         model_ = getDefaultInstance().getModel();
2338         bitField0_ = (bitField0_ & ~0x00000001);
2339         onChanged();
2340         return this;
2341       }
2342       /**
2343        *
2344        *
2345        * <pre>
2346        * Output only. The resource name of the Model this Model is a copy of,
2347        * including the revision. Format:
2348        * `projects/{project}/locations/{location}/models/{model_id}&#64;{version_id}`
2349        * </pre>
2350        *
2351        * <code>
2352        * string model = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... }
2353        * </code>
2354        *
2355        * @param value The bytes for model to set.
2356        * @return This builder for chaining.
2357        */
setModelBytes(com.google.protobuf.ByteString value)2358       public Builder setModelBytes(com.google.protobuf.ByteString value) {
2359         if (value == null) {
2360           throw new NullPointerException();
2361         }
2362         checkByteStringIsUtf8(value);
2363         model_ = value;
2364         bitField0_ |= 0x00000001;
2365         onChanged();
2366         return this;
2367       }
2368 
2369       @java.lang.Override
setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)2370       public final Builder setUnknownFields(
2371           final com.google.protobuf.UnknownFieldSet unknownFields) {
2372         return super.setUnknownFields(unknownFields);
2373       }
2374 
2375       @java.lang.Override
mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)2376       public final Builder mergeUnknownFields(
2377           final com.google.protobuf.UnknownFieldSet unknownFields) {
2378         return super.mergeUnknownFields(unknownFields);
2379       }
2380 
2381       // @@protoc_insertion_point(builder_scope:google.cloud.aiplatform.v1.Model.OriginalModelInfo)
2382     }
2383 
2384     // @@protoc_insertion_point(class_scope:google.cloud.aiplatform.v1.Model.OriginalModelInfo)
2385     private static final com.google.cloud.aiplatform.v1.Model.OriginalModelInfo DEFAULT_INSTANCE;
2386 
2387     static {
2388       DEFAULT_INSTANCE = new com.google.cloud.aiplatform.v1.Model.OriginalModelInfo();
2389     }
2390 
getDefaultInstance()2391     public static com.google.cloud.aiplatform.v1.Model.OriginalModelInfo getDefaultInstance() {
2392       return DEFAULT_INSTANCE;
2393     }
2394 
2395     private static final com.google.protobuf.Parser<OriginalModelInfo> PARSER =
2396         new com.google.protobuf.AbstractParser<OriginalModelInfo>() {
2397           @java.lang.Override
2398           public OriginalModelInfo parsePartialFrom(
2399               com.google.protobuf.CodedInputStream input,
2400               com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2401               throws com.google.protobuf.InvalidProtocolBufferException {
2402             Builder builder = newBuilder();
2403             try {
2404               builder.mergeFrom(input, extensionRegistry);
2405             } catch (com.google.protobuf.InvalidProtocolBufferException e) {
2406               throw e.setUnfinishedMessage(builder.buildPartial());
2407             } catch (com.google.protobuf.UninitializedMessageException e) {
2408               throw e.asInvalidProtocolBufferException()
2409                   .setUnfinishedMessage(builder.buildPartial());
2410             } catch (java.io.IOException e) {
2411               throw new com.google.protobuf.InvalidProtocolBufferException(e)
2412                   .setUnfinishedMessage(builder.buildPartial());
2413             }
2414             return builder.buildPartial();
2415           }
2416         };
2417 
parser()2418     public static com.google.protobuf.Parser<OriginalModelInfo> parser() {
2419       return PARSER;
2420     }
2421 
2422     @java.lang.Override
getParserForType()2423     public com.google.protobuf.Parser<OriginalModelInfo> getParserForType() {
2424       return PARSER;
2425     }
2426 
2427     @java.lang.Override
getDefaultInstanceForType()2428     public com.google.cloud.aiplatform.v1.Model.OriginalModelInfo getDefaultInstanceForType() {
2429       return DEFAULT_INSTANCE;
2430     }
2431   }
2432 
2433   public static final int NAME_FIELD_NUMBER = 1;
2434 
2435   @SuppressWarnings("serial")
2436   private volatile java.lang.Object name_ = "";
2437   /**
2438    *
2439    *
2440    * <pre>
2441    * The resource name of the Model.
2442    * </pre>
2443    *
2444    * <code>string name = 1;</code>
2445    *
2446    * @return The name.
2447    */
2448   @java.lang.Override
getName()2449   public java.lang.String getName() {
2450     java.lang.Object ref = name_;
2451     if (ref instanceof java.lang.String) {
2452       return (java.lang.String) ref;
2453     } else {
2454       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
2455       java.lang.String s = bs.toStringUtf8();
2456       name_ = s;
2457       return s;
2458     }
2459   }
2460   /**
2461    *
2462    *
2463    * <pre>
2464    * The resource name of the Model.
2465    * </pre>
2466    *
2467    * <code>string name = 1;</code>
2468    *
2469    * @return The bytes for name.
2470    */
2471   @java.lang.Override
getNameBytes()2472   public com.google.protobuf.ByteString getNameBytes() {
2473     java.lang.Object ref = name_;
2474     if (ref instanceof java.lang.String) {
2475       com.google.protobuf.ByteString b =
2476           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
2477       name_ = b;
2478       return b;
2479     } else {
2480       return (com.google.protobuf.ByteString) ref;
2481     }
2482   }
2483 
2484   public static final int VERSION_ID_FIELD_NUMBER = 28;
2485 
2486   @SuppressWarnings("serial")
2487   private volatile java.lang.Object versionId_ = "";
2488   /**
2489    *
2490    *
2491    * <pre>
2492    * Output only. Immutable. The version ID of the model.
2493    * A new version is committed when a new model version is uploaded or
2494    * trained under an existing model id. It is an auto-incrementing decimal
2495    * number in string representation.
2496    * </pre>
2497    *
2498    * <code>
2499    * string version_id = 28 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.field_behavior) = OUTPUT_ONLY];
2500    * </code>
2501    *
2502    * @return The versionId.
2503    */
2504   @java.lang.Override
getVersionId()2505   public java.lang.String getVersionId() {
2506     java.lang.Object ref = versionId_;
2507     if (ref instanceof java.lang.String) {
2508       return (java.lang.String) ref;
2509     } else {
2510       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
2511       java.lang.String s = bs.toStringUtf8();
2512       versionId_ = s;
2513       return s;
2514     }
2515   }
2516   /**
2517    *
2518    *
2519    * <pre>
2520    * Output only. Immutable. The version ID of the model.
2521    * A new version is committed when a new model version is uploaded or
2522    * trained under an existing model id. It is an auto-incrementing decimal
2523    * number in string representation.
2524    * </pre>
2525    *
2526    * <code>
2527    * string version_id = 28 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.field_behavior) = OUTPUT_ONLY];
2528    * </code>
2529    *
2530    * @return The bytes for versionId.
2531    */
2532   @java.lang.Override
getVersionIdBytes()2533   public com.google.protobuf.ByteString getVersionIdBytes() {
2534     java.lang.Object ref = versionId_;
2535     if (ref instanceof java.lang.String) {
2536       com.google.protobuf.ByteString b =
2537           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
2538       versionId_ = b;
2539       return b;
2540     } else {
2541       return (com.google.protobuf.ByteString) ref;
2542     }
2543   }
2544 
2545   public static final int VERSION_ALIASES_FIELD_NUMBER = 29;
2546 
2547   @SuppressWarnings("serial")
2548   private com.google.protobuf.LazyStringList versionAliases_;
2549   /**
2550    *
2551    *
2552    * <pre>
2553    * User provided version aliases so that a model version can be referenced via
2554    * alias (i.e.
2555    * `projects/{project}/locations/{location}/models/{model_id}&#64;{version_alias}`
2556    * instead of auto-generated version id (i.e.
2557    * `projects/{project}/locations/{location}/models/{model_id}&#64;{version_id})`.
2558    * The format is [a-z][a-zA-Z0-9-]{0,126}[a-z0-9] to distinguish from
2559    * version_id. A default version alias will be created for the first version
2560    * of the model, and there must be exactly one default version alias for a
2561    * model.
2562    * </pre>
2563    *
2564    * <code>repeated string version_aliases = 29;</code>
2565    *
2566    * @return A list containing the versionAliases.
2567    */
getVersionAliasesList()2568   public com.google.protobuf.ProtocolStringList getVersionAliasesList() {
2569     return versionAliases_;
2570   }
2571   /**
2572    *
2573    *
2574    * <pre>
2575    * User provided version aliases so that a model version can be referenced via
2576    * alias (i.e.
2577    * `projects/{project}/locations/{location}/models/{model_id}&#64;{version_alias}`
2578    * instead of auto-generated version id (i.e.
2579    * `projects/{project}/locations/{location}/models/{model_id}&#64;{version_id})`.
2580    * The format is [a-z][a-zA-Z0-9-]{0,126}[a-z0-9] to distinguish from
2581    * version_id. A default version alias will be created for the first version
2582    * of the model, and there must be exactly one default version alias for a
2583    * model.
2584    * </pre>
2585    *
2586    * <code>repeated string version_aliases = 29;</code>
2587    *
2588    * @return The count of versionAliases.
2589    */
getVersionAliasesCount()2590   public int getVersionAliasesCount() {
2591     return versionAliases_.size();
2592   }
2593   /**
2594    *
2595    *
2596    * <pre>
2597    * User provided version aliases so that a model version can be referenced via
2598    * alias (i.e.
2599    * `projects/{project}/locations/{location}/models/{model_id}&#64;{version_alias}`
2600    * instead of auto-generated version id (i.e.
2601    * `projects/{project}/locations/{location}/models/{model_id}&#64;{version_id})`.
2602    * The format is [a-z][a-zA-Z0-9-]{0,126}[a-z0-9] to distinguish from
2603    * version_id. A default version alias will be created for the first version
2604    * of the model, and there must be exactly one default version alias for a
2605    * model.
2606    * </pre>
2607    *
2608    * <code>repeated string version_aliases = 29;</code>
2609    *
2610    * @param index The index of the element to return.
2611    * @return The versionAliases at the given index.
2612    */
getVersionAliases(int index)2613   public java.lang.String getVersionAliases(int index) {
2614     return versionAliases_.get(index);
2615   }
2616   /**
2617    *
2618    *
2619    * <pre>
2620    * User provided version aliases so that a model version can be referenced via
2621    * alias (i.e.
2622    * `projects/{project}/locations/{location}/models/{model_id}&#64;{version_alias}`
2623    * instead of auto-generated version id (i.e.
2624    * `projects/{project}/locations/{location}/models/{model_id}&#64;{version_id})`.
2625    * The format is [a-z][a-zA-Z0-9-]{0,126}[a-z0-9] to distinguish from
2626    * version_id. A default version alias will be created for the first version
2627    * of the model, and there must be exactly one default version alias for a
2628    * model.
2629    * </pre>
2630    *
2631    * <code>repeated string version_aliases = 29;</code>
2632    *
2633    * @param index The index of the value to return.
2634    * @return The bytes of the versionAliases at the given index.
2635    */
getVersionAliasesBytes(int index)2636   public com.google.protobuf.ByteString getVersionAliasesBytes(int index) {
2637     return versionAliases_.getByteString(index);
2638   }
2639 
2640   public static final int VERSION_CREATE_TIME_FIELD_NUMBER = 31;
2641   private com.google.protobuf.Timestamp versionCreateTime_;
2642   /**
2643    *
2644    *
2645    * <pre>
2646    * Output only. Timestamp when this version was created.
2647    * </pre>
2648    *
2649    * <code>
2650    * .google.protobuf.Timestamp version_create_time = 31 [(.google.api.field_behavior) = OUTPUT_ONLY];
2651    * </code>
2652    *
2653    * @return Whether the versionCreateTime field is set.
2654    */
2655   @java.lang.Override
hasVersionCreateTime()2656   public boolean hasVersionCreateTime() {
2657     return versionCreateTime_ != null;
2658   }
2659   /**
2660    *
2661    *
2662    * <pre>
2663    * Output only. Timestamp when this version was created.
2664    * </pre>
2665    *
2666    * <code>
2667    * .google.protobuf.Timestamp version_create_time = 31 [(.google.api.field_behavior) = OUTPUT_ONLY];
2668    * </code>
2669    *
2670    * @return The versionCreateTime.
2671    */
2672   @java.lang.Override
getVersionCreateTime()2673   public com.google.protobuf.Timestamp getVersionCreateTime() {
2674     return versionCreateTime_ == null
2675         ? com.google.protobuf.Timestamp.getDefaultInstance()
2676         : versionCreateTime_;
2677   }
2678   /**
2679    *
2680    *
2681    * <pre>
2682    * Output only. Timestamp when this version was created.
2683    * </pre>
2684    *
2685    * <code>
2686    * .google.protobuf.Timestamp version_create_time = 31 [(.google.api.field_behavior) = OUTPUT_ONLY];
2687    * </code>
2688    */
2689   @java.lang.Override
getVersionCreateTimeOrBuilder()2690   public com.google.protobuf.TimestampOrBuilder getVersionCreateTimeOrBuilder() {
2691     return versionCreateTime_ == null
2692         ? com.google.protobuf.Timestamp.getDefaultInstance()
2693         : versionCreateTime_;
2694   }
2695 
2696   public static final int VERSION_UPDATE_TIME_FIELD_NUMBER = 32;
2697   private com.google.protobuf.Timestamp versionUpdateTime_;
2698   /**
2699    *
2700    *
2701    * <pre>
2702    * Output only. Timestamp when this version was most recently updated.
2703    * </pre>
2704    *
2705    * <code>
2706    * .google.protobuf.Timestamp version_update_time = 32 [(.google.api.field_behavior) = OUTPUT_ONLY];
2707    * </code>
2708    *
2709    * @return Whether the versionUpdateTime field is set.
2710    */
2711   @java.lang.Override
hasVersionUpdateTime()2712   public boolean hasVersionUpdateTime() {
2713     return versionUpdateTime_ != null;
2714   }
2715   /**
2716    *
2717    *
2718    * <pre>
2719    * Output only. Timestamp when this version was most recently updated.
2720    * </pre>
2721    *
2722    * <code>
2723    * .google.protobuf.Timestamp version_update_time = 32 [(.google.api.field_behavior) = OUTPUT_ONLY];
2724    * </code>
2725    *
2726    * @return The versionUpdateTime.
2727    */
2728   @java.lang.Override
getVersionUpdateTime()2729   public com.google.protobuf.Timestamp getVersionUpdateTime() {
2730     return versionUpdateTime_ == null
2731         ? com.google.protobuf.Timestamp.getDefaultInstance()
2732         : versionUpdateTime_;
2733   }
2734   /**
2735    *
2736    *
2737    * <pre>
2738    * Output only. Timestamp when this version was most recently updated.
2739    * </pre>
2740    *
2741    * <code>
2742    * .google.protobuf.Timestamp version_update_time = 32 [(.google.api.field_behavior) = OUTPUT_ONLY];
2743    * </code>
2744    */
2745   @java.lang.Override
getVersionUpdateTimeOrBuilder()2746   public com.google.protobuf.TimestampOrBuilder getVersionUpdateTimeOrBuilder() {
2747     return versionUpdateTime_ == null
2748         ? com.google.protobuf.Timestamp.getDefaultInstance()
2749         : versionUpdateTime_;
2750   }
2751 
2752   public static final int DISPLAY_NAME_FIELD_NUMBER = 2;
2753 
2754   @SuppressWarnings("serial")
2755   private volatile java.lang.Object displayName_ = "";
2756   /**
2757    *
2758    *
2759    * <pre>
2760    * Required. The display name of the Model.
2761    * The name can be up to 128 characters long and can consist of any UTF-8
2762    * characters.
2763    * </pre>
2764    *
2765    * <code>string display_name = 2 [(.google.api.field_behavior) = REQUIRED];</code>
2766    *
2767    * @return The displayName.
2768    */
2769   @java.lang.Override
getDisplayName()2770   public java.lang.String getDisplayName() {
2771     java.lang.Object ref = displayName_;
2772     if (ref instanceof java.lang.String) {
2773       return (java.lang.String) ref;
2774     } else {
2775       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
2776       java.lang.String s = bs.toStringUtf8();
2777       displayName_ = s;
2778       return s;
2779     }
2780   }
2781   /**
2782    *
2783    *
2784    * <pre>
2785    * Required. The display name of the Model.
2786    * The name can be up to 128 characters long and can consist of any UTF-8
2787    * characters.
2788    * </pre>
2789    *
2790    * <code>string display_name = 2 [(.google.api.field_behavior) = REQUIRED];</code>
2791    *
2792    * @return The bytes for displayName.
2793    */
2794   @java.lang.Override
getDisplayNameBytes()2795   public com.google.protobuf.ByteString getDisplayNameBytes() {
2796     java.lang.Object ref = displayName_;
2797     if (ref instanceof java.lang.String) {
2798       com.google.protobuf.ByteString b =
2799           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
2800       displayName_ = b;
2801       return b;
2802     } else {
2803       return (com.google.protobuf.ByteString) ref;
2804     }
2805   }
2806 
2807   public static final int DESCRIPTION_FIELD_NUMBER = 3;
2808 
2809   @SuppressWarnings("serial")
2810   private volatile java.lang.Object description_ = "";
2811   /**
2812    *
2813    *
2814    * <pre>
2815    * The description of the Model.
2816    * </pre>
2817    *
2818    * <code>string description = 3;</code>
2819    *
2820    * @return The description.
2821    */
2822   @java.lang.Override
getDescription()2823   public java.lang.String getDescription() {
2824     java.lang.Object ref = description_;
2825     if (ref instanceof java.lang.String) {
2826       return (java.lang.String) ref;
2827     } else {
2828       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
2829       java.lang.String s = bs.toStringUtf8();
2830       description_ = s;
2831       return s;
2832     }
2833   }
2834   /**
2835    *
2836    *
2837    * <pre>
2838    * The description of the Model.
2839    * </pre>
2840    *
2841    * <code>string description = 3;</code>
2842    *
2843    * @return The bytes for description.
2844    */
2845   @java.lang.Override
getDescriptionBytes()2846   public com.google.protobuf.ByteString getDescriptionBytes() {
2847     java.lang.Object ref = description_;
2848     if (ref instanceof java.lang.String) {
2849       com.google.protobuf.ByteString b =
2850           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
2851       description_ = b;
2852       return b;
2853     } else {
2854       return (com.google.protobuf.ByteString) ref;
2855     }
2856   }
2857 
2858   public static final int VERSION_DESCRIPTION_FIELD_NUMBER = 30;
2859 
2860   @SuppressWarnings("serial")
2861   private volatile java.lang.Object versionDescription_ = "";
2862   /**
2863    *
2864    *
2865    * <pre>
2866    * The description of this version.
2867    * </pre>
2868    *
2869    * <code>string version_description = 30;</code>
2870    *
2871    * @return The versionDescription.
2872    */
2873   @java.lang.Override
getVersionDescription()2874   public java.lang.String getVersionDescription() {
2875     java.lang.Object ref = versionDescription_;
2876     if (ref instanceof java.lang.String) {
2877       return (java.lang.String) ref;
2878     } else {
2879       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
2880       java.lang.String s = bs.toStringUtf8();
2881       versionDescription_ = s;
2882       return s;
2883     }
2884   }
2885   /**
2886    *
2887    *
2888    * <pre>
2889    * The description of this version.
2890    * </pre>
2891    *
2892    * <code>string version_description = 30;</code>
2893    *
2894    * @return The bytes for versionDescription.
2895    */
2896   @java.lang.Override
getVersionDescriptionBytes()2897   public com.google.protobuf.ByteString getVersionDescriptionBytes() {
2898     java.lang.Object ref = versionDescription_;
2899     if (ref instanceof java.lang.String) {
2900       com.google.protobuf.ByteString b =
2901           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
2902       versionDescription_ = b;
2903       return b;
2904     } else {
2905       return (com.google.protobuf.ByteString) ref;
2906     }
2907   }
2908 
2909   public static final int PREDICT_SCHEMATA_FIELD_NUMBER = 4;
2910   private com.google.cloud.aiplatform.v1.PredictSchemata predictSchemata_;
2911   /**
2912    *
2913    *
2914    * <pre>
2915    * The schemata that describe formats of the Model's predictions and
2916    * explanations as given and returned via
2917    * [PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict]
2918    * and
2919    * [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain].
2920    * </pre>
2921    *
2922    * <code>.google.cloud.aiplatform.v1.PredictSchemata predict_schemata = 4;</code>
2923    *
2924    * @return Whether the predictSchemata field is set.
2925    */
2926   @java.lang.Override
hasPredictSchemata()2927   public boolean hasPredictSchemata() {
2928     return predictSchemata_ != null;
2929   }
2930   /**
2931    *
2932    *
2933    * <pre>
2934    * The schemata that describe formats of the Model's predictions and
2935    * explanations as given and returned via
2936    * [PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict]
2937    * and
2938    * [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain].
2939    * </pre>
2940    *
2941    * <code>.google.cloud.aiplatform.v1.PredictSchemata predict_schemata = 4;</code>
2942    *
2943    * @return The predictSchemata.
2944    */
2945   @java.lang.Override
getPredictSchemata()2946   public com.google.cloud.aiplatform.v1.PredictSchemata getPredictSchemata() {
2947     return predictSchemata_ == null
2948         ? com.google.cloud.aiplatform.v1.PredictSchemata.getDefaultInstance()
2949         : predictSchemata_;
2950   }
2951   /**
2952    *
2953    *
2954    * <pre>
2955    * The schemata that describe formats of the Model's predictions and
2956    * explanations as given and returned via
2957    * [PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict]
2958    * and
2959    * [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain].
2960    * </pre>
2961    *
2962    * <code>.google.cloud.aiplatform.v1.PredictSchemata predict_schemata = 4;</code>
2963    */
2964   @java.lang.Override
getPredictSchemataOrBuilder()2965   public com.google.cloud.aiplatform.v1.PredictSchemataOrBuilder getPredictSchemataOrBuilder() {
2966     return predictSchemata_ == null
2967         ? com.google.cloud.aiplatform.v1.PredictSchemata.getDefaultInstance()
2968         : predictSchemata_;
2969   }
2970 
2971   public static final int METADATA_SCHEMA_URI_FIELD_NUMBER = 5;
2972 
2973   @SuppressWarnings("serial")
2974   private volatile java.lang.Object metadataSchemaUri_ = "";
2975   /**
2976    *
2977    *
2978    * <pre>
2979    * Immutable. Points to a YAML file stored on Google Cloud Storage describing
2980    * additional information about the Model, that is specific to it. Unset if
2981    * the Model does not have any additional information. The schema is defined
2982    * as an OpenAPI 3.0.2 [Schema
2983    * Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject).
2984    * AutoML Models always have this field populated by Vertex AI, if no
2985    * additional metadata is needed, this field is set to an empty string.
2986    * Note: The URI given on output will be immutable and probably different,
2987    * including the URI scheme, than the one given on input. The output URI will
2988    * point to a location where the user only has a read access.
2989    * </pre>
2990    *
2991    * <code>string metadata_schema_uri = 5 [(.google.api.field_behavior) = IMMUTABLE];</code>
2992    *
2993    * @return The metadataSchemaUri.
2994    */
2995   @java.lang.Override
getMetadataSchemaUri()2996   public java.lang.String getMetadataSchemaUri() {
2997     java.lang.Object ref = metadataSchemaUri_;
2998     if (ref instanceof java.lang.String) {
2999       return (java.lang.String) ref;
3000     } else {
3001       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
3002       java.lang.String s = bs.toStringUtf8();
3003       metadataSchemaUri_ = s;
3004       return s;
3005     }
3006   }
3007   /**
3008    *
3009    *
3010    * <pre>
3011    * Immutable. Points to a YAML file stored on Google Cloud Storage describing
3012    * additional information about the Model, that is specific to it. Unset if
3013    * the Model does not have any additional information. The schema is defined
3014    * as an OpenAPI 3.0.2 [Schema
3015    * Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject).
3016    * AutoML Models always have this field populated by Vertex AI, if no
3017    * additional metadata is needed, this field is set to an empty string.
3018    * Note: The URI given on output will be immutable and probably different,
3019    * including the URI scheme, than the one given on input. The output URI will
3020    * point to a location where the user only has a read access.
3021    * </pre>
3022    *
3023    * <code>string metadata_schema_uri = 5 [(.google.api.field_behavior) = IMMUTABLE];</code>
3024    *
3025    * @return The bytes for metadataSchemaUri.
3026    */
3027   @java.lang.Override
getMetadataSchemaUriBytes()3028   public com.google.protobuf.ByteString getMetadataSchemaUriBytes() {
3029     java.lang.Object ref = metadataSchemaUri_;
3030     if (ref instanceof java.lang.String) {
3031       com.google.protobuf.ByteString b =
3032           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
3033       metadataSchemaUri_ = b;
3034       return b;
3035     } else {
3036       return (com.google.protobuf.ByteString) ref;
3037     }
3038   }
3039 
3040   public static final int METADATA_FIELD_NUMBER = 6;
3041   private com.google.protobuf.Value metadata_;
3042   /**
3043    *
3044    *
3045    * <pre>
3046    * Immutable. An additional information about the Model; the schema of the
3047    * metadata can be found in
3048    * [metadata_schema][google.cloud.aiplatform.v1.Model.metadata_schema_uri].
3049    * Unset if the Model does not have any additional information.
3050    * </pre>
3051    *
3052    * <code>.google.protobuf.Value metadata = 6 [(.google.api.field_behavior) = IMMUTABLE];</code>
3053    *
3054    * @return Whether the metadata field is set.
3055    */
3056   @java.lang.Override
hasMetadata()3057   public boolean hasMetadata() {
3058     return metadata_ != null;
3059   }
3060   /**
3061    *
3062    *
3063    * <pre>
3064    * Immutable. An additional information about the Model; the schema of the
3065    * metadata can be found in
3066    * [metadata_schema][google.cloud.aiplatform.v1.Model.metadata_schema_uri].
3067    * Unset if the Model does not have any additional information.
3068    * </pre>
3069    *
3070    * <code>.google.protobuf.Value metadata = 6 [(.google.api.field_behavior) = IMMUTABLE];</code>
3071    *
3072    * @return The metadata.
3073    */
3074   @java.lang.Override
getMetadata()3075   public com.google.protobuf.Value getMetadata() {
3076     return metadata_ == null ? com.google.protobuf.Value.getDefaultInstance() : metadata_;
3077   }
3078   /**
3079    *
3080    *
3081    * <pre>
3082    * Immutable. An additional information about the Model; the schema of the
3083    * metadata can be found in
3084    * [metadata_schema][google.cloud.aiplatform.v1.Model.metadata_schema_uri].
3085    * Unset if the Model does not have any additional information.
3086    * </pre>
3087    *
3088    * <code>.google.protobuf.Value metadata = 6 [(.google.api.field_behavior) = IMMUTABLE];</code>
3089    */
3090   @java.lang.Override
getMetadataOrBuilder()3091   public com.google.protobuf.ValueOrBuilder getMetadataOrBuilder() {
3092     return metadata_ == null ? com.google.protobuf.Value.getDefaultInstance() : metadata_;
3093   }
3094 
3095   public static final int SUPPORTED_EXPORT_FORMATS_FIELD_NUMBER = 20;
3096 
3097   @SuppressWarnings("serial")
3098   private java.util.List<com.google.cloud.aiplatform.v1.Model.ExportFormat> supportedExportFormats_;
3099   /**
3100    *
3101    *
3102    * <pre>
3103    * Output only. The formats in which this Model may be exported. If empty,
3104    * this Model is not available for export.
3105    * </pre>
3106    *
3107    * <code>
3108    * repeated .google.cloud.aiplatform.v1.Model.ExportFormat supported_export_formats = 20 [(.google.api.field_behavior) = OUTPUT_ONLY];
3109    * </code>
3110    */
3111   @java.lang.Override
3112   public java.util.List<com.google.cloud.aiplatform.v1.Model.ExportFormat>
getSupportedExportFormatsList()3113       getSupportedExportFormatsList() {
3114     return supportedExportFormats_;
3115   }
3116   /**
3117    *
3118    *
3119    * <pre>
3120    * Output only. The formats in which this Model may be exported. If empty,
3121    * this Model is not available for export.
3122    * </pre>
3123    *
3124    * <code>
3125    * repeated .google.cloud.aiplatform.v1.Model.ExportFormat supported_export_formats = 20 [(.google.api.field_behavior) = OUTPUT_ONLY];
3126    * </code>
3127    */
3128   @java.lang.Override
3129   public java.util.List<? extends com.google.cloud.aiplatform.v1.Model.ExportFormatOrBuilder>
getSupportedExportFormatsOrBuilderList()3130       getSupportedExportFormatsOrBuilderList() {
3131     return supportedExportFormats_;
3132   }
3133   /**
3134    *
3135    *
3136    * <pre>
3137    * Output only. The formats in which this Model may be exported. If empty,
3138    * this Model is not available for export.
3139    * </pre>
3140    *
3141    * <code>
3142    * repeated .google.cloud.aiplatform.v1.Model.ExportFormat supported_export_formats = 20 [(.google.api.field_behavior) = OUTPUT_ONLY];
3143    * </code>
3144    */
3145   @java.lang.Override
getSupportedExportFormatsCount()3146   public int getSupportedExportFormatsCount() {
3147     return supportedExportFormats_.size();
3148   }
3149   /**
3150    *
3151    *
3152    * <pre>
3153    * Output only. The formats in which this Model may be exported. If empty,
3154    * this Model is not available for export.
3155    * </pre>
3156    *
3157    * <code>
3158    * repeated .google.cloud.aiplatform.v1.Model.ExportFormat supported_export_formats = 20 [(.google.api.field_behavior) = OUTPUT_ONLY];
3159    * </code>
3160    */
3161   @java.lang.Override
getSupportedExportFormats(int index)3162   public com.google.cloud.aiplatform.v1.Model.ExportFormat getSupportedExportFormats(int index) {
3163     return supportedExportFormats_.get(index);
3164   }
3165   /**
3166    *
3167    *
3168    * <pre>
3169    * Output only. The formats in which this Model may be exported. If empty,
3170    * this Model is not available for export.
3171    * </pre>
3172    *
3173    * <code>
3174    * repeated .google.cloud.aiplatform.v1.Model.ExportFormat supported_export_formats = 20 [(.google.api.field_behavior) = OUTPUT_ONLY];
3175    * </code>
3176    */
3177   @java.lang.Override
3178   public com.google.cloud.aiplatform.v1.Model.ExportFormatOrBuilder
getSupportedExportFormatsOrBuilder(int index)3179       getSupportedExportFormatsOrBuilder(int index) {
3180     return supportedExportFormats_.get(index);
3181   }
3182 
3183   public static final int TRAINING_PIPELINE_FIELD_NUMBER = 7;
3184 
3185   @SuppressWarnings("serial")
3186   private volatile java.lang.Object trainingPipeline_ = "";
3187   /**
3188    *
3189    *
3190    * <pre>
3191    * Output only. The resource name of the TrainingPipeline that uploaded this
3192    * Model, if any.
3193    * </pre>
3194    *
3195    * <code>
3196    * string training_pipeline = 7 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... }
3197    * </code>
3198    *
3199    * @return The trainingPipeline.
3200    */
3201   @java.lang.Override
getTrainingPipeline()3202   public java.lang.String getTrainingPipeline() {
3203     java.lang.Object ref = trainingPipeline_;
3204     if (ref instanceof java.lang.String) {
3205       return (java.lang.String) ref;
3206     } else {
3207       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
3208       java.lang.String s = bs.toStringUtf8();
3209       trainingPipeline_ = s;
3210       return s;
3211     }
3212   }
3213   /**
3214    *
3215    *
3216    * <pre>
3217    * Output only. The resource name of the TrainingPipeline that uploaded this
3218    * Model, if any.
3219    * </pre>
3220    *
3221    * <code>
3222    * string training_pipeline = 7 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... }
3223    * </code>
3224    *
3225    * @return The bytes for trainingPipeline.
3226    */
3227   @java.lang.Override
getTrainingPipelineBytes()3228   public com.google.protobuf.ByteString getTrainingPipelineBytes() {
3229     java.lang.Object ref = trainingPipeline_;
3230     if (ref instanceof java.lang.String) {
3231       com.google.protobuf.ByteString b =
3232           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
3233       trainingPipeline_ = b;
3234       return b;
3235     } else {
3236       return (com.google.protobuf.ByteString) ref;
3237     }
3238   }
3239 
3240   public static final int CONTAINER_SPEC_FIELD_NUMBER = 9;
3241   private com.google.cloud.aiplatform.v1.ModelContainerSpec containerSpec_;
3242   /**
3243    *
3244    *
3245    * <pre>
3246    * Input only. The specification of the container that is to be used when
3247    * deploying this Model. The specification is ingested upon
3248    * [ModelService.UploadModel][google.cloud.aiplatform.v1.ModelService.UploadModel],
3249    * and all binaries it contains are copied and stored internally by Vertex AI.
3250    * Not present for AutoML Models or Large Models.
3251    * </pre>
3252    *
3253    * <code>
3254    * .google.cloud.aiplatform.v1.ModelContainerSpec container_spec = 9 [(.google.api.field_behavior) = INPUT_ONLY];
3255    * </code>
3256    *
3257    * @return Whether the containerSpec field is set.
3258    */
3259   @java.lang.Override
hasContainerSpec()3260   public boolean hasContainerSpec() {
3261     return containerSpec_ != null;
3262   }
3263   /**
3264    *
3265    *
3266    * <pre>
3267    * Input only. The specification of the container that is to be used when
3268    * deploying this Model. The specification is ingested upon
3269    * [ModelService.UploadModel][google.cloud.aiplatform.v1.ModelService.UploadModel],
3270    * and all binaries it contains are copied and stored internally by Vertex AI.
3271    * Not present for AutoML Models or Large Models.
3272    * </pre>
3273    *
3274    * <code>
3275    * .google.cloud.aiplatform.v1.ModelContainerSpec container_spec = 9 [(.google.api.field_behavior) = INPUT_ONLY];
3276    * </code>
3277    *
3278    * @return The containerSpec.
3279    */
3280   @java.lang.Override
getContainerSpec()3281   public com.google.cloud.aiplatform.v1.ModelContainerSpec getContainerSpec() {
3282     return containerSpec_ == null
3283         ? com.google.cloud.aiplatform.v1.ModelContainerSpec.getDefaultInstance()
3284         : containerSpec_;
3285   }
3286   /**
3287    *
3288    *
3289    * <pre>
3290    * Input only. The specification of the container that is to be used when
3291    * deploying this Model. The specification is ingested upon
3292    * [ModelService.UploadModel][google.cloud.aiplatform.v1.ModelService.UploadModel],
3293    * and all binaries it contains are copied and stored internally by Vertex AI.
3294    * Not present for AutoML Models or Large Models.
3295    * </pre>
3296    *
3297    * <code>
3298    * .google.cloud.aiplatform.v1.ModelContainerSpec container_spec = 9 [(.google.api.field_behavior) = INPUT_ONLY];
3299    * </code>
3300    */
3301   @java.lang.Override
getContainerSpecOrBuilder()3302   public com.google.cloud.aiplatform.v1.ModelContainerSpecOrBuilder getContainerSpecOrBuilder() {
3303     return containerSpec_ == null
3304         ? com.google.cloud.aiplatform.v1.ModelContainerSpec.getDefaultInstance()
3305         : containerSpec_;
3306   }
3307 
3308   public static final int ARTIFACT_URI_FIELD_NUMBER = 26;
3309 
3310   @SuppressWarnings("serial")
3311   private volatile java.lang.Object artifactUri_ = "";
3312   /**
3313    *
3314    *
3315    * <pre>
3316    * Immutable. The path to the directory containing the Model artifact and any
3317    * of its supporting files. Not present for AutoML Models or Large Models.
3318    * </pre>
3319    *
3320    * <code>string artifact_uri = 26 [(.google.api.field_behavior) = IMMUTABLE];</code>
3321    *
3322    * @return The artifactUri.
3323    */
3324   @java.lang.Override
getArtifactUri()3325   public java.lang.String getArtifactUri() {
3326     java.lang.Object ref = artifactUri_;
3327     if (ref instanceof java.lang.String) {
3328       return (java.lang.String) ref;
3329     } else {
3330       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
3331       java.lang.String s = bs.toStringUtf8();
3332       artifactUri_ = s;
3333       return s;
3334     }
3335   }
3336   /**
3337    *
3338    *
3339    * <pre>
3340    * Immutable. The path to the directory containing the Model artifact and any
3341    * of its supporting files. Not present for AutoML Models or Large Models.
3342    * </pre>
3343    *
3344    * <code>string artifact_uri = 26 [(.google.api.field_behavior) = IMMUTABLE];</code>
3345    *
3346    * @return The bytes for artifactUri.
3347    */
3348   @java.lang.Override
getArtifactUriBytes()3349   public com.google.protobuf.ByteString getArtifactUriBytes() {
3350     java.lang.Object ref = artifactUri_;
3351     if (ref instanceof java.lang.String) {
3352       com.google.protobuf.ByteString b =
3353           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
3354       artifactUri_ = b;
3355       return b;
3356     } else {
3357       return (com.google.protobuf.ByteString) ref;
3358     }
3359   }
3360 
3361   public static final int SUPPORTED_DEPLOYMENT_RESOURCES_TYPES_FIELD_NUMBER = 10;
3362 
3363   @SuppressWarnings("serial")
3364   private java.util.List<java.lang.Integer> supportedDeploymentResourcesTypes_;
3365 
3366   private static final com.google.protobuf.Internal.ListAdapter.Converter<
3367           java.lang.Integer, com.google.cloud.aiplatform.v1.Model.DeploymentResourcesType>
3368       supportedDeploymentResourcesTypes_converter_ =
3369           new com.google.protobuf.Internal.ListAdapter.Converter<
3370               java.lang.Integer, com.google.cloud.aiplatform.v1.Model.DeploymentResourcesType>() {
3371             public com.google.cloud.aiplatform.v1.Model.DeploymentResourcesType convert(
3372                 java.lang.Integer from) {
3373               com.google.cloud.aiplatform.v1.Model.DeploymentResourcesType result =
3374                   com.google.cloud.aiplatform.v1.Model.DeploymentResourcesType.forNumber(from);
3375               return result == null
3376                   ? com.google.cloud.aiplatform.v1.Model.DeploymentResourcesType.UNRECOGNIZED
3377                   : result;
3378             }
3379           };
3380   /**
3381    *
3382    *
3383    * <pre>
3384    * Output only. When this Model is deployed, its prediction resources are
3385    * described by the `prediction_resources` field of the
3386    * [Endpoint.deployed_models][google.cloud.aiplatform.v1.Endpoint.deployed_models]
3387    * object. Because not all Models support all resource configuration types,
3388    * the configuration types this Model supports are listed here. If no
3389    * configuration types are listed, the Model cannot be deployed to an
3390    * [Endpoint][google.cloud.aiplatform.v1.Endpoint] and does not support
3391    * online predictions
3392    * ([PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict]
3393    * or
3394    * [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain]).
3395    * Such a Model can serve predictions by using a
3396    * [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob], if it
3397    * has at least one entry each in
3398    * [supported_input_storage_formats][google.cloud.aiplatform.v1.Model.supported_input_storage_formats]
3399    * and
3400    * [supported_output_storage_formats][google.cloud.aiplatform.v1.Model.supported_output_storage_formats].
3401    * </pre>
3402    *
3403    * <code>
3404    * repeated .google.cloud.aiplatform.v1.Model.DeploymentResourcesType supported_deployment_resources_types = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
3405    * </code>
3406    *
3407    * @return A list containing the supportedDeploymentResourcesTypes.
3408    */
3409   @java.lang.Override
3410   public java.util.List<com.google.cloud.aiplatform.v1.Model.DeploymentResourcesType>
getSupportedDeploymentResourcesTypesList()3411       getSupportedDeploymentResourcesTypesList() {
3412     return new com.google.protobuf.Internal.ListAdapter<
3413         java.lang.Integer, com.google.cloud.aiplatform.v1.Model.DeploymentResourcesType>(
3414         supportedDeploymentResourcesTypes_, supportedDeploymentResourcesTypes_converter_);
3415   }
3416   /**
3417    *
3418    *
3419    * <pre>
3420    * Output only. When this Model is deployed, its prediction resources are
3421    * described by the `prediction_resources` field of the
3422    * [Endpoint.deployed_models][google.cloud.aiplatform.v1.Endpoint.deployed_models]
3423    * object. Because not all Models support all resource configuration types,
3424    * the configuration types this Model supports are listed here. If no
3425    * configuration types are listed, the Model cannot be deployed to an
3426    * [Endpoint][google.cloud.aiplatform.v1.Endpoint] and does not support
3427    * online predictions
3428    * ([PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict]
3429    * or
3430    * [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain]).
3431    * Such a Model can serve predictions by using a
3432    * [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob], if it
3433    * has at least one entry each in
3434    * [supported_input_storage_formats][google.cloud.aiplatform.v1.Model.supported_input_storage_formats]
3435    * and
3436    * [supported_output_storage_formats][google.cloud.aiplatform.v1.Model.supported_output_storage_formats].
3437    * </pre>
3438    *
3439    * <code>
3440    * repeated .google.cloud.aiplatform.v1.Model.DeploymentResourcesType supported_deployment_resources_types = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
3441    * </code>
3442    *
3443    * @return The count of supportedDeploymentResourcesTypes.
3444    */
3445   @java.lang.Override
getSupportedDeploymentResourcesTypesCount()3446   public int getSupportedDeploymentResourcesTypesCount() {
3447     return supportedDeploymentResourcesTypes_.size();
3448   }
3449   /**
3450    *
3451    *
3452    * <pre>
3453    * Output only. When this Model is deployed, its prediction resources are
3454    * described by the `prediction_resources` field of the
3455    * [Endpoint.deployed_models][google.cloud.aiplatform.v1.Endpoint.deployed_models]
3456    * object. Because not all Models support all resource configuration types,
3457    * the configuration types this Model supports are listed here. If no
3458    * configuration types are listed, the Model cannot be deployed to an
3459    * [Endpoint][google.cloud.aiplatform.v1.Endpoint] and does not support
3460    * online predictions
3461    * ([PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict]
3462    * or
3463    * [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain]).
3464    * Such a Model can serve predictions by using a
3465    * [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob], if it
3466    * has at least one entry each in
3467    * [supported_input_storage_formats][google.cloud.aiplatform.v1.Model.supported_input_storage_formats]
3468    * and
3469    * [supported_output_storage_formats][google.cloud.aiplatform.v1.Model.supported_output_storage_formats].
3470    * </pre>
3471    *
3472    * <code>
3473    * repeated .google.cloud.aiplatform.v1.Model.DeploymentResourcesType supported_deployment_resources_types = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
3474    * </code>
3475    *
3476    * @param index The index of the element to return.
3477    * @return The supportedDeploymentResourcesTypes at the given index.
3478    */
3479   @java.lang.Override
3480   public com.google.cloud.aiplatform.v1.Model.DeploymentResourcesType
getSupportedDeploymentResourcesTypes(int index)3481       getSupportedDeploymentResourcesTypes(int index) {
3482     return supportedDeploymentResourcesTypes_converter_.convert(
3483         supportedDeploymentResourcesTypes_.get(index));
3484   }
3485   /**
3486    *
3487    *
3488    * <pre>
3489    * Output only. When this Model is deployed, its prediction resources are
3490    * described by the `prediction_resources` field of the
3491    * [Endpoint.deployed_models][google.cloud.aiplatform.v1.Endpoint.deployed_models]
3492    * object. Because not all Models support all resource configuration types,
3493    * the configuration types this Model supports are listed here. If no
3494    * configuration types are listed, the Model cannot be deployed to an
3495    * [Endpoint][google.cloud.aiplatform.v1.Endpoint] and does not support
3496    * online predictions
3497    * ([PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict]
3498    * or
3499    * [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain]).
3500    * Such a Model can serve predictions by using a
3501    * [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob], if it
3502    * has at least one entry each in
3503    * [supported_input_storage_formats][google.cloud.aiplatform.v1.Model.supported_input_storage_formats]
3504    * and
3505    * [supported_output_storage_formats][google.cloud.aiplatform.v1.Model.supported_output_storage_formats].
3506    * </pre>
3507    *
3508    * <code>
3509    * repeated .google.cloud.aiplatform.v1.Model.DeploymentResourcesType supported_deployment_resources_types = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
3510    * </code>
3511    *
3512    * @return A list containing the enum numeric values on the wire for
3513    *     supportedDeploymentResourcesTypes.
3514    */
3515   @java.lang.Override
getSupportedDeploymentResourcesTypesValueList()3516   public java.util.List<java.lang.Integer> getSupportedDeploymentResourcesTypesValueList() {
3517     return supportedDeploymentResourcesTypes_;
3518   }
3519   /**
3520    *
3521    *
3522    * <pre>
3523    * Output only. When this Model is deployed, its prediction resources are
3524    * described by the `prediction_resources` field of the
3525    * [Endpoint.deployed_models][google.cloud.aiplatform.v1.Endpoint.deployed_models]
3526    * object. Because not all Models support all resource configuration types,
3527    * the configuration types this Model supports are listed here. If no
3528    * configuration types are listed, the Model cannot be deployed to an
3529    * [Endpoint][google.cloud.aiplatform.v1.Endpoint] and does not support
3530    * online predictions
3531    * ([PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict]
3532    * or
3533    * [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain]).
3534    * Such a Model can serve predictions by using a
3535    * [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob], if it
3536    * has at least one entry each in
3537    * [supported_input_storage_formats][google.cloud.aiplatform.v1.Model.supported_input_storage_formats]
3538    * and
3539    * [supported_output_storage_formats][google.cloud.aiplatform.v1.Model.supported_output_storage_formats].
3540    * </pre>
3541    *
3542    * <code>
3543    * repeated .google.cloud.aiplatform.v1.Model.DeploymentResourcesType supported_deployment_resources_types = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
3544    * </code>
3545    *
3546    * @param index The index of the value to return.
3547    * @return The enum numeric value on the wire of supportedDeploymentResourcesTypes at the given
3548    *     index.
3549    */
3550   @java.lang.Override
getSupportedDeploymentResourcesTypesValue(int index)3551   public int getSupportedDeploymentResourcesTypesValue(int index) {
3552     return supportedDeploymentResourcesTypes_.get(index);
3553   }
3554 
3555   private int supportedDeploymentResourcesTypesMemoizedSerializedSize;
3556 
3557   public static final int SUPPORTED_INPUT_STORAGE_FORMATS_FIELD_NUMBER = 11;
3558 
3559   @SuppressWarnings("serial")
3560   private com.google.protobuf.LazyStringList supportedInputStorageFormats_;
3561   /**
3562    *
3563    *
3564    * <pre>
3565    * Output only. The formats this Model supports in
3566    * [BatchPredictionJob.input_config][google.cloud.aiplatform.v1.BatchPredictionJob.input_config].
3567    * If
3568    * [PredictSchemata.instance_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.instance_schema_uri]
3569    * exists, the instances should be given as per that schema.
3570    * The possible formats are:
3571    * * `jsonl`
3572    * The JSON Lines format, where each instance is a single line. Uses
3573    * [GcsSource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.gcs_source].
3574    * * `csv`
3575    * The CSV format, where each instance is a single comma-separated line.
3576    * The first line in the file is the header, containing comma-separated field
3577    * names. Uses
3578    * [GcsSource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.gcs_source].
3579    * * `tf-record`
3580    * The TFRecord format, where each instance is a single record in tfrecord
3581    * syntax. Uses
3582    * [GcsSource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.gcs_source].
3583    * * `tf-record-gzip`
3584    * Similar to `tf-record`, but the file is gzipped. Uses
3585    * [GcsSource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.gcs_source].
3586    * * `bigquery`
3587    * Each instance is a single row in BigQuery. Uses
3588    * [BigQuerySource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.bigquery_source].
3589    * * `file-list`
3590    * Each line of the file is the location of an instance to process, uses
3591    * `gcs_source` field of the
3592    * [InputConfig][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig]
3593    * object.
3594    * If this Model doesn't support any of these formats it means it cannot be
3595    * used with a
3596    * [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob].
3597    * However, if it has
3598    * [supported_deployment_resources_types][google.cloud.aiplatform.v1.Model.supported_deployment_resources_types],
3599    * it could serve online predictions by using
3600    * [PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict]
3601    * or
3602    * [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain].
3603    * </pre>
3604    *
3605    * <code>
3606    * repeated string supported_input_storage_formats = 11 [(.google.api.field_behavior) = OUTPUT_ONLY];
3607    * </code>
3608    *
3609    * @return A list containing the supportedInputStorageFormats.
3610    */
getSupportedInputStorageFormatsList()3611   public com.google.protobuf.ProtocolStringList getSupportedInputStorageFormatsList() {
3612     return supportedInputStorageFormats_;
3613   }
3614   /**
3615    *
3616    *
3617    * <pre>
3618    * Output only. The formats this Model supports in
3619    * [BatchPredictionJob.input_config][google.cloud.aiplatform.v1.BatchPredictionJob.input_config].
3620    * If
3621    * [PredictSchemata.instance_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.instance_schema_uri]
3622    * exists, the instances should be given as per that schema.
3623    * The possible formats are:
3624    * * `jsonl`
3625    * The JSON Lines format, where each instance is a single line. Uses
3626    * [GcsSource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.gcs_source].
3627    * * `csv`
3628    * The CSV format, where each instance is a single comma-separated line.
3629    * The first line in the file is the header, containing comma-separated field
3630    * names. Uses
3631    * [GcsSource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.gcs_source].
3632    * * `tf-record`
3633    * The TFRecord format, where each instance is a single record in tfrecord
3634    * syntax. Uses
3635    * [GcsSource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.gcs_source].
3636    * * `tf-record-gzip`
3637    * Similar to `tf-record`, but the file is gzipped. Uses
3638    * [GcsSource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.gcs_source].
3639    * * `bigquery`
3640    * Each instance is a single row in BigQuery. Uses
3641    * [BigQuerySource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.bigquery_source].
3642    * * `file-list`
3643    * Each line of the file is the location of an instance to process, uses
3644    * `gcs_source` field of the
3645    * [InputConfig][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig]
3646    * object.
3647    * If this Model doesn't support any of these formats it means it cannot be
3648    * used with a
3649    * [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob].
3650    * However, if it has
3651    * [supported_deployment_resources_types][google.cloud.aiplatform.v1.Model.supported_deployment_resources_types],
3652    * it could serve online predictions by using
3653    * [PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict]
3654    * or
3655    * [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain].
3656    * </pre>
3657    *
3658    * <code>
3659    * repeated string supported_input_storage_formats = 11 [(.google.api.field_behavior) = OUTPUT_ONLY];
3660    * </code>
3661    *
3662    * @return The count of supportedInputStorageFormats.
3663    */
getSupportedInputStorageFormatsCount()3664   public int getSupportedInputStorageFormatsCount() {
3665     return supportedInputStorageFormats_.size();
3666   }
3667   /**
3668    *
3669    *
3670    * <pre>
3671    * Output only. The formats this Model supports in
3672    * [BatchPredictionJob.input_config][google.cloud.aiplatform.v1.BatchPredictionJob.input_config].
3673    * If
3674    * [PredictSchemata.instance_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.instance_schema_uri]
3675    * exists, the instances should be given as per that schema.
3676    * The possible formats are:
3677    * * `jsonl`
3678    * The JSON Lines format, where each instance is a single line. Uses
3679    * [GcsSource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.gcs_source].
3680    * * `csv`
3681    * The CSV format, where each instance is a single comma-separated line.
3682    * The first line in the file is the header, containing comma-separated field
3683    * names. Uses
3684    * [GcsSource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.gcs_source].
3685    * * `tf-record`
3686    * The TFRecord format, where each instance is a single record in tfrecord
3687    * syntax. Uses
3688    * [GcsSource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.gcs_source].
3689    * * `tf-record-gzip`
3690    * Similar to `tf-record`, but the file is gzipped. Uses
3691    * [GcsSource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.gcs_source].
3692    * * `bigquery`
3693    * Each instance is a single row in BigQuery. Uses
3694    * [BigQuerySource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.bigquery_source].
3695    * * `file-list`
3696    * Each line of the file is the location of an instance to process, uses
3697    * `gcs_source` field of the
3698    * [InputConfig][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig]
3699    * object.
3700    * If this Model doesn't support any of these formats it means it cannot be
3701    * used with a
3702    * [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob].
3703    * However, if it has
3704    * [supported_deployment_resources_types][google.cloud.aiplatform.v1.Model.supported_deployment_resources_types],
3705    * it could serve online predictions by using
3706    * [PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict]
3707    * or
3708    * [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain].
3709    * </pre>
3710    *
3711    * <code>
3712    * repeated string supported_input_storage_formats = 11 [(.google.api.field_behavior) = OUTPUT_ONLY];
3713    * </code>
3714    *
3715    * @param index The index of the element to return.
3716    * @return The supportedInputStorageFormats at the given index.
3717    */
getSupportedInputStorageFormats(int index)3718   public java.lang.String getSupportedInputStorageFormats(int index) {
3719     return supportedInputStorageFormats_.get(index);
3720   }
3721   /**
3722    *
3723    *
3724    * <pre>
3725    * Output only. The formats this Model supports in
3726    * [BatchPredictionJob.input_config][google.cloud.aiplatform.v1.BatchPredictionJob.input_config].
3727    * If
3728    * [PredictSchemata.instance_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.instance_schema_uri]
3729    * exists, the instances should be given as per that schema.
3730    * The possible formats are:
3731    * * `jsonl`
3732    * The JSON Lines format, where each instance is a single line. Uses
3733    * [GcsSource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.gcs_source].
3734    * * `csv`
3735    * The CSV format, where each instance is a single comma-separated line.
3736    * The first line in the file is the header, containing comma-separated field
3737    * names. Uses
3738    * [GcsSource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.gcs_source].
3739    * * `tf-record`
3740    * The TFRecord format, where each instance is a single record in tfrecord
3741    * syntax. Uses
3742    * [GcsSource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.gcs_source].
3743    * * `tf-record-gzip`
3744    * Similar to `tf-record`, but the file is gzipped. Uses
3745    * [GcsSource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.gcs_source].
3746    * * `bigquery`
3747    * Each instance is a single row in BigQuery. Uses
3748    * [BigQuerySource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.bigquery_source].
3749    * * `file-list`
3750    * Each line of the file is the location of an instance to process, uses
3751    * `gcs_source` field of the
3752    * [InputConfig][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig]
3753    * object.
3754    * If this Model doesn't support any of these formats it means it cannot be
3755    * used with a
3756    * [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob].
3757    * However, if it has
3758    * [supported_deployment_resources_types][google.cloud.aiplatform.v1.Model.supported_deployment_resources_types],
3759    * it could serve online predictions by using
3760    * [PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict]
3761    * or
3762    * [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain].
3763    * </pre>
3764    *
3765    * <code>
3766    * repeated string supported_input_storage_formats = 11 [(.google.api.field_behavior) = OUTPUT_ONLY];
3767    * </code>
3768    *
3769    * @param index The index of the value to return.
3770    * @return The bytes of the supportedInputStorageFormats at the given index.
3771    */
getSupportedInputStorageFormatsBytes(int index)3772   public com.google.protobuf.ByteString getSupportedInputStorageFormatsBytes(int index) {
3773     return supportedInputStorageFormats_.getByteString(index);
3774   }
3775 
3776   public static final int SUPPORTED_OUTPUT_STORAGE_FORMATS_FIELD_NUMBER = 12;
3777 
3778   @SuppressWarnings("serial")
3779   private com.google.protobuf.LazyStringList supportedOutputStorageFormats_;
3780   /**
3781    *
3782    *
3783    * <pre>
3784    * Output only. The formats this Model supports in
3785    * [BatchPredictionJob.output_config][google.cloud.aiplatform.v1.BatchPredictionJob.output_config].
3786    * If both
3787    * [PredictSchemata.instance_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.instance_schema_uri]
3788    * and
3789    * [PredictSchemata.prediction_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.prediction_schema_uri]
3790    * exist, the predictions are returned together with their instances. In other
3791    * words, the prediction has the original instance data first, followed by the
3792    * actual prediction content (as per the schema).
3793    * The possible formats are:
3794    * * `jsonl`
3795    * The JSON Lines format, where each prediction is a single line. Uses
3796    * [GcsDestination][google.cloud.aiplatform.v1.BatchPredictionJob.OutputConfig.gcs_destination].
3797    * * `csv`
3798    * The CSV format, where each prediction is a single comma-separated line.
3799    * The first line in the file is the header, containing comma-separated field
3800    * names. Uses
3801    * [GcsDestination][google.cloud.aiplatform.v1.BatchPredictionJob.OutputConfig.gcs_destination].
3802    * * `bigquery`
3803    * Each prediction is a single row in a BigQuery table, uses
3804    * [BigQueryDestination][google.cloud.aiplatform.v1.BatchPredictionJob.OutputConfig.bigquery_destination]
3805    * .
3806    * If this Model doesn't support any of these formats it means it cannot be
3807    * used with a
3808    * [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob].
3809    * However, if it has
3810    * [supported_deployment_resources_types][google.cloud.aiplatform.v1.Model.supported_deployment_resources_types],
3811    * it could serve online predictions by using
3812    * [PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict]
3813    * or
3814    * [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain].
3815    * </pre>
3816    *
3817    * <code>
3818    * repeated string supported_output_storage_formats = 12 [(.google.api.field_behavior) = OUTPUT_ONLY];
3819    * </code>
3820    *
3821    * @return A list containing the supportedOutputStorageFormats.
3822    */
getSupportedOutputStorageFormatsList()3823   public com.google.protobuf.ProtocolStringList getSupportedOutputStorageFormatsList() {
3824     return supportedOutputStorageFormats_;
3825   }
3826   /**
3827    *
3828    *
3829    * <pre>
3830    * Output only. The formats this Model supports in
3831    * [BatchPredictionJob.output_config][google.cloud.aiplatform.v1.BatchPredictionJob.output_config].
3832    * If both
3833    * [PredictSchemata.instance_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.instance_schema_uri]
3834    * and
3835    * [PredictSchemata.prediction_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.prediction_schema_uri]
3836    * exist, the predictions are returned together with their instances. In other
3837    * words, the prediction has the original instance data first, followed by the
3838    * actual prediction content (as per the schema).
3839    * The possible formats are:
3840    * * `jsonl`
3841    * The JSON Lines format, where each prediction is a single line. Uses
3842    * [GcsDestination][google.cloud.aiplatform.v1.BatchPredictionJob.OutputConfig.gcs_destination].
3843    * * `csv`
3844    * The CSV format, where each prediction is a single comma-separated line.
3845    * The first line in the file is the header, containing comma-separated field
3846    * names. Uses
3847    * [GcsDestination][google.cloud.aiplatform.v1.BatchPredictionJob.OutputConfig.gcs_destination].
3848    * * `bigquery`
3849    * Each prediction is a single row in a BigQuery table, uses
3850    * [BigQueryDestination][google.cloud.aiplatform.v1.BatchPredictionJob.OutputConfig.bigquery_destination]
3851    * .
3852    * If this Model doesn't support any of these formats it means it cannot be
3853    * used with a
3854    * [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob].
3855    * However, if it has
3856    * [supported_deployment_resources_types][google.cloud.aiplatform.v1.Model.supported_deployment_resources_types],
3857    * it could serve online predictions by using
3858    * [PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict]
3859    * or
3860    * [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain].
3861    * </pre>
3862    *
3863    * <code>
3864    * repeated string supported_output_storage_formats = 12 [(.google.api.field_behavior) = OUTPUT_ONLY];
3865    * </code>
3866    *
3867    * @return The count of supportedOutputStorageFormats.
3868    */
getSupportedOutputStorageFormatsCount()3869   public int getSupportedOutputStorageFormatsCount() {
3870     return supportedOutputStorageFormats_.size();
3871   }
3872   /**
3873    *
3874    *
3875    * <pre>
3876    * Output only. The formats this Model supports in
3877    * [BatchPredictionJob.output_config][google.cloud.aiplatform.v1.BatchPredictionJob.output_config].
3878    * If both
3879    * [PredictSchemata.instance_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.instance_schema_uri]
3880    * and
3881    * [PredictSchemata.prediction_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.prediction_schema_uri]
3882    * exist, the predictions are returned together with their instances. In other
3883    * words, the prediction has the original instance data first, followed by the
3884    * actual prediction content (as per the schema).
3885    * The possible formats are:
3886    * * `jsonl`
3887    * The JSON Lines format, where each prediction is a single line. Uses
3888    * [GcsDestination][google.cloud.aiplatform.v1.BatchPredictionJob.OutputConfig.gcs_destination].
3889    * * `csv`
3890    * The CSV format, where each prediction is a single comma-separated line.
3891    * The first line in the file is the header, containing comma-separated field
3892    * names. Uses
3893    * [GcsDestination][google.cloud.aiplatform.v1.BatchPredictionJob.OutputConfig.gcs_destination].
3894    * * `bigquery`
3895    * Each prediction is a single row in a BigQuery table, uses
3896    * [BigQueryDestination][google.cloud.aiplatform.v1.BatchPredictionJob.OutputConfig.bigquery_destination]
3897    * .
3898    * If this Model doesn't support any of these formats it means it cannot be
3899    * used with a
3900    * [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob].
3901    * However, if it has
3902    * [supported_deployment_resources_types][google.cloud.aiplatform.v1.Model.supported_deployment_resources_types],
3903    * it could serve online predictions by using
3904    * [PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict]
3905    * or
3906    * [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain].
3907    * </pre>
3908    *
3909    * <code>
3910    * repeated string supported_output_storage_formats = 12 [(.google.api.field_behavior) = OUTPUT_ONLY];
3911    * </code>
3912    *
3913    * @param index The index of the element to return.
3914    * @return The supportedOutputStorageFormats at the given index.
3915    */
getSupportedOutputStorageFormats(int index)3916   public java.lang.String getSupportedOutputStorageFormats(int index) {
3917     return supportedOutputStorageFormats_.get(index);
3918   }
3919   /**
3920    *
3921    *
3922    * <pre>
3923    * Output only. The formats this Model supports in
3924    * [BatchPredictionJob.output_config][google.cloud.aiplatform.v1.BatchPredictionJob.output_config].
3925    * If both
3926    * [PredictSchemata.instance_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.instance_schema_uri]
3927    * and
3928    * [PredictSchemata.prediction_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.prediction_schema_uri]
3929    * exist, the predictions are returned together with their instances. In other
3930    * words, the prediction has the original instance data first, followed by the
3931    * actual prediction content (as per the schema).
3932    * The possible formats are:
3933    * * `jsonl`
3934    * The JSON Lines format, where each prediction is a single line. Uses
3935    * [GcsDestination][google.cloud.aiplatform.v1.BatchPredictionJob.OutputConfig.gcs_destination].
3936    * * `csv`
3937    * The CSV format, where each prediction is a single comma-separated line.
3938    * The first line in the file is the header, containing comma-separated field
3939    * names. Uses
3940    * [GcsDestination][google.cloud.aiplatform.v1.BatchPredictionJob.OutputConfig.gcs_destination].
3941    * * `bigquery`
3942    * Each prediction is a single row in a BigQuery table, uses
3943    * [BigQueryDestination][google.cloud.aiplatform.v1.BatchPredictionJob.OutputConfig.bigquery_destination]
3944    * .
3945    * If this Model doesn't support any of these formats it means it cannot be
3946    * used with a
3947    * [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob].
3948    * However, if it has
3949    * [supported_deployment_resources_types][google.cloud.aiplatform.v1.Model.supported_deployment_resources_types],
3950    * it could serve online predictions by using
3951    * [PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict]
3952    * or
3953    * [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain].
3954    * </pre>
3955    *
3956    * <code>
3957    * repeated string supported_output_storage_formats = 12 [(.google.api.field_behavior) = OUTPUT_ONLY];
3958    * </code>
3959    *
3960    * @param index The index of the value to return.
3961    * @return The bytes of the supportedOutputStorageFormats at the given index.
3962    */
getSupportedOutputStorageFormatsBytes(int index)3963   public com.google.protobuf.ByteString getSupportedOutputStorageFormatsBytes(int index) {
3964     return supportedOutputStorageFormats_.getByteString(index);
3965   }
3966 
3967   public static final int CREATE_TIME_FIELD_NUMBER = 13;
3968   private com.google.protobuf.Timestamp createTime_;
3969   /**
3970    *
3971    *
3972    * <pre>
3973    * Output only. Timestamp when this Model was uploaded into Vertex AI.
3974    * </pre>
3975    *
3976    * <code>.google.protobuf.Timestamp create_time = 13 [(.google.api.field_behavior) = OUTPUT_ONLY];
3977    * </code>
3978    *
3979    * @return Whether the createTime field is set.
3980    */
3981   @java.lang.Override
hasCreateTime()3982   public boolean hasCreateTime() {
3983     return createTime_ != null;
3984   }
3985   /**
3986    *
3987    *
3988    * <pre>
3989    * Output only. Timestamp when this Model was uploaded into Vertex AI.
3990    * </pre>
3991    *
3992    * <code>.google.protobuf.Timestamp create_time = 13 [(.google.api.field_behavior) = OUTPUT_ONLY];
3993    * </code>
3994    *
3995    * @return The createTime.
3996    */
3997   @java.lang.Override
getCreateTime()3998   public com.google.protobuf.Timestamp getCreateTime() {
3999     return createTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : createTime_;
4000   }
4001   /**
4002    *
4003    *
4004    * <pre>
4005    * Output only. Timestamp when this Model was uploaded into Vertex AI.
4006    * </pre>
4007    *
4008    * <code>.google.protobuf.Timestamp create_time = 13 [(.google.api.field_behavior) = OUTPUT_ONLY];
4009    * </code>
4010    */
4011   @java.lang.Override
getCreateTimeOrBuilder()4012   public com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder() {
4013     return createTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : createTime_;
4014   }
4015 
4016   public static final int UPDATE_TIME_FIELD_NUMBER = 14;
4017   private com.google.protobuf.Timestamp updateTime_;
4018   /**
4019    *
4020    *
4021    * <pre>
4022    * Output only. Timestamp when this Model was most recently updated.
4023    * </pre>
4024    *
4025    * <code>.google.protobuf.Timestamp update_time = 14 [(.google.api.field_behavior) = OUTPUT_ONLY];
4026    * </code>
4027    *
4028    * @return Whether the updateTime field is set.
4029    */
4030   @java.lang.Override
hasUpdateTime()4031   public boolean hasUpdateTime() {
4032     return updateTime_ != null;
4033   }
4034   /**
4035    *
4036    *
4037    * <pre>
4038    * Output only. Timestamp when this Model was most recently updated.
4039    * </pre>
4040    *
4041    * <code>.google.protobuf.Timestamp update_time = 14 [(.google.api.field_behavior) = OUTPUT_ONLY];
4042    * </code>
4043    *
4044    * @return The updateTime.
4045    */
4046   @java.lang.Override
getUpdateTime()4047   public com.google.protobuf.Timestamp getUpdateTime() {
4048     return updateTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : updateTime_;
4049   }
4050   /**
4051    *
4052    *
4053    * <pre>
4054    * Output only. Timestamp when this Model was most recently updated.
4055    * </pre>
4056    *
4057    * <code>.google.protobuf.Timestamp update_time = 14 [(.google.api.field_behavior) = OUTPUT_ONLY];
4058    * </code>
4059    */
4060   @java.lang.Override
getUpdateTimeOrBuilder()4061   public com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder() {
4062     return updateTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : updateTime_;
4063   }
4064 
4065   public static final int DEPLOYED_MODELS_FIELD_NUMBER = 15;
4066 
4067   @SuppressWarnings("serial")
4068   private java.util.List<com.google.cloud.aiplatform.v1.DeployedModelRef> deployedModels_;
4069   /**
4070    *
4071    *
4072    * <pre>
4073    * Output only. The pointers to DeployedModels created from this Model. Note
4074    * that Model could have been deployed to Endpoints in different Locations.
4075    * </pre>
4076    *
4077    * <code>
4078    * repeated .google.cloud.aiplatform.v1.DeployedModelRef deployed_models = 15 [(.google.api.field_behavior) = OUTPUT_ONLY];
4079    * </code>
4080    */
4081   @java.lang.Override
getDeployedModelsList()4082   public java.util.List<com.google.cloud.aiplatform.v1.DeployedModelRef> getDeployedModelsList() {
4083     return deployedModels_;
4084   }
4085   /**
4086    *
4087    *
4088    * <pre>
4089    * Output only. The pointers to DeployedModels created from this Model. Note
4090    * that Model could have been deployed to Endpoints in different Locations.
4091    * </pre>
4092    *
4093    * <code>
4094    * repeated .google.cloud.aiplatform.v1.DeployedModelRef deployed_models = 15 [(.google.api.field_behavior) = OUTPUT_ONLY];
4095    * </code>
4096    */
4097   @java.lang.Override
4098   public java.util.List<? extends com.google.cloud.aiplatform.v1.DeployedModelRefOrBuilder>
getDeployedModelsOrBuilderList()4099       getDeployedModelsOrBuilderList() {
4100     return deployedModels_;
4101   }
4102   /**
4103    *
4104    *
4105    * <pre>
4106    * Output only. The pointers to DeployedModels created from this Model. Note
4107    * that Model could have been deployed to Endpoints in different Locations.
4108    * </pre>
4109    *
4110    * <code>
4111    * repeated .google.cloud.aiplatform.v1.DeployedModelRef deployed_models = 15 [(.google.api.field_behavior) = OUTPUT_ONLY];
4112    * </code>
4113    */
4114   @java.lang.Override
getDeployedModelsCount()4115   public int getDeployedModelsCount() {
4116     return deployedModels_.size();
4117   }
4118   /**
4119    *
4120    *
4121    * <pre>
4122    * Output only. The pointers to DeployedModels created from this Model. Note
4123    * that Model could have been deployed to Endpoints in different Locations.
4124    * </pre>
4125    *
4126    * <code>
4127    * repeated .google.cloud.aiplatform.v1.DeployedModelRef deployed_models = 15 [(.google.api.field_behavior) = OUTPUT_ONLY];
4128    * </code>
4129    */
4130   @java.lang.Override
getDeployedModels(int index)4131   public com.google.cloud.aiplatform.v1.DeployedModelRef getDeployedModels(int index) {
4132     return deployedModels_.get(index);
4133   }
4134   /**
4135    *
4136    *
4137    * <pre>
4138    * Output only. The pointers to DeployedModels created from this Model. Note
4139    * that Model could have been deployed to Endpoints in different Locations.
4140    * </pre>
4141    *
4142    * <code>
4143    * repeated .google.cloud.aiplatform.v1.DeployedModelRef deployed_models = 15 [(.google.api.field_behavior) = OUTPUT_ONLY];
4144    * </code>
4145    */
4146   @java.lang.Override
getDeployedModelsOrBuilder( int index)4147   public com.google.cloud.aiplatform.v1.DeployedModelRefOrBuilder getDeployedModelsOrBuilder(
4148       int index) {
4149     return deployedModels_.get(index);
4150   }
4151 
4152   public static final int EXPLANATION_SPEC_FIELD_NUMBER = 23;
4153   private com.google.cloud.aiplatform.v1.ExplanationSpec explanationSpec_;
4154   /**
4155    *
4156    *
4157    * <pre>
4158    * The default explanation specification for this Model.
4159    * The Model can be used for
4160    * [requesting
4161    * explanation][google.cloud.aiplatform.v1.PredictionService.Explain] after
4162    * being [deployed][google.cloud.aiplatform.v1.EndpointService.DeployModel] if
4163    * it is populated. The Model can be used for [batch
4164    * explanation][google.cloud.aiplatform.v1.BatchPredictionJob.generate_explanation]
4165    * if it is populated.
4166    * All fields of the explanation_spec can be overridden by
4167    * [explanation_spec][google.cloud.aiplatform.v1.DeployedModel.explanation_spec]
4168    * of
4169    * [DeployModelRequest.deployed_model][google.cloud.aiplatform.v1.DeployModelRequest.deployed_model],
4170    * or
4171    * [explanation_spec][google.cloud.aiplatform.v1.BatchPredictionJob.explanation_spec]
4172    * of [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob].
4173    * If the default explanation specification is not set for this Model, this
4174    * Model can still be used for
4175    * [requesting
4176    * explanation][google.cloud.aiplatform.v1.PredictionService.Explain] by
4177    * setting
4178    * [explanation_spec][google.cloud.aiplatform.v1.DeployedModel.explanation_spec]
4179    * of
4180    * [DeployModelRequest.deployed_model][google.cloud.aiplatform.v1.DeployModelRequest.deployed_model]
4181    * and for [batch
4182    * explanation][google.cloud.aiplatform.v1.BatchPredictionJob.generate_explanation]
4183    * by setting
4184    * [explanation_spec][google.cloud.aiplatform.v1.BatchPredictionJob.explanation_spec]
4185    * of [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob].
4186    * </pre>
4187    *
4188    * <code>.google.cloud.aiplatform.v1.ExplanationSpec explanation_spec = 23;</code>
4189    *
4190    * @return Whether the explanationSpec field is set.
4191    */
4192   @java.lang.Override
hasExplanationSpec()4193   public boolean hasExplanationSpec() {
4194     return explanationSpec_ != null;
4195   }
4196   /**
4197    *
4198    *
4199    * <pre>
4200    * The default explanation specification for this Model.
4201    * The Model can be used for
4202    * [requesting
4203    * explanation][google.cloud.aiplatform.v1.PredictionService.Explain] after
4204    * being [deployed][google.cloud.aiplatform.v1.EndpointService.DeployModel] if
4205    * it is populated. The Model can be used for [batch
4206    * explanation][google.cloud.aiplatform.v1.BatchPredictionJob.generate_explanation]
4207    * if it is populated.
4208    * All fields of the explanation_spec can be overridden by
4209    * [explanation_spec][google.cloud.aiplatform.v1.DeployedModel.explanation_spec]
4210    * of
4211    * [DeployModelRequest.deployed_model][google.cloud.aiplatform.v1.DeployModelRequest.deployed_model],
4212    * or
4213    * [explanation_spec][google.cloud.aiplatform.v1.BatchPredictionJob.explanation_spec]
4214    * of [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob].
4215    * If the default explanation specification is not set for this Model, this
4216    * Model can still be used for
4217    * [requesting
4218    * explanation][google.cloud.aiplatform.v1.PredictionService.Explain] by
4219    * setting
4220    * [explanation_spec][google.cloud.aiplatform.v1.DeployedModel.explanation_spec]
4221    * of
4222    * [DeployModelRequest.deployed_model][google.cloud.aiplatform.v1.DeployModelRequest.deployed_model]
4223    * and for [batch
4224    * explanation][google.cloud.aiplatform.v1.BatchPredictionJob.generate_explanation]
4225    * by setting
4226    * [explanation_spec][google.cloud.aiplatform.v1.BatchPredictionJob.explanation_spec]
4227    * of [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob].
4228    * </pre>
4229    *
4230    * <code>.google.cloud.aiplatform.v1.ExplanationSpec explanation_spec = 23;</code>
4231    *
4232    * @return The explanationSpec.
4233    */
4234   @java.lang.Override
getExplanationSpec()4235   public com.google.cloud.aiplatform.v1.ExplanationSpec getExplanationSpec() {
4236     return explanationSpec_ == null
4237         ? com.google.cloud.aiplatform.v1.ExplanationSpec.getDefaultInstance()
4238         : explanationSpec_;
4239   }
4240   /**
4241    *
4242    *
4243    * <pre>
4244    * The default explanation specification for this Model.
4245    * The Model can be used for
4246    * [requesting
4247    * explanation][google.cloud.aiplatform.v1.PredictionService.Explain] after
4248    * being [deployed][google.cloud.aiplatform.v1.EndpointService.DeployModel] if
4249    * it is populated. The Model can be used for [batch
4250    * explanation][google.cloud.aiplatform.v1.BatchPredictionJob.generate_explanation]
4251    * if it is populated.
4252    * All fields of the explanation_spec can be overridden by
4253    * [explanation_spec][google.cloud.aiplatform.v1.DeployedModel.explanation_spec]
4254    * of
4255    * [DeployModelRequest.deployed_model][google.cloud.aiplatform.v1.DeployModelRequest.deployed_model],
4256    * or
4257    * [explanation_spec][google.cloud.aiplatform.v1.BatchPredictionJob.explanation_spec]
4258    * of [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob].
4259    * If the default explanation specification is not set for this Model, this
4260    * Model can still be used for
4261    * [requesting
4262    * explanation][google.cloud.aiplatform.v1.PredictionService.Explain] by
4263    * setting
4264    * [explanation_spec][google.cloud.aiplatform.v1.DeployedModel.explanation_spec]
4265    * of
4266    * [DeployModelRequest.deployed_model][google.cloud.aiplatform.v1.DeployModelRequest.deployed_model]
4267    * and for [batch
4268    * explanation][google.cloud.aiplatform.v1.BatchPredictionJob.generate_explanation]
4269    * by setting
4270    * [explanation_spec][google.cloud.aiplatform.v1.BatchPredictionJob.explanation_spec]
4271    * of [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob].
4272    * </pre>
4273    *
4274    * <code>.google.cloud.aiplatform.v1.ExplanationSpec explanation_spec = 23;</code>
4275    */
4276   @java.lang.Override
getExplanationSpecOrBuilder()4277   public com.google.cloud.aiplatform.v1.ExplanationSpecOrBuilder getExplanationSpecOrBuilder() {
4278     return explanationSpec_ == null
4279         ? com.google.cloud.aiplatform.v1.ExplanationSpec.getDefaultInstance()
4280         : explanationSpec_;
4281   }
4282 
4283   public static final int ETAG_FIELD_NUMBER = 16;
4284 
4285   @SuppressWarnings("serial")
4286   private volatile java.lang.Object etag_ = "";
4287   /**
4288    *
4289    *
4290    * <pre>
4291    * Used to perform consistent read-modify-write updates. If not set, a blind
4292    * "overwrite" update happens.
4293    * </pre>
4294    *
4295    * <code>string etag = 16;</code>
4296    *
4297    * @return The etag.
4298    */
4299   @java.lang.Override
getEtag()4300   public java.lang.String getEtag() {
4301     java.lang.Object ref = etag_;
4302     if (ref instanceof java.lang.String) {
4303       return (java.lang.String) ref;
4304     } else {
4305       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
4306       java.lang.String s = bs.toStringUtf8();
4307       etag_ = s;
4308       return s;
4309     }
4310   }
4311   /**
4312    *
4313    *
4314    * <pre>
4315    * Used to perform consistent read-modify-write updates. If not set, a blind
4316    * "overwrite" update happens.
4317    * </pre>
4318    *
4319    * <code>string etag = 16;</code>
4320    *
4321    * @return The bytes for etag.
4322    */
4323   @java.lang.Override
getEtagBytes()4324   public com.google.protobuf.ByteString getEtagBytes() {
4325     java.lang.Object ref = etag_;
4326     if (ref instanceof java.lang.String) {
4327       com.google.protobuf.ByteString b =
4328           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
4329       etag_ = b;
4330       return b;
4331     } else {
4332       return (com.google.protobuf.ByteString) ref;
4333     }
4334   }
4335 
4336   public static final int LABELS_FIELD_NUMBER = 17;
4337 
4338   private static final class LabelsDefaultEntryHolder {
4339     static final com.google.protobuf.MapEntry<java.lang.String, java.lang.String> defaultEntry =
4340         com.google.protobuf.MapEntry.<java.lang.String, java.lang.String>newDefaultInstance(
4341             com.google.cloud.aiplatform.v1.ModelProto
4342                 .internal_static_google_cloud_aiplatform_v1_Model_LabelsEntry_descriptor,
4343             com.google.protobuf.WireFormat.FieldType.STRING,
4344             "",
4345             com.google.protobuf.WireFormat.FieldType.STRING,
4346             "");
4347   }
4348 
4349   @SuppressWarnings("serial")
4350   private com.google.protobuf.MapField<java.lang.String, java.lang.String> labels_;
4351 
internalGetLabels()4352   private com.google.protobuf.MapField<java.lang.String, java.lang.String> internalGetLabels() {
4353     if (labels_ == null) {
4354       return com.google.protobuf.MapField.emptyMapField(LabelsDefaultEntryHolder.defaultEntry);
4355     }
4356     return labels_;
4357   }
4358 
getLabelsCount()4359   public int getLabelsCount() {
4360     return internalGetLabels().getMap().size();
4361   }
4362   /**
4363    *
4364    *
4365    * <pre>
4366    * The labels with user-defined metadata to organize your Models.
4367    * Label keys and values can be no longer than 64 characters
4368    * (Unicode codepoints), can only contain lowercase letters, numeric
4369    * characters, underscores and dashes. International characters are allowed.
4370    * See https://goo.gl/xmQnxf for more information and examples of labels.
4371    * </pre>
4372    *
4373    * <code>map&lt;string, string&gt; labels = 17;</code>
4374    */
4375   @java.lang.Override
containsLabels(java.lang.String key)4376   public boolean containsLabels(java.lang.String key) {
4377     if (key == null) {
4378       throw new NullPointerException("map key");
4379     }
4380     return internalGetLabels().getMap().containsKey(key);
4381   }
4382   /** Use {@link #getLabelsMap()} instead. */
4383   @java.lang.Override
4384   @java.lang.Deprecated
getLabels()4385   public java.util.Map<java.lang.String, java.lang.String> getLabels() {
4386     return getLabelsMap();
4387   }
4388   /**
4389    *
4390    *
4391    * <pre>
4392    * The labels with user-defined metadata to organize your Models.
4393    * Label keys and values can be no longer than 64 characters
4394    * (Unicode codepoints), can only contain lowercase letters, numeric
4395    * characters, underscores and dashes. International characters are allowed.
4396    * See https://goo.gl/xmQnxf for more information and examples of labels.
4397    * </pre>
4398    *
4399    * <code>map&lt;string, string&gt; labels = 17;</code>
4400    */
4401   @java.lang.Override
getLabelsMap()4402   public java.util.Map<java.lang.String, java.lang.String> getLabelsMap() {
4403     return internalGetLabels().getMap();
4404   }
4405   /**
4406    *
4407    *
4408    * <pre>
4409    * The labels with user-defined metadata to organize your Models.
4410    * Label keys and values can be no longer than 64 characters
4411    * (Unicode codepoints), can only contain lowercase letters, numeric
4412    * characters, underscores and dashes. International characters are allowed.
4413    * See https://goo.gl/xmQnxf for more information and examples of labels.
4414    * </pre>
4415    *
4416    * <code>map&lt;string, string&gt; labels = 17;</code>
4417    */
4418   @java.lang.Override
getLabelsOrDefault( java.lang.String key, java.lang.String defaultValue)4419   public /* nullable */ java.lang.String getLabelsOrDefault(
4420       java.lang.String key,
4421       /* nullable */
4422       java.lang.String defaultValue) {
4423     if (key == null) {
4424       throw new NullPointerException("map key");
4425     }
4426     java.util.Map<java.lang.String, java.lang.String> map = internalGetLabels().getMap();
4427     return map.containsKey(key) ? map.get(key) : defaultValue;
4428   }
4429   /**
4430    *
4431    *
4432    * <pre>
4433    * The labels with user-defined metadata to organize your Models.
4434    * Label keys and values can be no longer than 64 characters
4435    * (Unicode codepoints), can only contain lowercase letters, numeric
4436    * characters, underscores and dashes. International characters are allowed.
4437    * See https://goo.gl/xmQnxf for more information and examples of labels.
4438    * </pre>
4439    *
4440    * <code>map&lt;string, string&gt; labels = 17;</code>
4441    */
4442   @java.lang.Override
getLabelsOrThrow(java.lang.String key)4443   public java.lang.String getLabelsOrThrow(java.lang.String key) {
4444     if (key == null) {
4445       throw new NullPointerException("map key");
4446     }
4447     java.util.Map<java.lang.String, java.lang.String> map = internalGetLabels().getMap();
4448     if (!map.containsKey(key)) {
4449       throw new java.lang.IllegalArgumentException();
4450     }
4451     return map.get(key);
4452   }
4453 
4454   public static final int ENCRYPTION_SPEC_FIELD_NUMBER = 24;
4455   private com.google.cloud.aiplatform.v1.EncryptionSpec encryptionSpec_;
4456   /**
4457    *
4458    *
4459    * <pre>
4460    * Customer-managed encryption key spec for a Model. If set, this
4461    * Model and all sub-resources of this Model will be secured by this key.
4462    * </pre>
4463    *
4464    * <code>.google.cloud.aiplatform.v1.EncryptionSpec encryption_spec = 24;</code>
4465    *
4466    * @return Whether the encryptionSpec field is set.
4467    */
4468   @java.lang.Override
hasEncryptionSpec()4469   public boolean hasEncryptionSpec() {
4470     return encryptionSpec_ != null;
4471   }
4472   /**
4473    *
4474    *
4475    * <pre>
4476    * Customer-managed encryption key spec for a Model. If set, this
4477    * Model and all sub-resources of this Model will be secured by this key.
4478    * </pre>
4479    *
4480    * <code>.google.cloud.aiplatform.v1.EncryptionSpec encryption_spec = 24;</code>
4481    *
4482    * @return The encryptionSpec.
4483    */
4484   @java.lang.Override
getEncryptionSpec()4485   public com.google.cloud.aiplatform.v1.EncryptionSpec getEncryptionSpec() {
4486     return encryptionSpec_ == null
4487         ? com.google.cloud.aiplatform.v1.EncryptionSpec.getDefaultInstance()
4488         : encryptionSpec_;
4489   }
4490   /**
4491    *
4492    *
4493    * <pre>
4494    * Customer-managed encryption key spec for a Model. If set, this
4495    * Model and all sub-resources of this Model will be secured by this key.
4496    * </pre>
4497    *
4498    * <code>.google.cloud.aiplatform.v1.EncryptionSpec encryption_spec = 24;</code>
4499    */
4500   @java.lang.Override
getEncryptionSpecOrBuilder()4501   public com.google.cloud.aiplatform.v1.EncryptionSpecOrBuilder getEncryptionSpecOrBuilder() {
4502     return encryptionSpec_ == null
4503         ? com.google.cloud.aiplatform.v1.EncryptionSpec.getDefaultInstance()
4504         : encryptionSpec_;
4505   }
4506 
4507   public static final int MODEL_SOURCE_INFO_FIELD_NUMBER = 38;
4508   private com.google.cloud.aiplatform.v1.ModelSourceInfo modelSourceInfo_;
4509   /**
4510    *
4511    *
4512    * <pre>
4513    * Output only. Source of a model. It can either be automl training pipeline,
4514    * custom training pipeline, BigQuery ML, or existing Vertex AI Model.
4515    * </pre>
4516    *
4517    * <code>
4518    * .google.cloud.aiplatform.v1.ModelSourceInfo model_source_info = 38 [(.google.api.field_behavior) = OUTPUT_ONLY];
4519    * </code>
4520    *
4521    * @return Whether the modelSourceInfo field is set.
4522    */
4523   @java.lang.Override
hasModelSourceInfo()4524   public boolean hasModelSourceInfo() {
4525     return modelSourceInfo_ != null;
4526   }
4527   /**
4528    *
4529    *
4530    * <pre>
4531    * Output only. Source of a model. It can either be automl training pipeline,
4532    * custom training pipeline, BigQuery ML, or existing Vertex AI Model.
4533    * </pre>
4534    *
4535    * <code>
4536    * .google.cloud.aiplatform.v1.ModelSourceInfo model_source_info = 38 [(.google.api.field_behavior) = OUTPUT_ONLY];
4537    * </code>
4538    *
4539    * @return The modelSourceInfo.
4540    */
4541   @java.lang.Override
getModelSourceInfo()4542   public com.google.cloud.aiplatform.v1.ModelSourceInfo getModelSourceInfo() {
4543     return modelSourceInfo_ == null
4544         ? com.google.cloud.aiplatform.v1.ModelSourceInfo.getDefaultInstance()
4545         : modelSourceInfo_;
4546   }
4547   /**
4548    *
4549    *
4550    * <pre>
4551    * Output only. Source of a model. It can either be automl training pipeline,
4552    * custom training pipeline, BigQuery ML, or existing Vertex AI Model.
4553    * </pre>
4554    *
4555    * <code>
4556    * .google.cloud.aiplatform.v1.ModelSourceInfo model_source_info = 38 [(.google.api.field_behavior) = OUTPUT_ONLY];
4557    * </code>
4558    */
4559   @java.lang.Override
getModelSourceInfoOrBuilder()4560   public com.google.cloud.aiplatform.v1.ModelSourceInfoOrBuilder getModelSourceInfoOrBuilder() {
4561     return modelSourceInfo_ == null
4562         ? com.google.cloud.aiplatform.v1.ModelSourceInfo.getDefaultInstance()
4563         : modelSourceInfo_;
4564   }
4565 
4566   public static final int ORIGINAL_MODEL_INFO_FIELD_NUMBER = 34;
4567   private com.google.cloud.aiplatform.v1.Model.OriginalModelInfo originalModelInfo_;
4568   /**
4569    *
4570    *
4571    * <pre>
4572    * Output only. If this Model is a copy of another Model, this contains info
4573    * about the original.
4574    * </pre>
4575    *
4576    * <code>
4577    * .google.cloud.aiplatform.v1.Model.OriginalModelInfo original_model_info = 34 [(.google.api.field_behavior) = OUTPUT_ONLY];
4578    * </code>
4579    *
4580    * @return Whether the originalModelInfo field is set.
4581    */
4582   @java.lang.Override
hasOriginalModelInfo()4583   public boolean hasOriginalModelInfo() {
4584     return originalModelInfo_ != null;
4585   }
4586   /**
4587    *
4588    *
4589    * <pre>
4590    * Output only. If this Model is a copy of another Model, this contains info
4591    * about the original.
4592    * </pre>
4593    *
4594    * <code>
4595    * .google.cloud.aiplatform.v1.Model.OriginalModelInfo original_model_info = 34 [(.google.api.field_behavior) = OUTPUT_ONLY];
4596    * </code>
4597    *
4598    * @return The originalModelInfo.
4599    */
4600   @java.lang.Override
getOriginalModelInfo()4601   public com.google.cloud.aiplatform.v1.Model.OriginalModelInfo getOriginalModelInfo() {
4602     return originalModelInfo_ == null
4603         ? com.google.cloud.aiplatform.v1.Model.OriginalModelInfo.getDefaultInstance()
4604         : originalModelInfo_;
4605   }
4606   /**
4607    *
4608    *
4609    * <pre>
4610    * Output only. If this Model is a copy of another Model, this contains info
4611    * about the original.
4612    * </pre>
4613    *
4614    * <code>
4615    * .google.cloud.aiplatform.v1.Model.OriginalModelInfo original_model_info = 34 [(.google.api.field_behavior) = OUTPUT_ONLY];
4616    * </code>
4617    */
4618   @java.lang.Override
4619   public com.google.cloud.aiplatform.v1.Model.OriginalModelInfoOrBuilder
getOriginalModelInfoOrBuilder()4620       getOriginalModelInfoOrBuilder() {
4621     return originalModelInfo_ == null
4622         ? com.google.cloud.aiplatform.v1.Model.OriginalModelInfo.getDefaultInstance()
4623         : originalModelInfo_;
4624   }
4625 
4626   public static final int METADATA_ARTIFACT_FIELD_NUMBER = 44;
4627 
4628   @SuppressWarnings("serial")
4629   private volatile java.lang.Object metadataArtifact_ = "";
4630   /**
4631    *
4632    *
4633    * <pre>
4634    * Output only. The resource name of the Artifact that was created in
4635    * MetadataStore when creating the Model. The Artifact resource name pattern
4636    * is
4637    * `projects/{project}/locations/{location}/metadataStores/{metadata_store}/artifacts/{artifact}`.
4638    * </pre>
4639    *
4640    * <code>string metadata_artifact = 44 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
4641    *
4642    * @return The metadataArtifact.
4643    */
4644   @java.lang.Override
getMetadataArtifact()4645   public java.lang.String getMetadataArtifact() {
4646     java.lang.Object ref = metadataArtifact_;
4647     if (ref instanceof java.lang.String) {
4648       return (java.lang.String) ref;
4649     } else {
4650       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
4651       java.lang.String s = bs.toStringUtf8();
4652       metadataArtifact_ = s;
4653       return s;
4654     }
4655   }
4656   /**
4657    *
4658    *
4659    * <pre>
4660    * Output only. The resource name of the Artifact that was created in
4661    * MetadataStore when creating the Model. The Artifact resource name pattern
4662    * is
4663    * `projects/{project}/locations/{location}/metadataStores/{metadata_store}/artifacts/{artifact}`.
4664    * </pre>
4665    *
4666    * <code>string metadata_artifact = 44 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
4667    *
4668    * @return The bytes for metadataArtifact.
4669    */
4670   @java.lang.Override
getMetadataArtifactBytes()4671   public com.google.protobuf.ByteString getMetadataArtifactBytes() {
4672     java.lang.Object ref = metadataArtifact_;
4673     if (ref instanceof java.lang.String) {
4674       com.google.protobuf.ByteString b =
4675           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
4676       metadataArtifact_ = b;
4677       return b;
4678     } else {
4679       return (com.google.protobuf.ByteString) ref;
4680     }
4681   }
4682 
4683   private byte memoizedIsInitialized = -1;
4684 
4685   @java.lang.Override
isInitialized()4686   public final boolean isInitialized() {
4687     byte isInitialized = memoizedIsInitialized;
4688     if (isInitialized == 1) return true;
4689     if (isInitialized == 0) return false;
4690 
4691     memoizedIsInitialized = 1;
4692     return true;
4693   }
4694 
4695   @java.lang.Override
writeTo(com.google.protobuf.CodedOutputStream output)4696   public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
4697     getSerializedSize();
4698     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
4699       com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_);
4700     }
4701     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(displayName_)) {
4702       com.google.protobuf.GeneratedMessageV3.writeString(output, 2, displayName_);
4703     }
4704     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(description_)) {
4705       com.google.protobuf.GeneratedMessageV3.writeString(output, 3, description_);
4706     }
4707     if (predictSchemata_ != null) {
4708       output.writeMessage(4, getPredictSchemata());
4709     }
4710     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(metadataSchemaUri_)) {
4711       com.google.protobuf.GeneratedMessageV3.writeString(output, 5, metadataSchemaUri_);
4712     }
4713     if (metadata_ != null) {
4714       output.writeMessage(6, getMetadata());
4715     }
4716     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(trainingPipeline_)) {
4717       com.google.protobuf.GeneratedMessageV3.writeString(output, 7, trainingPipeline_);
4718     }
4719     if (containerSpec_ != null) {
4720       output.writeMessage(9, getContainerSpec());
4721     }
4722     if (getSupportedDeploymentResourcesTypesList().size() > 0) {
4723       output.writeUInt32NoTag(82);
4724       output.writeUInt32NoTag(supportedDeploymentResourcesTypesMemoizedSerializedSize);
4725     }
4726     for (int i = 0; i < supportedDeploymentResourcesTypes_.size(); i++) {
4727       output.writeEnumNoTag(supportedDeploymentResourcesTypes_.get(i));
4728     }
4729     for (int i = 0; i < supportedInputStorageFormats_.size(); i++) {
4730       com.google.protobuf.GeneratedMessageV3.writeString(
4731           output, 11, supportedInputStorageFormats_.getRaw(i));
4732     }
4733     for (int i = 0; i < supportedOutputStorageFormats_.size(); i++) {
4734       com.google.protobuf.GeneratedMessageV3.writeString(
4735           output, 12, supportedOutputStorageFormats_.getRaw(i));
4736     }
4737     if (createTime_ != null) {
4738       output.writeMessage(13, getCreateTime());
4739     }
4740     if (updateTime_ != null) {
4741       output.writeMessage(14, getUpdateTime());
4742     }
4743     for (int i = 0; i < deployedModels_.size(); i++) {
4744       output.writeMessage(15, deployedModels_.get(i));
4745     }
4746     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(etag_)) {
4747       com.google.protobuf.GeneratedMessageV3.writeString(output, 16, etag_);
4748     }
4749     com.google.protobuf.GeneratedMessageV3.serializeStringMapTo(
4750         output, internalGetLabels(), LabelsDefaultEntryHolder.defaultEntry, 17);
4751     for (int i = 0; i < supportedExportFormats_.size(); i++) {
4752       output.writeMessage(20, supportedExportFormats_.get(i));
4753     }
4754     if (explanationSpec_ != null) {
4755       output.writeMessage(23, getExplanationSpec());
4756     }
4757     if (encryptionSpec_ != null) {
4758       output.writeMessage(24, getEncryptionSpec());
4759     }
4760     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(artifactUri_)) {
4761       com.google.protobuf.GeneratedMessageV3.writeString(output, 26, artifactUri_);
4762     }
4763     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(versionId_)) {
4764       com.google.protobuf.GeneratedMessageV3.writeString(output, 28, versionId_);
4765     }
4766     for (int i = 0; i < versionAliases_.size(); i++) {
4767       com.google.protobuf.GeneratedMessageV3.writeString(output, 29, versionAliases_.getRaw(i));
4768     }
4769     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(versionDescription_)) {
4770       com.google.protobuf.GeneratedMessageV3.writeString(output, 30, versionDescription_);
4771     }
4772     if (versionCreateTime_ != null) {
4773       output.writeMessage(31, getVersionCreateTime());
4774     }
4775     if (versionUpdateTime_ != null) {
4776       output.writeMessage(32, getVersionUpdateTime());
4777     }
4778     if (originalModelInfo_ != null) {
4779       output.writeMessage(34, getOriginalModelInfo());
4780     }
4781     if (modelSourceInfo_ != null) {
4782       output.writeMessage(38, getModelSourceInfo());
4783     }
4784     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(metadataArtifact_)) {
4785       com.google.protobuf.GeneratedMessageV3.writeString(output, 44, metadataArtifact_);
4786     }
4787     getUnknownFields().writeTo(output);
4788   }
4789 
4790   @java.lang.Override
getSerializedSize()4791   public int getSerializedSize() {
4792     int size = memoizedSize;
4793     if (size != -1) return size;
4794 
4795     size = 0;
4796     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
4797       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_);
4798     }
4799     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(displayName_)) {
4800       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, displayName_);
4801     }
4802     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(description_)) {
4803       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, description_);
4804     }
4805     if (predictSchemata_ != null) {
4806       size += com.google.protobuf.CodedOutputStream.computeMessageSize(4, getPredictSchemata());
4807     }
4808     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(metadataSchemaUri_)) {
4809       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, metadataSchemaUri_);
4810     }
4811     if (metadata_ != null) {
4812       size += com.google.protobuf.CodedOutputStream.computeMessageSize(6, getMetadata());
4813     }
4814     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(trainingPipeline_)) {
4815       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(7, trainingPipeline_);
4816     }
4817     if (containerSpec_ != null) {
4818       size += com.google.protobuf.CodedOutputStream.computeMessageSize(9, getContainerSpec());
4819     }
4820     {
4821       int dataSize = 0;
4822       for (int i = 0; i < supportedDeploymentResourcesTypes_.size(); i++) {
4823         dataSize +=
4824             com.google.protobuf.CodedOutputStream.computeEnumSizeNoTag(
4825                 supportedDeploymentResourcesTypes_.get(i));
4826       }
4827       size += dataSize;
4828       if (!getSupportedDeploymentResourcesTypesList().isEmpty()) {
4829         size += 1;
4830         size += com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(dataSize);
4831       }
4832       supportedDeploymentResourcesTypesMemoizedSerializedSize = dataSize;
4833     }
4834     {
4835       int dataSize = 0;
4836       for (int i = 0; i < supportedInputStorageFormats_.size(); i++) {
4837         dataSize += computeStringSizeNoTag(supportedInputStorageFormats_.getRaw(i));
4838       }
4839       size += dataSize;
4840       size += 1 * getSupportedInputStorageFormatsList().size();
4841     }
4842     {
4843       int dataSize = 0;
4844       for (int i = 0; i < supportedOutputStorageFormats_.size(); i++) {
4845         dataSize += computeStringSizeNoTag(supportedOutputStorageFormats_.getRaw(i));
4846       }
4847       size += dataSize;
4848       size += 1 * getSupportedOutputStorageFormatsList().size();
4849     }
4850     if (createTime_ != null) {
4851       size += com.google.protobuf.CodedOutputStream.computeMessageSize(13, getCreateTime());
4852     }
4853     if (updateTime_ != null) {
4854       size += com.google.protobuf.CodedOutputStream.computeMessageSize(14, getUpdateTime());
4855     }
4856     for (int i = 0; i < deployedModels_.size(); i++) {
4857       size += com.google.protobuf.CodedOutputStream.computeMessageSize(15, deployedModels_.get(i));
4858     }
4859     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(etag_)) {
4860       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(16, etag_);
4861     }
4862     for (java.util.Map.Entry<java.lang.String, java.lang.String> entry :
4863         internalGetLabels().getMap().entrySet()) {
4864       com.google.protobuf.MapEntry<java.lang.String, java.lang.String> labels__ =
4865           LabelsDefaultEntryHolder.defaultEntry
4866               .newBuilderForType()
4867               .setKey(entry.getKey())
4868               .setValue(entry.getValue())
4869               .build();
4870       size += com.google.protobuf.CodedOutputStream.computeMessageSize(17, labels__);
4871     }
4872     for (int i = 0; i < supportedExportFormats_.size(); i++) {
4873       size +=
4874           com.google.protobuf.CodedOutputStream.computeMessageSize(
4875               20, supportedExportFormats_.get(i));
4876     }
4877     if (explanationSpec_ != null) {
4878       size += com.google.protobuf.CodedOutputStream.computeMessageSize(23, getExplanationSpec());
4879     }
4880     if (encryptionSpec_ != null) {
4881       size += com.google.protobuf.CodedOutputStream.computeMessageSize(24, getEncryptionSpec());
4882     }
4883     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(artifactUri_)) {
4884       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(26, artifactUri_);
4885     }
4886     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(versionId_)) {
4887       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(28, versionId_);
4888     }
4889     {
4890       int dataSize = 0;
4891       for (int i = 0; i < versionAliases_.size(); i++) {
4892         dataSize += computeStringSizeNoTag(versionAliases_.getRaw(i));
4893       }
4894       size += dataSize;
4895       size += 2 * getVersionAliasesList().size();
4896     }
4897     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(versionDescription_)) {
4898       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(30, versionDescription_);
4899     }
4900     if (versionCreateTime_ != null) {
4901       size += com.google.protobuf.CodedOutputStream.computeMessageSize(31, getVersionCreateTime());
4902     }
4903     if (versionUpdateTime_ != null) {
4904       size += com.google.protobuf.CodedOutputStream.computeMessageSize(32, getVersionUpdateTime());
4905     }
4906     if (originalModelInfo_ != null) {
4907       size += com.google.protobuf.CodedOutputStream.computeMessageSize(34, getOriginalModelInfo());
4908     }
4909     if (modelSourceInfo_ != null) {
4910       size += com.google.protobuf.CodedOutputStream.computeMessageSize(38, getModelSourceInfo());
4911     }
4912     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(metadataArtifact_)) {
4913       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(44, metadataArtifact_);
4914     }
4915     size += getUnknownFields().getSerializedSize();
4916     memoizedSize = size;
4917     return size;
4918   }
4919 
4920   @java.lang.Override
equals(final java.lang.Object obj)4921   public boolean equals(final java.lang.Object obj) {
4922     if (obj == this) {
4923       return true;
4924     }
4925     if (!(obj instanceof com.google.cloud.aiplatform.v1.Model)) {
4926       return super.equals(obj);
4927     }
4928     com.google.cloud.aiplatform.v1.Model other = (com.google.cloud.aiplatform.v1.Model) obj;
4929 
4930     if (!getName().equals(other.getName())) return false;
4931     if (!getVersionId().equals(other.getVersionId())) return false;
4932     if (!getVersionAliasesList().equals(other.getVersionAliasesList())) return false;
4933     if (hasVersionCreateTime() != other.hasVersionCreateTime()) return false;
4934     if (hasVersionCreateTime()) {
4935       if (!getVersionCreateTime().equals(other.getVersionCreateTime())) return false;
4936     }
4937     if (hasVersionUpdateTime() != other.hasVersionUpdateTime()) return false;
4938     if (hasVersionUpdateTime()) {
4939       if (!getVersionUpdateTime().equals(other.getVersionUpdateTime())) return false;
4940     }
4941     if (!getDisplayName().equals(other.getDisplayName())) return false;
4942     if (!getDescription().equals(other.getDescription())) return false;
4943     if (!getVersionDescription().equals(other.getVersionDescription())) return false;
4944     if (hasPredictSchemata() != other.hasPredictSchemata()) return false;
4945     if (hasPredictSchemata()) {
4946       if (!getPredictSchemata().equals(other.getPredictSchemata())) return false;
4947     }
4948     if (!getMetadataSchemaUri().equals(other.getMetadataSchemaUri())) return false;
4949     if (hasMetadata() != other.hasMetadata()) return false;
4950     if (hasMetadata()) {
4951       if (!getMetadata().equals(other.getMetadata())) return false;
4952     }
4953     if (!getSupportedExportFormatsList().equals(other.getSupportedExportFormatsList()))
4954       return false;
4955     if (!getTrainingPipeline().equals(other.getTrainingPipeline())) return false;
4956     if (hasContainerSpec() != other.hasContainerSpec()) return false;
4957     if (hasContainerSpec()) {
4958       if (!getContainerSpec().equals(other.getContainerSpec())) return false;
4959     }
4960     if (!getArtifactUri().equals(other.getArtifactUri())) return false;
4961     if (!supportedDeploymentResourcesTypes_.equals(other.supportedDeploymentResourcesTypes_))
4962       return false;
4963     if (!getSupportedInputStorageFormatsList().equals(other.getSupportedInputStorageFormatsList()))
4964       return false;
4965     if (!getSupportedOutputStorageFormatsList()
4966         .equals(other.getSupportedOutputStorageFormatsList())) return false;
4967     if (hasCreateTime() != other.hasCreateTime()) return false;
4968     if (hasCreateTime()) {
4969       if (!getCreateTime().equals(other.getCreateTime())) return false;
4970     }
4971     if (hasUpdateTime() != other.hasUpdateTime()) return false;
4972     if (hasUpdateTime()) {
4973       if (!getUpdateTime().equals(other.getUpdateTime())) return false;
4974     }
4975     if (!getDeployedModelsList().equals(other.getDeployedModelsList())) return false;
4976     if (hasExplanationSpec() != other.hasExplanationSpec()) return false;
4977     if (hasExplanationSpec()) {
4978       if (!getExplanationSpec().equals(other.getExplanationSpec())) return false;
4979     }
4980     if (!getEtag().equals(other.getEtag())) return false;
4981     if (!internalGetLabels().equals(other.internalGetLabels())) return false;
4982     if (hasEncryptionSpec() != other.hasEncryptionSpec()) return false;
4983     if (hasEncryptionSpec()) {
4984       if (!getEncryptionSpec().equals(other.getEncryptionSpec())) return false;
4985     }
4986     if (hasModelSourceInfo() != other.hasModelSourceInfo()) return false;
4987     if (hasModelSourceInfo()) {
4988       if (!getModelSourceInfo().equals(other.getModelSourceInfo())) return false;
4989     }
4990     if (hasOriginalModelInfo() != other.hasOriginalModelInfo()) return false;
4991     if (hasOriginalModelInfo()) {
4992       if (!getOriginalModelInfo().equals(other.getOriginalModelInfo())) return false;
4993     }
4994     if (!getMetadataArtifact().equals(other.getMetadataArtifact())) return false;
4995     if (!getUnknownFields().equals(other.getUnknownFields())) return false;
4996     return true;
4997   }
4998 
4999   @java.lang.Override
hashCode()5000   public int hashCode() {
5001     if (memoizedHashCode != 0) {
5002       return memoizedHashCode;
5003     }
5004     int hash = 41;
5005     hash = (19 * hash) + getDescriptor().hashCode();
5006     hash = (37 * hash) + NAME_FIELD_NUMBER;
5007     hash = (53 * hash) + getName().hashCode();
5008     hash = (37 * hash) + VERSION_ID_FIELD_NUMBER;
5009     hash = (53 * hash) + getVersionId().hashCode();
5010     if (getVersionAliasesCount() > 0) {
5011       hash = (37 * hash) + VERSION_ALIASES_FIELD_NUMBER;
5012       hash = (53 * hash) + getVersionAliasesList().hashCode();
5013     }
5014     if (hasVersionCreateTime()) {
5015       hash = (37 * hash) + VERSION_CREATE_TIME_FIELD_NUMBER;
5016       hash = (53 * hash) + getVersionCreateTime().hashCode();
5017     }
5018     if (hasVersionUpdateTime()) {
5019       hash = (37 * hash) + VERSION_UPDATE_TIME_FIELD_NUMBER;
5020       hash = (53 * hash) + getVersionUpdateTime().hashCode();
5021     }
5022     hash = (37 * hash) + DISPLAY_NAME_FIELD_NUMBER;
5023     hash = (53 * hash) + getDisplayName().hashCode();
5024     hash = (37 * hash) + DESCRIPTION_FIELD_NUMBER;
5025     hash = (53 * hash) + getDescription().hashCode();
5026     hash = (37 * hash) + VERSION_DESCRIPTION_FIELD_NUMBER;
5027     hash = (53 * hash) + getVersionDescription().hashCode();
5028     if (hasPredictSchemata()) {
5029       hash = (37 * hash) + PREDICT_SCHEMATA_FIELD_NUMBER;
5030       hash = (53 * hash) + getPredictSchemata().hashCode();
5031     }
5032     hash = (37 * hash) + METADATA_SCHEMA_URI_FIELD_NUMBER;
5033     hash = (53 * hash) + getMetadataSchemaUri().hashCode();
5034     if (hasMetadata()) {
5035       hash = (37 * hash) + METADATA_FIELD_NUMBER;
5036       hash = (53 * hash) + getMetadata().hashCode();
5037     }
5038     if (getSupportedExportFormatsCount() > 0) {
5039       hash = (37 * hash) + SUPPORTED_EXPORT_FORMATS_FIELD_NUMBER;
5040       hash = (53 * hash) + getSupportedExportFormatsList().hashCode();
5041     }
5042     hash = (37 * hash) + TRAINING_PIPELINE_FIELD_NUMBER;
5043     hash = (53 * hash) + getTrainingPipeline().hashCode();
5044     if (hasContainerSpec()) {
5045       hash = (37 * hash) + CONTAINER_SPEC_FIELD_NUMBER;
5046       hash = (53 * hash) + getContainerSpec().hashCode();
5047     }
5048     hash = (37 * hash) + ARTIFACT_URI_FIELD_NUMBER;
5049     hash = (53 * hash) + getArtifactUri().hashCode();
5050     if (getSupportedDeploymentResourcesTypesCount() > 0) {
5051       hash = (37 * hash) + SUPPORTED_DEPLOYMENT_RESOURCES_TYPES_FIELD_NUMBER;
5052       hash = (53 * hash) + supportedDeploymentResourcesTypes_.hashCode();
5053     }
5054     if (getSupportedInputStorageFormatsCount() > 0) {
5055       hash = (37 * hash) + SUPPORTED_INPUT_STORAGE_FORMATS_FIELD_NUMBER;
5056       hash = (53 * hash) + getSupportedInputStorageFormatsList().hashCode();
5057     }
5058     if (getSupportedOutputStorageFormatsCount() > 0) {
5059       hash = (37 * hash) + SUPPORTED_OUTPUT_STORAGE_FORMATS_FIELD_NUMBER;
5060       hash = (53 * hash) + getSupportedOutputStorageFormatsList().hashCode();
5061     }
5062     if (hasCreateTime()) {
5063       hash = (37 * hash) + CREATE_TIME_FIELD_NUMBER;
5064       hash = (53 * hash) + getCreateTime().hashCode();
5065     }
5066     if (hasUpdateTime()) {
5067       hash = (37 * hash) + UPDATE_TIME_FIELD_NUMBER;
5068       hash = (53 * hash) + getUpdateTime().hashCode();
5069     }
5070     if (getDeployedModelsCount() > 0) {
5071       hash = (37 * hash) + DEPLOYED_MODELS_FIELD_NUMBER;
5072       hash = (53 * hash) + getDeployedModelsList().hashCode();
5073     }
5074     if (hasExplanationSpec()) {
5075       hash = (37 * hash) + EXPLANATION_SPEC_FIELD_NUMBER;
5076       hash = (53 * hash) + getExplanationSpec().hashCode();
5077     }
5078     hash = (37 * hash) + ETAG_FIELD_NUMBER;
5079     hash = (53 * hash) + getEtag().hashCode();
5080     if (!internalGetLabels().getMap().isEmpty()) {
5081       hash = (37 * hash) + LABELS_FIELD_NUMBER;
5082       hash = (53 * hash) + internalGetLabels().hashCode();
5083     }
5084     if (hasEncryptionSpec()) {
5085       hash = (37 * hash) + ENCRYPTION_SPEC_FIELD_NUMBER;
5086       hash = (53 * hash) + getEncryptionSpec().hashCode();
5087     }
5088     if (hasModelSourceInfo()) {
5089       hash = (37 * hash) + MODEL_SOURCE_INFO_FIELD_NUMBER;
5090       hash = (53 * hash) + getModelSourceInfo().hashCode();
5091     }
5092     if (hasOriginalModelInfo()) {
5093       hash = (37 * hash) + ORIGINAL_MODEL_INFO_FIELD_NUMBER;
5094       hash = (53 * hash) + getOriginalModelInfo().hashCode();
5095     }
5096     hash = (37 * hash) + METADATA_ARTIFACT_FIELD_NUMBER;
5097     hash = (53 * hash) + getMetadataArtifact().hashCode();
5098     hash = (29 * hash) + getUnknownFields().hashCode();
5099     memoizedHashCode = hash;
5100     return hash;
5101   }
5102 
parseFrom(java.nio.ByteBuffer data)5103   public static com.google.cloud.aiplatform.v1.Model parseFrom(java.nio.ByteBuffer data)
5104       throws com.google.protobuf.InvalidProtocolBufferException {
5105     return PARSER.parseFrom(data);
5106   }
5107 
parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)5108   public static com.google.cloud.aiplatform.v1.Model parseFrom(
5109       java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5110       throws com.google.protobuf.InvalidProtocolBufferException {
5111     return PARSER.parseFrom(data, extensionRegistry);
5112   }
5113 
parseFrom(com.google.protobuf.ByteString data)5114   public static com.google.cloud.aiplatform.v1.Model parseFrom(com.google.protobuf.ByteString data)
5115       throws com.google.protobuf.InvalidProtocolBufferException {
5116     return PARSER.parseFrom(data);
5117   }
5118 
parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)5119   public static com.google.cloud.aiplatform.v1.Model parseFrom(
5120       com.google.protobuf.ByteString data,
5121       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5122       throws com.google.protobuf.InvalidProtocolBufferException {
5123     return PARSER.parseFrom(data, extensionRegistry);
5124   }
5125 
parseFrom(byte[] data)5126   public static com.google.cloud.aiplatform.v1.Model parseFrom(byte[] data)
5127       throws com.google.protobuf.InvalidProtocolBufferException {
5128     return PARSER.parseFrom(data);
5129   }
5130 
parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)5131   public static com.google.cloud.aiplatform.v1.Model parseFrom(
5132       byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5133       throws com.google.protobuf.InvalidProtocolBufferException {
5134     return PARSER.parseFrom(data, extensionRegistry);
5135   }
5136 
parseFrom(java.io.InputStream input)5137   public static com.google.cloud.aiplatform.v1.Model parseFrom(java.io.InputStream input)
5138       throws java.io.IOException {
5139     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
5140   }
5141 
parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)5142   public static com.google.cloud.aiplatform.v1.Model parseFrom(
5143       java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5144       throws java.io.IOException {
5145     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
5146         PARSER, input, extensionRegistry);
5147   }
5148 
parseDelimitedFrom(java.io.InputStream input)5149   public static com.google.cloud.aiplatform.v1.Model parseDelimitedFrom(java.io.InputStream input)
5150       throws java.io.IOException {
5151     return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
5152   }
5153 
parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)5154   public static com.google.cloud.aiplatform.v1.Model parseDelimitedFrom(
5155       java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5156       throws java.io.IOException {
5157     return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
5158         PARSER, input, extensionRegistry);
5159   }
5160 
parseFrom( com.google.protobuf.CodedInputStream input)5161   public static com.google.cloud.aiplatform.v1.Model parseFrom(
5162       com.google.protobuf.CodedInputStream input) throws java.io.IOException {
5163     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
5164   }
5165 
parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)5166   public static com.google.cloud.aiplatform.v1.Model parseFrom(
5167       com.google.protobuf.CodedInputStream input,
5168       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5169       throws java.io.IOException {
5170     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
5171         PARSER, input, extensionRegistry);
5172   }
5173 
5174   @java.lang.Override
newBuilderForType()5175   public Builder newBuilderForType() {
5176     return newBuilder();
5177   }
5178 
newBuilder()5179   public static Builder newBuilder() {
5180     return DEFAULT_INSTANCE.toBuilder();
5181   }
5182 
newBuilder(com.google.cloud.aiplatform.v1.Model prototype)5183   public static Builder newBuilder(com.google.cloud.aiplatform.v1.Model prototype) {
5184     return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
5185   }
5186 
5187   @java.lang.Override
toBuilder()5188   public Builder toBuilder() {
5189     return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
5190   }
5191 
5192   @java.lang.Override
newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)5193   protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
5194     Builder builder = new Builder(parent);
5195     return builder;
5196   }
5197   /**
5198    *
5199    *
5200    * <pre>
5201    * A trained machine learning Model.
5202    * </pre>
5203    *
5204    * Protobuf type {@code google.cloud.aiplatform.v1.Model}
5205    */
5206   public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
5207       implements
5208       // @@protoc_insertion_point(builder_implements:google.cloud.aiplatform.v1.Model)
5209       com.google.cloud.aiplatform.v1.ModelOrBuilder {
getDescriptor()5210     public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
5211       return com.google.cloud.aiplatform.v1.ModelProto
5212           .internal_static_google_cloud_aiplatform_v1_Model_descriptor;
5213     }
5214 
5215     @SuppressWarnings({"rawtypes"})
internalGetMapField(int number)5216     protected com.google.protobuf.MapField internalGetMapField(int number) {
5217       switch (number) {
5218         case 17:
5219           return internalGetLabels();
5220         default:
5221           throw new RuntimeException("Invalid map field number: " + number);
5222       }
5223     }
5224 
5225     @SuppressWarnings({"rawtypes"})
internalGetMutableMapField(int number)5226     protected com.google.protobuf.MapField internalGetMutableMapField(int number) {
5227       switch (number) {
5228         case 17:
5229           return internalGetMutableLabels();
5230         default:
5231           throw new RuntimeException("Invalid map field number: " + number);
5232       }
5233     }
5234 
5235     @java.lang.Override
5236     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()5237         internalGetFieldAccessorTable() {
5238       return com.google.cloud.aiplatform.v1.ModelProto
5239           .internal_static_google_cloud_aiplatform_v1_Model_fieldAccessorTable
5240           .ensureFieldAccessorsInitialized(
5241               com.google.cloud.aiplatform.v1.Model.class,
5242               com.google.cloud.aiplatform.v1.Model.Builder.class);
5243     }
5244 
5245     // Construct using com.google.cloud.aiplatform.v1.Model.newBuilder()
Builder()5246     private Builder() {}
5247 
Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)5248     private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
5249       super(parent);
5250     }
5251 
5252     @java.lang.Override
clear()5253     public Builder clear() {
5254       super.clear();
5255       bitField0_ = 0;
5256       name_ = "";
5257       versionId_ = "";
5258       versionAliases_ = com.google.protobuf.LazyStringArrayList.EMPTY;
5259       bitField0_ = (bitField0_ & ~0x00000004);
5260       versionCreateTime_ = null;
5261       if (versionCreateTimeBuilder_ != null) {
5262         versionCreateTimeBuilder_.dispose();
5263         versionCreateTimeBuilder_ = null;
5264       }
5265       versionUpdateTime_ = null;
5266       if (versionUpdateTimeBuilder_ != null) {
5267         versionUpdateTimeBuilder_.dispose();
5268         versionUpdateTimeBuilder_ = null;
5269       }
5270       displayName_ = "";
5271       description_ = "";
5272       versionDescription_ = "";
5273       predictSchemata_ = null;
5274       if (predictSchemataBuilder_ != null) {
5275         predictSchemataBuilder_.dispose();
5276         predictSchemataBuilder_ = null;
5277       }
5278       metadataSchemaUri_ = "";
5279       metadata_ = null;
5280       if (metadataBuilder_ != null) {
5281         metadataBuilder_.dispose();
5282         metadataBuilder_ = null;
5283       }
5284       if (supportedExportFormatsBuilder_ == null) {
5285         supportedExportFormats_ = java.util.Collections.emptyList();
5286       } else {
5287         supportedExportFormats_ = null;
5288         supportedExportFormatsBuilder_.clear();
5289       }
5290       bitField0_ = (bitField0_ & ~0x00000800);
5291       trainingPipeline_ = "";
5292       containerSpec_ = null;
5293       if (containerSpecBuilder_ != null) {
5294         containerSpecBuilder_.dispose();
5295         containerSpecBuilder_ = null;
5296       }
5297       artifactUri_ = "";
5298       supportedDeploymentResourcesTypes_ = java.util.Collections.emptyList();
5299       bitField0_ = (bitField0_ & ~0x00008000);
5300       supportedInputStorageFormats_ = com.google.protobuf.LazyStringArrayList.EMPTY;
5301       bitField0_ = (bitField0_ & ~0x00010000);
5302       supportedOutputStorageFormats_ = com.google.protobuf.LazyStringArrayList.EMPTY;
5303       bitField0_ = (bitField0_ & ~0x00020000);
5304       createTime_ = null;
5305       if (createTimeBuilder_ != null) {
5306         createTimeBuilder_.dispose();
5307         createTimeBuilder_ = null;
5308       }
5309       updateTime_ = null;
5310       if (updateTimeBuilder_ != null) {
5311         updateTimeBuilder_.dispose();
5312         updateTimeBuilder_ = null;
5313       }
5314       if (deployedModelsBuilder_ == null) {
5315         deployedModels_ = java.util.Collections.emptyList();
5316       } else {
5317         deployedModels_ = null;
5318         deployedModelsBuilder_.clear();
5319       }
5320       bitField0_ = (bitField0_ & ~0x00100000);
5321       explanationSpec_ = null;
5322       if (explanationSpecBuilder_ != null) {
5323         explanationSpecBuilder_.dispose();
5324         explanationSpecBuilder_ = null;
5325       }
5326       etag_ = "";
5327       internalGetMutableLabels().clear();
5328       encryptionSpec_ = null;
5329       if (encryptionSpecBuilder_ != null) {
5330         encryptionSpecBuilder_.dispose();
5331         encryptionSpecBuilder_ = null;
5332       }
5333       modelSourceInfo_ = null;
5334       if (modelSourceInfoBuilder_ != null) {
5335         modelSourceInfoBuilder_.dispose();
5336         modelSourceInfoBuilder_ = null;
5337       }
5338       originalModelInfo_ = null;
5339       if (originalModelInfoBuilder_ != null) {
5340         originalModelInfoBuilder_.dispose();
5341         originalModelInfoBuilder_ = null;
5342       }
5343       metadataArtifact_ = "";
5344       return this;
5345     }
5346 
5347     @java.lang.Override
getDescriptorForType()5348     public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
5349       return com.google.cloud.aiplatform.v1.ModelProto
5350           .internal_static_google_cloud_aiplatform_v1_Model_descriptor;
5351     }
5352 
5353     @java.lang.Override
getDefaultInstanceForType()5354     public com.google.cloud.aiplatform.v1.Model getDefaultInstanceForType() {
5355       return com.google.cloud.aiplatform.v1.Model.getDefaultInstance();
5356     }
5357 
5358     @java.lang.Override
build()5359     public com.google.cloud.aiplatform.v1.Model build() {
5360       com.google.cloud.aiplatform.v1.Model result = buildPartial();
5361       if (!result.isInitialized()) {
5362         throw newUninitializedMessageException(result);
5363       }
5364       return result;
5365     }
5366 
5367     @java.lang.Override
buildPartial()5368     public com.google.cloud.aiplatform.v1.Model buildPartial() {
5369       com.google.cloud.aiplatform.v1.Model result = new com.google.cloud.aiplatform.v1.Model(this);
5370       buildPartialRepeatedFields(result);
5371       if (bitField0_ != 0) {
5372         buildPartial0(result);
5373       }
5374       onBuilt();
5375       return result;
5376     }
5377 
buildPartialRepeatedFields(com.google.cloud.aiplatform.v1.Model result)5378     private void buildPartialRepeatedFields(com.google.cloud.aiplatform.v1.Model result) {
5379       if (((bitField0_ & 0x00000004) != 0)) {
5380         versionAliases_ = versionAliases_.getUnmodifiableView();
5381         bitField0_ = (bitField0_ & ~0x00000004);
5382       }
5383       result.versionAliases_ = versionAliases_;
5384       if (supportedExportFormatsBuilder_ == null) {
5385         if (((bitField0_ & 0x00000800) != 0)) {
5386           supportedExportFormats_ = java.util.Collections.unmodifiableList(supportedExportFormats_);
5387           bitField0_ = (bitField0_ & ~0x00000800);
5388         }
5389         result.supportedExportFormats_ = supportedExportFormats_;
5390       } else {
5391         result.supportedExportFormats_ = supportedExportFormatsBuilder_.build();
5392       }
5393       if (((bitField0_ & 0x00008000) != 0)) {
5394         supportedDeploymentResourcesTypes_ =
5395             java.util.Collections.unmodifiableList(supportedDeploymentResourcesTypes_);
5396         bitField0_ = (bitField0_ & ~0x00008000);
5397       }
5398       result.supportedDeploymentResourcesTypes_ = supportedDeploymentResourcesTypes_;
5399       if (((bitField0_ & 0x00010000) != 0)) {
5400         supportedInputStorageFormats_ = supportedInputStorageFormats_.getUnmodifiableView();
5401         bitField0_ = (bitField0_ & ~0x00010000);
5402       }
5403       result.supportedInputStorageFormats_ = supportedInputStorageFormats_;
5404       if (((bitField0_ & 0x00020000) != 0)) {
5405         supportedOutputStorageFormats_ = supportedOutputStorageFormats_.getUnmodifiableView();
5406         bitField0_ = (bitField0_ & ~0x00020000);
5407       }
5408       result.supportedOutputStorageFormats_ = supportedOutputStorageFormats_;
5409       if (deployedModelsBuilder_ == null) {
5410         if (((bitField0_ & 0x00100000) != 0)) {
5411           deployedModels_ = java.util.Collections.unmodifiableList(deployedModels_);
5412           bitField0_ = (bitField0_ & ~0x00100000);
5413         }
5414         result.deployedModels_ = deployedModels_;
5415       } else {
5416         result.deployedModels_ = deployedModelsBuilder_.build();
5417       }
5418     }
5419 
buildPartial0(com.google.cloud.aiplatform.v1.Model result)5420     private void buildPartial0(com.google.cloud.aiplatform.v1.Model result) {
5421       int from_bitField0_ = bitField0_;
5422       if (((from_bitField0_ & 0x00000001) != 0)) {
5423         result.name_ = name_;
5424       }
5425       if (((from_bitField0_ & 0x00000002) != 0)) {
5426         result.versionId_ = versionId_;
5427       }
5428       if (((from_bitField0_ & 0x00000008) != 0)) {
5429         result.versionCreateTime_ =
5430             versionCreateTimeBuilder_ == null
5431                 ? versionCreateTime_
5432                 : versionCreateTimeBuilder_.build();
5433       }
5434       if (((from_bitField0_ & 0x00000010) != 0)) {
5435         result.versionUpdateTime_ =
5436             versionUpdateTimeBuilder_ == null
5437                 ? versionUpdateTime_
5438                 : versionUpdateTimeBuilder_.build();
5439       }
5440       if (((from_bitField0_ & 0x00000020) != 0)) {
5441         result.displayName_ = displayName_;
5442       }
5443       if (((from_bitField0_ & 0x00000040) != 0)) {
5444         result.description_ = description_;
5445       }
5446       if (((from_bitField0_ & 0x00000080) != 0)) {
5447         result.versionDescription_ = versionDescription_;
5448       }
5449       if (((from_bitField0_ & 0x00000100) != 0)) {
5450         result.predictSchemata_ =
5451             predictSchemataBuilder_ == null ? predictSchemata_ : predictSchemataBuilder_.build();
5452       }
5453       if (((from_bitField0_ & 0x00000200) != 0)) {
5454         result.metadataSchemaUri_ = metadataSchemaUri_;
5455       }
5456       if (((from_bitField0_ & 0x00000400) != 0)) {
5457         result.metadata_ = metadataBuilder_ == null ? metadata_ : metadataBuilder_.build();
5458       }
5459       if (((from_bitField0_ & 0x00001000) != 0)) {
5460         result.trainingPipeline_ = trainingPipeline_;
5461       }
5462       if (((from_bitField0_ & 0x00002000) != 0)) {
5463         result.containerSpec_ =
5464             containerSpecBuilder_ == null ? containerSpec_ : containerSpecBuilder_.build();
5465       }
5466       if (((from_bitField0_ & 0x00004000) != 0)) {
5467         result.artifactUri_ = artifactUri_;
5468       }
5469       if (((from_bitField0_ & 0x00040000) != 0)) {
5470         result.createTime_ = createTimeBuilder_ == null ? createTime_ : createTimeBuilder_.build();
5471       }
5472       if (((from_bitField0_ & 0x00080000) != 0)) {
5473         result.updateTime_ = updateTimeBuilder_ == null ? updateTime_ : updateTimeBuilder_.build();
5474       }
5475       if (((from_bitField0_ & 0x00200000) != 0)) {
5476         result.explanationSpec_ =
5477             explanationSpecBuilder_ == null ? explanationSpec_ : explanationSpecBuilder_.build();
5478       }
5479       if (((from_bitField0_ & 0x00400000) != 0)) {
5480         result.etag_ = etag_;
5481       }
5482       if (((from_bitField0_ & 0x00800000) != 0)) {
5483         result.labels_ = internalGetLabels();
5484         result.labels_.makeImmutable();
5485       }
5486       if (((from_bitField0_ & 0x01000000) != 0)) {
5487         result.encryptionSpec_ =
5488             encryptionSpecBuilder_ == null ? encryptionSpec_ : encryptionSpecBuilder_.build();
5489       }
5490       if (((from_bitField0_ & 0x02000000) != 0)) {
5491         result.modelSourceInfo_ =
5492             modelSourceInfoBuilder_ == null ? modelSourceInfo_ : modelSourceInfoBuilder_.build();
5493       }
5494       if (((from_bitField0_ & 0x04000000) != 0)) {
5495         result.originalModelInfo_ =
5496             originalModelInfoBuilder_ == null
5497                 ? originalModelInfo_
5498                 : originalModelInfoBuilder_.build();
5499       }
5500       if (((from_bitField0_ & 0x08000000) != 0)) {
5501         result.metadataArtifact_ = metadataArtifact_;
5502       }
5503     }
5504 
5505     @java.lang.Override
clone()5506     public Builder clone() {
5507       return super.clone();
5508     }
5509 
5510     @java.lang.Override
setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)5511     public Builder setField(
5512         com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
5513       return super.setField(field, value);
5514     }
5515 
5516     @java.lang.Override
clearField(com.google.protobuf.Descriptors.FieldDescriptor field)5517     public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
5518       return super.clearField(field);
5519     }
5520 
5521     @java.lang.Override
clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)5522     public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
5523       return super.clearOneof(oneof);
5524     }
5525 
5526     @java.lang.Override
setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)5527     public Builder setRepeatedField(
5528         com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
5529       return super.setRepeatedField(field, index, value);
5530     }
5531 
5532     @java.lang.Override
addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)5533     public Builder addRepeatedField(
5534         com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
5535       return super.addRepeatedField(field, value);
5536     }
5537 
5538     @java.lang.Override
mergeFrom(com.google.protobuf.Message other)5539     public Builder mergeFrom(com.google.protobuf.Message other) {
5540       if (other instanceof com.google.cloud.aiplatform.v1.Model) {
5541         return mergeFrom((com.google.cloud.aiplatform.v1.Model) other);
5542       } else {
5543         super.mergeFrom(other);
5544         return this;
5545       }
5546     }
5547 
mergeFrom(com.google.cloud.aiplatform.v1.Model other)5548     public Builder mergeFrom(com.google.cloud.aiplatform.v1.Model other) {
5549       if (other == com.google.cloud.aiplatform.v1.Model.getDefaultInstance()) return this;
5550       if (!other.getName().isEmpty()) {
5551         name_ = other.name_;
5552         bitField0_ |= 0x00000001;
5553         onChanged();
5554       }
5555       if (!other.getVersionId().isEmpty()) {
5556         versionId_ = other.versionId_;
5557         bitField0_ |= 0x00000002;
5558         onChanged();
5559       }
5560       if (!other.versionAliases_.isEmpty()) {
5561         if (versionAliases_.isEmpty()) {
5562           versionAliases_ = other.versionAliases_;
5563           bitField0_ = (bitField0_ & ~0x00000004);
5564         } else {
5565           ensureVersionAliasesIsMutable();
5566           versionAliases_.addAll(other.versionAliases_);
5567         }
5568         onChanged();
5569       }
5570       if (other.hasVersionCreateTime()) {
5571         mergeVersionCreateTime(other.getVersionCreateTime());
5572       }
5573       if (other.hasVersionUpdateTime()) {
5574         mergeVersionUpdateTime(other.getVersionUpdateTime());
5575       }
5576       if (!other.getDisplayName().isEmpty()) {
5577         displayName_ = other.displayName_;
5578         bitField0_ |= 0x00000020;
5579         onChanged();
5580       }
5581       if (!other.getDescription().isEmpty()) {
5582         description_ = other.description_;
5583         bitField0_ |= 0x00000040;
5584         onChanged();
5585       }
5586       if (!other.getVersionDescription().isEmpty()) {
5587         versionDescription_ = other.versionDescription_;
5588         bitField0_ |= 0x00000080;
5589         onChanged();
5590       }
5591       if (other.hasPredictSchemata()) {
5592         mergePredictSchemata(other.getPredictSchemata());
5593       }
5594       if (!other.getMetadataSchemaUri().isEmpty()) {
5595         metadataSchemaUri_ = other.metadataSchemaUri_;
5596         bitField0_ |= 0x00000200;
5597         onChanged();
5598       }
5599       if (other.hasMetadata()) {
5600         mergeMetadata(other.getMetadata());
5601       }
5602       if (supportedExportFormatsBuilder_ == null) {
5603         if (!other.supportedExportFormats_.isEmpty()) {
5604           if (supportedExportFormats_.isEmpty()) {
5605             supportedExportFormats_ = other.supportedExportFormats_;
5606             bitField0_ = (bitField0_ & ~0x00000800);
5607           } else {
5608             ensureSupportedExportFormatsIsMutable();
5609             supportedExportFormats_.addAll(other.supportedExportFormats_);
5610           }
5611           onChanged();
5612         }
5613       } else {
5614         if (!other.supportedExportFormats_.isEmpty()) {
5615           if (supportedExportFormatsBuilder_.isEmpty()) {
5616             supportedExportFormatsBuilder_.dispose();
5617             supportedExportFormatsBuilder_ = null;
5618             supportedExportFormats_ = other.supportedExportFormats_;
5619             bitField0_ = (bitField0_ & ~0x00000800);
5620             supportedExportFormatsBuilder_ =
5621                 com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
5622                     ? getSupportedExportFormatsFieldBuilder()
5623                     : null;
5624           } else {
5625             supportedExportFormatsBuilder_.addAllMessages(other.supportedExportFormats_);
5626           }
5627         }
5628       }
5629       if (!other.getTrainingPipeline().isEmpty()) {
5630         trainingPipeline_ = other.trainingPipeline_;
5631         bitField0_ |= 0x00001000;
5632         onChanged();
5633       }
5634       if (other.hasContainerSpec()) {
5635         mergeContainerSpec(other.getContainerSpec());
5636       }
5637       if (!other.getArtifactUri().isEmpty()) {
5638         artifactUri_ = other.artifactUri_;
5639         bitField0_ |= 0x00004000;
5640         onChanged();
5641       }
5642       if (!other.supportedDeploymentResourcesTypes_.isEmpty()) {
5643         if (supportedDeploymentResourcesTypes_.isEmpty()) {
5644           supportedDeploymentResourcesTypes_ = other.supportedDeploymentResourcesTypes_;
5645           bitField0_ = (bitField0_ & ~0x00008000);
5646         } else {
5647           ensureSupportedDeploymentResourcesTypesIsMutable();
5648           supportedDeploymentResourcesTypes_.addAll(other.supportedDeploymentResourcesTypes_);
5649         }
5650         onChanged();
5651       }
5652       if (!other.supportedInputStorageFormats_.isEmpty()) {
5653         if (supportedInputStorageFormats_.isEmpty()) {
5654           supportedInputStorageFormats_ = other.supportedInputStorageFormats_;
5655           bitField0_ = (bitField0_ & ~0x00010000);
5656         } else {
5657           ensureSupportedInputStorageFormatsIsMutable();
5658           supportedInputStorageFormats_.addAll(other.supportedInputStorageFormats_);
5659         }
5660         onChanged();
5661       }
5662       if (!other.supportedOutputStorageFormats_.isEmpty()) {
5663         if (supportedOutputStorageFormats_.isEmpty()) {
5664           supportedOutputStorageFormats_ = other.supportedOutputStorageFormats_;
5665           bitField0_ = (bitField0_ & ~0x00020000);
5666         } else {
5667           ensureSupportedOutputStorageFormatsIsMutable();
5668           supportedOutputStorageFormats_.addAll(other.supportedOutputStorageFormats_);
5669         }
5670         onChanged();
5671       }
5672       if (other.hasCreateTime()) {
5673         mergeCreateTime(other.getCreateTime());
5674       }
5675       if (other.hasUpdateTime()) {
5676         mergeUpdateTime(other.getUpdateTime());
5677       }
5678       if (deployedModelsBuilder_ == null) {
5679         if (!other.deployedModels_.isEmpty()) {
5680           if (deployedModels_.isEmpty()) {
5681             deployedModels_ = other.deployedModels_;
5682             bitField0_ = (bitField0_ & ~0x00100000);
5683           } else {
5684             ensureDeployedModelsIsMutable();
5685             deployedModels_.addAll(other.deployedModels_);
5686           }
5687           onChanged();
5688         }
5689       } else {
5690         if (!other.deployedModels_.isEmpty()) {
5691           if (deployedModelsBuilder_.isEmpty()) {
5692             deployedModelsBuilder_.dispose();
5693             deployedModelsBuilder_ = null;
5694             deployedModels_ = other.deployedModels_;
5695             bitField0_ = (bitField0_ & ~0x00100000);
5696             deployedModelsBuilder_ =
5697                 com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
5698                     ? getDeployedModelsFieldBuilder()
5699                     : null;
5700           } else {
5701             deployedModelsBuilder_.addAllMessages(other.deployedModels_);
5702           }
5703         }
5704       }
5705       if (other.hasExplanationSpec()) {
5706         mergeExplanationSpec(other.getExplanationSpec());
5707       }
5708       if (!other.getEtag().isEmpty()) {
5709         etag_ = other.etag_;
5710         bitField0_ |= 0x00400000;
5711         onChanged();
5712       }
5713       internalGetMutableLabels().mergeFrom(other.internalGetLabels());
5714       bitField0_ |= 0x00800000;
5715       if (other.hasEncryptionSpec()) {
5716         mergeEncryptionSpec(other.getEncryptionSpec());
5717       }
5718       if (other.hasModelSourceInfo()) {
5719         mergeModelSourceInfo(other.getModelSourceInfo());
5720       }
5721       if (other.hasOriginalModelInfo()) {
5722         mergeOriginalModelInfo(other.getOriginalModelInfo());
5723       }
5724       if (!other.getMetadataArtifact().isEmpty()) {
5725         metadataArtifact_ = other.metadataArtifact_;
5726         bitField0_ |= 0x08000000;
5727         onChanged();
5728       }
5729       this.mergeUnknownFields(other.getUnknownFields());
5730       onChanged();
5731       return this;
5732     }
5733 
5734     @java.lang.Override
isInitialized()5735     public final boolean isInitialized() {
5736       return true;
5737     }
5738 
5739     @java.lang.Override
mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)5740     public Builder mergeFrom(
5741         com.google.protobuf.CodedInputStream input,
5742         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5743         throws java.io.IOException {
5744       if (extensionRegistry == null) {
5745         throw new java.lang.NullPointerException();
5746       }
5747       try {
5748         boolean done = false;
5749         while (!done) {
5750           int tag = input.readTag();
5751           switch (tag) {
5752             case 0:
5753               done = true;
5754               break;
5755             case 10:
5756               {
5757                 name_ = input.readStringRequireUtf8();
5758                 bitField0_ |= 0x00000001;
5759                 break;
5760               } // case 10
5761             case 18:
5762               {
5763                 displayName_ = input.readStringRequireUtf8();
5764                 bitField0_ |= 0x00000020;
5765                 break;
5766               } // case 18
5767             case 26:
5768               {
5769                 description_ = input.readStringRequireUtf8();
5770                 bitField0_ |= 0x00000040;
5771                 break;
5772               } // case 26
5773             case 34:
5774               {
5775                 input.readMessage(getPredictSchemataFieldBuilder().getBuilder(), extensionRegistry);
5776                 bitField0_ |= 0x00000100;
5777                 break;
5778               } // case 34
5779             case 42:
5780               {
5781                 metadataSchemaUri_ = input.readStringRequireUtf8();
5782                 bitField0_ |= 0x00000200;
5783                 break;
5784               } // case 42
5785             case 50:
5786               {
5787                 input.readMessage(getMetadataFieldBuilder().getBuilder(), extensionRegistry);
5788                 bitField0_ |= 0x00000400;
5789                 break;
5790               } // case 50
5791             case 58:
5792               {
5793                 trainingPipeline_ = input.readStringRequireUtf8();
5794                 bitField0_ |= 0x00001000;
5795                 break;
5796               } // case 58
5797             case 74:
5798               {
5799                 input.readMessage(getContainerSpecFieldBuilder().getBuilder(), extensionRegistry);
5800                 bitField0_ |= 0x00002000;
5801                 break;
5802               } // case 74
5803             case 80:
5804               {
5805                 int tmpRaw = input.readEnum();
5806                 ensureSupportedDeploymentResourcesTypesIsMutable();
5807                 supportedDeploymentResourcesTypes_.add(tmpRaw);
5808                 break;
5809               } // case 80
5810             case 82:
5811               {
5812                 int length = input.readRawVarint32();
5813                 int oldLimit = input.pushLimit(length);
5814                 while (input.getBytesUntilLimit() > 0) {
5815                   int tmpRaw = input.readEnum();
5816                   ensureSupportedDeploymentResourcesTypesIsMutable();
5817                   supportedDeploymentResourcesTypes_.add(tmpRaw);
5818                 }
5819                 input.popLimit(oldLimit);
5820                 break;
5821               } // case 82
5822             case 90:
5823               {
5824                 java.lang.String s = input.readStringRequireUtf8();
5825                 ensureSupportedInputStorageFormatsIsMutable();
5826                 supportedInputStorageFormats_.add(s);
5827                 break;
5828               } // case 90
5829             case 98:
5830               {
5831                 java.lang.String s = input.readStringRequireUtf8();
5832                 ensureSupportedOutputStorageFormatsIsMutable();
5833                 supportedOutputStorageFormats_.add(s);
5834                 break;
5835               } // case 98
5836             case 106:
5837               {
5838                 input.readMessage(getCreateTimeFieldBuilder().getBuilder(), extensionRegistry);
5839                 bitField0_ |= 0x00040000;
5840                 break;
5841               } // case 106
5842             case 114:
5843               {
5844                 input.readMessage(getUpdateTimeFieldBuilder().getBuilder(), extensionRegistry);
5845                 bitField0_ |= 0x00080000;
5846                 break;
5847               } // case 114
5848             case 122:
5849               {
5850                 com.google.cloud.aiplatform.v1.DeployedModelRef m =
5851                     input.readMessage(
5852                         com.google.cloud.aiplatform.v1.DeployedModelRef.parser(),
5853                         extensionRegistry);
5854                 if (deployedModelsBuilder_ == null) {
5855                   ensureDeployedModelsIsMutable();
5856                   deployedModels_.add(m);
5857                 } else {
5858                   deployedModelsBuilder_.addMessage(m);
5859                 }
5860                 break;
5861               } // case 122
5862             case 130:
5863               {
5864                 etag_ = input.readStringRequireUtf8();
5865                 bitField0_ |= 0x00400000;
5866                 break;
5867               } // case 130
5868             case 138:
5869               {
5870                 com.google.protobuf.MapEntry<java.lang.String, java.lang.String> labels__ =
5871                     input.readMessage(
5872                         LabelsDefaultEntryHolder.defaultEntry.getParserForType(),
5873                         extensionRegistry);
5874                 internalGetMutableLabels()
5875                     .getMutableMap()
5876                     .put(labels__.getKey(), labels__.getValue());
5877                 bitField0_ |= 0x00800000;
5878                 break;
5879               } // case 138
5880             case 162:
5881               {
5882                 com.google.cloud.aiplatform.v1.Model.ExportFormat m =
5883                     input.readMessage(
5884                         com.google.cloud.aiplatform.v1.Model.ExportFormat.parser(),
5885                         extensionRegistry);
5886                 if (supportedExportFormatsBuilder_ == null) {
5887                   ensureSupportedExportFormatsIsMutable();
5888                   supportedExportFormats_.add(m);
5889                 } else {
5890                   supportedExportFormatsBuilder_.addMessage(m);
5891                 }
5892                 break;
5893               } // case 162
5894             case 186:
5895               {
5896                 input.readMessage(getExplanationSpecFieldBuilder().getBuilder(), extensionRegistry);
5897                 bitField0_ |= 0x00200000;
5898                 break;
5899               } // case 186
5900             case 194:
5901               {
5902                 input.readMessage(getEncryptionSpecFieldBuilder().getBuilder(), extensionRegistry);
5903                 bitField0_ |= 0x01000000;
5904                 break;
5905               } // case 194
5906             case 210:
5907               {
5908                 artifactUri_ = input.readStringRequireUtf8();
5909                 bitField0_ |= 0x00004000;
5910                 break;
5911               } // case 210
5912             case 226:
5913               {
5914                 versionId_ = input.readStringRequireUtf8();
5915                 bitField0_ |= 0x00000002;
5916                 break;
5917               } // case 226
5918             case 234:
5919               {
5920                 java.lang.String s = input.readStringRequireUtf8();
5921                 ensureVersionAliasesIsMutable();
5922                 versionAliases_.add(s);
5923                 break;
5924               } // case 234
5925             case 242:
5926               {
5927                 versionDescription_ = input.readStringRequireUtf8();
5928                 bitField0_ |= 0x00000080;
5929                 break;
5930               } // case 242
5931             case 250:
5932               {
5933                 input.readMessage(
5934                     getVersionCreateTimeFieldBuilder().getBuilder(), extensionRegistry);
5935                 bitField0_ |= 0x00000008;
5936                 break;
5937               } // case 250
5938             case 258:
5939               {
5940                 input.readMessage(
5941                     getVersionUpdateTimeFieldBuilder().getBuilder(), extensionRegistry);
5942                 bitField0_ |= 0x00000010;
5943                 break;
5944               } // case 258
5945             case 274:
5946               {
5947                 input.readMessage(
5948                     getOriginalModelInfoFieldBuilder().getBuilder(), extensionRegistry);
5949                 bitField0_ |= 0x04000000;
5950                 break;
5951               } // case 274
5952             case 306:
5953               {
5954                 input.readMessage(getModelSourceInfoFieldBuilder().getBuilder(), extensionRegistry);
5955                 bitField0_ |= 0x02000000;
5956                 break;
5957               } // case 306
5958             case 354:
5959               {
5960                 metadataArtifact_ = input.readStringRequireUtf8();
5961                 bitField0_ |= 0x08000000;
5962                 break;
5963               } // case 354
5964             default:
5965               {
5966                 if (!super.parseUnknownField(input, extensionRegistry, tag)) {
5967                   done = true; // was an endgroup tag
5968                 }
5969                 break;
5970               } // default:
5971           } // switch (tag)
5972         } // while (!done)
5973       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
5974         throw e.unwrapIOException();
5975       } finally {
5976         onChanged();
5977       } // finally
5978       return this;
5979     }
5980 
5981     private int bitField0_;
5982 
5983     private java.lang.Object name_ = "";
5984     /**
5985      *
5986      *
5987      * <pre>
5988      * The resource name of the Model.
5989      * </pre>
5990      *
5991      * <code>string name = 1;</code>
5992      *
5993      * @return The name.
5994      */
getName()5995     public java.lang.String getName() {
5996       java.lang.Object ref = name_;
5997       if (!(ref instanceof java.lang.String)) {
5998         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
5999         java.lang.String s = bs.toStringUtf8();
6000         name_ = s;
6001         return s;
6002       } else {
6003         return (java.lang.String) ref;
6004       }
6005     }
6006     /**
6007      *
6008      *
6009      * <pre>
6010      * The resource name of the Model.
6011      * </pre>
6012      *
6013      * <code>string name = 1;</code>
6014      *
6015      * @return The bytes for name.
6016      */
getNameBytes()6017     public com.google.protobuf.ByteString getNameBytes() {
6018       java.lang.Object ref = name_;
6019       if (ref instanceof String) {
6020         com.google.protobuf.ByteString b =
6021             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
6022         name_ = b;
6023         return b;
6024       } else {
6025         return (com.google.protobuf.ByteString) ref;
6026       }
6027     }
6028     /**
6029      *
6030      *
6031      * <pre>
6032      * The resource name of the Model.
6033      * </pre>
6034      *
6035      * <code>string name = 1;</code>
6036      *
6037      * @param value The name to set.
6038      * @return This builder for chaining.
6039      */
setName(java.lang.String value)6040     public Builder setName(java.lang.String value) {
6041       if (value == null) {
6042         throw new NullPointerException();
6043       }
6044       name_ = value;
6045       bitField0_ |= 0x00000001;
6046       onChanged();
6047       return this;
6048     }
6049     /**
6050      *
6051      *
6052      * <pre>
6053      * The resource name of the Model.
6054      * </pre>
6055      *
6056      * <code>string name = 1;</code>
6057      *
6058      * @return This builder for chaining.
6059      */
clearName()6060     public Builder clearName() {
6061       name_ = getDefaultInstance().getName();
6062       bitField0_ = (bitField0_ & ~0x00000001);
6063       onChanged();
6064       return this;
6065     }
6066     /**
6067      *
6068      *
6069      * <pre>
6070      * The resource name of the Model.
6071      * </pre>
6072      *
6073      * <code>string name = 1;</code>
6074      *
6075      * @param value The bytes for name to set.
6076      * @return This builder for chaining.
6077      */
setNameBytes(com.google.protobuf.ByteString value)6078     public Builder setNameBytes(com.google.protobuf.ByteString value) {
6079       if (value == null) {
6080         throw new NullPointerException();
6081       }
6082       checkByteStringIsUtf8(value);
6083       name_ = value;
6084       bitField0_ |= 0x00000001;
6085       onChanged();
6086       return this;
6087     }
6088 
6089     private java.lang.Object versionId_ = "";
6090     /**
6091      *
6092      *
6093      * <pre>
6094      * Output only. Immutable. The version ID of the model.
6095      * A new version is committed when a new model version is uploaded or
6096      * trained under an existing model id. It is an auto-incrementing decimal
6097      * number in string representation.
6098      * </pre>
6099      *
6100      * <code>
6101      * string version_id = 28 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.field_behavior) = OUTPUT_ONLY];
6102      * </code>
6103      *
6104      * @return The versionId.
6105      */
getVersionId()6106     public java.lang.String getVersionId() {
6107       java.lang.Object ref = versionId_;
6108       if (!(ref instanceof java.lang.String)) {
6109         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
6110         java.lang.String s = bs.toStringUtf8();
6111         versionId_ = s;
6112         return s;
6113       } else {
6114         return (java.lang.String) ref;
6115       }
6116     }
6117     /**
6118      *
6119      *
6120      * <pre>
6121      * Output only. Immutable. The version ID of the model.
6122      * A new version is committed when a new model version is uploaded or
6123      * trained under an existing model id. It is an auto-incrementing decimal
6124      * number in string representation.
6125      * </pre>
6126      *
6127      * <code>
6128      * string version_id = 28 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.field_behavior) = OUTPUT_ONLY];
6129      * </code>
6130      *
6131      * @return The bytes for versionId.
6132      */
getVersionIdBytes()6133     public com.google.protobuf.ByteString getVersionIdBytes() {
6134       java.lang.Object ref = versionId_;
6135       if (ref instanceof String) {
6136         com.google.protobuf.ByteString b =
6137             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
6138         versionId_ = b;
6139         return b;
6140       } else {
6141         return (com.google.protobuf.ByteString) ref;
6142       }
6143     }
6144     /**
6145      *
6146      *
6147      * <pre>
6148      * Output only. Immutable. The version ID of the model.
6149      * A new version is committed when a new model version is uploaded or
6150      * trained under an existing model id. It is an auto-incrementing decimal
6151      * number in string representation.
6152      * </pre>
6153      *
6154      * <code>
6155      * string version_id = 28 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.field_behavior) = OUTPUT_ONLY];
6156      * </code>
6157      *
6158      * @param value The versionId to set.
6159      * @return This builder for chaining.
6160      */
setVersionId(java.lang.String value)6161     public Builder setVersionId(java.lang.String value) {
6162       if (value == null) {
6163         throw new NullPointerException();
6164       }
6165       versionId_ = value;
6166       bitField0_ |= 0x00000002;
6167       onChanged();
6168       return this;
6169     }
6170     /**
6171      *
6172      *
6173      * <pre>
6174      * Output only. Immutable. The version ID of the model.
6175      * A new version is committed when a new model version is uploaded or
6176      * trained under an existing model id. It is an auto-incrementing decimal
6177      * number in string representation.
6178      * </pre>
6179      *
6180      * <code>
6181      * string version_id = 28 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.field_behavior) = OUTPUT_ONLY];
6182      * </code>
6183      *
6184      * @return This builder for chaining.
6185      */
clearVersionId()6186     public Builder clearVersionId() {
6187       versionId_ = getDefaultInstance().getVersionId();
6188       bitField0_ = (bitField0_ & ~0x00000002);
6189       onChanged();
6190       return this;
6191     }
6192     /**
6193      *
6194      *
6195      * <pre>
6196      * Output only. Immutable. The version ID of the model.
6197      * A new version is committed when a new model version is uploaded or
6198      * trained under an existing model id. It is an auto-incrementing decimal
6199      * number in string representation.
6200      * </pre>
6201      *
6202      * <code>
6203      * string version_id = 28 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.field_behavior) = OUTPUT_ONLY];
6204      * </code>
6205      *
6206      * @param value The bytes for versionId to set.
6207      * @return This builder for chaining.
6208      */
setVersionIdBytes(com.google.protobuf.ByteString value)6209     public Builder setVersionIdBytes(com.google.protobuf.ByteString value) {
6210       if (value == null) {
6211         throw new NullPointerException();
6212       }
6213       checkByteStringIsUtf8(value);
6214       versionId_ = value;
6215       bitField0_ |= 0x00000002;
6216       onChanged();
6217       return this;
6218     }
6219 
6220     private com.google.protobuf.LazyStringList versionAliases_ =
6221         com.google.protobuf.LazyStringArrayList.EMPTY;
6222 
ensureVersionAliasesIsMutable()6223     private void ensureVersionAliasesIsMutable() {
6224       if (!((bitField0_ & 0x00000004) != 0)) {
6225         versionAliases_ = new com.google.protobuf.LazyStringArrayList(versionAliases_);
6226         bitField0_ |= 0x00000004;
6227       }
6228     }
6229     /**
6230      *
6231      *
6232      * <pre>
6233      * User provided version aliases so that a model version can be referenced via
6234      * alias (i.e.
6235      * `projects/{project}/locations/{location}/models/{model_id}&#64;{version_alias}`
6236      * instead of auto-generated version id (i.e.
6237      * `projects/{project}/locations/{location}/models/{model_id}&#64;{version_id})`.
6238      * The format is [a-z][a-zA-Z0-9-]{0,126}[a-z0-9] to distinguish from
6239      * version_id. A default version alias will be created for the first version
6240      * of the model, and there must be exactly one default version alias for a
6241      * model.
6242      * </pre>
6243      *
6244      * <code>repeated string version_aliases = 29;</code>
6245      *
6246      * @return A list containing the versionAliases.
6247      */
getVersionAliasesList()6248     public com.google.protobuf.ProtocolStringList getVersionAliasesList() {
6249       return versionAliases_.getUnmodifiableView();
6250     }
6251     /**
6252      *
6253      *
6254      * <pre>
6255      * User provided version aliases so that a model version can be referenced via
6256      * alias (i.e.
6257      * `projects/{project}/locations/{location}/models/{model_id}&#64;{version_alias}`
6258      * instead of auto-generated version id (i.e.
6259      * `projects/{project}/locations/{location}/models/{model_id}&#64;{version_id})`.
6260      * The format is [a-z][a-zA-Z0-9-]{0,126}[a-z0-9] to distinguish from
6261      * version_id. A default version alias will be created for the first version
6262      * of the model, and there must be exactly one default version alias for a
6263      * model.
6264      * </pre>
6265      *
6266      * <code>repeated string version_aliases = 29;</code>
6267      *
6268      * @return The count of versionAliases.
6269      */
getVersionAliasesCount()6270     public int getVersionAliasesCount() {
6271       return versionAliases_.size();
6272     }
6273     /**
6274      *
6275      *
6276      * <pre>
6277      * User provided version aliases so that a model version can be referenced via
6278      * alias (i.e.
6279      * `projects/{project}/locations/{location}/models/{model_id}&#64;{version_alias}`
6280      * instead of auto-generated version id (i.e.
6281      * `projects/{project}/locations/{location}/models/{model_id}&#64;{version_id})`.
6282      * The format is [a-z][a-zA-Z0-9-]{0,126}[a-z0-9] to distinguish from
6283      * version_id. A default version alias will be created for the first version
6284      * of the model, and there must be exactly one default version alias for a
6285      * model.
6286      * </pre>
6287      *
6288      * <code>repeated string version_aliases = 29;</code>
6289      *
6290      * @param index The index of the element to return.
6291      * @return The versionAliases at the given index.
6292      */
getVersionAliases(int index)6293     public java.lang.String getVersionAliases(int index) {
6294       return versionAliases_.get(index);
6295     }
6296     /**
6297      *
6298      *
6299      * <pre>
6300      * User provided version aliases so that a model version can be referenced via
6301      * alias (i.e.
6302      * `projects/{project}/locations/{location}/models/{model_id}&#64;{version_alias}`
6303      * instead of auto-generated version id (i.e.
6304      * `projects/{project}/locations/{location}/models/{model_id}&#64;{version_id})`.
6305      * The format is [a-z][a-zA-Z0-9-]{0,126}[a-z0-9] to distinguish from
6306      * version_id. A default version alias will be created for the first version
6307      * of the model, and there must be exactly one default version alias for a
6308      * model.
6309      * </pre>
6310      *
6311      * <code>repeated string version_aliases = 29;</code>
6312      *
6313      * @param index The index of the value to return.
6314      * @return The bytes of the versionAliases at the given index.
6315      */
getVersionAliasesBytes(int index)6316     public com.google.protobuf.ByteString getVersionAliasesBytes(int index) {
6317       return versionAliases_.getByteString(index);
6318     }
6319     /**
6320      *
6321      *
6322      * <pre>
6323      * User provided version aliases so that a model version can be referenced via
6324      * alias (i.e.
6325      * `projects/{project}/locations/{location}/models/{model_id}&#64;{version_alias}`
6326      * instead of auto-generated version id (i.e.
6327      * `projects/{project}/locations/{location}/models/{model_id}&#64;{version_id})`.
6328      * The format is [a-z][a-zA-Z0-9-]{0,126}[a-z0-9] to distinguish from
6329      * version_id. A default version alias will be created for the first version
6330      * of the model, and there must be exactly one default version alias for a
6331      * model.
6332      * </pre>
6333      *
6334      * <code>repeated string version_aliases = 29;</code>
6335      *
6336      * @param index The index to set the value at.
6337      * @param value The versionAliases to set.
6338      * @return This builder for chaining.
6339      */
setVersionAliases(int index, java.lang.String value)6340     public Builder setVersionAliases(int index, java.lang.String value) {
6341       if (value == null) {
6342         throw new NullPointerException();
6343       }
6344       ensureVersionAliasesIsMutable();
6345       versionAliases_.set(index, value);
6346       onChanged();
6347       return this;
6348     }
6349     /**
6350      *
6351      *
6352      * <pre>
6353      * User provided version aliases so that a model version can be referenced via
6354      * alias (i.e.
6355      * `projects/{project}/locations/{location}/models/{model_id}&#64;{version_alias}`
6356      * instead of auto-generated version id (i.e.
6357      * `projects/{project}/locations/{location}/models/{model_id}&#64;{version_id})`.
6358      * The format is [a-z][a-zA-Z0-9-]{0,126}[a-z0-9] to distinguish from
6359      * version_id. A default version alias will be created for the first version
6360      * of the model, and there must be exactly one default version alias for a
6361      * model.
6362      * </pre>
6363      *
6364      * <code>repeated string version_aliases = 29;</code>
6365      *
6366      * @param value The versionAliases to add.
6367      * @return This builder for chaining.
6368      */
addVersionAliases(java.lang.String value)6369     public Builder addVersionAliases(java.lang.String value) {
6370       if (value == null) {
6371         throw new NullPointerException();
6372       }
6373       ensureVersionAliasesIsMutable();
6374       versionAliases_.add(value);
6375       onChanged();
6376       return this;
6377     }
6378     /**
6379      *
6380      *
6381      * <pre>
6382      * User provided version aliases so that a model version can be referenced via
6383      * alias (i.e.
6384      * `projects/{project}/locations/{location}/models/{model_id}&#64;{version_alias}`
6385      * instead of auto-generated version id (i.e.
6386      * `projects/{project}/locations/{location}/models/{model_id}&#64;{version_id})`.
6387      * The format is [a-z][a-zA-Z0-9-]{0,126}[a-z0-9] to distinguish from
6388      * version_id. A default version alias will be created for the first version
6389      * of the model, and there must be exactly one default version alias for a
6390      * model.
6391      * </pre>
6392      *
6393      * <code>repeated string version_aliases = 29;</code>
6394      *
6395      * @param values The versionAliases to add.
6396      * @return This builder for chaining.
6397      */
addAllVersionAliases(java.lang.Iterable<java.lang.String> values)6398     public Builder addAllVersionAliases(java.lang.Iterable<java.lang.String> values) {
6399       ensureVersionAliasesIsMutable();
6400       com.google.protobuf.AbstractMessageLite.Builder.addAll(values, versionAliases_);
6401       onChanged();
6402       return this;
6403     }
6404     /**
6405      *
6406      *
6407      * <pre>
6408      * User provided version aliases so that a model version can be referenced via
6409      * alias (i.e.
6410      * `projects/{project}/locations/{location}/models/{model_id}&#64;{version_alias}`
6411      * instead of auto-generated version id (i.e.
6412      * `projects/{project}/locations/{location}/models/{model_id}&#64;{version_id})`.
6413      * The format is [a-z][a-zA-Z0-9-]{0,126}[a-z0-9] to distinguish from
6414      * version_id. A default version alias will be created for the first version
6415      * of the model, and there must be exactly one default version alias for a
6416      * model.
6417      * </pre>
6418      *
6419      * <code>repeated string version_aliases = 29;</code>
6420      *
6421      * @return This builder for chaining.
6422      */
clearVersionAliases()6423     public Builder clearVersionAliases() {
6424       versionAliases_ = com.google.protobuf.LazyStringArrayList.EMPTY;
6425       bitField0_ = (bitField0_ & ~0x00000004);
6426       onChanged();
6427       return this;
6428     }
6429     /**
6430      *
6431      *
6432      * <pre>
6433      * User provided version aliases so that a model version can be referenced via
6434      * alias (i.e.
6435      * `projects/{project}/locations/{location}/models/{model_id}&#64;{version_alias}`
6436      * instead of auto-generated version id (i.e.
6437      * `projects/{project}/locations/{location}/models/{model_id}&#64;{version_id})`.
6438      * The format is [a-z][a-zA-Z0-9-]{0,126}[a-z0-9] to distinguish from
6439      * version_id. A default version alias will be created for the first version
6440      * of the model, and there must be exactly one default version alias for a
6441      * model.
6442      * </pre>
6443      *
6444      * <code>repeated string version_aliases = 29;</code>
6445      *
6446      * @param value The bytes of the versionAliases to add.
6447      * @return This builder for chaining.
6448      */
addVersionAliasesBytes(com.google.protobuf.ByteString value)6449     public Builder addVersionAliasesBytes(com.google.protobuf.ByteString value) {
6450       if (value == null) {
6451         throw new NullPointerException();
6452       }
6453       checkByteStringIsUtf8(value);
6454       ensureVersionAliasesIsMutable();
6455       versionAliases_.add(value);
6456       onChanged();
6457       return this;
6458     }
6459 
6460     private com.google.protobuf.Timestamp versionCreateTime_;
6461     private com.google.protobuf.SingleFieldBuilderV3<
6462             com.google.protobuf.Timestamp,
6463             com.google.protobuf.Timestamp.Builder,
6464             com.google.protobuf.TimestampOrBuilder>
6465         versionCreateTimeBuilder_;
6466     /**
6467      *
6468      *
6469      * <pre>
6470      * Output only. Timestamp when this version was created.
6471      * </pre>
6472      *
6473      * <code>
6474      * .google.protobuf.Timestamp version_create_time = 31 [(.google.api.field_behavior) = OUTPUT_ONLY];
6475      * </code>
6476      *
6477      * @return Whether the versionCreateTime field is set.
6478      */
hasVersionCreateTime()6479     public boolean hasVersionCreateTime() {
6480       return ((bitField0_ & 0x00000008) != 0);
6481     }
6482     /**
6483      *
6484      *
6485      * <pre>
6486      * Output only. Timestamp when this version was created.
6487      * </pre>
6488      *
6489      * <code>
6490      * .google.protobuf.Timestamp version_create_time = 31 [(.google.api.field_behavior) = OUTPUT_ONLY];
6491      * </code>
6492      *
6493      * @return The versionCreateTime.
6494      */
getVersionCreateTime()6495     public com.google.protobuf.Timestamp getVersionCreateTime() {
6496       if (versionCreateTimeBuilder_ == null) {
6497         return versionCreateTime_ == null
6498             ? com.google.protobuf.Timestamp.getDefaultInstance()
6499             : versionCreateTime_;
6500       } else {
6501         return versionCreateTimeBuilder_.getMessage();
6502       }
6503     }
6504     /**
6505      *
6506      *
6507      * <pre>
6508      * Output only. Timestamp when this version was created.
6509      * </pre>
6510      *
6511      * <code>
6512      * .google.protobuf.Timestamp version_create_time = 31 [(.google.api.field_behavior) = OUTPUT_ONLY];
6513      * </code>
6514      */
setVersionCreateTime(com.google.protobuf.Timestamp value)6515     public Builder setVersionCreateTime(com.google.protobuf.Timestamp value) {
6516       if (versionCreateTimeBuilder_ == null) {
6517         if (value == null) {
6518           throw new NullPointerException();
6519         }
6520         versionCreateTime_ = value;
6521       } else {
6522         versionCreateTimeBuilder_.setMessage(value);
6523       }
6524       bitField0_ |= 0x00000008;
6525       onChanged();
6526       return this;
6527     }
6528     /**
6529      *
6530      *
6531      * <pre>
6532      * Output only. Timestamp when this version was created.
6533      * </pre>
6534      *
6535      * <code>
6536      * .google.protobuf.Timestamp version_create_time = 31 [(.google.api.field_behavior) = OUTPUT_ONLY];
6537      * </code>
6538      */
setVersionCreateTime(com.google.protobuf.Timestamp.Builder builderForValue)6539     public Builder setVersionCreateTime(com.google.protobuf.Timestamp.Builder builderForValue) {
6540       if (versionCreateTimeBuilder_ == null) {
6541         versionCreateTime_ = builderForValue.build();
6542       } else {
6543         versionCreateTimeBuilder_.setMessage(builderForValue.build());
6544       }
6545       bitField0_ |= 0x00000008;
6546       onChanged();
6547       return this;
6548     }
6549     /**
6550      *
6551      *
6552      * <pre>
6553      * Output only. Timestamp when this version was created.
6554      * </pre>
6555      *
6556      * <code>
6557      * .google.protobuf.Timestamp version_create_time = 31 [(.google.api.field_behavior) = OUTPUT_ONLY];
6558      * </code>
6559      */
mergeVersionCreateTime(com.google.protobuf.Timestamp value)6560     public Builder mergeVersionCreateTime(com.google.protobuf.Timestamp value) {
6561       if (versionCreateTimeBuilder_ == null) {
6562         if (((bitField0_ & 0x00000008) != 0)
6563             && versionCreateTime_ != null
6564             && versionCreateTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) {
6565           getVersionCreateTimeBuilder().mergeFrom(value);
6566         } else {
6567           versionCreateTime_ = value;
6568         }
6569       } else {
6570         versionCreateTimeBuilder_.mergeFrom(value);
6571       }
6572       bitField0_ |= 0x00000008;
6573       onChanged();
6574       return this;
6575     }
6576     /**
6577      *
6578      *
6579      * <pre>
6580      * Output only. Timestamp when this version was created.
6581      * </pre>
6582      *
6583      * <code>
6584      * .google.protobuf.Timestamp version_create_time = 31 [(.google.api.field_behavior) = OUTPUT_ONLY];
6585      * </code>
6586      */
clearVersionCreateTime()6587     public Builder clearVersionCreateTime() {
6588       bitField0_ = (bitField0_ & ~0x00000008);
6589       versionCreateTime_ = null;
6590       if (versionCreateTimeBuilder_ != null) {
6591         versionCreateTimeBuilder_.dispose();
6592         versionCreateTimeBuilder_ = null;
6593       }
6594       onChanged();
6595       return this;
6596     }
6597     /**
6598      *
6599      *
6600      * <pre>
6601      * Output only. Timestamp when this version was created.
6602      * </pre>
6603      *
6604      * <code>
6605      * .google.protobuf.Timestamp version_create_time = 31 [(.google.api.field_behavior) = OUTPUT_ONLY];
6606      * </code>
6607      */
getVersionCreateTimeBuilder()6608     public com.google.protobuf.Timestamp.Builder getVersionCreateTimeBuilder() {
6609       bitField0_ |= 0x00000008;
6610       onChanged();
6611       return getVersionCreateTimeFieldBuilder().getBuilder();
6612     }
6613     /**
6614      *
6615      *
6616      * <pre>
6617      * Output only. Timestamp when this version was created.
6618      * </pre>
6619      *
6620      * <code>
6621      * .google.protobuf.Timestamp version_create_time = 31 [(.google.api.field_behavior) = OUTPUT_ONLY];
6622      * </code>
6623      */
getVersionCreateTimeOrBuilder()6624     public com.google.protobuf.TimestampOrBuilder getVersionCreateTimeOrBuilder() {
6625       if (versionCreateTimeBuilder_ != null) {
6626         return versionCreateTimeBuilder_.getMessageOrBuilder();
6627       } else {
6628         return versionCreateTime_ == null
6629             ? com.google.protobuf.Timestamp.getDefaultInstance()
6630             : versionCreateTime_;
6631       }
6632     }
6633     /**
6634      *
6635      *
6636      * <pre>
6637      * Output only. Timestamp when this version was created.
6638      * </pre>
6639      *
6640      * <code>
6641      * .google.protobuf.Timestamp version_create_time = 31 [(.google.api.field_behavior) = OUTPUT_ONLY];
6642      * </code>
6643      */
6644     private com.google.protobuf.SingleFieldBuilderV3<
6645             com.google.protobuf.Timestamp,
6646             com.google.protobuf.Timestamp.Builder,
6647             com.google.protobuf.TimestampOrBuilder>
getVersionCreateTimeFieldBuilder()6648         getVersionCreateTimeFieldBuilder() {
6649       if (versionCreateTimeBuilder_ == null) {
6650         versionCreateTimeBuilder_ =
6651             new com.google.protobuf.SingleFieldBuilderV3<
6652                 com.google.protobuf.Timestamp,
6653                 com.google.protobuf.Timestamp.Builder,
6654                 com.google.protobuf.TimestampOrBuilder>(
6655                 getVersionCreateTime(), getParentForChildren(), isClean());
6656         versionCreateTime_ = null;
6657       }
6658       return versionCreateTimeBuilder_;
6659     }
6660 
6661     private com.google.protobuf.Timestamp versionUpdateTime_;
6662     private com.google.protobuf.SingleFieldBuilderV3<
6663             com.google.protobuf.Timestamp,
6664             com.google.protobuf.Timestamp.Builder,
6665             com.google.protobuf.TimestampOrBuilder>
6666         versionUpdateTimeBuilder_;
6667     /**
6668      *
6669      *
6670      * <pre>
6671      * Output only. Timestamp when this version was most recently updated.
6672      * </pre>
6673      *
6674      * <code>
6675      * .google.protobuf.Timestamp version_update_time = 32 [(.google.api.field_behavior) = OUTPUT_ONLY];
6676      * </code>
6677      *
6678      * @return Whether the versionUpdateTime field is set.
6679      */
hasVersionUpdateTime()6680     public boolean hasVersionUpdateTime() {
6681       return ((bitField0_ & 0x00000010) != 0);
6682     }
6683     /**
6684      *
6685      *
6686      * <pre>
6687      * Output only. Timestamp when this version was most recently updated.
6688      * </pre>
6689      *
6690      * <code>
6691      * .google.protobuf.Timestamp version_update_time = 32 [(.google.api.field_behavior) = OUTPUT_ONLY];
6692      * </code>
6693      *
6694      * @return The versionUpdateTime.
6695      */
getVersionUpdateTime()6696     public com.google.protobuf.Timestamp getVersionUpdateTime() {
6697       if (versionUpdateTimeBuilder_ == null) {
6698         return versionUpdateTime_ == null
6699             ? com.google.protobuf.Timestamp.getDefaultInstance()
6700             : versionUpdateTime_;
6701       } else {
6702         return versionUpdateTimeBuilder_.getMessage();
6703       }
6704     }
6705     /**
6706      *
6707      *
6708      * <pre>
6709      * Output only. Timestamp when this version was most recently updated.
6710      * </pre>
6711      *
6712      * <code>
6713      * .google.protobuf.Timestamp version_update_time = 32 [(.google.api.field_behavior) = OUTPUT_ONLY];
6714      * </code>
6715      */
setVersionUpdateTime(com.google.protobuf.Timestamp value)6716     public Builder setVersionUpdateTime(com.google.protobuf.Timestamp value) {
6717       if (versionUpdateTimeBuilder_ == null) {
6718         if (value == null) {
6719           throw new NullPointerException();
6720         }
6721         versionUpdateTime_ = value;
6722       } else {
6723         versionUpdateTimeBuilder_.setMessage(value);
6724       }
6725       bitField0_ |= 0x00000010;
6726       onChanged();
6727       return this;
6728     }
6729     /**
6730      *
6731      *
6732      * <pre>
6733      * Output only. Timestamp when this version was most recently updated.
6734      * </pre>
6735      *
6736      * <code>
6737      * .google.protobuf.Timestamp version_update_time = 32 [(.google.api.field_behavior) = OUTPUT_ONLY];
6738      * </code>
6739      */
setVersionUpdateTime(com.google.protobuf.Timestamp.Builder builderForValue)6740     public Builder setVersionUpdateTime(com.google.protobuf.Timestamp.Builder builderForValue) {
6741       if (versionUpdateTimeBuilder_ == null) {
6742         versionUpdateTime_ = builderForValue.build();
6743       } else {
6744         versionUpdateTimeBuilder_.setMessage(builderForValue.build());
6745       }
6746       bitField0_ |= 0x00000010;
6747       onChanged();
6748       return this;
6749     }
6750     /**
6751      *
6752      *
6753      * <pre>
6754      * Output only. Timestamp when this version was most recently updated.
6755      * </pre>
6756      *
6757      * <code>
6758      * .google.protobuf.Timestamp version_update_time = 32 [(.google.api.field_behavior) = OUTPUT_ONLY];
6759      * </code>
6760      */
mergeVersionUpdateTime(com.google.protobuf.Timestamp value)6761     public Builder mergeVersionUpdateTime(com.google.protobuf.Timestamp value) {
6762       if (versionUpdateTimeBuilder_ == null) {
6763         if (((bitField0_ & 0x00000010) != 0)
6764             && versionUpdateTime_ != null
6765             && versionUpdateTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) {
6766           getVersionUpdateTimeBuilder().mergeFrom(value);
6767         } else {
6768           versionUpdateTime_ = value;
6769         }
6770       } else {
6771         versionUpdateTimeBuilder_.mergeFrom(value);
6772       }
6773       bitField0_ |= 0x00000010;
6774       onChanged();
6775       return this;
6776     }
6777     /**
6778      *
6779      *
6780      * <pre>
6781      * Output only. Timestamp when this version was most recently updated.
6782      * </pre>
6783      *
6784      * <code>
6785      * .google.protobuf.Timestamp version_update_time = 32 [(.google.api.field_behavior) = OUTPUT_ONLY];
6786      * </code>
6787      */
clearVersionUpdateTime()6788     public Builder clearVersionUpdateTime() {
6789       bitField0_ = (bitField0_ & ~0x00000010);
6790       versionUpdateTime_ = null;
6791       if (versionUpdateTimeBuilder_ != null) {
6792         versionUpdateTimeBuilder_.dispose();
6793         versionUpdateTimeBuilder_ = null;
6794       }
6795       onChanged();
6796       return this;
6797     }
6798     /**
6799      *
6800      *
6801      * <pre>
6802      * Output only. Timestamp when this version was most recently updated.
6803      * </pre>
6804      *
6805      * <code>
6806      * .google.protobuf.Timestamp version_update_time = 32 [(.google.api.field_behavior) = OUTPUT_ONLY];
6807      * </code>
6808      */
getVersionUpdateTimeBuilder()6809     public com.google.protobuf.Timestamp.Builder getVersionUpdateTimeBuilder() {
6810       bitField0_ |= 0x00000010;
6811       onChanged();
6812       return getVersionUpdateTimeFieldBuilder().getBuilder();
6813     }
6814     /**
6815      *
6816      *
6817      * <pre>
6818      * Output only. Timestamp when this version was most recently updated.
6819      * </pre>
6820      *
6821      * <code>
6822      * .google.protobuf.Timestamp version_update_time = 32 [(.google.api.field_behavior) = OUTPUT_ONLY];
6823      * </code>
6824      */
getVersionUpdateTimeOrBuilder()6825     public com.google.protobuf.TimestampOrBuilder getVersionUpdateTimeOrBuilder() {
6826       if (versionUpdateTimeBuilder_ != null) {
6827         return versionUpdateTimeBuilder_.getMessageOrBuilder();
6828       } else {
6829         return versionUpdateTime_ == null
6830             ? com.google.protobuf.Timestamp.getDefaultInstance()
6831             : versionUpdateTime_;
6832       }
6833     }
6834     /**
6835      *
6836      *
6837      * <pre>
6838      * Output only. Timestamp when this version was most recently updated.
6839      * </pre>
6840      *
6841      * <code>
6842      * .google.protobuf.Timestamp version_update_time = 32 [(.google.api.field_behavior) = OUTPUT_ONLY];
6843      * </code>
6844      */
6845     private com.google.protobuf.SingleFieldBuilderV3<
6846             com.google.protobuf.Timestamp,
6847             com.google.protobuf.Timestamp.Builder,
6848             com.google.protobuf.TimestampOrBuilder>
getVersionUpdateTimeFieldBuilder()6849         getVersionUpdateTimeFieldBuilder() {
6850       if (versionUpdateTimeBuilder_ == null) {
6851         versionUpdateTimeBuilder_ =
6852             new com.google.protobuf.SingleFieldBuilderV3<
6853                 com.google.protobuf.Timestamp,
6854                 com.google.protobuf.Timestamp.Builder,
6855                 com.google.protobuf.TimestampOrBuilder>(
6856                 getVersionUpdateTime(), getParentForChildren(), isClean());
6857         versionUpdateTime_ = null;
6858       }
6859       return versionUpdateTimeBuilder_;
6860     }
6861 
6862     private java.lang.Object displayName_ = "";
6863     /**
6864      *
6865      *
6866      * <pre>
6867      * Required. The display name of the Model.
6868      * The name can be up to 128 characters long and can consist of any UTF-8
6869      * characters.
6870      * </pre>
6871      *
6872      * <code>string display_name = 2 [(.google.api.field_behavior) = REQUIRED];</code>
6873      *
6874      * @return The displayName.
6875      */
getDisplayName()6876     public java.lang.String getDisplayName() {
6877       java.lang.Object ref = displayName_;
6878       if (!(ref instanceof java.lang.String)) {
6879         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
6880         java.lang.String s = bs.toStringUtf8();
6881         displayName_ = s;
6882         return s;
6883       } else {
6884         return (java.lang.String) ref;
6885       }
6886     }
6887     /**
6888      *
6889      *
6890      * <pre>
6891      * Required. The display name of the Model.
6892      * The name can be up to 128 characters long and can consist of any UTF-8
6893      * characters.
6894      * </pre>
6895      *
6896      * <code>string display_name = 2 [(.google.api.field_behavior) = REQUIRED];</code>
6897      *
6898      * @return The bytes for displayName.
6899      */
getDisplayNameBytes()6900     public com.google.protobuf.ByteString getDisplayNameBytes() {
6901       java.lang.Object ref = displayName_;
6902       if (ref instanceof String) {
6903         com.google.protobuf.ByteString b =
6904             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
6905         displayName_ = b;
6906         return b;
6907       } else {
6908         return (com.google.protobuf.ByteString) ref;
6909       }
6910     }
6911     /**
6912      *
6913      *
6914      * <pre>
6915      * Required. The display name of the Model.
6916      * The name can be up to 128 characters long and can consist of any UTF-8
6917      * characters.
6918      * </pre>
6919      *
6920      * <code>string display_name = 2 [(.google.api.field_behavior) = REQUIRED];</code>
6921      *
6922      * @param value The displayName to set.
6923      * @return This builder for chaining.
6924      */
setDisplayName(java.lang.String value)6925     public Builder setDisplayName(java.lang.String value) {
6926       if (value == null) {
6927         throw new NullPointerException();
6928       }
6929       displayName_ = value;
6930       bitField0_ |= 0x00000020;
6931       onChanged();
6932       return this;
6933     }
6934     /**
6935      *
6936      *
6937      * <pre>
6938      * Required. The display name of the Model.
6939      * The name can be up to 128 characters long and can consist of any UTF-8
6940      * characters.
6941      * </pre>
6942      *
6943      * <code>string display_name = 2 [(.google.api.field_behavior) = REQUIRED];</code>
6944      *
6945      * @return This builder for chaining.
6946      */
clearDisplayName()6947     public Builder clearDisplayName() {
6948       displayName_ = getDefaultInstance().getDisplayName();
6949       bitField0_ = (bitField0_ & ~0x00000020);
6950       onChanged();
6951       return this;
6952     }
6953     /**
6954      *
6955      *
6956      * <pre>
6957      * Required. The display name of the Model.
6958      * The name can be up to 128 characters long and can consist of any UTF-8
6959      * characters.
6960      * </pre>
6961      *
6962      * <code>string display_name = 2 [(.google.api.field_behavior) = REQUIRED];</code>
6963      *
6964      * @param value The bytes for displayName to set.
6965      * @return This builder for chaining.
6966      */
setDisplayNameBytes(com.google.protobuf.ByteString value)6967     public Builder setDisplayNameBytes(com.google.protobuf.ByteString value) {
6968       if (value == null) {
6969         throw new NullPointerException();
6970       }
6971       checkByteStringIsUtf8(value);
6972       displayName_ = value;
6973       bitField0_ |= 0x00000020;
6974       onChanged();
6975       return this;
6976     }
6977 
6978     private java.lang.Object description_ = "";
6979     /**
6980      *
6981      *
6982      * <pre>
6983      * The description of the Model.
6984      * </pre>
6985      *
6986      * <code>string description = 3;</code>
6987      *
6988      * @return The description.
6989      */
getDescription()6990     public java.lang.String getDescription() {
6991       java.lang.Object ref = description_;
6992       if (!(ref instanceof java.lang.String)) {
6993         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
6994         java.lang.String s = bs.toStringUtf8();
6995         description_ = s;
6996         return s;
6997       } else {
6998         return (java.lang.String) ref;
6999       }
7000     }
7001     /**
7002      *
7003      *
7004      * <pre>
7005      * The description of the Model.
7006      * </pre>
7007      *
7008      * <code>string description = 3;</code>
7009      *
7010      * @return The bytes for description.
7011      */
getDescriptionBytes()7012     public com.google.protobuf.ByteString getDescriptionBytes() {
7013       java.lang.Object ref = description_;
7014       if (ref instanceof String) {
7015         com.google.protobuf.ByteString b =
7016             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
7017         description_ = b;
7018         return b;
7019       } else {
7020         return (com.google.protobuf.ByteString) ref;
7021       }
7022     }
7023     /**
7024      *
7025      *
7026      * <pre>
7027      * The description of the Model.
7028      * </pre>
7029      *
7030      * <code>string description = 3;</code>
7031      *
7032      * @param value The description to set.
7033      * @return This builder for chaining.
7034      */
setDescription(java.lang.String value)7035     public Builder setDescription(java.lang.String value) {
7036       if (value == null) {
7037         throw new NullPointerException();
7038       }
7039       description_ = value;
7040       bitField0_ |= 0x00000040;
7041       onChanged();
7042       return this;
7043     }
7044     /**
7045      *
7046      *
7047      * <pre>
7048      * The description of the Model.
7049      * </pre>
7050      *
7051      * <code>string description = 3;</code>
7052      *
7053      * @return This builder for chaining.
7054      */
clearDescription()7055     public Builder clearDescription() {
7056       description_ = getDefaultInstance().getDescription();
7057       bitField0_ = (bitField0_ & ~0x00000040);
7058       onChanged();
7059       return this;
7060     }
7061     /**
7062      *
7063      *
7064      * <pre>
7065      * The description of the Model.
7066      * </pre>
7067      *
7068      * <code>string description = 3;</code>
7069      *
7070      * @param value The bytes for description to set.
7071      * @return This builder for chaining.
7072      */
setDescriptionBytes(com.google.protobuf.ByteString value)7073     public Builder setDescriptionBytes(com.google.protobuf.ByteString value) {
7074       if (value == null) {
7075         throw new NullPointerException();
7076       }
7077       checkByteStringIsUtf8(value);
7078       description_ = value;
7079       bitField0_ |= 0x00000040;
7080       onChanged();
7081       return this;
7082     }
7083 
7084     private java.lang.Object versionDescription_ = "";
7085     /**
7086      *
7087      *
7088      * <pre>
7089      * The description of this version.
7090      * </pre>
7091      *
7092      * <code>string version_description = 30;</code>
7093      *
7094      * @return The versionDescription.
7095      */
getVersionDescription()7096     public java.lang.String getVersionDescription() {
7097       java.lang.Object ref = versionDescription_;
7098       if (!(ref instanceof java.lang.String)) {
7099         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
7100         java.lang.String s = bs.toStringUtf8();
7101         versionDescription_ = s;
7102         return s;
7103       } else {
7104         return (java.lang.String) ref;
7105       }
7106     }
7107     /**
7108      *
7109      *
7110      * <pre>
7111      * The description of this version.
7112      * </pre>
7113      *
7114      * <code>string version_description = 30;</code>
7115      *
7116      * @return The bytes for versionDescription.
7117      */
getVersionDescriptionBytes()7118     public com.google.protobuf.ByteString getVersionDescriptionBytes() {
7119       java.lang.Object ref = versionDescription_;
7120       if (ref instanceof String) {
7121         com.google.protobuf.ByteString b =
7122             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
7123         versionDescription_ = b;
7124         return b;
7125       } else {
7126         return (com.google.protobuf.ByteString) ref;
7127       }
7128     }
7129     /**
7130      *
7131      *
7132      * <pre>
7133      * The description of this version.
7134      * </pre>
7135      *
7136      * <code>string version_description = 30;</code>
7137      *
7138      * @param value The versionDescription to set.
7139      * @return This builder for chaining.
7140      */
setVersionDescription(java.lang.String value)7141     public Builder setVersionDescription(java.lang.String value) {
7142       if (value == null) {
7143         throw new NullPointerException();
7144       }
7145       versionDescription_ = value;
7146       bitField0_ |= 0x00000080;
7147       onChanged();
7148       return this;
7149     }
7150     /**
7151      *
7152      *
7153      * <pre>
7154      * The description of this version.
7155      * </pre>
7156      *
7157      * <code>string version_description = 30;</code>
7158      *
7159      * @return This builder for chaining.
7160      */
clearVersionDescription()7161     public Builder clearVersionDescription() {
7162       versionDescription_ = getDefaultInstance().getVersionDescription();
7163       bitField0_ = (bitField0_ & ~0x00000080);
7164       onChanged();
7165       return this;
7166     }
7167     /**
7168      *
7169      *
7170      * <pre>
7171      * The description of this version.
7172      * </pre>
7173      *
7174      * <code>string version_description = 30;</code>
7175      *
7176      * @param value The bytes for versionDescription to set.
7177      * @return This builder for chaining.
7178      */
setVersionDescriptionBytes(com.google.protobuf.ByteString value)7179     public Builder setVersionDescriptionBytes(com.google.protobuf.ByteString value) {
7180       if (value == null) {
7181         throw new NullPointerException();
7182       }
7183       checkByteStringIsUtf8(value);
7184       versionDescription_ = value;
7185       bitField0_ |= 0x00000080;
7186       onChanged();
7187       return this;
7188     }
7189 
7190     private com.google.cloud.aiplatform.v1.PredictSchemata predictSchemata_;
7191     private com.google.protobuf.SingleFieldBuilderV3<
7192             com.google.cloud.aiplatform.v1.PredictSchemata,
7193             com.google.cloud.aiplatform.v1.PredictSchemata.Builder,
7194             com.google.cloud.aiplatform.v1.PredictSchemataOrBuilder>
7195         predictSchemataBuilder_;
7196     /**
7197      *
7198      *
7199      * <pre>
7200      * The schemata that describe formats of the Model's predictions and
7201      * explanations as given and returned via
7202      * [PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict]
7203      * and
7204      * [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain].
7205      * </pre>
7206      *
7207      * <code>.google.cloud.aiplatform.v1.PredictSchemata predict_schemata = 4;</code>
7208      *
7209      * @return Whether the predictSchemata field is set.
7210      */
hasPredictSchemata()7211     public boolean hasPredictSchemata() {
7212       return ((bitField0_ & 0x00000100) != 0);
7213     }
7214     /**
7215      *
7216      *
7217      * <pre>
7218      * The schemata that describe formats of the Model's predictions and
7219      * explanations as given and returned via
7220      * [PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict]
7221      * and
7222      * [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain].
7223      * </pre>
7224      *
7225      * <code>.google.cloud.aiplatform.v1.PredictSchemata predict_schemata = 4;</code>
7226      *
7227      * @return The predictSchemata.
7228      */
getPredictSchemata()7229     public com.google.cloud.aiplatform.v1.PredictSchemata getPredictSchemata() {
7230       if (predictSchemataBuilder_ == null) {
7231         return predictSchemata_ == null
7232             ? com.google.cloud.aiplatform.v1.PredictSchemata.getDefaultInstance()
7233             : predictSchemata_;
7234       } else {
7235         return predictSchemataBuilder_.getMessage();
7236       }
7237     }
7238     /**
7239      *
7240      *
7241      * <pre>
7242      * The schemata that describe formats of the Model's predictions and
7243      * explanations as given and returned via
7244      * [PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict]
7245      * and
7246      * [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain].
7247      * </pre>
7248      *
7249      * <code>.google.cloud.aiplatform.v1.PredictSchemata predict_schemata = 4;</code>
7250      */
setPredictSchemata(com.google.cloud.aiplatform.v1.PredictSchemata value)7251     public Builder setPredictSchemata(com.google.cloud.aiplatform.v1.PredictSchemata value) {
7252       if (predictSchemataBuilder_ == null) {
7253         if (value == null) {
7254           throw new NullPointerException();
7255         }
7256         predictSchemata_ = value;
7257       } else {
7258         predictSchemataBuilder_.setMessage(value);
7259       }
7260       bitField0_ |= 0x00000100;
7261       onChanged();
7262       return this;
7263     }
7264     /**
7265      *
7266      *
7267      * <pre>
7268      * The schemata that describe formats of the Model's predictions and
7269      * explanations as given and returned via
7270      * [PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict]
7271      * and
7272      * [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain].
7273      * </pre>
7274      *
7275      * <code>.google.cloud.aiplatform.v1.PredictSchemata predict_schemata = 4;</code>
7276      */
setPredictSchemata( com.google.cloud.aiplatform.v1.PredictSchemata.Builder builderForValue)7277     public Builder setPredictSchemata(
7278         com.google.cloud.aiplatform.v1.PredictSchemata.Builder builderForValue) {
7279       if (predictSchemataBuilder_ == null) {
7280         predictSchemata_ = builderForValue.build();
7281       } else {
7282         predictSchemataBuilder_.setMessage(builderForValue.build());
7283       }
7284       bitField0_ |= 0x00000100;
7285       onChanged();
7286       return this;
7287     }
7288     /**
7289      *
7290      *
7291      * <pre>
7292      * The schemata that describe formats of the Model's predictions and
7293      * explanations as given and returned via
7294      * [PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict]
7295      * and
7296      * [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain].
7297      * </pre>
7298      *
7299      * <code>.google.cloud.aiplatform.v1.PredictSchemata predict_schemata = 4;</code>
7300      */
mergePredictSchemata(com.google.cloud.aiplatform.v1.PredictSchemata value)7301     public Builder mergePredictSchemata(com.google.cloud.aiplatform.v1.PredictSchemata value) {
7302       if (predictSchemataBuilder_ == null) {
7303         if (((bitField0_ & 0x00000100) != 0)
7304             && predictSchemata_ != null
7305             && predictSchemata_
7306                 != com.google.cloud.aiplatform.v1.PredictSchemata.getDefaultInstance()) {
7307           getPredictSchemataBuilder().mergeFrom(value);
7308         } else {
7309           predictSchemata_ = value;
7310         }
7311       } else {
7312         predictSchemataBuilder_.mergeFrom(value);
7313       }
7314       bitField0_ |= 0x00000100;
7315       onChanged();
7316       return this;
7317     }
7318     /**
7319      *
7320      *
7321      * <pre>
7322      * The schemata that describe formats of the Model's predictions and
7323      * explanations as given and returned via
7324      * [PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict]
7325      * and
7326      * [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain].
7327      * </pre>
7328      *
7329      * <code>.google.cloud.aiplatform.v1.PredictSchemata predict_schemata = 4;</code>
7330      */
clearPredictSchemata()7331     public Builder clearPredictSchemata() {
7332       bitField0_ = (bitField0_ & ~0x00000100);
7333       predictSchemata_ = null;
7334       if (predictSchemataBuilder_ != null) {
7335         predictSchemataBuilder_.dispose();
7336         predictSchemataBuilder_ = null;
7337       }
7338       onChanged();
7339       return this;
7340     }
7341     /**
7342      *
7343      *
7344      * <pre>
7345      * The schemata that describe formats of the Model's predictions and
7346      * explanations as given and returned via
7347      * [PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict]
7348      * and
7349      * [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain].
7350      * </pre>
7351      *
7352      * <code>.google.cloud.aiplatform.v1.PredictSchemata predict_schemata = 4;</code>
7353      */
getPredictSchemataBuilder()7354     public com.google.cloud.aiplatform.v1.PredictSchemata.Builder getPredictSchemataBuilder() {
7355       bitField0_ |= 0x00000100;
7356       onChanged();
7357       return getPredictSchemataFieldBuilder().getBuilder();
7358     }
7359     /**
7360      *
7361      *
7362      * <pre>
7363      * The schemata that describe formats of the Model's predictions and
7364      * explanations as given and returned via
7365      * [PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict]
7366      * and
7367      * [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain].
7368      * </pre>
7369      *
7370      * <code>.google.cloud.aiplatform.v1.PredictSchemata predict_schemata = 4;</code>
7371      */
getPredictSchemataOrBuilder()7372     public com.google.cloud.aiplatform.v1.PredictSchemataOrBuilder getPredictSchemataOrBuilder() {
7373       if (predictSchemataBuilder_ != null) {
7374         return predictSchemataBuilder_.getMessageOrBuilder();
7375       } else {
7376         return predictSchemata_ == null
7377             ? com.google.cloud.aiplatform.v1.PredictSchemata.getDefaultInstance()
7378             : predictSchemata_;
7379       }
7380     }
7381     /**
7382      *
7383      *
7384      * <pre>
7385      * The schemata that describe formats of the Model's predictions and
7386      * explanations as given and returned via
7387      * [PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict]
7388      * and
7389      * [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain].
7390      * </pre>
7391      *
7392      * <code>.google.cloud.aiplatform.v1.PredictSchemata predict_schemata = 4;</code>
7393      */
7394     private com.google.protobuf.SingleFieldBuilderV3<
7395             com.google.cloud.aiplatform.v1.PredictSchemata,
7396             com.google.cloud.aiplatform.v1.PredictSchemata.Builder,
7397             com.google.cloud.aiplatform.v1.PredictSchemataOrBuilder>
getPredictSchemataFieldBuilder()7398         getPredictSchemataFieldBuilder() {
7399       if (predictSchemataBuilder_ == null) {
7400         predictSchemataBuilder_ =
7401             new com.google.protobuf.SingleFieldBuilderV3<
7402                 com.google.cloud.aiplatform.v1.PredictSchemata,
7403                 com.google.cloud.aiplatform.v1.PredictSchemata.Builder,
7404                 com.google.cloud.aiplatform.v1.PredictSchemataOrBuilder>(
7405                 getPredictSchemata(), getParentForChildren(), isClean());
7406         predictSchemata_ = null;
7407       }
7408       return predictSchemataBuilder_;
7409     }
7410 
7411     private java.lang.Object metadataSchemaUri_ = "";
7412     /**
7413      *
7414      *
7415      * <pre>
7416      * Immutable. Points to a YAML file stored on Google Cloud Storage describing
7417      * additional information about the Model, that is specific to it. Unset if
7418      * the Model does not have any additional information. The schema is defined
7419      * as an OpenAPI 3.0.2 [Schema
7420      * Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject).
7421      * AutoML Models always have this field populated by Vertex AI, if no
7422      * additional metadata is needed, this field is set to an empty string.
7423      * Note: The URI given on output will be immutable and probably different,
7424      * including the URI scheme, than the one given on input. The output URI will
7425      * point to a location where the user only has a read access.
7426      * </pre>
7427      *
7428      * <code>string metadata_schema_uri = 5 [(.google.api.field_behavior) = IMMUTABLE];</code>
7429      *
7430      * @return The metadataSchemaUri.
7431      */
getMetadataSchemaUri()7432     public java.lang.String getMetadataSchemaUri() {
7433       java.lang.Object ref = metadataSchemaUri_;
7434       if (!(ref instanceof java.lang.String)) {
7435         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
7436         java.lang.String s = bs.toStringUtf8();
7437         metadataSchemaUri_ = s;
7438         return s;
7439       } else {
7440         return (java.lang.String) ref;
7441       }
7442     }
7443     /**
7444      *
7445      *
7446      * <pre>
7447      * Immutable. Points to a YAML file stored on Google Cloud Storage describing
7448      * additional information about the Model, that is specific to it. Unset if
7449      * the Model does not have any additional information. The schema is defined
7450      * as an OpenAPI 3.0.2 [Schema
7451      * Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject).
7452      * AutoML Models always have this field populated by Vertex AI, if no
7453      * additional metadata is needed, this field is set to an empty string.
7454      * Note: The URI given on output will be immutable and probably different,
7455      * including the URI scheme, than the one given on input. The output URI will
7456      * point to a location where the user only has a read access.
7457      * </pre>
7458      *
7459      * <code>string metadata_schema_uri = 5 [(.google.api.field_behavior) = IMMUTABLE];</code>
7460      *
7461      * @return The bytes for metadataSchemaUri.
7462      */
getMetadataSchemaUriBytes()7463     public com.google.protobuf.ByteString getMetadataSchemaUriBytes() {
7464       java.lang.Object ref = metadataSchemaUri_;
7465       if (ref instanceof String) {
7466         com.google.protobuf.ByteString b =
7467             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
7468         metadataSchemaUri_ = b;
7469         return b;
7470       } else {
7471         return (com.google.protobuf.ByteString) ref;
7472       }
7473     }
7474     /**
7475      *
7476      *
7477      * <pre>
7478      * Immutable. Points to a YAML file stored on Google Cloud Storage describing
7479      * additional information about the Model, that is specific to it. Unset if
7480      * the Model does not have any additional information. The schema is defined
7481      * as an OpenAPI 3.0.2 [Schema
7482      * Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject).
7483      * AutoML Models always have this field populated by Vertex AI, if no
7484      * additional metadata is needed, this field is set to an empty string.
7485      * Note: The URI given on output will be immutable and probably different,
7486      * including the URI scheme, than the one given on input. The output URI will
7487      * point to a location where the user only has a read access.
7488      * </pre>
7489      *
7490      * <code>string metadata_schema_uri = 5 [(.google.api.field_behavior) = IMMUTABLE];</code>
7491      *
7492      * @param value The metadataSchemaUri to set.
7493      * @return This builder for chaining.
7494      */
setMetadataSchemaUri(java.lang.String value)7495     public Builder setMetadataSchemaUri(java.lang.String value) {
7496       if (value == null) {
7497         throw new NullPointerException();
7498       }
7499       metadataSchemaUri_ = value;
7500       bitField0_ |= 0x00000200;
7501       onChanged();
7502       return this;
7503     }
7504     /**
7505      *
7506      *
7507      * <pre>
7508      * Immutable. Points to a YAML file stored on Google Cloud Storage describing
7509      * additional information about the Model, that is specific to it. Unset if
7510      * the Model does not have any additional information. The schema is defined
7511      * as an OpenAPI 3.0.2 [Schema
7512      * Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject).
7513      * AutoML Models always have this field populated by Vertex AI, if no
7514      * additional metadata is needed, this field is set to an empty string.
7515      * Note: The URI given on output will be immutable and probably different,
7516      * including the URI scheme, than the one given on input. The output URI will
7517      * point to a location where the user only has a read access.
7518      * </pre>
7519      *
7520      * <code>string metadata_schema_uri = 5 [(.google.api.field_behavior) = IMMUTABLE];</code>
7521      *
7522      * @return This builder for chaining.
7523      */
clearMetadataSchemaUri()7524     public Builder clearMetadataSchemaUri() {
7525       metadataSchemaUri_ = getDefaultInstance().getMetadataSchemaUri();
7526       bitField0_ = (bitField0_ & ~0x00000200);
7527       onChanged();
7528       return this;
7529     }
7530     /**
7531      *
7532      *
7533      * <pre>
7534      * Immutable. Points to a YAML file stored on Google Cloud Storage describing
7535      * additional information about the Model, that is specific to it. Unset if
7536      * the Model does not have any additional information. The schema is defined
7537      * as an OpenAPI 3.0.2 [Schema
7538      * Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject).
7539      * AutoML Models always have this field populated by Vertex AI, if no
7540      * additional metadata is needed, this field is set to an empty string.
7541      * Note: The URI given on output will be immutable and probably different,
7542      * including the URI scheme, than the one given on input. The output URI will
7543      * point to a location where the user only has a read access.
7544      * </pre>
7545      *
7546      * <code>string metadata_schema_uri = 5 [(.google.api.field_behavior) = IMMUTABLE];</code>
7547      *
7548      * @param value The bytes for metadataSchemaUri to set.
7549      * @return This builder for chaining.
7550      */
setMetadataSchemaUriBytes(com.google.protobuf.ByteString value)7551     public Builder setMetadataSchemaUriBytes(com.google.protobuf.ByteString value) {
7552       if (value == null) {
7553         throw new NullPointerException();
7554       }
7555       checkByteStringIsUtf8(value);
7556       metadataSchemaUri_ = value;
7557       bitField0_ |= 0x00000200;
7558       onChanged();
7559       return this;
7560     }
7561 
7562     private com.google.protobuf.Value metadata_;
7563     private com.google.protobuf.SingleFieldBuilderV3<
7564             com.google.protobuf.Value,
7565             com.google.protobuf.Value.Builder,
7566             com.google.protobuf.ValueOrBuilder>
7567         metadataBuilder_;
7568     /**
7569      *
7570      *
7571      * <pre>
7572      * Immutable. An additional information about the Model; the schema of the
7573      * metadata can be found in
7574      * [metadata_schema][google.cloud.aiplatform.v1.Model.metadata_schema_uri].
7575      * Unset if the Model does not have any additional information.
7576      * </pre>
7577      *
7578      * <code>.google.protobuf.Value metadata = 6 [(.google.api.field_behavior) = IMMUTABLE];</code>
7579      *
7580      * @return Whether the metadata field is set.
7581      */
hasMetadata()7582     public boolean hasMetadata() {
7583       return ((bitField0_ & 0x00000400) != 0);
7584     }
7585     /**
7586      *
7587      *
7588      * <pre>
7589      * Immutable. An additional information about the Model; the schema of the
7590      * metadata can be found in
7591      * [metadata_schema][google.cloud.aiplatform.v1.Model.metadata_schema_uri].
7592      * Unset if the Model does not have any additional information.
7593      * </pre>
7594      *
7595      * <code>.google.protobuf.Value metadata = 6 [(.google.api.field_behavior) = IMMUTABLE];</code>
7596      *
7597      * @return The metadata.
7598      */
getMetadata()7599     public com.google.protobuf.Value getMetadata() {
7600       if (metadataBuilder_ == null) {
7601         return metadata_ == null ? com.google.protobuf.Value.getDefaultInstance() : metadata_;
7602       } else {
7603         return metadataBuilder_.getMessage();
7604       }
7605     }
7606     /**
7607      *
7608      *
7609      * <pre>
7610      * Immutable. An additional information about the Model; the schema of the
7611      * metadata can be found in
7612      * [metadata_schema][google.cloud.aiplatform.v1.Model.metadata_schema_uri].
7613      * Unset if the Model does not have any additional information.
7614      * </pre>
7615      *
7616      * <code>.google.protobuf.Value metadata = 6 [(.google.api.field_behavior) = IMMUTABLE];</code>
7617      */
setMetadata(com.google.protobuf.Value value)7618     public Builder setMetadata(com.google.protobuf.Value value) {
7619       if (metadataBuilder_ == null) {
7620         if (value == null) {
7621           throw new NullPointerException();
7622         }
7623         metadata_ = value;
7624       } else {
7625         metadataBuilder_.setMessage(value);
7626       }
7627       bitField0_ |= 0x00000400;
7628       onChanged();
7629       return this;
7630     }
7631     /**
7632      *
7633      *
7634      * <pre>
7635      * Immutable. An additional information about the Model; the schema of the
7636      * metadata can be found in
7637      * [metadata_schema][google.cloud.aiplatform.v1.Model.metadata_schema_uri].
7638      * Unset if the Model does not have any additional information.
7639      * </pre>
7640      *
7641      * <code>.google.protobuf.Value metadata = 6 [(.google.api.field_behavior) = IMMUTABLE];</code>
7642      */
setMetadata(com.google.protobuf.Value.Builder builderForValue)7643     public Builder setMetadata(com.google.protobuf.Value.Builder builderForValue) {
7644       if (metadataBuilder_ == null) {
7645         metadata_ = builderForValue.build();
7646       } else {
7647         metadataBuilder_.setMessage(builderForValue.build());
7648       }
7649       bitField0_ |= 0x00000400;
7650       onChanged();
7651       return this;
7652     }
7653     /**
7654      *
7655      *
7656      * <pre>
7657      * Immutable. An additional information about the Model; the schema of the
7658      * metadata can be found in
7659      * [metadata_schema][google.cloud.aiplatform.v1.Model.metadata_schema_uri].
7660      * Unset if the Model does not have any additional information.
7661      * </pre>
7662      *
7663      * <code>.google.protobuf.Value metadata = 6 [(.google.api.field_behavior) = IMMUTABLE];</code>
7664      */
mergeMetadata(com.google.protobuf.Value value)7665     public Builder mergeMetadata(com.google.protobuf.Value value) {
7666       if (metadataBuilder_ == null) {
7667         if (((bitField0_ & 0x00000400) != 0)
7668             && metadata_ != null
7669             && metadata_ != com.google.protobuf.Value.getDefaultInstance()) {
7670           getMetadataBuilder().mergeFrom(value);
7671         } else {
7672           metadata_ = value;
7673         }
7674       } else {
7675         metadataBuilder_.mergeFrom(value);
7676       }
7677       bitField0_ |= 0x00000400;
7678       onChanged();
7679       return this;
7680     }
7681     /**
7682      *
7683      *
7684      * <pre>
7685      * Immutable. An additional information about the Model; the schema of the
7686      * metadata can be found in
7687      * [metadata_schema][google.cloud.aiplatform.v1.Model.metadata_schema_uri].
7688      * Unset if the Model does not have any additional information.
7689      * </pre>
7690      *
7691      * <code>.google.protobuf.Value metadata = 6 [(.google.api.field_behavior) = IMMUTABLE];</code>
7692      */
clearMetadata()7693     public Builder clearMetadata() {
7694       bitField0_ = (bitField0_ & ~0x00000400);
7695       metadata_ = null;
7696       if (metadataBuilder_ != null) {
7697         metadataBuilder_.dispose();
7698         metadataBuilder_ = null;
7699       }
7700       onChanged();
7701       return this;
7702     }
7703     /**
7704      *
7705      *
7706      * <pre>
7707      * Immutable. An additional information about the Model; the schema of the
7708      * metadata can be found in
7709      * [metadata_schema][google.cloud.aiplatform.v1.Model.metadata_schema_uri].
7710      * Unset if the Model does not have any additional information.
7711      * </pre>
7712      *
7713      * <code>.google.protobuf.Value metadata = 6 [(.google.api.field_behavior) = IMMUTABLE];</code>
7714      */
getMetadataBuilder()7715     public com.google.protobuf.Value.Builder getMetadataBuilder() {
7716       bitField0_ |= 0x00000400;
7717       onChanged();
7718       return getMetadataFieldBuilder().getBuilder();
7719     }
7720     /**
7721      *
7722      *
7723      * <pre>
7724      * Immutable. An additional information about the Model; the schema of the
7725      * metadata can be found in
7726      * [metadata_schema][google.cloud.aiplatform.v1.Model.metadata_schema_uri].
7727      * Unset if the Model does not have any additional information.
7728      * </pre>
7729      *
7730      * <code>.google.protobuf.Value metadata = 6 [(.google.api.field_behavior) = IMMUTABLE];</code>
7731      */
getMetadataOrBuilder()7732     public com.google.protobuf.ValueOrBuilder getMetadataOrBuilder() {
7733       if (metadataBuilder_ != null) {
7734         return metadataBuilder_.getMessageOrBuilder();
7735       } else {
7736         return metadata_ == null ? com.google.protobuf.Value.getDefaultInstance() : metadata_;
7737       }
7738     }
7739     /**
7740      *
7741      *
7742      * <pre>
7743      * Immutable. An additional information about the Model; the schema of the
7744      * metadata can be found in
7745      * [metadata_schema][google.cloud.aiplatform.v1.Model.metadata_schema_uri].
7746      * Unset if the Model does not have any additional information.
7747      * </pre>
7748      *
7749      * <code>.google.protobuf.Value metadata = 6 [(.google.api.field_behavior) = IMMUTABLE];</code>
7750      */
7751     private com.google.protobuf.SingleFieldBuilderV3<
7752             com.google.protobuf.Value,
7753             com.google.protobuf.Value.Builder,
7754             com.google.protobuf.ValueOrBuilder>
getMetadataFieldBuilder()7755         getMetadataFieldBuilder() {
7756       if (metadataBuilder_ == null) {
7757         metadataBuilder_ =
7758             new com.google.protobuf.SingleFieldBuilderV3<
7759                 com.google.protobuf.Value,
7760                 com.google.protobuf.Value.Builder,
7761                 com.google.protobuf.ValueOrBuilder>(
7762                 getMetadata(), getParentForChildren(), isClean());
7763         metadata_ = null;
7764       }
7765       return metadataBuilder_;
7766     }
7767 
7768     private java.util.List<com.google.cloud.aiplatform.v1.Model.ExportFormat>
7769         supportedExportFormats_ = java.util.Collections.emptyList();
7770 
ensureSupportedExportFormatsIsMutable()7771     private void ensureSupportedExportFormatsIsMutable() {
7772       if (!((bitField0_ & 0x00000800) != 0)) {
7773         supportedExportFormats_ =
7774             new java.util.ArrayList<com.google.cloud.aiplatform.v1.Model.ExportFormat>(
7775                 supportedExportFormats_);
7776         bitField0_ |= 0x00000800;
7777       }
7778     }
7779 
7780     private com.google.protobuf.RepeatedFieldBuilderV3<
7781             com.google.cloud.aiplatform.v1.Model.ExportFormat,
7782             com.google.cloud.aiplatform.v1.Model.ExportFormat.Builder,
7783             com.google.cloud.aiplatform.v1.Model.ExportFormatOrBuilder>
7784         supportedExportFormatsBuilder_;
7785 
7786     /**
7787      *
7788      *
7789      * <pre>
7790      * Output only. The formats in which this Model may be exported. If empty,
7791      * this Model is not available for export.
7792      * </pre>
7793      *
7794      * <code>
7795      * repeated .google.cloud.aiplatform.v1.Model.ExportFormat supported_export_formats = 20 [(.google.api.field_behavior) = OUTPUT_ONLY];
7796      * </code>
7797      */
7798     public java.util.List<com.google.cloud.aiplatform.v1.Model.ExportFormat>
getSupportedExportFormatsList()7799         getSupportedExportFormatsList() {
7800       if (supportedExportFormatsBuilder_ == null) {
7801         return java.util.Collections.unmodifiableList(supportedExportFormats_);
7802       } else {
7803         return supportedExportFormatsBuilder_.getMessageList();
7804       }
7805     }
7806     /**
7807      *
7808      *
7809      * <pre>
7810      * Output only. The formats in which this Model may be exported. If empty,
7811      * this Model is not available for export.
7812      * </pre>
7813      *
7814      * <code>
7815      * repeated .google.cloud.aiplatform.v1.Model.ExportFormat supported_export_formats = 20 [(.google.api.field_behavior) = OUTPUT_ONLY];
7816      * </code>
7817      */
getSupportedExportFormatsCount()7818     public int getSupportedExportFormatsCount() {
7819       if (supportedExportFormatsBuilder_ == null) {
7820         return supportedExportFormats_.size();
7821       } else {
7822         return supportedExportFormatsBuilder_.getCount();
7823       }
7824     }
7825     /**
7826      *
7827      *
7828      * <pre>
7829      * Output only. The formats in which this Model may be exported. If empty,
7830      * this Model is not available for export.
7831      * </pre>
7832      *
7833      * <code>
7834      * repeated .google.cloud.aiplatform.v1.Model.ExportFormat supported_export_formats = 20 [(.google.api.field_behavior) = OUTPUT_ONLY];
7835      * </code>
7836      */
getSupportedExportFormats(int index)7837     public com.google.cloud.aiplatform.v1.Model.ExportFormat getSupportedExportFormats(int index) {
7838       if (supportedExportFormatsBuilder_ == null) {
7839         return supportedExportFormats_.get(index);
7840       } else {
7841         return supportedExportFormatsBuilder_.getMessage(index);
7842       }
7843     }
7844     /**
7845      *
7846      *
7847      * <pre>
7848      * Output only. The formats in which this Model may be exported. If empty,
7849      * this Model is not available for export.
7850      * </pre>
7851      *
7852      * <code>
7853      * repeated .google.cloud.aiplatform.v1.Model.ExportFormat supported_export_formats = 20 [(.google.api.field_behavior) = OUTPUT_ONLY];
7854      * </code>
7855      */
setSupportedExportFormats( int index, com.google.cloud.aiplatform.v1.Model.ExportFormat value)7856     public Builder setSupportedExportFormats(
7857         int index, com.google.cloud.aiplatform.v1.Model.ExportFormat value) {
7858       if (supportedExportFormatsBuilder_ == null) {
7859         if (value == null) {
7860           throw new NullPointerException();
7861         }
7862         ensureSupportedExportFormatsIsMutable();
7863         supportedExportFormats_.set(index, value);
7864         onChanged();
7865       } else {
7866         supportedExportFormatsBuilder_.setMessage(index, value);
7867       }
7868       return this;
7869     }
7870     /**
7871      *
7872      *
7873      * <pre>
7874      * Output only. The formats in which this Model may be exported. If empty,
7875      * this Model is not available for export.
7876      * </pre>
7877      *
7878      * <code>
7879      * repeated .google.cloud.aiplatform.v1.Model.ExportFormat supported_export_formats = 20 [(.google.api.field_behavior) = OUTPUT_ONLY];
7880      * </code>
7881      */
setSupportedExportFormats( int index, com.google.cloud.aiplatform.v1.Model.ExportFormat.Builder builderForValue)7882     public Builder setSupportedExportFormats(
7883         int index, com.google.cloud.aiplatform.v1.Model.ExportFormat.Builder builderForValue) {
7884       if (supportedExportFormatsBuilder_ == null) {
7885         ensureSupportedExportFormatsIsMutable();
7886         supportedExportFormats_.set(index, builderForValue.build());
7887         onChanged();
7888       } else {
7889         supportedExportFormatsBuilder_.setMessage(index, builderForValue.build());
7890       }
7891       return this;
7892     }
7893     /**
7894      *
7895      *
7896      * <pre>
7897      * Output only. The formats in which this Model may be exported. If empty,
7898      * this Model is not available for export.
7899      * </pre>
7900      *
7901      * <code>
7902      * repeated .google.cloud.aiplatform.v1.Model.ExportFormat supported_export_formats = 20 [(.google.api.field_behavior) = OUTPUT_ONLY];
7903      * </code>
7904      */
addSupportedExportFormats( com.google.cloud.aiplatform.v1.Model.ExportFormat value)7905     public Builder addSupportedExportFormats(
7906         com.google.cloud.aiplatform.v1.Model.ExportFormat value) {
7907       if (supportedExportFormatsBuilder_ == null) {
7908         if (value == null) {
7909           throw new NullPointerException();
7910         }
7911         ensureSupportedExportFormatsIsMutable();
7912         supportedExportFormats_.add(value);
7913         onChanged();
7914       } else {
7915         supportedExportFormatsBuilder_.addMessage(value);
7916       }
7917       return this;
7918     }
7919     /**
7920      *
7921      *
7922      * <pre>
7923      * Output only. The formats in which this Model may be exported. If empty,
7924      * this Model is not available for export.
7925      * </pre>
7926      *
7927      * <code>
7928      * repeated .google.cloud.aiplatform.v1.Model.ExportFormat supported_export_formats = 20 [(.google.api.field_behavior) = OUTPUT_ONLY];
7929      * </code>
7930      */
addSupportedExportFormats( int index, com.google.cloud.aiplatform.v1.Model.ExportFormat value)7931     public Builder addSupportedExportFormats(
7932         int index, com.google.cloud.aiplatform.v1.Model.ExportFormat value) {
7933       if (supportedExportFormatsBuilder_ == null) {
7934         if (value == null) {
7935           throw new NullPointerException();
7936         }
7937         ensureSupportedExportFormatsIsMutable();
7938         supportedExportFormats_.add(index, value);
7939         onChanged();
7940       } else {
7941         supportedExportFormatsBuilder_.addMessage(index, value);
7942       }
7943       return this;
7944     }
7945     /**
7946      *
7947      *
7948      * <pre>
7949      * Output only. The formats in which this Model may be exported. If empty,
7950      * this Model is not available for export.
7951      * </pre>
7952      *
7953      * <code>
7954      * repeated .google.cloud.aiplatform.v1.Model.ExportFormat supported_export_formats = 20 [(.google.api.field_behavior) = OUTPUT_ONLY];
7955      * </code>
7956      */
addSupportedExportFormats( com.google.cloud.aiplatform.v1.Model.ExportFormat.Builder builderForValue)7957     public Builder addSupportedExportFormats(
7958         com.google.cloud.aiplatform.v1.Model.ExportFormat.Builder builderForValue) {
7959       if (supportedExportFormatsBuilder_ == null) {
7960         ensureSupportedExportFormatsIsMutable();
7961         supportedExportFormats_.add(builderForValue.build());
7962         onChanged();
7963       } else {
7964         supportedExportFormatsBuilder_.addMessage(builderForValue.build());
7965       }
7966       return this;
7967     }
7968     /**
7969      *
7970      *
7971      * <pre>
7972      * Output only. The formats in which this Model may be exported. If empty,
7973      * this Model is not available for export.
7974      * </pre>
7975      *
7976      * <code>
7977      * repeated .google.cloud.aiplatform.v1.Model.ExportFormat supported_export_formats = 20 [(.google.api.field_behavior) = OUTPUT_ONLY];
7978      * </code>
7979      */
addSupportedExportFormats( int index, com.google.cloud.aiplatform.v1.Model.ExportFormat.Builder builderForValue)7980     public Builder addSupportedExportFormats(
7981         int index, com.google.cloud.aiplatform.v1.Model.ExportFormat.Builder builderForValue) {
7982       if (supportedExportFormatsBuilder_ == null) {
7983         ensureSupportedExportFormatsIsMutable();
7984         supportedExportFormats_.add(index, builderForValue.build());
7985         onChanged();
7986       } else {
7987         supportedExportFormatsBuilder_.addMessage(index, builderForValue.build());
7988       }
7989       return this;
7990     }
7991     /**
7992      *
7993      *
7994      * <pre>
7995      * Output only. The formats in which this Model may be exported. If empty,
7996      * this Model is not available for export.
7997      * </pre>
7998      *
7999      * <code>
8000      * repeated .google.cloud.aiplatform.v1.Model.ExportFormat supported_export_formats = 20 [(.google.api.field_behavior) = OUTPUT_ONLY];
8001      * </code>
8002      */
addAllSupportedExportFormats( java.lang.Iterable<? extends com.google.cloud.aiplatform.v1.Model.ExportFormat> values)8003     public Builder addAllSupportedExportFormats(
8004         java.lang.Iterable<? extends com.google.cloud.aiplatform.v1.Model.ExportFormat> values) {
8005       if (supportedExportFormatsBuilder_ == null) {
8006         ensureSupportedExportFormatsIsMutable();
8007         com.google.protobuf.AbstractMessageLite.Builder.addAll(values, supportedExportFormats_);
8008         onChanged();
8009       } else {
8010         supportedExportFormatsBuilder_.addAllMessages(values);
8011       }
8012       return this;
8013     }
8014     /**
8015      *
8016      *
8017      * <pre>
8018      * Output only. The formats in which this Model may be exported. If empty,
8019      * this Model is not available for export.
8020      * </pre>
8021      *
8022      * <code>
8023      * repeated .google.cloud.aiplatform.v1.Model.ExportFormat supported_export_formats = 20 [(.google.api.field_behavior) = OUTPUT_ONLY];
8024      * </code>
8025      */
clearSupportedExportFormats()8026     public Builder clearSupportedExportFormats() {
8027       if (supportedExportFormatsBuilder_ == null) {
8028         supportedExportFormats_ = java.util.Collections.emptyList();
8029         bitField0_ = (bitField0_ & ~0x00000800);
8030         onChanged();
8031       } else {
8032         supportedExportFormatsBuilder_.clear();
8033       }
8034       return this;
8035     }
8036     /**
8037      *
8038      *
8039      * <pre>
8040      * Output only. The formats in which this Model may be exported. If empty,
8041      * this Model is not available for export.
8042      * </pre>
8043      *
8044      * <code>
8045      * repeated .google.cloud.aiplatform.v1.Model.ExportFormat supported_export_formats = 20 [(.google.api.field_behavior) = OUTPUT_ONLY];
8046      * </code>
8047      */
removeSupportedExportFormats(int index)8048     public Builder removeSupportedExportFormats(int index) {
8049       if (supportedExportFormatsBuilder_ == null) {
8050         ensureSupportedExportFormatsIsMutable();
8051         supportedExportFormats_.remove(index);
8052         onChanged();
8053       } else {
8054         supportedExportFormatsBuilder_.remove(index);
8055       }
8056       return this;
8057     }
8058     /**
8059      *
8060      *
8061      * <pre>
8062      * Output only. The formats in which this Model may be exported. If empty,
8063      * this Model is not available for export.
8064      * </pre>
8065      *
8066      * <code>
8067      * repeated .google.cloud.aiplatform.v1.Model.ExportFormat supported_export_formats = 20 [(.google.api.field_behavior) = OUTPUT_ONLY];
8068      * </code>
8069      */
8070     public com.google.cloud.aiplatform.v1.Model.ExportFormat.Builder
getSupportedExportFormatsBuilder(int index)8071         getSupportedExportFormatsBuilder(int index) {
8072       return getSupportedExportFormatsFieldBuilder().getBuilder(index);
8073     }
8074     /**
8075      *
8076      *
8077      * <pre>
8078      * Output only. The formats in which this Model may be exported. If empty,
8079      * this Model is not available for export.
8080      * </pre>
8081      *
8082      * <code>
8083      * repeated .google.cloud.aiplatform.v1.Model.ExportFormat supported_export_formats = 20 [(.google.api.field_behavior) = OUTPUT_ONLY];
8084      * </code>
8085      */
8086     public com.google.cloud.aiplatform.v1.Model.ExportFormatOrBuilder
getSupportedExportFormatsOrBuilder(int index)8087         getSupportedExportFormatsOrBuilder(int index) {
8088       if (supportedExportFormatsBuilder_ == null) {
8089         return supportedExportFormats_.get(index);
8090       } else {
8091         return supportedExportFormatsBuilder_.getMessageOrBuilder(index);
8092       }
8093     }
8094     /**
8095      *
8096      *
8097      * <pre>
8098      * Output only. The formats in which this Model may be exported. If empty,
8099      * this Model is not available for export.
8100      * </pre>
8101      *
8102      * <code>
8103      * repeated .google.cloud.aiplatform.v1.Model.ExportFormat supported_export_formats = 20 [(.google.api.field_behavior) = OUTPUT_ONLY];
8104      * </code>
8105      */
8106     public java.util.List<? extends com.google.cloud.aiplatform.v1.Model.ExportFormatOrBuilder>
getSupportedExportFormatsOrBuilderList()8107         getSupportedExportFormatsOrBuilderList() {
8108       if (supportedExportFormatsBuilder_ != null) {
8109         return supportedExportFormatsBuilder_.getMessageOrBuilderList();
8110       } else {
8111         return java.util.Collections.unmodifiableList(supportedExportFormats_);
8112       }
8113     }
8114     /**
8115      *
8116      *
8117      * <pre>
8118      * Output only. The formats in which this Model may be exported. If empty,
8119      * this Model is not available for export.
8120      * </pre>
8121      *
8122      * <code>
8123      * repeated .google.cloud.aiplatform.v1.Model.ExportFormat supported_export_formats = 20 [(.google.api.field_behavior) = OUTPUT_ONLY];
8124      * </code>
8125      */
8126     public com.google.cloud.aiplatform.v1.Model.ExportFormat.Builder
addSupportedExportFormatsBuilder()8127         addSupportedExportFormatsBuilder() {
8128       return getSupportedExportFormatsFieldBuilder()
8129           .addBuilder(com.google.cloud.aiplatform.v1.Model.ExportFormat.getDefaultInstance());
8130     }
8131     /**
8132      *
8133      *
8134      * <pre>
8135      * Output only. The formats in which this Model may be exported. If empty,
8136      * this Model is not available for export.
8137      * </pre>
8138      *
8139      * <code>
8140      * repeated .google.cloud.aiplatform.v1.Model.ExportFormat supported_export_formats = 20 [(.google.api.field_behavior) = OUTPUT_ONLY];
8141      * </code>
8142      */
8143     public com.google.cloud.aiplatform.v1.Model.ExportFormat.Builder
addSupportedExportFormatsBuilder(int index)8144         addSupportedExportFormatsBuilder(int index) {
8145       return getSupportedExportFormatsFieldBuilder()
8146           .addBuilder(
8147               index, com.google.cloud.aiplatform.v1.Model.ExportFormat.getDefaultInstance());
8148     }
8149     /**
8150      *
8151      *
8152      * <pre>
8153      * Output only. The formats in which this Model may be exported. If empty,
8154      * this Model is not available for export.
8155      * </pre>
8156      *
8157      * <code>
8158      * repeated .google.cloud.aiplatform.v1.Model.ExportFormat supported_export_formats = 20 [(.google.api.field_behavior) = OUTPUT_ONLY];
8159      * </code>
8160      */
8161     public java.util.List<com.google.cloud.aiplatform.v1.Model.ExportFormat.Builder>
getSupportedExportFormatsBuilderList()8162         getSupportedExportFormatsBuilderList() {
8163       return getSupportedExportFormatsFieldBuilder().getBuilderList();
8164     }
8165 
8166     private com.google.protobuf.RepeatedFieldBuilderV3<
8167             com.google.cloud.aiplatform.v1.Model.ExportFormat,
8168             com.google.cloud.aiplatform.v1.Model.ExportFormat.Builder,
8169             com.google.cloud.aiplatform.v1.Model.ExportFormatOrBuilder>
getSupportedExportFormatsFieldBuilder()8170         getSupportedExportFormatsFieldBuilder() {
8171       if (supportedExportFormatsBuilder_ == null) {
8172         supportedExportFormatsBuilder_ =
8173             new com.google.protobuf.RepeatedFieldBuilderV3<
8174                 com.google.cloud.aiplatform.v1.Model.ExportFormat,
8175                 com.google.cloud.aiplatform.v1.Model.ExportFormat.Builder,
8176                 com.google.cloud.aiplatform.v1.Model.ExportFormatOrBuilder>(
8177                 supportedExportFormats_,
8178                 ((bitField0_ & 0x00000800) != 0),
8179                 getParentForChildren(),
8180                 isClean());
8181         supportedExportFormats_ = null;
8182       }
8183       return supportedExportFormatsBuilder_;
8184     }
8185 
8186     private java.lang.Object trainingPipeline_ = "";
8187     /**
8188      *
8189      *
8190      * <pre>
8191      * Output only. The resource name of the TrainingPipeline that uploaded this
8192      * Model, if any.
8193      * </pre>
8194      *
8195      * <code>
8196      * string training_pipeline = 7 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... }
8197      * </code>
8198      *
8199      * @return The trainingPipeline.
8200      */
getTrainingPipeline()8201     public java.lang.String getTrainingPipeline() {
8202       java.lang.Object ref = trainingPipeline_;
8203       if (!(ref instanceof java.lang.String)) {
8204         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
8205         java.lang.String s = bs.toStringUtf8();
8206         trainingPipeline_ = s;
8207         return s;
8208       } else {
8209         return (java.lang.String) ref;
8210       }
8211     }
8212     /**
8213      *
8214      *
8215      * <pre>
8216      * Output only. The resource name of the TrainingPipeline that uploaded this
8217      * Model, if any.
8218      * </pre>
8219      *
8220      * <code>
8221      * string training_pipeline = 7 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... }
8222      * </code>
8223      *
8224      * @return The bytes for trainingPipeline.
8225      */
getTrainingPipelineBytes()8226     public com.google.protobuf.ByteString getTrainingPipelineBytes() {
8227       java.lang.Object ref = trainingPipeline_;
8228       if (ref instanceof String) {
8229         com.google.protobuf.ByteString b =
8230             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
8231         trainingPipeline_ = b;
8232         return b;
8233       } else {
8234         return (com.google.protobuf.ByteString) ref;
8235       }
8236     }
8237     /**
8238      *
8239      *
8240      * <pre>
8241      * Output only. The resource name of the TrainingPipeline that uploaded this
8242      * Model, if any.
8243      * </pre>
8244      *
8245      * <code>
8246      * string training_pipeline = 7 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... }
8247      * </code>
8248      *
8249      * @param value The trainingPipeline to set.
8250      * @return This builder for chaining.
8251      */
setTrainingPipeline(java.lang.String value)8252     public Builder setTrainingPipeline(java.lang.String value) {
8253       if (value == null) {
8254         throw new NullPointerException();
8255       }
8256       trainingPipeline_ = value;
8257       bitField0_ |= 0x00001000;
8258       onChanged();
8259       return this;
8260     }
8261     /**
8262      *
8263      *
8264      * <pre>
8265      * Output only. The resource name of the TrainingPipeline that uploaded this
8266      * Model, if any.
8267      * </pre>
8268      *
8269      * <code>
8270      * string training_pipeline = 7 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... }
8271      * </code>
8272      *
8273      * @return This builder for chaining.
8274      */
clearTrainingPipeline()8275     public Builder clearTrainingPipeline() {
8276       trainingPipeline_ = getDefaultInstance().getTrainingPipeline();
8277       bitField0_ = (bitField0_ & ~0x00001000);
8278       onChanged();
8279       return this;
8280     }
8281     /**
8282      *
8283      *
8284      * <pre>
8285      * Output only. The resource name of the TrainingPipeline that uploaded this
8286      * Model, if any.
8287      * </pre>
8288      *
8289      * <code>
8290      * string training_pipeline = 7 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... }
8291      * </code>
8292      *
8293      * @param value The bytes for trainingPipeline to set.
8294      * @return This builder for chaining.
8295      */
setTrainingPipelineBytes(com.google.protobuf.ByteString value)8296     public Builder setTrainingPipelineBytes(com.google.protobuf.ByteString value) {
8297       if (value == null) {
8298         throw new NullPointerException();
8299       }
8300       checkByteStringIsUtf8(value);
8301       trainingPipeline_ = value;
8302       bitField0_ |= 0x00001000;
8303       onChanged();
8304       return this;
8305     }
8306 
8307     private com.google.cloud.aiplatform.v1.ModelContainerSpec containerSpec_;
8308     private com.google.protobuf.SingleFieldBuilderV3<
8309             com.google.cloud.aiplatform.v1.ModelContainerSpec,
8310             com.google.cloud.aiplatform.v1.ModelContainerSpec.Builder,
8311             com.google.cloud.aiplatform.v1.ModelContainerSpecOrBuilder>
8312         containerSpecBuilder_;
8313     /**
8314      *
8315      *
8316      * <pre>
8317      * Input only. The specification of the container that is to be used when
8318      * deploying this Model. The specification is ingested upon
8319      * [ModelService.UploadModel][google.cloud.aiplatform.v1.ModelService.UploadModel],
8320      * and all binaries it contains are copied and stored internally by Vertex AI.
8321      * Not present for AutoML Models or Large Models.
8322      * </pre>
8323      *
8324      * <code>
8325      * .google.cloud.aiplatform.v1.ModelContainerSpec container_spec = 9 [(.google.api.field_behavior) = INPUT_ONLY];
8326      * </code>
8327      *
8328      * @return Whether the containerSpec field is set.
8329      */
hasContainerSpec()8330     public boolean hasContainerSpec() {
8331       return ((bitField0_ & 0x00002000) != 0);
8332     }
8333     /**
8334      *
8335      *
8336      * <pre>
8337      * Input only. The specification of the container that is to be used when
8338      * deploying this Model. The specification is ingested upon
8339      * [ModelService.UploadModel][google.cloud.aiplatform.v1.ModelService.UploadModel],
8340      * and all binaries it contains are copied and stored internally by Vertex AI.
8341      * Not present for AutoML Models or Large Models.
8342      * </pre>
8343      *
8344      * <code>
8345      * .google.cloud.aiplatform.v1.ModelContainerSpec container_spec = 9 [(.google.api.field_behavior) = INPUT_ONLY];
8346      * </code>
8347      *
8348      * @return The containerSpec.
8349      */
getContainerSpec()8350     public com.google.cloud.aiplatform.v1.ModelContainerSpec getContainerSpec() {
8351       if (containerSpecBuilder_ == null) {
8352         return containerSpec_ == null
8353             ? com.google.cloud.aiplatform.v1.ModelContainerSpec.getDefaultInstance()
8354             : containerSpec_;
8355       } else {
8356         return containerSpecBuilder_.getMessage();
8357       }
8358     }
8359     /**
8360      *
8361      *
8362      * <pre>
8363      * Input only. The specification of the container that is to be used when
8364      * deploying this Model. The specification is ingested upon
8365      * [ModelService.UploadModel][google.cloud.aiplatform.v1.ModelService.UploadModel],
8366      * and all binaries it contains are copied and stored internally by Vertex AI.
8367      * Not present for AutoML Models or Large Models.
8368      * </pre>
8369      *
8370      * <code>
8371      * .google.cloud.aiplatform.v1.ModelContainerSpec container_spec = 9 [(.google.api.field_behavior) = INPUT_ONLY];
8372      * </code>
8373      */
setContainerSpec(com.google.cloud.aiplatform.v1.ModelContainerSpec value)8374     public Builder setContainerSpec(com.google.cloud.aiplatform.v1.ModelContainerSpec value) {
8375       if (containerSpecBuilder_ == null) {
8376         if (value == null) {
8377           throw new NullPointerException();
8378         }
8379         containerSpec_ = value;
8380       } else {
8381         containerSpecBuilder_.setMessage(value);
8382       }
8383       bitField0_ |= 0x00002000;
8384       onChanged();
8385       return this;
8386     }
8387     /**
8388      *
8389      *
8390      * <pre>
8391      * Input only. The specification of the container that is to be used when
8392      * deploying this Model. The specification is ingested upon
8393      * [ModelService.UploadModel][google.cloud.aiplatform.v1.ModelService.UploadModel],
8394      * and all binaries it contains are copied and stored internally by Vertex AI.
8395      * Not present for AutoML Models or Large Models.
8396      * </pre>
8397      *
8398      * <code>
8399      * .google.cloud.aiplatform.v1.ModelContainerSpec container_spec = 9 [(.google.api.field_behavior) = INPUT_ONLY];
8400      * </code>
8401      */
setContainerSpec( com.google.cloud.aiplatform.v1.ModelContainerSpec.Builder builderForValue)8402     public Builder setContainerSpec(
8403         com.google.cloud.aiplatform.v1.ModelContainerSpec.Builder builderForValue) {
8404       if (containerSpecBuilder_ == null) {
8405         containerSpec_ = builderForValue.build();
8406       } else {
8407         containerSpecBuilder_.setMessage(builderForValue.build());
8408       }
8409       bitField0_ |= 0x00002000;
8410       onChanged();
8411       return this;
8412     }
8413     /**
8414      *
8415      *
8416      * <pre>
8417      * Input only. The specification of the container that is to be used when
8418      * deploying this Model. The specification is ingested upon
8419      * [ModelService.UploadModel][google.cloud.aiplatform.v1.ModelService.UploadModel],
8420      * and all binaries it contains are copied and stored internally by Vertex AI.
8421      * Not present for AutoML Models or Large Models.
8422      * </pre>
8423      *
8424      * <code>
8425      * .google.cloud.aiplatform.v1.ModelContainerSpec container_spec = 9 [(.google.api.field_behavior) = INPUT_ONLY];
8426      * </code>
8427      */
mergeContainerSpec(com.google.cloud.aiplatform.v1.ModelContainerSpec value)8428     public Builder mergeContainerSpec(com.google.cloud.aiplatform.v1.ModelContainerSpec value) {
8429       if (containerSpecBuilder_ == null) {
8430         if (((bitField0_ & 0x00002000) != 0)
8431             && containerSpec_ != null
8432             && containerSpec_
8433                 != com.google.cloud.aiplatform.v1.ModelContainerSpec.getDefaultInstance()) {
8434           getContainerSpecBuilder().mergeFrom(value);
8435         } else {
8436           containerSpec_ = value;
8437         }
8438       } else {
8439         containerSpecBuilder_.mergeFrom(value);
8440       }
8441       bitField0_ |= 0x00002000;
8442       onChanged();
8443       return this;
8444     }
8445     /**
8446      *
8447      *
8448      * <pre>
8449      * Input only. The specification of the container that is to be used when
8450      * deploying this Model. The specification is ingested upon
8451      * [ModelService.UploadModel][google.cloud.aiplatform.v1.ModelService.UploadModel],
8452      * and all binaries it contains are copied and stored internally by Vertex AI.
8453      * Not present for AutoML Models or Large Models.
8454      * </pre>
8455      *
8456      * <code>
8457      * .google.cloud.aiplatform.v1.ModelContainerSpec container_spec = 9 [(.google.api.field_behavior) = INPUT_ONLY];
8458      * </code>
8459      */
clearContainerSpec()8460     public Builder clearContainerSpec() {
8461       bitField0_ = (bitField0_ & ~0x00002000);
8462       containerSpec_ = null;
8463       if (containerSpecBuilder_ != null) {
8464         containerSpecBuilder_.dispose();
8465         containerSpecBuilder_ = null;
8466       }
8467       onChanged();
8468       return this;
8469     }
8470     /**
8471      *
8472      *
8473      * <pre>
8474      * Input only. The specification of the container that is to be used when
8475      * deploying this Model. The specification is ingested upon
8476      * [ModelService.UploadModel][google.cloud.aiplatform.v1.ModelService.UploadModel],
8477      * and all binaries it contains are copied and stored internally by Vertex AI.
8478      * Not present for AutoML Models or Large Models.
8479      * </pre>
8480      *
8481      * <code>
8482      * .google.cloud.aiplatform.v1.ModelContainerSpec container_spec = 9 [(.google.api.field_behavior) = INPUT_ONLY];
8483      * </code>
8484      */
getContainerSpecBuilder()8485     public com.google.cloud.aiplatform.v1.ModelContainerSpec.Builder getContainerSpecBuilder() {
8486       bitField0_ |= 0x00002000;
8487       onChanged();
8488       return getContainerSpecFieldBuilder().getBuilder();
8489     }
8490     /**
8491      *
8492      *
8493      * <pre>
8494      * Input only. The specification of the container that is to be used when
8495      * deploying this Model. The specification is ingested upon
8496      * [ModelService.UploadModel][google.cloud.aiplatform.v1.ModelService.UploadModel],
8497      * and all binaries it contains are copied and stored internally by Vertex AI.
8498      * Not present for AutoML Models or Large Models.
8499      * </pre>
8500      *
8501      * <code>
8502      * .google.cloud.aiplatform.v1.ModelContainerSpec container_spec = 9 [(.google.api.field_behavior) = INPUT_ONLY];
8503      * </code>
8504      */
getContainerSpecOrBuilder()8505     public com.google.cloud.aiplatform.v1.ModelContainerSpecOrBuilder getContainerSpecOrBuilder() {
8506       if (containerSpecBuilder_ != null) {
8507         return containerSpecBuilder_.getMessageOrBuilder();
8508       } else {
8509         return containerSpec_ == null
8510             ? com.google.cloud.aiplatform.v1.ModelContainerSpec.getDefaultInstance()
8511             : containerSpec_;
8512       }
8513     }
8514     /**
8515      *
8516      *
8517      * <pre>
8518      * Input only. The specification of the container that is to be used when
8519      * deploying this Model. The specification is ingested upon
8520      * [ModelService.UploadModel][google.cloud.aiplatform.v1.ModelService.UploadModel],
8521      * and all binaries it contains are copied and stored internally by Vertex AI.
8522      * Not present for AutoML Models or Large Models.
8523      * </pre>
8524      *
8525      * <code>
8526      * .google.cloud.aiplatform.v1.ModelContainerSpec container_spec = 9 [(.google.api.field_behavior) = INPUT_ONLY];
8527      * </code>
8528      */
8529     private com.google.protobuf.SingleFieldBuilderV3<
8530             com.google.cloud.aiplatform.v1.ModelContainerSpec,
8531             com.google.cloud.aiplatform.v1.ModelContainerSpec.Builder,
8532             com.google.cloud.aiplatform.v1.ModelContainerSpecOrBuilder>
getContainerSpecFieldBuilder()8533         getContainerSpecFieldBuilder() {
8534       if (containerSpecBuilder_ == null) {
8535         containerSpecBuilder_ =
8536             new com.google.protobuf.SingleFieldBuilderV3<
8537                 com.google.cloud.aiplatform.v1.ModelContainerSpec,
8538                 com.google.cloud.aiplatform.v1.ModelContainerSpec.Builder,
8539                 com.google.cloud.aiplatform.v1.ModelContainerSpecOrBuilder>(
8540                 getContainerSpec(), getParentForChildren(), isClean());
8541         containerSpec_ = null;
8542       }
8543       return containerSpecBuilder_;
8544     }
8545 
8546     private java.lang.Object artifactUri_ = "";
8547     /**
8548      *
8549      *
8550      * <pre>
8551      * Immutable. The path to the directory containing the Model artifact and any
8552      * of its supporting files. Not present for AutoML Models or Large Models.
8553      * </pre>
8554      *
8555      * <code>string artifact_uri = 26 [(.google.api.field_behavior) = IMMUTABLE];</code>
8556      *
8557      * @return The artifactUri.
8558      */
getArtifactUri()8559     public java.lang.String getArtifactUri() {
8560       java.lang.Object ref = artifactUri_;
8561       if (!(ref instanceof java.lang.String)) {
8562         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
8563         java.lang.String s = bs.toStringUtf8();
8564         artifactUri_ = s;
8565         return s;
8566       } else {
8567         return (java.lang.String) ref;
8568       }
8569     }
8570     /**
8571      *
8572      *
8573      * <pre>
8574      * Immutable. The path to the directory containing the Model artifact and any
8575      * of its supporting files. Not present for AutoML Models or Large Models.
8576      * </pre>
8577      *
8578      * <code>string artifact_uri = 26 [(.google.api.field_behavior) = IMMUTABLE];</code>
8579      *
8580      * @return The bytes for artifactUri.
8581      */
getArtifactUriBytes()8582     public com.google.protobuf.ByteString getArtifactUriBytes() {
8583       java.lang.Object ref = artifactUri_;
8584       if (ref instanceof String) {
8585         com.google.protobuf.ByteString b =
8586             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
8587         artifactUri_ = b;
8588         return b;
8589       } else {
8590         return (com.google.protobuf.ByteString) ref;
8591       }
8592     }
8593     /**
8594      *
8595      *
8596      * <pre>
8597      * Immutable. The path to the directory containing the Model artifact and any
8598      * of its supporting files. Not present for AutoML Models or Large Models.
8599      * </pre>
8600      *
8601      * <code>string artifact_uri = 26 [(.google.api.field_behavior) = IMMUTABLE];</code>
8602      *
8603      * @param value The artifactUri to set.
8604      * @return This builder for chaining.
8605      */
setArtifactUri(java.lang.String value)8606     public Builder setArtifactUri(java.lang.String value) {
8607       if (value == null) {
8608         throw new NullPointerException();
8609       }
8610       artifactUri_ = value;
8611       bitField0_ |= 0x00004000;
8612       onChanged();
8613       return this;
8614     }
8615     /**
8616      *
8617      *
8618      * <pre>
8619      * Immutable. The path to the directory containing the Model artifact and any
8620      * of its supporting files. Not present for AutoML Models or Large Models.
8621      * </pre>
8622      *
8623      * <code>string artifact_uri = 26 [(.google.api.field_behavior) = IMMUTABLE];</code>
8624      *
8625      * @return This builder for chaining.
8626      */
clearArtifactUri()8627     public Builder clearArtifactUri() {
8628       artifactUri_ = getDefaultInstance().getArtifactUri();
8629       bitField0_ = (bitField0_ & ~0x00004000);
8630       onChanged();
8631       return this;
8632     }
8633     /**
8634      *
8635      *
8636      * <pre>
8637      * Immutable. The path to the directory containing the Model artifact and any
8638      * of its supporting files. Not present for AutoML Models or Large Models.
8639      * </pre>
8640      *
8641      * <code>string artifact_uri = 26 [(.google.api.field_behavior) = IMMUTABLE];</code>
8642      *
8643      * @param value The bytes for artifactUri to set.
8644      * @return This builder for chaining.
8645      */
setArtifactUriBytes(com.google.protobuf.ByteString value)8646     public Builder setArtifactUriBytes(com.google.protobuf.ByteString value) {
8647       if (value == null) {
8648         throw new NullPointerException();
8649       }
8650       checkByteStringIsUtf8(value);
8651       artifactUri_ = value;
8652       bitField0_ |= 0x00004000;
8653       onChanged();
8654       return this;
8655     }
8656 
8657     private java.util.List<java.lang.Integer> supportedDeploymentResourcesTypes_ =
8658         java.util.Collections.emptyList();
8659 
ensureSupportedDeploymentResourcesTypesIsMutable()8660     private void ensureSupportedDeploymentResourcesTypesIsMutable() {
8661       if (!((bitField0_ & 0x00008000) != 0)) {
8662         supportedDeploymentResourcesTypes_ =
8663             new java.util.ArrayList<java.lang.Integer>(supportedDeploymentResourcesTypes_);
8664         bitField0_ |= 0x00008000;
8665       }
8666     }
8667     /**
8668      *
8669      *
8670      * <pre>
8671      * Output only. When this Model is deployed, its prediction resources are
8672      * described by the `prediction_resources` field of the
8673      * [Endpoint.deployed_models][google.cloud.aiplatform.v1.Endpoint.deployed_models]
8674      * object. Because not all Models support all resource configuration types,
8675      * the configuration types this Model supports are listed here. If no
8676      * configuration types are listed, the Model cannot be deployed to an
8677      * [Endpoint][google.cloud.aiplatform.v1.Endpoint] and does not support
8678      * online predictions
8679      * ([PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict]
8680      * or
8681      * [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain]).
8682      * Such a Model can serve predictions by using a
8683      * [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob], if it
8684      * has at least one entry each in
8685      * [supported_input_storage_formats][google.cloud.aiplatform.v1.Model.supported_input_storage_formats]
8686      * and
8687      * [supported_output_storage_formats][google.cloud.aiplatform.v1.Model.supported_output_storage_formats].
8688      * </pre>
8689      *
8690      * <code>
8691      * repeated .google.cloud.aiplatform.v1.Model.DeploymentResourcesType supported_deployment_resources_types = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
8692      * </code>
8693      *
8694      * @return A list containing the supportedDeploymentResourcesTypes.
8695      */
8696     public java.util.List<com.google.cloud.aiplatform.v1.Model.DeploymentResourcesType>
getSupportedDeploymentResourcesTypesList()8697         getSupportedDeploymentResourcesTypesList() {
8698       return new com.google.protobuf.Internal.ListAdapter<
8699           java.lang.Integer, com.google.cloud.aiplatform.v1.Model.DeploymentResourcesType>(
8700           supportedDeploymentResourcesTypes_, supportedDeploymentResourcesTypes_converter_);
8701     }
8702     /**
8703      *
8704      *
8705      * <pre>
8706      * Output only. When this Model is deployed, its prediction resources are
8707      * described by the `prediction_resources` field of the
8708      * [Endpoint.deployed_models][google.cloud.aiplatform.v1.Endpoint.deployed_models]
8709      * object. Because not all Models support all resource configuration types,
8710      * the configuration types this Model supports are listed here. If no
8711      * configuration types are listed, the Model cannot be deployed to an
8712      * [Endpoint][google.cloud.aiplatform.v1.Endpoint] and does not support
8713      * online predictions
8714      * ([PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict]
8715      * or
8716      * [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain]).
8717      * Such a Model can serve predictions by using a
8718      * [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob], if it
8719      * has at least one entry each in
8720      * [supported_input_storage_formats][google.cloud.aiplatform.v1.Model.supported_input_storage_formats]
8721      * and
8722      * [supported_output_storage_formats][google.cloud.aiplatform.v1.Model.supported_output_storage_formats].
8723      * </pre>
8724      *
8725      * <code>
8726      * repeated .google.cloud.aiplatform.v1.Model.DeploymentResourcesType supported_deployment_resources_types = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
8727      * </code>
8728      *
8729      * @return The count of supportedDeploymentResourcesTypes.
8730      */
getSupportedDeploymentResourcesTypesCount()8731     public int getSupportedDeploymentResourcesTypesCount() {
8732       return supportedDeploymentResourcesTypes_.size();
8733     }
8734     /**
8735      *
8736      *
8737      * <pre>
8738      * Output only. When this Model is deployed, its prediction resources are
8739      * described by the `prediction_resources` field of the
8740      * [Endpoint.deployed_models][google.cloud.aiplatform.v1.Endpoint.deployed_models]
8741      * object. Because not all Models support all resource configuration types,
8742      * the configuration types this Model supports are listed here. If no
8743      * configuration types are listed, the Model cannot be deployed to an
8744      * [Endpoint][google.cloud.aiplatform.v1.Endpoint] and does not support
8745      * online predictions
8746      * ([PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict]
8747      * or
8748      * [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain]).
8749      * Such a Model can serve predictions by using a
8750      * [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob], if it
8751      * has at least one entry each in
8752      * [supported_input_storage_formats][google.cloud.aiplatform.v1.Model.supported_input_storage_formats]
8753      * and
8754      * [supported_output_storage_formats][google.cloud.aiplatform.v1.Model.supported_output_storage_formats].
8755      * </pre>
8756      *
8757      * <code>
8758      * repeated .google.cloud.aiplatform.v1.Model.DeploymentResourcesType supported_deployment_resources_types = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
8759      * </code>
8760      *
8761      * @param index The index of the element to return.
8762      * @return The supportedDeploymentResourcesTypes at the given index.
8763      */
8764     public com.google.cloud.aiplatform.v1.Model.DeploymentResourcesType
getSupportedDeploymentResourcesTypes(int index)8765         getSupportedDeploymentResourcesTypes(int index) {
8766       return supportedDeploymentResourcesTypes_converter_.convert(
8767           supportedDeploymentResourcesTypes_.get(index));
8768     }
8769     /**
8770      *
8771      *
8772      * <pre>
8773      * Output only. When this Model is deployed, its prediction resources are
8774      * described by the `prediction_resources` field of the
8775      * [Endpoint.deployed_models][google.cloud.aiplatform.v1.Endpoint.deployed_models]
8776      * object. Because not all Models support all resource configuration types,
8777      * the configuration types this Model supports are listed here. If no
8778      * configuration types are listed, the Model cannot be deployed to an
8779      * [Endpoint][google.cloud.aiplatform.v1.Endpoint] and does not support
8780      * online predictions
8781      * ([PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict]
8782      * or
8783      * [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain]).
8784      * Such a Model can serve predictions by using a
8785      * [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob], if it
8786      * has at least one entry each in
8787      * [supported_input_storage_formats][google.cloud.aiplatform.v1.Model.supported_input_storage_formats]
8788      * and
8789      * [supported_output_storage_formats][google.cloud.aiplatform.v1.Model.supported_output_storage_formats].
8790      * </pre>
8791      *
8792      * <code>
8793      * repeated .google.cloud.aiplatform.v1.Model.DeploymentResourcesType supported_deployment_resources_types = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
8794      * </code>
8795      *
8796      * @param index The index to set the value at.
8797      * @param value The supportedDeploymentResourcesTypes to set.
8798      * @return This builder for chaining.
8799      */
setSupportedDeploymentResourcesTypes( int index, com.google.cloud.aiplatform.v1.Model.DeploymentResourcesType value)8800     public Builder setSupportedDeploymentResourcesTypes(
8801         int index, com.google.cloud.aiplatform.v1.Model.DeploymentResourcesType value) {
8802       if (value == null) {
8803         throw new NullPointerException();
8804       }
8805       ensureSupportedDeploymentResourcesTypesIsMutable();
8806       supportedDeploymentResourcesTypes_.set(index, value.getNumber());
8807       onChanged();
8808       return this;
8809     }
8810     /**
8811      *
8812      *
8813      * <pre>
8814      * Output only. When this Model is deployed, its prediction resources are
8815      * described by the `prediction_resources` field of the
8816      * [Endpoint.deployed_models][google.cloud.aiplatform.v1.Endpoint.deployed_models]
8817      * object. Because not all Models support all resource configuration types,
8818      * the configuration types this Model supports are listed here. If no
8819      * configuration types are listed, the Model cannot be deployed to an
8820      * [Endpoint][google.cloud.aiplatform.v1.Endpoint] and does not support
8821      * online predictions
8822      * ([PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict]
8823      * or
8824      * [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain]).
8825      * Such a Model can serve predictions by using a
8826      * [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob], if it
8827      * has at least one entry each in
8828      * [supported_input_storage_formats][google.cloud.aiplatform.v1.Model.supported_input_storage_formats]
8829      * and
8830      * [supported_output_storage_formats][google.cloud.aiplatform.v1.Model.supported_output_storage_formats].
8831      * </pre>
8832      *
8833      * <code>
8834      * repeated .google.cloud.aiplatform.v1.Model.DeploymentResourcesType supported_deployment_resources_types = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
8835      * </code>
8836      *
8837      * @param value The supportedDeploymentResourcesTypes to add.
8838      * @return This builder for chaining.
8839      */
addSupportedDeploymentResourcesTypes( com.google.cloud.aiplatform.v1.Model.DeploymentResourcesType value)8840     public Builder addSupportedDeploymentResourcesTypes(
8841         com.google.cloud.aiplatform.v1.Model.DeploymentResourcesType value) {
8842       if (value == null) {
8843         throw new NullPointerException();
8844       }
8845       ensureSupportedDeploymentResourcesTypesIsMutable();
8846       supportedDeploymentResourcesTypes_.add(value.getNumber());
8847       onChanged();
8848       return this;
8849     }
8850     /**
8851      *
8852      *
8853      * <pre>
8854      * Output only. When this Model is deployed, its prediction resources are
8855      * described by the `prediction_resources` field of the
8856      * [Endpoint.deployed_models][google.cloud.aiplatform.v1.Endpoint.deployed_models]
8857      * object. Because not all Models support all resource configuration types,
8858      * the configuration types this Model supports are listed here. If no
8859      * configuration types are listed, the Model cannot be deployed to an
8860      * [Endpoint][google.cloud.aiplatform.v1.Endpoint] and does not support
8861      * online predictions
8862      * ([PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict]
8863      * or
8864      * [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain]).
8865      * Such a Model can serve predictions by using a
8866      * [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob], if it
8867      * has at least one entry each in
8868      * [supported_input_storage_formats][google.cloud.aiplatform.v1.Model.supported_input_storage_formats]
8869      * and
8870      * [supported_output_storage_formats][google.cloud.aiplatform.v1.Model.supported_output_storage_formats].
8871      * </pre>
8872      *
8873      * <code>
8874      * repeated .google.cloud.aiplatform.v1.Model.DeploymentResourcesType supported_deployment_resources_types = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
8875      * </code>
8876      *
8877      * @param values The supportedDeploymentResourcesTypes to add.
8878      * @return This builder for chaining.
8879      */
addAllSupportedDeploymentResourcesTypes( java.lang.Iterable<? extends com.google.cloud.aiplatform.v1.Model.DeploymentResourcesType> values)8880     public Builder addAllSupportedDeploymentResourcesTypes(
8881         java.lang.Iterable<? extends com.google.cloud.aiplatform.v1.Model.DeploymentResourcesType>
8882             values) {
8883       ensureSupportedDeploymentResourcesTypesIsMutable();
8884       for (com.google.cloud.aiplatform.v1.Model.DeploymentResourcesType value : values) {
8885         supportedDeploymentResourcesTypes_.add(value.getNumber());
8886       }
8887       onChanged();
8888       return this;
8889     }
8890     /**
8891      *
8892      *
8893      * <pre>
8894      * Output only. When this Model is deployed, its prediction resources are
8895      * described by the `prediction_resources` field of the
8896      * [Endpoint.deployed_models][google.cloud.aiplatform.v1.Endpoint.deployed_models]
8897      * object. Because not all Models support all resource configuration types,
8898      * the configuration types this Model supports are listed here. If no
8899      * configuration types are listed, the Model cannot be deployed to an
8900      * [Endpoint][google.cloud.aiplatform.v1.Endpoint] and does not support
8901      * online predictions
8902      * ([PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict]
8903      * or
8904      * [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain]).
8905      * Such a Model can serve predictions by using a
8906      * [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob], if it
8907      * has at least one entry each in
8908      * [supported_input_storage_formats][google.cloud.aiplatform.v1.Model.supported_input_storage_formats]
8909      * and
8910      * [supported_output_storage_formats][google.cloud.aiplatform.v1.Model.supported_output_storage_formats].
8911      * </pre>
8912      *
8913      * <code>
8914      * repeated .google.cloud.aiplatform.v1.Model.DeploymentResourcesType supported_deployment_resources_types = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
8915      * </code>
8916      *
8917      * @return This builder for chaining.
8918      */
clearSupportedDeploymentResourcesTypes()8919     public Builder clearSupportedDeploymentResourcesTypes() {
8920       supportedDeploymentResourcesTypes_ = java.util.Collections.emptyList();
8921       bitField0_ = (bitField0_ & ~0x00008000);
8922       onChanged();
8923       return this;
8924     }
8925     /**
8926      *
8927      *
8928      * <pre>
8929      * Output only. When this Model is deployed, its prediction resources are
8930      * described by the `prediction_resources` field of the
8931      * [Endpoint.deployed_models][google.cloud.aiplatform.v1.Endpoint.deployed_models]
8932      * object. Because not all Models support all resource configuration types,
8933      * the configuration types this Model supports are listed here. If no
8934      * configuration types are listed, the Model cannot be deployed to an
8935      * [Endpoint][google.cloud.aiplatform.v1.Endpoint] and does not support
8936      * online predictions
8937      * ([PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict]
8938      * or
8939      * [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain]).
8940      * Such a Model can serve predictions by using a
8941      * [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob], if it
8942      * has at least one entry each in
8943      * [supported_input_storage_formats][google.cloud.aiplatform.v1.Model.supported_input_storage_formats]
8944      * and
8945      * [supported_output_storage_formats][google.cloud.aiplatform.v1.Model.supported_output_storage_formats].
8946      * </pre>
8947      *
8948      * <code>
8949      * repeated .google.cloud.aiplatform.v1.Model.DeploymentResourcesType supported_deployment_resources_types = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
8950      * </code>
8951      *
8952      * @return A list containing the enum numeric values on the wire for
8953      *     supportedDeploymentResourcesTypes.
8954      */
getSupportedDeploymentResourcesTypesValueList()8955     public java.util.List<java.lang.Integer> getSupportedDeploymentResourcesTypesValueList() {
8956       return java.util.Collections.unmodifiableList(supportedDeploymentResourcesTypes_);
8957     }
8958     /**
8959      *
8960      *
8961      * <pre>
8962      * Output only. When this Model is deployed, its prediction resources are
8963      * described by the `prediction_resources` field of the
8964      * [Endpoint.deployed_models][google.cloud.aiplatform.v1.Endpoint.deployed_models]
8965      * object. Because not all Models support all resource configuration types,
8966      * the configuration types this Model supports are listed here. If no
8967      * configuration types are listed, the Model cannot be deployed to an
8968      * [Endpoint][google.cloud.aiplatform.v1.Endpoint] and does not support
8969      * online predictions
8970      * ([PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict]
8971      * or
8972      * [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain]).
8973      * Such a Model can serve predictions by using a
8974      * [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob], if it
8975      * has at least one entry each in
8976      * [supported_input_storage_formats][google.cloud.aiplatform.v1.Model.supported_input_storage_formats]
8977      * and
8978      * [supported_output_storage_formats][google.cloud.aiplatform.v1.Model.supported_output_storage_formats].
8979      * </pre>
8980      *
8981      * <code>
8982      * repeated .google.cloud.aiplatform.v1.Model.DeploymentResourcesType supported_deployment_resources_types = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
8983      * </code>
8984      *
8985      * @param index The index of the value to return.
8986      * @return The enum numeric value on the wire of supportedDeploymentResourcesTypes at the given
8987      *     index.
8988      */
getSupportedDeploymentResourcesTypesValue(int index)8989     public int getSupportedDeploymentResourcesTypesValue(int index) {
8990       return supportedDeploymentResourcesTypes_.get(index);
8991     }
8992     /**
8993      *
8994      *
8995      * <pre>
8996      * Output only. When this Model is deployed, its prediction resources are
8997      * described by the `prediction_resources` field of the
8998      * [Endpoint.deployed_models][google.cloud.aiplatform.v1.Endpoint.deployed_models]
8999      * object. Because not all Models support all resource configuration types,
9000      * the configuration types this Model supports are listed here. If no
9001      * configuration types are listed, the Model cannot be deployed to an
9002      * [Endpoint][google.cloud.aiplatform.v1.Endpoint] and does not support
9003      * online predictions
9004      * ([PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict]
9005      * or
9006      * [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain]).
9007      * Such a Model can serve predictions by using a
9008      * [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob], if it
9009      * has at least one entry each in
9010      * [supported_input_storage_formats][google.cloud.aiplatform.v1.Model.supported_input_storage_formats]
9011      * and
9012      * [supported_output_storage_formats][google.cloud.aiplatform.v1.Model.supported_output_storage_formats].
9013      * </pre>
9014      *
9015      * <code>
9016      * repeated .google.cloud.aiplatform.v1.Model.DeploymentResourcesType supported_deployment_resources_types = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
9017      * </code>
9018      *
9019      * @param index The index to set the value at.
9020      * @param value The enum numeric value on the wire for supportedDeploymentResourcesTypes to set.
9021      * @return This builder for chaining.
9022      */
setSupportedDeploymentResourcesTypesValue(int index, int value)9023     public Builder setSupportedDeploymentResourcesTypesValue(int index, int value) {
9024       ensureSupportedDeploymentResourcesTypesIsMutable();
9025       supportedDeploymentResourcesTypes_.set(index, value);
9026       onChanged();
9027       return this;
9028     }
9029     /**
9030      *
9031      *
9032      * <pre>
9033      * Output only. When this Model is deployed, its prediction resources are
9034      * described by the `prediction_resources` field of the
9035      * [Endpoint.deployed_models][google.cloud.aiplatform.v1.Endpoint.deployed_models]
9036      * object. Because not all Models support all resource configuration types,
9037      * the configuration types this Model supports are listed here. If no
9038      * configuration types are listed, the Model cannot be deployed to an
9039      * [Endpoint][google.cloud.aiplatform.v1.Endpoint] and does not support
9040      * online predictions
9041      * ([PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict]
9042      * or
9043      * [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain]).
9044      * Such a Model can serve predictions by using a
9045      * [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob], if it
9046      * has at least one entry each in
9047      * [supported_input_storage_formats][google.cloud.aiplatform.v1.Model.supported_input_storage_formats]
9048      * and
9049      * [supported_output_storage_formats][google.cloud.aiplatform.v1.Model.supported_output_storage_formats].
9050      * </pre>
9051      *
9052      * <code>
9053      * repeated .google.cloud.aiplatform.v1.Model.DeploymentResourcesType supported_deployment_resources_types = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
9054      * </code>
9055      *
9056      * @param value The enum numeric value on the wire for supportedDeploymentResourcesTypes to add.
9057      * @return This builder for chaining.
9058      */
addSupportedDeploymentResourcesTypesValue(int value)9059     public Builder addSupportedDeploymentResourcesTypesValue(int value) {
9060       ensureSupportedDeploymentResourcesTypesIsMutable();
9061       supportedDeploymentResourcesTypes_.add(value);
9062       onChanged();
9063       return this;
9064     }
9065     /**
9066      *
9067      *
9068      * <pre>
9069      * Output only. When this Model is deployed, its prediction resources are
9070      * described by the `prediction_resources` field of the
9071      * [Endpoint.deployed_models][google.cloud.aiplatform.v1.Endpoint.deployed_models]
9072      * object. Because not all Models support all resource configuration types,
9073      * the configuration types this Model supports are listed here. If no
9074      * configuration types are listed, the Model cannot be deployed to an
9075      * [Endpoint][google.cloud.aiplatform.v1.Endpoint] and does not support
9076      * online predictions
9077      * ([PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict]
9078      * or
9079      * [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain]).
9080      * Such a Model can serve predictions by using a
9081      * [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob], if it
9082      * has at least one entry each in
9083      * [supported_input_storage_formats][google.cloud.aiplatform.v1.Model.supported_input_storage_formats]
9084      * and
9085      * [supported_output_storage_formats][google.cloud.aiplatform.v1.Model.supported_output_storage_formats].
9086      * </pre>
9087      *
9088      * <code>
9089      * repeated .google.cloud.aiplatform.v1.Model.DeploymentResourcesType supported_deployment_resources_types = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
9090      * </code>
9091      *
9092      * @param values The enum numeric values on the wire for supportedDeploymentResourcesTypes to
9093      *     add.
9094      * @return This builder for chaining.
9095      */
addAllSupportedDeploymentResourcesTypesValue( java.lang.Iterable<java.lang.Integer> values)9096     public Builder addAllSupportedDeploymentResourcesTypesValue(
9097         java.lang.Iterable<java.lang.Integer> values) {
9098       ensureSupportedDeploymentResourcesTypesIsMutable();
9099       for (int value : values) {
9100         supportedDeploymentResourcesTypes_.add(value);
9101       }
9102       onChanged();
9103       return this;
9104     }
9105 
9106     private com.google.protobuf.LazyStringList supportedInputStorageFormats_ =
9107         com.google.protobuf.LazyStringArrayList.EMPTY;
9108 
ensureSupportedInputStorageFormatsIsMutable()9109     private void ensureSupportedInputStorageFormatsIsMutable() {
9110       if (!((bitField0_ & 0x00010000) != 0)) {
9111         supportedInputStorageFormats_ =
9112             new com.google.protobuf.LazyStringArrayList(supportedInputStorageFormats_);
9113         bitField0_ |= 0x00010000;
9114       }
9115     }
9116     /**
9117      *
9118      *
9119      * <pre>
9120      * Output only. The formats this Model supports in
9121      * [BatchPredictionJob.input_config][google.cloud.aiplatform.v1.BatchPredictionJob.input_config].
9122      * If
9123      * [PredictSchemata.instance_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.instance_schema_uri]
9124      * exists, the instances should be given as per that schema.
9125      * The possible formats are:
9126      * * `jsonl`
9127      * The JSON Lines format, where each instance is a single line. Uses
9128      * [GcsSource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.gcs_source].
9129      * * `csv`
9130      * The CSV format, where each instance is a single comma-separated line.
9131      * The first line in the file is the header, containing comma-separated field
9132      * names. Uses
9133      * [GcsSource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.gcs_source].
9134      * * `tf-record`
9135      * The TFRecord format, where each instance is a single record in tfrecord
9136      * syntax. Uses
9137      * [GcsSource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.gcs_source].
9138      * * `tf-record-gzip`
9139      * Similar to `tf-record`, but the file is gzipped. Uses
9140      * [GcsSource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.gcs_source].
9141      * * `bigquery`
9142      * Each instance is a single row in BigQuery. Uses
9143      * [BigQuerySource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.bigquery_source].
9144      * * `file-list`
9145      * Each line of the file is the location of an instance to process, uses
9146      * `gcs_source` field of the
9147      * [InputConfig][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig]
9148      * object.
9149      * If this Model doesn't support any of these formats it means it cannot be
9150      * used with a
9151      * [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob].
9152      * However, if it has
9153      * [supported_deployment_resources_types][google.cloud.aiplatform.v1.Model.supported_deployment_resources_types],
9154      * it could serve online predictions by using
9155      * [PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict]
9156      * or
9157      * [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain].
9158      * </pre>
9159      *
9160      * <code>
9161      * repeated string supported_input_storage_formats = 11 [(.google.api.field_behavior) = OUTPUT_ONLY];
9162      * </code>
9163      *
9164      * @return A list containing the supportedInputStorageFormats.
9165      */
getSupportedInputStorageFormatsList()9166     public com.google.protobuf.ProtocolStringList getSupportedInputStorageFormatsList() {
9167       return supportedInputStorageFormats_.getUnmodifiableView();
9168     }
9169     /**
9170      *
9171      *
9172      * <pre>
9173      * Output only. The formats this Model supports in
9174      * [BatchPredictionJob.input_config][google.cloud.aiplatform.v1.BatchPredictionJob.input_config].
9175      * If
9176      * [PredictSchemata.instance_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.instance_schema_uri]
9177      * exists, the instances should be given as per that schema.
9178      * The possible formats are:
9179      * * `jsonl`
9180      * The JSON Lines format, where each instance is a single line. Uses
9181      * [GcsSource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.gcs_source].
9182      * * `csv`
9183      * The CSV format, where each instance is a single comma-separated line.
9184      * The first line in the file is the header, containing comma-separated field
9185      * names. Uses
9186      * [GcsSource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.gcs_source].
9187      * * `tf-record`
9188      * The TFRecord format, where each instance is a single record in tfrecord
9189      * syntax. Uses
9190      * [GcsSource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.gcs_source].
9191      * * `tf-record-gzip`
9192      * Similar to `tf-record`, but the file is gzipped. Uses
9193      * [GcsSource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.gcs_source].
9194      * * `bigquery`
9195      * Each instance is a single row in BigQuery. Uses
9196      * [BigQuerySource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.bigquery_source].
9197      * * `file-list`
9198      * Each line of the file is the location of an instance to process, uses
9199      * `gcs_source` field of the
9200      * [InputConfig][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig]
9201      * object.
9202      * If this Model doesn't support any of these formats it means it cannot be
9203      * used with a
9204      * [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob].
9205      * However, if it has
9206      * [supported_deployment_resources_types][google.cloud.aiplatform.v1.Model.supported_deployment_resources_types],
9207      * it could serve online predictions by using
9208      * [PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict]
9209      * or
9210      * [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain].
9211      * </pre>
9212      *
9213      * <code>
9214      * repeated string supported_input_storage_formats = 11 [(.google.api.field_behavior) = OUTPUT_ONLY];
9215      * </code>
9216      *
9217      * @return The count of supportedInputStorageFormats.
9218      */
getSupportedInputStorageFormatsCount()9219     public int getSupportedInputStorageFormatsCount() {
9220       return supportedInputStorageFormats_.size();
9221     }
9222     /**
9223      *
9224      *
9225      * <pre>
9226      * Output only. The formats this Model supports in
9227      * [BatchPredictionJob.input_config][google.cloud.aiplatform.v1.BatchPredictionJob.input_config].
9228      * If
9229      * [PredictSchemata.instance_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.instance_schema_uri]
9230      * exists, the instances should be given as per that schema.
9231      * The possible formats are:
9232      * * `jsonl`
9233      * The JSON Lines format, where each instance is a single line. Uses
9234      * [GcsSource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.gcs_source].
9235      * * `csv`
9236      * The CSV format, where each instance is a single comma-separated line.
9237      * The first line in the file is the header, containing comma-separated field
9238      * names. Uses
9239      * [GcsSource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.gcs_source].
9240      * * `tf-record`
9241      * The TFRecord format, where each instance is a single record in tfrecord
9242      * syntax. Uses
9243      * [GcsSource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.gcs_source].
9244      * * `tf-record-gzip`
9245      * Similar to `tf-record`, but the file is gzipped. Uses
9246      * [GcsSource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.gcs_source].
9247      * * `bigquery`
9248      * Each instance is a single row in BigQuery. Uses
9249      * [BigQuerySource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.bigquery_source].
9250      * * `file-list`
9251      * Each line of the file is the location of an instance to process, uses
9252      * `gcs_source` field of the
9253      * [InputConfig][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig]
9254      * object.
9255      * If this Model doesn't support any of these formats it means it cannot be
9256      * used with a
9257      * [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob].
9258      * However, if it has
9259      * [supported_deployment_resources_types][google.cloud.aiplatform.v1.Model.supported_deployment_resources_types],
9260      * it could serve online predictions by using
9261      * [PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict]
9262      * or
9263      * [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain].
9264      * </pre>
9265      *
9266      * <code>
9267      * repeated string supported_input_storage_formats = 11 [(.google.api.field_behavior) = OUTPUT_ONLY];
9268      * </code>
9269      *
9270      * @param index The index of the element to return.
9271      * @return The supportedInputStorageFormats at the given index.
9272      */
getSupportedInputStorageFormats(int index)9273     public java.lang.String getSupportedInputStorageFormats(int index) {
9274       return supportedInputStorageFormats_.get(index);
9275     }
9276     /**
9277      *
9278      *
9279      * <pre>
9280      * Output only. The formats this Model supports in
9281      * [BatchPredictionJob.input_config][google.cloud.aiplatform.v1.BatchPredictionJob.input_config].
9282      * If
9283      * [PredictSchemata.instance_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.instance_schema_uri]
9284      * exists, the instances should be given as per that schema.
9285      * The possible formats are:
9286      * * `jsonl`
9287      * The JSON Lines format, where each instance is a single line. Uses
9288      * [GcsSource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.gcs_source].
9289      * * `csv`
9290      * The CSV format, where each instance is a single comma-separated line.
9291      * The first line in the file is the header, containing comma-separated field
9292      * names. Uses
9293      * [GcsSource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.gcs_source].
9294      * * `tf-record`
9295      * The TFRecord format, where each instance is a single record in tfrecord
9296      * syntax. Uses
9297      * [GcsSource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.gcs_source].
9298      * * `tf-record-gzip`
9299      * Similar to `tf-record`, but the file is gzipped. Uses
9300      * [GcsSource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.gcs_source].
9301      * * `bigquery`
9302      * Each instance is a single row in BigQuery. Uses
9303      * [BigQuerySource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.bigquery_source].
9304      * * `file-list`
9305      * Each line of the file is the location of an instance to process, uses
9306      * `gcs_source` field of the
9307      * [InputConfig][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig]
9308      * object.
9309      * If this Model doesn't support any of these formats it means it cannot be
9310      * used with a
9311      * [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob].
9312      * However, if it has
9313      * [supported_deployment_resources_types][google.cloud.aiplatform.v1.Model.supported_deployment_resources_types],
9314      * it could serve online predictions by using
9315      * [PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict]
9316      * or
9317      * [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain].
9318      * </pre>
9319      *
9320      * <code>
9321      * repeated string supported_input_storage_formats = 11 [(.google.api.field_behavior) = OUTPUT_ONLY];
9322      * </code>
9323      *
9324      * @param index The index of the value to return.
9325      * @return The bytes of the supportedInputStorageFormats at the given index.
9326      */
getSupportedInputStorageFormatsBytes(int index)9327     public com.google.protobuf.ByteString getSupportedInputStorageFormatsBytes(int index) {
9328       return supportedInputStorageFormats_.getByteString(index);
9329     }
9330     /**
9331      *
9332      *
9333      * <pre>
9334      * Output only. The formats this Model supports in
9335      * [BatchPredictionJob.input_config][google.cloud.aiplatform.v1.BatchPredictionJob.input_config].
9336      * If
9337      * [PredictSchemata.instance_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.instance_schema_uri]
9338      * exists, the instances should be given as per that schema.
9339      * The possible formats are:
9340      * * `jsonl`
9341      * The JSON Lines format, where each instance is a single line. Uses
9342      * [GcsSource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.gcs_source].
9343      * * `csv`
9344      * The CSV format, where each instance is a single comma-separated line.
9345      * The first line in the file is the header, containing comma-separated field
9346      * names. Uses
9347      * [GcsSource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.gcs_source].
9348      * * `tf-record`
9349      * The TFRecord format, where each instance is a single record in tfrecord
9350      * syntax. Uses
9351      * [GcsSource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.gcs_source].
9352      * * `tf-record-gzip`
9353      * Similar to `tf-record`, but the file is gzipped. Uses
9354      * [GcsSource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.gcs_source].
9355      * * `bigquery`
9356      * Each instance is a single row in BigQuery. Uses
9357      * [BigQuerySource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.bigquery_source].
9358      * * `file-list`
9359      * Each line of the file is the location of an instance to process, uses
9360      * `gcs_source` field of the
9361      * [InputConfig][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig]
9362      * object.
9363      * If this Model doesn't support any of these formats it means it cannot be
9364      * used with a
9365      * [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob].
9366      * However, if it has
9367      * [supported_deployment_resources_types][google.cloud.aiplatform.v1.Model.supported_deployment_resources_types],
9368      * it could serve online predictions by using
9369      * [PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict]
9370      * or
9371      * [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain].
9372      * </pre>
9373      *
9374      * <code>
9375      * repeated string supported_input_storage_formats = 11 [(.google.api.field_behavior) = OUTPUT_ONLY];
9376      * </code>
9377      *
9378      * @param index The index to set the value at.
9379      * @param value The supportedInputStorageFormats to set.
9380      * @return This builder for chaining.
9381      */
setSupportedInputStorageFormats(int index, java.lang.String value)9382     public Builder setSupportedInputStorageFormats(int index, java.lang.String value) {
9383       if (value == null) {
9384         throw new NullPointerException();
9385       }
9386       ensureSupportedInputStorageFormatsIsMutable();
9387       supportedInputStorageFormats_.set(index, value);
9388       onChanged();
9389       return this;
9390     }
9391     /**
9392      *
9393      *
9394      * <pre>
9395      * Output only. The formats this Model supports in
9396      * [BatchPredictionJob.input_config][google.cloud.aiplatform.v1.BatchPredictionJob.input_config].
9397      * If
9398      * [PredictSchemata.instance_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.instance_schema_uri]
9399      * exists, the instances should be given as per that schema.
9400      * The possible formats are:
9401      * * `jsonl`
9402      * The JSON Lines format, where each instance is a single line. Uses
9403      * [GcsSource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.gcs_source].
9404      * * `csv`
9405      * The CSV format, where each instance is a single comma-separated line.
9406      * The first line in the file is the header, containing comma-separated field
9407      * names. Uses
9408      * [GcsSource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.gcs_source].
9409      * * `tf-record`
9410      * The TFRecord format, where each instance is a single record in tfrecord
9411      * syntax. Uses
9412      * [GcsSource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.gcs_source].
9413      * * `tf-record-gzip`
9414      * Similar to `tf-record`, but the file is gzipped. Uses
9415      * [GcsSource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.gcs_source].
9416      * * `bigquery`
9417      * Each instance is a single row in BigQuery. Uses
9418      * [BigQuerySource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.bigquery_source].
9419      * * `file-list`
9420      * Each line of the file is the location of an instance to process, uses
9421      * `gcs_source` field of the
9422      * [InputConfig][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig]
9423      * object.
9424      * If this Model doesn't support any of these formats it means it cannot be
9425      * used with a
9426      * [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob].
9427      * However, if it has
9428      * [supported_deployment_resources_types][google.cloud.aiplatform.v1.Model.supported_deployment_resources_types],
9429      * it could serve online predictions by using
9430      * [PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict]
9431      * or
9432      * [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain].
9433      * </pre>
9434      *
9435      * <code>
9436      * repeated string supported_input_storage_formats = 11 [(.google.api.field_behavior) = OUTPUT_ONLY];
9437      * </code>
9438      *
9439      * @param value The supportedInputStorageFormats to add.
9440      * @return This builder for chaining.
9441      */
addSupportedInputStorageFormats(java.lang.String value)9442     public Builder addSupportedInputStorageFormats(java.lang.String value) {
9443       if (value == null) {
9444         throw new NullPointerException();
9445       }
9446       ensureSupportedInputStorageFormatsIsMutable();
9447       supportedInputStorageFormats_.add(value);
9448       onChanged();
9449       return this;
9450     }
9451     /**
9452      *
9453      *
9454      * <pre>
9455      * Output only. The formats this Model supports in
9456      * [BatchPredictionJob.input_config][google.cloud.aiplatform.v1.BatchPredictionJob.input_config].
9457      * If
9458      * [PredictSchemata.instance_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.instance_schema_uri]
9459      * exists, the instances should be given as per that schema.
9460      * The possible formats are:
9461      * * `jsonl`
9462      * The JSON Lines format, where each instance is a single line. Uses
9463      * [GcsSource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.gcs_source].
9464      * * `csv`
9465      * The CSV format, where each instance is a single comma-separated line.
9466      * The first line in the file is the header, containing comma-separated field
9467      * names. Uses
9468      * [GcsSource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.gcs_source].
9469      * * `tf-record`
9470      * The TFRecord format, where each instance is a single record in tfrecord
9471      * syntax. Uses
9472      * [GcsSource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.gcs_source].
9473      * * `tf-record-gzip`
9474      * Similar to `tf-record`, but the file is gzipped. Uses
9475      * [GcsSource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.gcs_source].
9476      * * `bigquery`
9477      * Each instance is a single row in BigQuery. Uses
9478      * [BigQuerySource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.bigquery_source].
9479      * * `file-list`
9480      * Each line of the file is the location of an instance to process, uses
9481      * `gcs_source` field of the
9482      * [InputConfig][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig]
9483      * object.
9484      * If this Model doesn't support any of these formats it means it cannot be
9485      * used with a
9486      * [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob].
9487      * However, if it has
9488      * [supported_deployment_resources_types][google.cloud.aiplatform.v1.Model.supported_deployment_resources_types],
9489      * it could serve online predictions by using
9490      * [PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict]
9491      * or
9492      * [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain].
9493      * </pre>
9494      *
9495      * <code>
9496      * repeated string supported_input_storage_formats = 11 [(.google.api.field_behavior) = OUTPUT_ONLY];
9497      * </code>
9498      *
9499      * @param values The supportedInputStorageFormats to add.
9500      * @return This builder for chaining.
9501      */
addAllSupportedInputStorageFormats(java.lang.Iterable<java.lang.String> values)9502     public Builder addAllSupportedInputStorageFormats(java.lang.Iterable<java.lang.String> values) {
9503       ensureSupportedInputStorageFormatsIsMutable();
9504       com.google.protobuf.AbstractMessageLite.Builder.addAll(values, supportedInputStorageFormats_);
9505       onChanged();
9506       return this;
9507     }
9508     /**
9509      *
9510      *
9511      * <pre>
9512      * Output only. The formats this Model supports in
9513      * [BatchPredictionJob.input_config][google.cloud.aiplatform.v1.BatchPredictionJob.input_config].
9514      * If
9515      * [PredictSchemata.instance_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.instance_schema_uri]
9516      * exists, the instances should be given as per that schema.
9517      * The possible formats are:
9518      * * `jsonl`
9519      * The JSON Lines format, where each instance is a single line. Uses
9520      * [GcsSource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.gcs_source].
9521      * * `csv`
9522      * The CSV format, where each instance is a single comma-separated line.
9523      * The first line in the file is the header, containing comma-separated field
9524      * names. Uses
9525      * [GcsSource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.gcs_source].
9526      * * `tf-record`
9527      * The TFRecord format, where each instance is a single record in tfrecord
9528      * syntax. Uses
9529      * [GcsSource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.gcs_source].
9530      * * `tf-record-gzip`
9531      * Similar to `tf-record`, but the file is gzipped. Uses
9532      * [GcsSource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.gcs_source].
9533      * * `bigquery`
9534      * Each instance is a single row in BigQuery. Uses
9535      * [BigQuerySource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.bigquery_source].
9536      * * `file-list`
9537      * Each line of the file is the location of an instance to process, uses
9538      * `gcs_source` field of the
9539      * [InputConfig][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig]
9540      * object.
9541      * If this Model doesn't support any of these formats it means it cannot be
9542      * used with a
9543      * [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob].
9544      * However, if it has
9545      * [supported_deployment_resources_types][google.cloud.aiplatform.v1.Model.supported_deployment_resources_types],
9546      * it could serve online predictions by using
9547      * [PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict]
9548      * or
9549      * [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain].
9550      * </pre>
9551      *
9552      * <code>
9553      * repeated string supported_input_storage_formats = 11 [(.google.api.field_behavior) = OUTPUT_ONLY];
9554      * </code>
9555      *
9556      * @return This builder for chaining.
9557      */
clearSupportedInputStorageFormats()9558     public Builder clearSupportedInputStorageFormats() {
9559       supportedInputStorageFormats_ = com.google.protobuf.LazyStringArrayList.EMPTY;
9560       bitField0_ = (bitField0_ & ~0x00010000);
9561       onChanged();
9562       return this;
9563     }
9564     /**
9565      *
9566      *
9567      * <pre>
9568      * Output only. The formats this Model supports in
9569      * [BatchPredictionJob.input_config][google.cloud.aiplatform.v1.BatchPredictionJob.input_config].
9570      * If
9571      * [PredictSchemata.instance_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.instance_schema_uri]
9572      * exists, the instances should be given as per that schema.
9573      * The possible formats are:
9574      * * `jsonl`
9575      * The JSON Lines format, where each instance is a single line. Uses
9576      * [GcsSource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.gcs_source].
9577      * * `csv`
9578      * The CSV format, where each instance is a single comma-separated line.
9579      * The first line in the file is the header, containing comma-separated field
9580      * names. Uses
9581      * [GcsSource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.gcs_source].
9582      * * `tf-record`
9583      * The TFRecord format, where each instance is a single record in tfrecord
9584      * syntax. Uses
9585      * [GcsSource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.gcs_source].
9586      * * `tf-record-gzip`
9587      * Similar to `tf-record`, but the file is gzipped. Uses
9588      * [GcsSource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.gcs_source].
9589      * * `bigquery`
9590      * Each instance is a single row in BigQuery. Uses
9591      * [BigQuerySource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.bigquery_source].
9592      * * `file-list`
9593      * Each line of the file is the location of an instance to process, uses
9594      * `gcs_source` field of the
9595      * [InputConfig][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig]
9596      * object.
9597      * If this Model doesn't support any of these formats it means it cannot be
9598      * used with a
9599      * [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob].
9600      * However, if it has
9601      * [supported_deployment_resources_types][google.cloud.aiplatform.v1.Model.supported_deployment_resources_types],
9602      * it could serve online predictions by using
9603      * [PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict]
9604      * or
9605      * [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain].
9606      * </pre>
9607      *
9608      * <code>
9609      * repeated string supported_input_storage_formats = 11 [(.google.api.field_behavior) = OUTPUT_ONLY];
9610      * </code>
9611      *
9612      * @param value The bytes of the supportedInputStorageFormats to add.
9613      * @return This builder for chaining.
9614      */
addSupportedInputStorageFormatsBytes(com.google.protobuf.ByteString value)9615     public Builder addSupportedInputStorageFormatsBytes(com.google.protobuf.ByteString value) {
9616       if (value == null) {
9617         throw new NullPointerException();
9618       }
9619       checkByteStringIsUtf8(value);
9620       ensureSupportedInputStorageFormatsIsMutable();
9621       supportedInputStorageFormats_.add(value);
9622       onChanged();
9623       return this;
9624     }
9625 
9626     private com.google.protobuf.LazyStringList supportedOutputStorageFormats_ =
9627         com.google.protobuf.LazyStringArrayList.EMPTY;
9628 
ensureSupportedOutputStorageFormatsIsMutable()9629     private void ensureSupportedOutputStorageFormatsIsMutable() {
9630       if (!((bitField0_ & 0x00020000) != 0)) {
9631         supportedOutputStorageFormats_ =
9632             new com.google.protobuf.LazyStringArrayList(supportedOutputStorageFormats_);
9633         bitField0_ |= 0x00020000;
9634       }
9635     }
9636     /**
9637      *
9638      *
9639      * <pre>
9640      * Output only. The formats this Model supports in
9641      * [BatchPredictionJob.output_config][google.cloud.aiplatform.v1.BatchPredictionJob.output_config].
9642      * If both
9643      * [PredictSchemata.instance_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.instance_schema_uri]
9644      * and
9645      * [PredictSchemata.prediction_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.prediction_schema_uri]
9646      * exist, the predictions are returned together with their instances. In other
9647      * words, the prediction has the original instance data first, followed by the
9648      * actual prediction content (as per the schema).
9649      * The possible formats are:
9650      * * `jsonl`
9651      * The JSON Lines format, where each prediction is a single line. Uses
9652      * [GcsDestination][google.cloud.aiplatform.v1.BatchPredictionJob.OutputConfig.gcs_destination].
9653      * * `csv`
9654      * The CSV format, where each prediction is a single comma-separated line.
9655      * The first line in the file is the header, containing comma-separated field
9656      * names. Uses
9657      * [GcsDestination][google.cloud.aiplatform.v1.BatchPredictionJob.OutputConfig.gcs_destination].
9658      * * `bigquery`
9659      * Each prediction is a single row in a BigQuery table, uses
9660      * [BigQueryDestination][google.cloud.aiplatform.v1.BatchPredictionJob.OutputConfig.bigquery_destination]
9661      * .
9662      * If this Model doesn't support any of these formats it means it cannot be
9663      * used with a
9664      * [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob].
9665      * However, if it has
9666      * [supported_deployment_resources_types][google.cloud.aiplatform.v1.Model.supported_deployment_resources_types],
9667      * it could serve online predictions by using
9668      * [PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict]
9669      * or
9670      * [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain].
9671      * </pre>
9672      *
9673      * <code>
9674      * repeated string supported_output_storage_formats = 12 [(.google.api.field_behavior) = OUTPUT_ONLY];
9675      * </code>
9676      *
9677      * @return A list containing the supportedOutputStorageFormats.
9678      */
getSupportedOutputStorageFormatsList()9679     public com.google.protobuf.ProtocolStringList getSupportedOutputStorageFormatsList() {
9680       return supportedOutputStorageFormats_.getUnmodifiableView();
9681     }
9682     /**
9683      *
9684      *
9685      * <pre>
9686      * Output only. The formats this Model supports in
9687      * [BatchPredictionJob.output_config][google.cloud.aiplatform.v1.BatchPredictionJob.output_config].
9688      * If both
9689      * [PredictSchemata.instance_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.instance_schema_uri]
9690      * and
9691      * [PredictSchemata.prediction_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.prediction_schema_uri]
9692      * exist, the predictions are returned together with their instances. In other
9693      * words, the prediction has the original instance data first, followed by the
9694      * actual prediction content (as per the schema).
9695      * The possible formats are:
9696      * * `jsonl`
9697      * The JSON Lines format, where each prediction is a single line. Uses
9698      * [GcsDestination][google.cloud.aiplatform.v1.BatchPredictionJob.OutputConfig.gcs_destination].
9699      * * `csv`
9700      * The CSV format, where each prediction is a single comma-separated line.
9701      * The first line in the file is the header, containing comma-separated field
9702      * names. Uses
9703      * [GcsDestination][google.cloud.aiplatform.v1.BatchPredictionJob.OutputConfig.gcs_destination].
9704      * * `bigquery`
9705      * Each prediction is a single row in a BigQuery table, uses
9706      * [BigQueryDestination][google.cloud.aiplatform.v1.BatchPredictionJob.OutputConfig.bigquery_destination]
9707      * .
9708      * If this Model doesn't support any of these formats it means it cannot be
9709      * used with a
9710      * [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob].
9711      * However, if it has
9712      * [supported_deployment_resources_types][google.cloud.aiplatform.v1.Model.supported_deployment_resources_types],
9713      * it could serve online predictions by using
9714      * [PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict]
9715      * or
9716      * [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain].
9717      * </pre>
9718      *
9719      * <code>
9720      * repeated string supported_output_storage_formats = 12 [(.google.api.field_behavior) = OUTPUT_ONLY];
9721      * </code>
9722      *
9723      * @return The count of supportedOutputStorageFormats.
9724      */
getSupportedOutputStorageFormatsCount()9725     public int getSupportedOutputStorageFormatsCount() {
9726       return supportedOutputStorageFormats_.size();
9727     }
9728     /**
9729      *
9730      *
9731      * <pre>
9732      * Output only. The formats this Model supports in
9733      * [BatchPredictionJob.output_config][google.cloud.aiplatform.v1.BatchPredictionJob.output_config].
9734      * If both
9735      * [PredictSchemata.instance_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.instance_schema_uri]
9736      * and
9737      * [PredictSchemata.prediction_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.prediction_schema_uri]
9738      * exist, the predictions are returned together with their instances. In other
9739      * words, the prediction has the original instance data first, followed by the
9740      * actual prediction content (as per the schema).
9741      * The possible formats are:
9742      * * `jsonl`
9743      * The JSON Lines format, where each prediction is a single line. Uses
9744      * [GcsDestination][google.cloud.aiplatform.v1.BatchPredictionJob.OutputConfig.gcs_destination].
9745      * * `csv`
9746      * The CSV format, where each prediction is a single comma-separated line.
9747      * The first line in the file is the header, containing comma-separated field
9748      * names. Uses
9749      * [GcsDestination][google.cloud.aiplatform.v1.BatchPredictionJob.OutputConfig.gcs_destination].
9750      * * `bigquery`
9751      * Each prediction is a single row in a BigQuery table, uses
9752      * [BigQueryDestination][google.cloud.aiplatform.v1.BatchPredictionJob.OutputConfig.bigquery_destination]
9753      * .
9754      * If this Model doesn't support any of these formats it means it cannot be
9755      * used with a
9756      * [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob].
9757      * However, if it has
9758      * [supported_deployment_resources_types][google.cloud.aiplatform.v1.Model.supported_deployment_resources_types],
9759      * it could serve online predictions by using
9760      * [PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict]
9761      * or
9762      * [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain].
9763      * </pre>
9764      *
9765      * <code>
9766      * repeated string supported_output_storage_formats = 12 [(.google.api.field_behavior) = OUTPUT_ONLY];
9767      * </code>
9768      *
9769      * @param index The index of the element to return.
9770      * @return The supportedOutputStorageFormats at the given index.
9771      */
getSupportedOutputStorageFormats(int index)9772     public java.lang.String getSupportedOutputStorageFormats(int index) {
9773       return supportedOutputStorageFormats_.get(index);
9774     }
9775     /**
9776      *
9777      *
9778      * <pre>
9779      * Output only. The formats this Model supports in
9780      * [BatchPredictionJob.output_config][google.cloud.aiplatform.v1.BatchPredictionJob.output_config].
9781      * If both
9782      * [PredictSchemata.instance_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.instance_schema_uri]
9783      * and
9784      * [PredictSchemata.prediction_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.prediction_schema_uri]
9785      * exist, the predictions are returned together with their instances. In other
9786      * words, the prediction has the original instance data first, followed by the
9787      * actual prediction content (as per the schema).
9788      * The possible formats are:
9789      * * `jsonl`
9790      * The JSON Lines format, where each prediction is a single line. Uses
9791      * [GcsDestination][google.cloud.aiplatform.v1.BatchPredictionJob.OutputConfig.gcs_destination].
9792      * * `csv`
9793      * The CSV format, where each prediction is a single comma-separated line.
9794      * The first line in the file is the header, containing comma-separated field
9795      * names. Uses
9796      * [GcsDestination][google.cloud.aiplatform.v1.BatchPredictionJob.OutputConfig.gcs_destination].
9797      * * `bigquery`
9798      * Each prediction is a single row in a BigQuery table, uses
9799      * [BigQueryDestination][google.cloud.aiplatform.v1.BatchPredictionJob.OutputConfig.bigquery_destination]
9800      * .
9801      * If this Model doesn't support any of these formats it means it cannot be
9802      * used with a
9803      * [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob].
9804      * However, if it has
9805      * [supported_deployment_resources_types][google.cloud.aiplatform.v1.Model.supported_deployment_resources_types],
9806      * it could serve online predictions by using
9807      * [PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict]
9808      * or
9809      * [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain].
9810      * </pre>
9811      *
9812      * <code>
9813      * repeated string supported_output_storage_formats = 12 [(.google.api.field_behavior) = OUTPUT_ONLY];
9814      * </code>
9815      *
9816      * @param index The index of the value to return.
9817      * @return The bytes of the supportedOutputStorageFormats at the given index.
9818      */
getSupportedOutputStorageFormatsBytes(int index)9819     public com.google.protobuf.ByteString getSupportedOutputStorageFormatsBytes(int index) {
9820       return supportedOutputStorageFormats_.getByteString(index);
9821     }
9822     /**
9823      *
9824      *
9825      * <pre>
9826      * Output only. The formats this Model supports in
9827      * [BatchPredictionJob.output_config][google.cloud.aiplatform.v1.BatchPredictionJob.output_config].
9828      * If both
9829      * [PredictSchemata.instance_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.instance_schema_uri]
9830      * and
9831      * [PredictSchemata.prediction_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.prediction_schema_uri]
9832      * exist, the predictions are returned together with their instances. In other
9833      * words, the prediction has the original instance data first, followed by the
9834      * actual prediction content (as per the schema).
9835      * The possible formats are:
9836      * * `jsonl`
9837      * The JSON Lines format, where each prediction is a single line. Uses
9838      * [GcsDestination][google.cloud.aiplatform.v1.BatchPredictionJob.OutputConfig.gcs_destination].
9839      * * `csv`
9840      * The CSV format, where each prediction is a single comma-separated line.
9841      * The first line in the file is the header, containing comma-separated field
9842      * names. Uses
9843      * [GcsDestination][google.cloud.aiplatform.v1.BatchPredictionJob.OutputConfig.gcs_destination].
9844      * * `bigquery`
9845      * Each prediction is a single row in a BigQuery table, uses
9846      * [BigQueryDestination][google.cloud.aiplatform.v1.BatchPredictionJob.OutputConfig.bigquery_destination]
9847      * .
9848      * If this Model doesn't support any of these formats it means it cannot be
9849      * used with a
9850      * [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob].
9851      * However, if it has
9852      * [supported_deployment_resources_types][google.cloud.aiplatform.v1.Model.supported_deployment_resources_types],
9853      * it could serve online predictions by using
9854      * [PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict]
9855      * or
9856      * [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain].
9857      * </pre>
9858      *
9859      * <code>
9860      * repeated string supported_output_storage_formats = 12 [(.google.api.field_behavior) = OUTPUT_ONLY];
9861      * </code>
9862      *
9863      * @param index The index to set the value at.
9864      * @param value The supportedOutputStorageFormats to set.
9865      * @return This builder for chaining.
9866      */
setSupportedOutputStorageFormats(int index, java.lang.String value)9867     public Builder setSupportedOutputStorageFormats(int index, java.lang.String value) {
9868       if (value == null) {
9869         throw new NullPointerException();
9870       }
9871       ensureSupportedOutputStorageFormatsIsMutable();
9872       supportedOutputStorageFormats_.set(index, value);
9873       onChanged();
9874       return this;
9875     }
9876     /**
9877      *
9878      *
9879      * <pre>
9880      * Output only. The formats this Model supports in
9881      * [BatchPredictionJob.output_config][google.cloud.aiplatform.v1.BatchPredictionJob.output_config].
9882      * If both
9883      * [PredictSchemata.instance_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.instance_schema_uri]
9884      * and
9885      * [PredictSchemata.prediction_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.prediction_schema_uri]
9886      * exist, the predictions are returned together with their instances. In other
9887      * words, the prediction has the original instance data first, followed by the
9888      * actual prediction content (as per the schema).
9889      * The possible formats are:
9890      * * `jsonl`
9891      * The JSON Lines format, where each prediction is a single line. Uses
9892      * [GcsDestination][google.cloud.aiplatform.v1.BatchPredictionJob.OutputConfig.gcs_destination].
9893      * * `csv`
9894      * The CSV format, where each prediction is a single comma-separated line.
9895      * The first line in the file is the header, containing comma-separated field
9896      * names. Uses
9897      * [GcsDestination][google.cloud.aiplatform.v1.BatchPredictionJob.OutputConfig.gcs_destination].
9898      * * `bigquery`
9899      * Each prediction is a single row in a BigQuery table, uses
9900      * [BigQueryDestination][google.cloud.aiplatform.v1.BatchPredictionJob.OutputConfig.bigquery_destination]
9901      * .
9902      * If this Model doesn't support any of these formats it means it cannot be
9903      * used with a
9904      * [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob].
9905      * However, if it has
9906      * [supported_deployment_resources_types][google.cloud.aiplatform.v1.Model.supported_deployment_resources_types],
9907      * it could serve online predictions by using
9908      * [PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict]
9909      * or
9910      * [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain].
9911      * </pre>
9912      *
9913      * <code>
9914      * repeated string supported_output_storage_formats = 12 [(.google.api.field_behavior) = OUTPUT_ONLY];
9915      * </code>
9916      *
9917      * @param value The supportedOutputStorageFormats to add.
9918      * @return This builder for chaining.
9919      */
addSupportedOutputStorageFormats(java.lang.String value)9920     public Builder addSupportedOutputStorageFormats(java.lang.String value) {
9921       if (value == null) {
9922         throw new NullPointerException();
9923       }
9924       ensureSupportedOutputStorageFormatsIsMutable();
9925       supportedOutputStorageFormats_.add(value);
9926       onChanged();
9927       return this;
9928     }
9929     /**
9930      *
9931      *
9932      * <pre>
9933      * Output only. The formats this Model supports in
9934      * [BatchPredictionJob.output_config][google.cloud.aiplatform.v1.BatchPredictionJob.output_config].
9935      * If both
9936      * [PredictSchemata.instance_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.instance_schema_uri]
9937      * and
9938      * [PredictSchemata.prediction_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.prediction_schema_uri]
9939      * exist, the predictions are returned together with their instances. In other
9940      * words, the prediction has the original instance data first, followed by the
9941      * actual prediction content (as per the schema).
9942      * The possible formats are:
9943      * * `jsonl`
9944      * The JSON Lines format, where each prediction is a single line. Uses
9945      * [GcsDestination][google.cloud.aiplatform.v1.BatchPredictionJob.OutputConfig.gcs_destination].
9946      * * `csv`
9947      * The CSV format, where each prediction is a single comma-separated line.
9948      * The first line in the file is the header, containing comma-separated field
9949      * names. Uses
9950      * [GcsDestination][google.cloud.aiplatform.v1.BatchPredictionJob.OutputConfig.gcs_destination].
9951      * * `bigquery`
9952      * Each prediction is a single row in a BigQuery table, uses
9953      * [BigQueryDestination][google.cloud.aiplatform.v1.BatchPredictionJob.OutputConfig.bigquery_destination]
9954      * .
9955      * If this Model doesn't support any of these formats it means it cannot be
9956      * used with a
9957      * [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob].
9958      * However, if it has
9959      * [supported_deployment_resources_types][google.cloud.aiplatform.v1.Model.supported_deployment_resources_types],
9960      * it could serve online predictions by using
9961      * [PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict]
9962      * or
9963      * [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain].
9964      * </pre>
9965      *
9966      * <code>
9967      * repeated string supported_output_storage_formats = 12 [(.google.api.field_behavior) = OUTPUT_ONLY];
9968      * </code>
9969      *
9970      * @param values The supportedOutputStorageFormats to add.
9971      * @return This builder for chaining.
9972      */
addAllSupportedOutputStorageFormats( java.lang.Iterable<java.lang.String> values)9973     public Builder addAllSupportedOutputStorageFormats(
9974         java.lang.Iterable<java.lang.String> values) {
9975       ensureSupportedOutputStorageFormatsIsMutable();
9976       com.google.protobuf.AbstractMessageLite.Builder.addAll(
9977           values, supportedOutputStorageFormats_);
9978       onChanged();
9979       return this;
9980     }
9981     /**
9982      *
9983      *
9984      * <pre>
9985      * Output only. The formats this Model supports in
9986      * [BatchPredictionJob.output_config][google.cloud.aiplatform.v1.BatchPredictionJob.output_config].
9987      * If both
9988      * [PredictSchemata.instance_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.instance_schema_uri]
9989      * and
9990      * [PredictSchemata.prediction_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.prediction_schema_uri]
9991      * exist, the predictions are returned together with their instances. In other
9992      * words, the prediction has the original instance data first, followed by the
9993      * actual prediction content (as per the schema).
9994      * The possible formats are:
9995      * * `jsonl`
9996      * The JSON Lines format, where each prediction is a single line. Uses
9997      * [GcsDestination][google.cloud.aiplatform.v1.BatchPredictionJob.OutputConfig.gcs_destination].
9998      * * `csv`
9999      * The CSV format, where each prediction is a single comma-separated line.
10000      * The first line in the file is the header, containing comma-separated field
10001      * names. Uses
10002      * [GcsDestination][google.cloud.aiplatform.v1.BatchPredictionJob.OutputConfig.gcs_destination].
10003      * * `bigquery`
10004      * Each prediction is a single row in a BigQuery table, uses
10005      * [BigQueryDestination][google.cloud.aiplatform.v1.BatchPredictionJob.OutputConfig.bigquery_destination]
10006      * .
10007      * If this Model doesn't support any of these formats it means it cannot be
10008      * used with a
10009      * [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob].
10010      * However, if it has
10011      * [supported_deployment_resources_types][google.cloud.aiplatform.v1.Model.supported_deployment_resources_types],
10012      * it could serve online predictions by using
10013      * [PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict]
10014      * or
10015      * [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain].
10016      * </pre>
10017      *
10018      * <code>
10019      * repeated string supported_output_storage_formats = 12 [(.google.api.field_behavior) = OUTPUT_ONLY];
10020      * </code>
10021      *
10022      * @return This builder for chaining.
10023      */
clearSupportedOutputStorageFormats()10024     public Builder clearSupportedOutputStorageFormats() {
10025       supportedOutputStorageFormats_ = com.google.protobuf.LazyStringArrayList.EMPTY;
10026       bitField0_ = (bitField0_ & ~0x00020000);
10027       onChanged();
10028       return this;
10029     }
10030     /**
10031      *
10032      *
10033      * <pre>
10034      * Output only. The formats this Model supports in
10035      * [BatchPredictionJob.output_config][google.cloud.aiplatform.v1.BatchPredictionJob.output_config].
10036      * If both
10037      * [PredictSchemata.instance_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.instance_schema_uri]
10038      * and
10039      * [PredictSchemata.prediction_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.prediction_schema_uri]
10040      * exist, the predictions are returned together with their instances. In other
10041      * words, the prediction has the original instance data first, followed by the
10042      * actual prediction content (as per the schema).
10043      * The possible formats are:
10044      * * `jsonl`
10045      * The JSON Lines format, where each prediction is a single line. Uses
10046      * [GcsDestination][google.cloud.aiplatform.v1.BatchPredictionJob.OutputConfig.gcs_destination].
10047      * * `csv`
10048      * The CSV format, where each prediction is a single comma-separated line.
10049      * The first line in the file is the header, containing comma-separated field
10050      * names. Uses
10051      * [GcsDestination][google.cloud.aiplatform.v1.BatchPredictionJob.OutputConfig.gcs_destination].
10052      * * `bigquery`
10053      * Each prediction is a single row in a BigQuery table, uses
10054      * [BigQueryDestination][google.cloud.aiplatform.v1.BatchPredictionJob.OutputConfig.bigquery_destination]
10055      * .
10056      * If this Model doesn't support any of these formats it means it cannot be
10057      * used with a
10058      * [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob].
10059      * However, if it has
10060      * [supported_deployment_resources_types][google.cloud.aiplatform.v1.Model.supported_deployment_resources_types],
10061      * it could serve online predictions by using
10062      * [PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict]
10063      * or
10064      * [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain].
10065      * </pre>
10066      *
10067      * <code>
10068      * repeated string supported_output_storage_formats = 12 [(.google.api.field_behavior) = OUTPUT_ONLY];
10069      * </code>
10070      *
10071      * @param value The bytes of the supportedOutputStorageFormats to add.
10072      * @return This builder for chaining.
10073      */
addSupportedOutputStorageFormatsBytes(com.google.protobuf.ByteString value)10074     public Builder addSupportedOutputStorageFormatsBytes(com.google.protobuf.ByteString value) {
10075       if (value == null) {
10076         throw new NullPointerException();
10077       }
10078       checkByteStringIsUtf8(value);
10079       ensureSupportedOutputStorageFormatsIsMutable();
10080       supportedOutputStorageFormats_.add(value);
10081       onChanged();
10082       return this;
10083     }
10084 
10085     private com.google.protobuf.Timestamp createTime_;
10086     private com.google.protobuf.SingleFieldBuilderV3<
10087             com.google.protobuf.Timestamp,
10088             com.google.protobuf.Timestamp.Builder,
10089             com.google.protobuf.TimestampOrBuilder>
10090         createTimeBuilder_;
10091     /**
10092      *
10093      *
10094      * <pre>
10095      * Output only. Timestamp when this Model was uploaded into Vertex AI.
10096      * </pre>
10097      *
10098      * <code>
10099      * .google.protobuf.Timestamp create_time = 13 [(.google.api.field_behavior) = OUTPUT_ONLY];
10100      * </code>
10101      *
10102      * @return Whether the createTime field is set.
10103      */
hasCreateTime()10104     public boolean hasCreateTime() {
10105       return ((bitField0_ & 0x00040000) != 0);
10106     }
10107     /**
10108      *
10109      *
10110      * <pre>
10111      * Output only. Timestamp when this Model was uploaded into Vertex AI.
10112      * </pre>
10113      *
10114      * <code>
10115      * .google.protobuf.Timestamp create_time = 13 [(.google.api.field_behavior) = OUTPUT_ONLY];
10116      * </code>
10117      *
10118      * @return The createTime.
10119      */
getCreateTime()10120     public com.google.protobuf.Timestamp getCreateTime() {
10121       if (createTimeBuilder_ == null) {
10122         return createTime_ == null
10123             ? com.google.protobuf.Timestamp.getDefaultInstance()
10124             : createTime_;
10125       } else {
10126         return createTimeBuilder_.getMessage();
10127       }
10128     }
10129     /**
10130      *
10131      *
10132      * <pre>
10133      * Output only. Timestamp when this Model was uploaded into Vertex AI.
10134      * </pre>
10135      *
10136      * <code>
10137      * .google.protobuf.Timestamp create_time = 13 [(.google.api.field_behavior) = OUTPUT_ONLY];
10138      * </code>
10139      */
setCreateTime(com.google.protobuf.Timestamp value)10140     public Builder setCreateTime(com.google.protobuf.Timestamp value) {
10141       if (createTimeBuilder_ == null) {
10142         if (value == null) {
10143           throw new NullPointerException();
10144         }
10145         createTime_ = value;
10146       } else {
10147         createTimeBuilder_.setMessage(value);
10148       }
10149       bitField0_ |= 0x00040000;
10150       onChanged();
10151       return this;
10152     }
10153     /**
10154      *
10155      *
10156      * <pre>
10157      * Output only. Timestamp when this Model was uploaded into Vertex AI.
10158      * </pre>
10159      *
10160      * <code>
10161      * .google.protobuf.Timestamp create_time = 13 [(.google.api.field_behavior) = OUTPUT_ONLY];
10162      * </code>
10163      */
setCreateTime(com.google.protobuf.Timestamp.Builder builderForValue)10164     public Builder setCreateTime(com.google.protobuf.Timestamp.Builder builderForValue) {
10165       if (createTimeBuilder_ == null) {
10166         createTime_ = builderForValue.build();
10167       } else {
10168         createTimeBuilder_.setMessage(builderForValue.build());
10169       }
10170       bitField0_ |= 0x00040000;
10171       onChanged();
10172       return this;
10173     }
10174     /**
10175      *
10176      *
10177      * <pre>
10178      * Output only. Timestamp when this Model was uploaded into Vertex AI.
10179      * </pre>
10180      *
10181      * <code>
10182      * .google.protobuf.Timestamp create_time = 13 [(.google.api.field_behavior) = OUTPUT_ONLY];
10183      * </code>
10184      */
mergeCreateTime(com.google.protobuf.Timestamp value)10185     public Builder mergeCreateTime(com.google.protobuf.Timestamp value) {
10186       if (createTimeBuilder_ == null) {
10187         if (((bitField0_ & 0x00040000) != 0)
10188             && createTime_ != null
10189             && createTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) {
10190           getCreateTimeBuilder().mergeFrom(value);
10191         } else {
10192           createTime_ = value;
10193         }
10194       } else {
10195         createTimeBuilder_.mergeFrom(value);
10196       }
10197       bitField0_ |= 0x00040000;
10198       onChanged();
10199       return this;
10200     }
10201     /**
10202      *
10203      *
10204      * <pre>
10205      * Output only. Timestamp when this Model was uploaded into Vertex AI.
10206      * </pre>
10207      *
10208      * <code>
10209      * .google.protobuf.Timestamp create_time = 13 [(.google.api.field_behavior) = OUTPUT_ONLY];
10210      * </code>
10211      */
clearCreateTime()10212     public Builder clearCreateTime() {
10213       bitField0_ = (bitField0_ & ~0x00040000);
10214       createTime_ = null;
10215       if (createTimeBuilder_ != null) {
10216         createTimeBuilder_.dispose();
10217         createTimeBuilder_ = null;
10218       }
10219       onChanged();
10220       return this;
10221     }
10222     /**
10223      *
10224      *
10225      * <pre>
10226      * Output only. Timestamp when this Model was uploaded into Vertex AI.
10227      * </pre>
10228      *
10229      * <code>
10230      * .google.protobuf.Timestamp create_time = 13 [(.google.api.field_behavior) = OUTPUT_ONLY];
10231      * </code>
10232      */
getCreateTimeBuilder()10233     public com.google.protobuf.Timestamp.Builder getCreateTimeBuilder() {
10234       bitField0_ |= 0x00040000;
10235       onChanged();
10236       return getCreateTimeFieldBuilder().getBuilder();
10237     }
10238     /**
10239      *
10240      *
10241      * <pre>
10242      * Output only. Timestamp when this Model was uploaded into Vertex AI.
10243      * </pre>
10244      *
10245      * <code>
10246      * .google.protobuf.Timestamp create_time = 13 [(.google.api.field_behavior) = OUTPUT_ONLY];
10247      * </code>
10248      */
getCreateTimeOrBuilder()10249     public com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder() {
10250       if (createTimeBuilder_ != null) {
10251         return createTimeBuilder_.getMessageOrBuilder();
10252       } else {
10253         return createTime_ == null
10254             ? com.google.protobuf.Timestamp.getDefaultInstance()
10255             : createTime_;
10256       }
10257     }
10258     /**
10259      *
10260      *
10261      * <pre>
10262      * Output only. Timestamp when this Model was uploaded into Vertex AI.
10263      * </pre>
10264      *
10265      * <code>
10266      * .google.protobuf.Timestamp create_time = 13 [(.google.api.field_behavior) = OUTPUT_ONLY];
10267      * </code>
10268      */
10269     private com.google.protobuf.SingleFieldBuilderV3<
10270             com.google.protobuf.Timestamp,
10271             com.google.protobuf.Timestamp.Builder,
10272             com.google.protobuf.TimestampOrBuilder>
getCreateTimeFieldBuilder()10273         getCreateTimeFieldBuilder() {
10274       if (createTimeBuilder_ == null) {
10275         createTimeBuilder_ =
10276             new com.google.protobuf.SingleFieldBuilderV3<
10277                 com.google.protobuf.Timestamp,
10278                 com.google.protobuf.Timestamp.Builder,
10279                 com.google.protobuf.TimestampOrBuilder>(
10280                 getCreateTime(), getParentForChildren(), isClean());
10281         createTime_ = null;
10282       }
10283       return createTimeBuilder_;
10284     }
10285 
10286     private com.google.protobuf.Timestamp updateTime_;
10287     private com.google.protobuf.SingleFieldBuilderV3<
10288             com.google.protobuf.Timestamp,
10289             com.google.protobuf.Timestamp.Builder,
10290             com.google.protobuf.TimestampOrBuilder>
10291         updateTimeBuilder_;
10292     /**
10293      *
10294      *
10295      * <pre>
10296      * Output only. Timestamp when this Model was most recently updated.
10297      * </pre>
10298      *
10299      * <code>
10300      * .google.protobuf.Timestamp update_time = 14 [(.google.api.field_behavior) = OUTPUT_ONLY];
10301      * </code>
10302      *
10303      * @return Whether the updateTime field is set.
10304      */
hasUpdateTime()10305     public boolean hasUpdateTime() {
10306       return ((bitField0_ & 0x00080000) != 0);
10307     }
10308     /**
10309      *
10310      *
10311      * <pre>
10312      * Output only. Timestamp when this Model was most recently updated.
10313      * </pre>
10314      *
10315      * <code>
10316      * .google.protobuf.Timestamp update_time = 14 [(.google.api.field_behavior) = OUTPUT_ONLY];
10317      * </code>
10318      *
10319      * @return The updateTime.
10320      */
getUpdateTime()10321     public com.google.protobuf.Timestamp getUpdateTime() {
10322       if (updateTimeBuilder_ == null) {
10323         return updateTime_ == null
10324             ? com.google.protobuf.Timestamp.getDefaultInstance()
10325             : updateTime_;
10326       } else {
10327         return updateTimeBuilder_.getMessage();
10328       }
10329     }
10330     /**
10331      *
10332      *
10333      * <pre>
10334      * Output only. Timestamp when this Model was most recently updated.
10335      * </pre>
10336      *
10337      * <code>
10338      * .google.protobuf.Timestamp update_time = 14 [(.google.api.field_behavior) = OUTPUT_ONLY];
10339      * </code>
10340      */
setUpdateTime(com.google.protobuf.Timestamp value)10341     public Builder setUpdateTime(com.google.protobuf.Timestamp value) {
10342       if (updateTimeBuilder_ == null) {
10343         if (value == null) {
10344           throw new NullPointerException();
10345         }
10346         updateTime_ = value;
10347       } else {
10348         updateTimeBuilder_.setMessage(value);
10349       }
10350       bitField0_ |= 0x00080000;
10351       onChanged();
10352       return this;
10353     }
10354     /**
10355      *
10356      *
10357      * <pre>
10358      * Output only. Timestamp when this Model was most recently updated.
10359      * </pre>
10360      *
10361      * <code>
10362      * .google.protobuf.Timestamp update_time = 14 [(.google.api.field_behavior) = OUTPUT_ONLY];
10363      * </code>
10364      */
setUpdateTime(com.google.protobuf.Timestamp.Builder builderForValue)10365     public Builder setUpdateTime(com.google.protobuf.Timestamp.Builder builderForValue) {
10366       if (updateTimeBuilder_ == null) {
10367         updateTime_ = builderForValue.build();
10368       } else {
10369         updateTimeBuilder_.setMessage(builderForValue.build());
10370       }
10371       bitField0_ |= 0x00080000;
10372       onChanged();
10373       return this;
10374     }
10375     /**
10376      *
10377      *
10378      * <pre>
10379      * Output only. Timestamp when this Model was most recently updated.
10380      * </pre>
10381      *
10382      * <code>
10383      * .google.protobuf.Timestamp update_time = 14 [(.google.api.field_behavior) = OUTPUT_ONLY];
10384      * </code>
10385      */
mergeUpdateTime(com.google.protobuf.Timestamp value)10386     public Builder mergeUpdateTime(com.google.protobuf.Timestamp value) {
10387       if (updateTimeBuilder_ == null) {
10388         if (((bitField0_ & 0x00080000) != 0)
10389             && updateTime_ != null
10390             && updateTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) {
10391           getUpdateTimeBuilder().mergeFrom(value);
10392         } else {
10393           updateTime_ = value;
10394         }
10395       } else {
10396         updateTimeBuilder_.mergeFrom(value);
10397       }
10398       bitField0_ |= 0x00080000;
10399       onChanged();
10400       return this;
10401     }
10402     /**
10403      *
10404      *
10405      * <pre>
10406      * Output only. Timestamp when this Model was most recently updated.
10407      * </pre>
10408      *
10409      * <code>
10410      * .google.protobuf.Timestamp update_time = 14 [(.google.api.field_behavior) = OUTPUT_ONLY];
10411      * </code>
10412      */
clearUpdateTime()10413     public Builder clearUpdateTime() {
10414       bitField0_ = (bitField0_ & ~0x00080000);
10415       updateTime_ = null;
10416       if (updateTimeBuilder_ != null) {
10417         updateTimeBuilder_.dispose();
10418         updateTimeBuilder_ = null;
10419       }
10420       onChanged();
10421       return this;
10422     }
10423     /**
10424      *
10425      *
10426      * <pre>
10427      * Output only. Timestamp when this Model was most recently updated.
10428      * </pre>
10429      *
10430      * <code>
10431      * .google.protobuf.Timestamp update_time = 14 [(.google.api.field_behavior) = OUTPUT_ONLY];
10432      * </code>
10433      */
getUpdateTimeBuilder()10434     public com.google.protobuf.Timestamp.Builder getUpdateTimeBuilder() {
10435       bitField0_ |= 0x00080000;
10436       onChanged();
10437       return getUpdateTimeFieldBuilder().getBuilder();
10438     }
10439     /**
10440      *
10441      *
10442      * <pre>
10443      * Output only. Timestamp when this Model was most recently updated.
10444      * </pre>
10445      *
10446      * <code>
10447      * .google.protobuf.Timestamp update_time = 14 [(.google.api.field_behavior) = OUTPUT_ONLY];
10448      * </code>
10449      */
getUpdateTimeOrBuilder()10450     public com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder() {
10451       if (updateTimeBuilder_ != null) {
10452         return updateTimeBuilder_.getMessageOrBuilder();
10453       } else {
10454         return updateTime_ == null
10455             ? com.google.protobuf.Timestamp.getDefaultInstance()
10456             : updateTime_;
10457       }
10458     }
10459     /**
10460      *
10461      *
10462      * <pre>
10463      * Output only. Timestamp when this Model was most recently updated.
10464      * </pre>
10465      *
10466      * <code>
10467      * .google.protobuf.Timestamp update_time = 14 [(.google.api.field_behavior) = OUTPUT_ONLY];
10468      * </code>
10469      */
10470     private com.google.protobuf.SingleFieldBuilderV3<
10471             com.google.protobuf.Timestamp,
10472             com.google.protobuf.Timestamp.Builder,
10473             com.google.protobuf.TimestampOrBuilder>
getUpdateTimeFieldBuilder()10474         getUpdateTimeFieldBuilder() {
10475       if (updateTimeBuilder_ == null) {
10476         updateTimeBuilder_ =
10477             new com.google.protobuf.SingleFieldBuilderV3<
10478                 com.google.protobuf.Timestamp,
10479                 com.google.protobuf.Timestamp.Builder,
10480                 com.google.protobuf.TimestampOrBuilder>(
10481                 getUpdateTime(), getParentForChildren(), isClean());
10482         updateTime_ = null;
10483       }
10484       return updateTimeBuilder_;
10485     }
10486 
10487     private java.util.List<com.google.cloud.aiplatform.v1.DeployedModelRef> deployedModels_ =
10488         java.util.Collections.emptyList();
10489 
ensureDeployedModelsIsMutable()10490     private void ensureDeployedModelsIsMutable() {
10491       if (!((bitField0_ & 0x00100000) != 0)) {
10492         deployedModels_ =
10493             new java.util.ArrayList<com.google.cloud.aiplatform.v1.DeployedModelRef>(
10494                 deployedModels_);
10495         bitField0_ |= 0x00100000;
10496       }
10497     }
10498 
10499     private com.google.protobuf.RepeatedFieldBuilderV3<
10500             com.google.cloud.aiplatform.v1.DeployedModelRef,
10501             com.google.cloud.aiplatform.v1.DeployedModelRef.Builder,
10502             com.google.cloud.aiplatform.v1.DeployedModelRefOrBuilder>
10503         deployedModelsBuilder_;
10504 
10505     /**
10506      *
10507      *
10508      * <pre>
10509      * Output only. The pointers to DeployedModels created from this Model. Note
10510      * that Model could have been deployed to Endpoints in different Locations.
10511      * </pre>
10512      *
10513      * <code>
10514      * repeated .google.cloud.aiplatform.v1.DeployedModelRef deployed_models = 15 [(.google.api.field_behavior) = OUTPUT_ONLY];
10515      * </code>
10516      */
getDeployedModelsList()10517     public java.util.List<com.google.cloud.aiplatform.v1.DeployedModelRef> getDeployedModelsList() {
10518       if (deployedModelsBuilder_ == null) {
10519         return java.util.Collections.unmodifiableList(deployedModels_);
10520       } else {
10521         return deployedModelsBuilder_.getMessageList();
10522       }
10523     }
10524     /**
10525      *
10526      *
10527      * <pre>
10528      * Output only. The pointers to DeployedModels created from this Model. Note
10529      * that Model could have been deployed to Endpoints in different Locations.
10530      * </pre>
10531      *
10532      * <code>
10533      * repeated .google.cloud.aiplatform.v1.DeployedModelRef deployed_models = 15 [(.google.api.field_behavior) = OUTPUT_ONLY];
10534      * </code>
10535      */
getDeployedModelsCount()10536     public int getDeployedModelsCount() {
10537       if (deployedModelsBuilder_ == null) {
10538         return deployedModels_.size();
10539       } else {
10540         return deployedModelsBuilder_.getCount();
10541       }
10542     }
10543     /**
10544      *
10545      *
10546      * <pre>
10547      * Output only. The pointers to DeployedModels created from this Model. Note
10548      * that Model could have been deployed to Endpoints in different Locations.
10549      * </pre>
10550      *
10551      * <code>
10552      * repeated .google.cloud.aiplatform.v1.DeployedModelRef deployed_models = 15 [(.google.api.field_behavior) = OUTPUT_ONLY];
10553      * </code>
10554      */
getDeployedModels(int index)10555     public com.google.cloud.aiplatform.v1.DeployedModelRef getDeployedModels(int index) {
10556       if (deployedModelsBuilder_ == null) {
10557         return deployedModels_.get(index);
10558       } else {
10559         return deployedModelsBuilder_.getMessage(index);
10560       }
10561     }
10562     /**
10563      *
10564      *
10565      * <pre>
10566      * Output only. The pointers to DeployedModels created from this Model. Note
10567      * that Model could have been deployed to Endpoints in different Locations.
10568      * </pre>
10569      *
10570      * <code>
10571      * repeated .google.cloud.aiplatform.v1.DeployedModelRef deployed_models = 15 [(.google.api.field_behavior) = OUTPUT_ONLY];
10572      * </code>
10573      */
setDeployedModels( int index, com.google.cloud.aiplatform.v1.DeployedModelRef value)10574     public Builder setDeployedModels(
10575         int index, com.google.cloud.aiplatform.v1.DeployedModelRef value) {
10576       if (deployedModelsBuilder_ == null) {
10577         if (value == null) {
10578           throw new NullPointerException();
10579         }
10580         ensureDeployedModelsIsMutable();
10581         deployedModels_.set(index, value);
10582         onChanged();
10583       } else {
10584         deployedModelsBuilder_.setMessage(index, value);
10585       }
10586       return this;
10587     }
10588     /**
10589      *
10590      *
10591      * <pre>
10592      * Output only. The pointers to DeployedModels created from this Model. Note
10593      * that Model could have been deployed to Endpoints in different Locations.
10594      * </pre>
10595      *
10596      * <code>
10597      * repeated .google.cloud.aiplatform.v1.DeployedModelRef deployed_models = 15 [(.google.api.field_behavior) = OUTPUT_ONLY];
10598      * </code>
10599      */
setDeployedModels( int index, com.google.cloud.aiplatform.v1.DeployedModelRef.Builder builderForValue)10600     public Builder setDeployedModels(
10601         int index, com.google.cloud.aiplatform.v1.DeployedModelRef.Builder builderForValue) {
10602       if (deployedModelsBuilder_ == null) {
10603         ensureDeployedModelsIsMutable();
10604         deployedModels_.set(index, builderForValue.build());
10605         onChanged();
10606       } else {
10607         deployedModelsBuilder_.setMessage(index, builderForValue.build());
10608       }
10609       return this;
10610     }
10611     /**
10612      *
10613      *
10614      * <pre>
10615      * Output only. The pointers to DeployedModels created from this Model. Note
10616      * that Model could have been deployed to Endpoints in different Locations.
10617      * </pre>
10618      *
10619      * <code>
10620      * repeated .google.cloud.aiplatform.v1.DeployedModelRef deployed_models = 15 [(.google.api.field_behavior) = OUTPUT_ONLY];
10621      * </code>
10622      */
addDeployedModels(com.google.cloud.aiplatform.v1.DeployedModelRef value)10623     public Builder addDeployedModels(com.google.cloud.aiplatform.v1.DeployedModelRef value) {
10624       if (deployedModelsBuilder_ == null) {
10625         if (value == null) {
10626           throw new NullPointerException();
10627         }
10628         ensureDeployedModelsIsMutable();
10629         deployedModels_.add(value);
10630         onChanged();
10631       } else {
10632         deployedModelsBuilder_.addMessage(value);
10633       }
10634       return this;
10635     }
10636     /**
10637      *
10638      *
10639      * <pre>
10640      * Output only. The pointers to DeployedModels created from this Model. Note
10641      * that Model could have been deployed to Endpoints in different Locations.
10642      * </pre>
10643      *
10644      * <code>
10645      * repeated .google.cloud.aiplatform.v1.DeployedModelRef deployed_models = 15 [(.google.api.field_behavior) = OUTPUT_ONLY];
10646      * </code>
10647      */
addDeployedModels( int index, com.google.cloud.aiplatform.v1.DeployedModelRef value)10648     public Builder addDeployedModels(
10649         int index, com.google.cloud.aiplatform.v1.DeployedModelRef value) {
10650       if (deployedModelsBuilder_ == null) {
10651         if (value == null) {
10652           throw new NullPointerException();
10653         }
10654         ensureDeployedModelsIsMutable();
10655         deployedModels_.add(index, value);
10656         onChanged();
10657       } else {
10658         deployedModelsBuilder_.addMessage(index, value);
10659       }
10660       return this;
10661     }
10662     /**
10663      *
10664      *
10665      * <pre>
10666      * Output only. The pointers to DeployedModels created from this Model. Note
10667      * that Model could have been deployed to Endpoints in different Locations.
10668      * </pre>
10669      *
10670      * <code>
10671      * repeated .google.cloud.aiplatform.v1.DeployedModelRef deployed_models = 15 [(.google.api.field_behavior) = OUTPUT_ONLY];
10672      * </code>
10673      */
addDeployedModels( com.google.cloud.aiplatform.v1.DeployedModelRef.Builder builderForValue)10674     public Builder addDeployedModels(
10675         com.google.cloud.aiplatform.v1.DeployedModelRef.Builder builderForValue) {
10676       if (deployedModelsBuilder_ == null) {
10677         ensureDeployedModelsIsMutable();
10678         deployedModels_.add(builderForValue.build());
10679         onChanged();
10680       } else {
10681         deployedModelsBuilder_.addMessage(builderForValue.build());
10682       }
10683       return this;
10684     }
10685     /**
10686      *
10687      *
10688      * <pre>
10689      * Output only. The pointers to DeployedModels created from this Model. Note
10690      * that Model could have been deployed to Endpoints in different Locations.
10691      * </pre>
10692      *
10693      * <code>
10694      * repeated .google.cloud.aiplatform.v1.DeployedModelRef deployed_models = 15 [(.google.api.field_behavior) = OUTPUT_ONLY];
10695      * </code>
10696      */
addDeployedModels( int index, com.google.cloud.aiplatform.v1.DeployedModelRef.Builder builderForValue)10697     public Builder addDeployedModels(
10698         int index, com.google.cloud.aiplatform.v1.DeployedModelRef.Builder builderForValue) {
10699       if (deployedModelsBuilder_ == null) {
10700         ensureDeployedModelsIsMutable();
10701         deployedModels_.add(index, builderForValue.build());
10702         onChanged();
10703       } else {
10704         deployedModelsBuilder_.addMessage(index, builderForValue.build());
10705       }
10706       return this;
10707     }
10708     /**
10709      *
10710      *
10711      * <pre>
10712      * Output only. The pointers to DeployedModels created from this Model. Note
10713      * that Model could have been deployed to Endpoints in different Locations.
10714      * </pre>
10715      *
10716      * <code>
10717      * repeated .google.cloud.aiplatform.v1.DeployedModelRef deployed_models = 15 [(.google.api.field_behavior) = OUTPUT_ONLY];
10718      * </code>
10719      */
addAllDeployedModels( java.lang.Iterable<? extends com.google.cloud.aiplatform.v1.DeployedModelRef> values)10720     public Builder addAllDeployedModels(
10721         java.lang.Iterable<? extends com.google.cloud.aiplatform.v1.DeployedModelRef> values) {
10722       if (deployedModelsBuilder_ == null) {
10723         ensureDeployedModelsIsMutable();
10724         com.google.protobuf.AbstractMessageLite.Builder.addAll(values, deployedModels_);
10725         onChanged();
10726       } else {
10727         deployedModelsBuilder_.addAllMessages(values);
10728       }
10729       return this;
10730     }
10731     /**
10732      *
10733      *
10734      * <pre>
10735      * Output only. The pointers to DeployedModels created from this Model. Note
10736      * that Model could have been deployed to Endpoints in different Locations.
10737      * </pre>
10738      *
10739      * <code>
10740      * repeated .google.cloud.aiplatform.v1.DeployedModelRef deployed_models = 15 [(.google.api.field_behavior) = OUTPUT_ONLY];
10741      * </code>
10742      */
clearDeployedModels()10743     public Builder clearDeployedModels() {
10744       if (deployedModelsBuilder_ == null) {
10745         deployedModels_ = java.util.Collections.emptyList();
10746         bitField0_ = (bitField0_ & ~0x00100000);
10747         onChanged();
10748       } else {
10749         deployedModelsBuilder_.clear();
10750       }
10751       return this;
10752     }
10753     /**
10754      *
10755      *
10756      * <pre>
10757      * Output only. The pointers to DeployedModels created from this Model. Note
10758      * that Model could have been deployed to Endpoints in different Locations.
10759      * </pre>
10760      *
10761      * <code>
10762      * repeated .google.cloud.aiplatform.v1.DeployedModelRef deployed_models = 15 [(.google.api.field_behavior) = OUTPUT_ONLY];
10763      * </code>
10764      */
removeDeployedModels(int index)10765     public Builder removeDeployedModels(int index) {
10766       if (deployedModelsBuilder_ == null) {
10767         ensureDeployedModelsIsMutable();
10768         deployedModels_.remove(index);
10769         onChanged();
10770       } else {
10771         deployedModelsBuilder_.remove(index);
10772       }
10773       return this;
10774     }
10775     /**
10776      *
10777      *
10778      * <pre>
10779      * Output only. The pointers to DeployedModels created from this Model. Note
10780      * that Model could have been deployed to Endpoints in different Locations.
10781      * </pre>
10782      *
10783      * <code>
10784      * repeated .google.cloud.aiplatform.v1.DeployedModelRef deployed_models = 15 [(.google.api.field_behavior) = OUTPUT_ONLY];
10785      * </code>
10786      */
getDeployedModelsBuilder( int index)10787     public com.google.cloud.aiplatform.v1.DeployedModelRef.Builder getDeployedModelsBuilder(
10788         int index) {
10789       return getDeployedModelsFieldBuilder().getBuilder(index);
10790     }
10791     /**
10792      *
10793      *
10794      * <pre>
10795      * Output only. The pointers to DeployedModels created from this Model. Note
10796      * that Model could have been deployed to Endpoints in different Locations.
10797      * </pre>
10798      *
10799      * <code>
10800      * repeated .google.cloud.aiplatform.v1.DeployedModelRef deployed_models = 15 [(.google.api.field_behavior) = OUTPUT_ONLY];
10801      * </code>
10802      */
getDeployedModelsOrBuilder( int index)10803     public com.google.cloud.aiplatform.v1.DeployedModelRefOrBuilder getDeployedModelsOrBuilder(
10804         int index) {
10805       if (deployedModelsBuilder_ == null) {
10806         return deployedModels_.get(index);
10807       } else {
10808         return deployedModelsBuilder_.getMessageOrBuilder(index);
10809       }
10810     }
10811     /**
10812      *
10813      *
10814      * <pre>
10815      * Output only. The pointers to DeployedModels created from this Model. Note
10816      * that Model could have been deployed to Endpoints in different Locations.
10817      * </pre>
10818      *
10819      * <code>
10820      * repeated .google.cloud.aiplatform.v1.DeployedModelRef deployed_models = 15 [(.google.api.field_behavior) = OUTPUT_ONLY];
10821      * </code>
10822      */
10823     public java.util.List<? extends com.google.cloud.aiplatform.v1.DeployedModelRefOrBuilder>
getDeployedModelsOrBuilderList()10824         getDeployedModelsOrBuilderList() {
10825       if (deployedModelsBuilder_ != null) {
10826         return deployedModelsBuilder_.getMessageOrBuilderList();
10827       } else {
10828         return java.util.Collections.unmodifiableList(deployedModels_);
10829       }
10830     }
10831     /**
10832      *
10833      *
10834      * <pre>
10835      * Output only. The pointers to DeployedModels created from this Model. Note
10836      * that Model could have been deployed to Endpoints in different Locations.
10837      * </pre>
10838      *
10839      * <code>
10840      * repeated .google.cloud.aiplatform.v1.DeployedModelRef deployed_models = 15 [(.google.api.field_behavior) = OUTPUT_ONLY];
10841      * </code>
10842      */
addDeployedModelsBuilder()10843     public com.google.cloud.aiplatform.v1.DeployedModelRef.Builder addDeployedModelsBuilder() {
10844       return getDeployedModelsFieldBuilder()
10845           .addBuilder(com.google.cloud.aiplatform.v1.DeployedModelRef.getDefaultInstance());
10846     }
10847     /**
10848      *
10849      *
10850      * <pre>
10851      * Output only. The pointers to DeployedModels created from this Model. Note
10852      * that Model could have been deployed to Endpoints in different Locations.
10853      * </pre>
10854      *
10855      * <code>
10856      * repeated .google.cloud.aiplatform.v1.DeployedModelRef deployed_models = 15 [(.google.api.field_behavior) = OUTPUT_ONLY];
10857      * </code>
10858      */
addDeployedModelsBuilder( int index)10859     public com.google.cloud.aiplatform.v1.DeployedModelRef.Builder addDeployedModelsBuilder(
10860         int index) {
10861       return getDeployedModelsFieldBuilder()
10862           .addBuilder(index, com.google.cloud.aiplatform.v1.DeployedModelRef.getDefaultInstance());
10863     }
10864     /**
10865      *
10866      *
10867      * <pre>
10868      * Output only. The pointers to DeployedModels created from this Model. Note
10869      * that Model could have been deployed to Endpoints in different Locations.
10870      * </pre>
10871      *
10872      * <code>
10873      * repeated .google.cloud.aiplatform.v1.DeployedModelRef deployed_models = 15 [(.google.api.field_behavior) = OUTPUT_ONLY];
10874      * </code>
10875      */
10876     public java.util.List<com.google.cloud.aiplatform.v1.DeployedModelRef.Builder>
getDeployedModelsBuilderList()10877         getDeployedModelsBuilderList() {
10878       return getDeployedModelsFieldBuilder().getBuilderList();
10879     }
10880 
10881     private com.google.protobuf.RepeatedFieldBuilderV3<
10882             com.google.cloud.aiplatform.v1.DeployedModelRef,
10883             com.google.cloud.aiplatform.v1.DeployedModelRef.Builder,
10884             com.google.cloud.aiplatform.v1.DeployedModelRefOrBuilder>
getDeployedModelsFieldBuilder()10885         getDeployedModelsFieldBuilder() {
10886       if (deployedModelsBuilder_ == null) {
10887         deployedModelsBuilder_ =
10888             new com.google.protobuf.RepeatedFieldBuilderV3<
10889                 com.google.cloud.aiplatform.v1.DeployedModelRef,
10890                 com.google.cloud.aiplatform.v1.DeployedModelRef.Builder,
10891                 com.google.cloud.aiplatform.v1.DeployedModelRefOrBuilder>(
10892                 deployedModels_,
10893                 ((bitField0_ & 0x00100000) != 0),
10894                 getParentForChildren(),
10895                 isClean());
10896         deployedModels_ = null;
10897       }
10898       return deployedModelsBuilder_;
10899     }
10900 
10901     private com.google.cloud.aiplatform.v1.ExplanationSpec explanationSpec_;
10902     private com.google.protobuf.SingleFieldBuilderV3<
10903             com.google.cloud.aiplatform.v1.ExplanationSpec,
10904             com.google.cloud.aiplatform.v1.ExplanationSpec.Builder,
10905             com.google.cloud.aiplatform.v1.ExplanationSpecOrBuilder>
10906         explanationSpecBuilder_;
10907     /**
10908      *
10909      *
10910      * <pre>
10911      * The default explanation specification for this Model.
10912      * The Model can be used for
10913      * [requesting
10914      * explanation][google.cloud.aiplatform.v1.PredictionService.Explain] after
10915      * being [deployed][google.cloud.aiplatform.v1.EndpointService.DeployModel] if
10916      * it is populated. The Model can be used for [batch
10917      * explanation][google.cloud.aiplatform.v1.BatchPredictionJob.generate_explanation]
10918      * if it is populated.
10919      * All fields of the explanation_spec can be overridden by
10920      * [explanation_spec][google.cloud.aiplatform.v1.DeployedModel.explanation_spec]
10921      * of
10922      * [DeployModelRequest.deployed_model][google.cloud.aiplatform.v1.DeployModelRequest.deployed_model],
10923      * or
10924      * [explanation_spec][google.cloud.aiplatform.v1.BatchPredictionJob.explanation_spec]
10925      * of [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob].
10926      * If the default explanation specification is not set for this Model, this
10927      * Model can still be used for
10928      * [requesting
10929      * explanation][google.cloud.aiplatform.v1.PredictionService.Explain] by
10930      * setting
10931      * [explanation_spec][google.cloud.aiplatform.v1.DeployedModel.explanation_spec]
10932      * of
10933      * [DeployModelRequest.deployed_model][google.cloud.aiplatform.v1.DeployModelRequest.deployed_model]
10934      * and for [batch
10935      * explanation][google.cloud.aiplatform.v1.BatchPredictionJob.generate_explanation]
10936      * by setting
10937      * [explanation_spec][google.cloud.aiplatform.v1.BatchPredictionJob.explanation_spec]
10938      * of [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob].
10939      * </pre>
10940      *
10941      * <code>.google.cloud.aiplatform.v1.ExplanationSpec explanation_spec = 23;</code>
10942      *
10943      * @return Whether the explanationSpec field is set.
10944      */
hasExplanationSpec()10945     public boolean hasExplanationSpec() {
10946       return ((bitField0_ & 0x00200000) != 0);
10947     }
10948     /**
10949      *
10950      *
10951      * <pre>
10952      * The default explanation specification for this Model.
10953      * The Model can be used for
10954      * [requesting
10955      * explanation][google.cloud.aiplatform.v1.PredictionService.Explain] after
10956      * being [deployed][google.cloud.aiplatform.v1.EndpointService.DeployModel] if
10957      * it is populated. The Model can be used for [batch
10958      * explanation][google.cloud.aiplatform.v1.BatchPredictionJob.generate_explanation]
10959      * if it is populated.
10960      * All fields of the explanation_spec can be overridden by
10961      * [explanation_spec][google.cloud.aiplatform.v1.DeployedModel.explanation_spec]
10962      * of
10963      * [DeployModelRequest.deployed_model][google.cloud.aiplatform.v1.DeployModelRequest.deployed_model],
10964      * or
10965      * [explanation_spec][google.cloud.aiplatform.v1.BatchPredictionJob.explanation_spec]
10966      * of [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob].
10967      * If the default explanation specification is not set for this Model, this
10968      * Model can still be used for
10969      * [requesting
10970      * explanation][google.cloud.aiplatform.v1.PredictionService.Explain] by
10971      * setting
10972      * [explanation_spec][google.cloud.aiplatform.v1.DeployedModel.explanation_spec]
10973      * of
10974      * [DeployModelRequest.deployed_model][google.cloud.aiplatform.v1.DeployModelRequest.deployed_model]
10975      * and for [batch
10976      * explanation][google.cloud.aiplatform.v1.BatchPredictionJob.generate_explanation]
10977      * by setting
10978      * [explanation_spec][google.cloud.aiplatform.v1.BatchPredictionJob.explanation_spec]
10979      * of [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob].
10980      * </pre>
10981      *
10982      * <code>.google.cloud.aiplatform.v1.ExplanationSpec explanation_spec = 23;</code>
10983      *
10984      * @return The explanationSpec.
10985      */
getExplanationSpec()10986     public com.google.cloud.aiplatform.v1.ExplanationSpec getExplanationSpec() {
10987       if (explanationSpecBuilder_ == null) {
10988         return explanationSpec_ == null
10989             ? com.google.cloud.aiplatform.v1.ExplanationSpec.getDefaultInstance()
10990             : explanationSpec_;
10991       } else {
10992         return explanationSpecBuilder_.getMessage();
10993       }
10994     }
10995     /**
10996      *
10997      *
10998      * <pre>
10999      * The default explanation specification for this Model.
11000      * The Model can be used for
11001      * [requesting
11002      * explanation][google.cloud.aiplatform.v1.PredictionService.Explain] after
11003      * being [deployed][google.cloud.aiplatform.v1.EndpointService.DeployModel] if
11004      * it is populated. The Model can be used for [batch
11005      * explanation][google.cloud.aiplatform.v1.BatchPredictionJob.generate_explanation]
11006      * if it is populated.
11007      * All fields of the explanation_spec can be overridden by
11008      * [explanation_spec][google.cloud.aiplatform.v1.DeployedModel.explanation_spec]
11009      * of
11010      * [DeployModelRequest.deployed_model][google.cloud.aiplatform.v1.DeployModelRequest.deployed_model],
11011      * or
11012      * [explanation_spec][google.cloud.aiplatform.v1.BatchPredictionJob.explanation_spec]
11013      * of [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob].
11014      * If the default explanation specification is not set for this Model, this
11015      * Model can still be used for
11016      * [requesting
11017      * explanation][google.cloud.aiplatform.v1.PredictionService.Explain] by
11018      * setting
11019      * [explanation_spec][google.cloud.aiplatform.v1.DeployedModel.explanation_spec]
11020      * of
11021      * [DeployModelRequest.deployed_model][google.cloud.aiplatform.v1.DeployModelRequest.deployed_model]
11022      * and for [batch
11023      * explanation][google.cloud.aiplatform.v1.BatchPredictionJob.generate_explanation]
11024      * by setting
11025      * [explanation_spec][google.cloud.aiplatform.v1.BatchPredictionJob.explanation_spec]
11026      * of [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob].
11027      * </pre>
11028      *
11029      * <code>.google.cloud.aiplatform.v1.ExplanationSpec explanation_spec = 23;</code>
11030      */
setExplanationSpec(com.google.cloud.aiplatform.v1.ExplanationSpec value)11031     public Builder setExplanationSpec(com.google.cloud.aiplatform.v1.ExplanationSpec value) {
11032       if (explanationSpecBuilder_ == null) {
11033         if (value == null) {
11034           throw new NullPointerException();
11035         }
11036         explanationSpec_ = value;
11037       } else {
11038         explanationSpecBuilder_.setMessage(value);
11039       }
11040       bitField0_ |= 0x00200000;
11041       onChanged();
11042       return this;
11043     }
11044     /**
11045      *
11046      *
11047      * <pre>
11048      * The default explanation specification for this Model.
11049      * The Model can be used for
11050      * [requesting
11051      * explanation][google.cloud.aiplatform.v1.PredictionService.Explain] after
11052      * being [deployed][google.cloud.aiplatform.v1.EndpointService.DeployModel] if
11053      * it is populated. The Model can be used for [batch
11054      * explanation][google.cloud.aiplatform.v1.BatchPredictionJob.generate_explanation]
11055      * if it is populated.
11056      * All fields of the explanation_spec can be overridden by
11057      * [explanation_spec][google.cloud.aiplatform.v1.DeployedModel.explanation_spec]
11058      * of
11059      * [DeployModelRequest.deployed_model][google.cloud.aiplatform.v1.DeployModelRequest.deployed_model],
11060      * or
11061      * [explanation_spec][google.cloud.aiplatform.v1.BatchPredictionJob.explanation_spec]
11062      * of [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob].
11063      * If the default explanation specification is not set for this Model, this
11064      * Model can still be used for
11065      * [requesting
11066      * explanation][google.cloud.aiplatform.v1.PredictionService.Explain] by
11067      * setting
11068      * [explanation_spec][google.cloud.aiplatform.v1.DeployedModel.explanation_spec]
11069      * of
11070      * [DeployModelRequest.deployed_model][google.cloud.aiplatform.v1.DeployModelRequest.deployed_model]
11071      * and for [batch
11072      * explanation][google.cloud.aiplatform.v1.BatchPredictionJob.generate_explanation]
11073      * by setting
11074      * [explanation_spec][google.cloud.aiplatform.v1.BatchPredictionJob.explanation_spec]
11075      * of [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob].
11076      * </pre>
11077      *
11078      * <code>.google.cloud.aiplatform.v1.ExplanationSpec explanation_spec = 23;</code>
11079      */
setExplanationSpec( com.google.cloud.aiplatform.v1.ExplanationSpec.Builder builderForValue)11080     public Builder setExplanationSpec(
11081         com.google.cloud.aiplatform.v1.ExplanationSpec.Builder builderForValue) {
11082       if (explanationSpecBuilder_ == null) {
11083         explanationSpec_ = builderForValue.build();
11084       } else {
11085         explanationSpecBuilder_.setMessage(builderForValue.build());
11086       }
11087       bitField0_ |= 0x00200000;
11088       onChanged();
11089       return this;
11090     }
11091     /**
11092      *
11093      *
11094      * <pre>
11095      * The default explanation specification for this Model.
11096      * The Model can be used for
11097      * [requesting
11098      * explanation][google.cloud.aiplatform.v1.PredictionService.Explain] after
11099      * being [deployed][google.cloud.aiplatform.v1.EndpointService.DeployModel] if
11100      * it is populated. The Model can be used for [batch
11101      * explanation][google.cloud.aiplatform.v1.BatchPredictionJob.generate_explanation]
11102      * if it is populated.
11103      * All fields of the explanation_spec can be overridden by
11104      * [explanation_spec][google.cloud.aiplatform.v1.DeployedModel.explanation_spec]
11105      * of
11106      * [DeployModelRequest.deployed_model][google.cloud.aiplatform.v1.DeployModelRequest.deployed_model],
11107      * or
11108      * [explanation_spec][google.cloud.aiplatform.v1.BatchPredictionJob.explanation_spec]
11109      * of [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob].
11110      * If the default explanation specification is not set for this Model, this
11111      * Model can still be used for
11112      * [requesting
11113      * explanation][google.cloud.aiplatform.v1.PredictionService.Explain] by
11114      * setting
11115      * [explanation_spec][google.cloud.aiplatform.v1.DeployedModel.explanation_spec]
11116      * of
11117      * [DeployModelRequest.deployed_model][google.cloud.aiplatform.v1.DeployModelRequest.deployed_model]
11118      * and for [batch
11119      * explanation][google.cloud.aiplatform.v1.BatchPredictionJob.generate_explanation]
11120      * by setting
11121      * [explanation_spec][google.cloud.aiplatform.v1.BatchPredictionJob.explanation_spec]
11122      * of [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob].
11123      * </pre>
11124      *
11125      * <code>.google.cloud.aiplatform.v1.ExplanationSpec explanation_spec = 23;</code>
11126      */
mergeExplanationSpec(com.google.cloud.aiplatform.v1.ExplanationSpec value)11127     public Builder mergeExplanationSpec(com.google.cloud.aiplatform.v1.ExplanationSpec value) {
11128       if (explanationSpecBuilder_ == null) {
11129         if (((bitField0_ & 0x00200000) != 0)
11130             && explanationSpec_ != null
11131             && explanationSpec_
11132                 != com.google.cloud.aiplatform.v1.ExplanationSpec.getDefaultInstance()) {
11133           getExplanationSpecBuilder().mergeFrom(value);
11134         } else {
11135           explanationSpec_ = value;
11136         }
11137       } else {
11138         explanationSpecBuilder_.mergeFrom(value);
11139       }
11140       bitField0_ |= 0x00200000;
11141       onChanged();
11142       return this;
11143     }
11144     /**
11145      *
11146      *
11147      * <pre>
11148      * The default explanation specification for this Model.
11149      * The Model can be used for
11150      * [requesting
11151      * explanation][google.cloud.aiplatform.v1.PredictionService.Explain] after
11152      * being [deployed][google.cloud.aiplatform.v1.EndpointService.DeployModel] if
11153      * it is populated. The Model can be used for [batch
11154      * explanation][google.cloud.aiplatform.v1.BatchPredictionJob.generate_explanation]
11155      * if it is populated.
11156      * All fields of the explanation_spec can be overridden by
11157      * [explanation_spec][google.cloud.aiplatform.v1.DeployedModel.explanation_spec]
11158      * of
11159      * [DeployModelRequest.deployed_model][google.cloud.aiplatform.v1.DeployModelRequest.deployed_model],
11160      * or
11161      * [explanation_spec][google.cloud.aiplatform.v1.BatchPredictionJob.explanation_spec]
11162      * of [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob].
11163      * If the default explanation specification is not set for this Model, this
11164      * Model can still be used for
11165      * [requesting
11166      * explanation][google.cloud.aiplatform.v1.PredictionService.Explain] by
11167      * setting
11168      * [explanation_spec][google.cloud.aiplatform.v1.DeployedModel.explanation_spec]
11169      * of
11170      * [DeployModelRequest.deployed_model][google.cloud.aiplatform.v1.DeployModelRequest.deployed_model]
11171      * and for [batch
11172      * explanation][google.cloud.aiplatform.v1.BatchPredictionJob.generate_explanation]
11173      * by setting
11174      * [explanation_spec][google.cloud.aiplatform.v1.BatchPredictionJob.explanation_spec]
11175      * of [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob].
11176      * </pre>
11177      *
11178      * <code>.google.cloud.aiplatform.v1.ExplanationSpec explanation_spec = 23;</code>
11179      */
clearExplanationSpec()11180     public Builder clearExplanationSpec() {
11181       bitField0_ = (bitField0_ & ~0x00200000);
11182       explanationSpec_ = null;
11183       if (explanationSpecBuilder_ != null) {
11184         explanationSpecBuilder_.dispose();
11185         explanationSpecBuilder_ = null;
11186       }
11187       onChanged();
11188       return this;
11189     }
11190     /**
11191      *
11192      *
11193      * <pre>
11194      * The default explanation specification for this Model.
11195      * The Model can be used for
11196      * [requesting
11197      * explanation][google.cloud.aiplatform.v1.PredictionService.Explain] after
11198      * being [deployed][google.cloud.aiplatform.v1.EndpointService.DeployModel] if
11199      * it is populated. The Model can be used for [batch
11200      * explanation][google.cloud.aiplatform.v1.BatchPredictionJob.generate_explanation]
11201      * if it is populated.
11202      * All fields of the explanation_spec can be overridden by
11203      * [explanation_spec][google.cloud.aiplatform.v1.DeployedModel.explanation_spec]
11204      * of
11205      * [DeployModelRequest.deployed_model][google.cloud.aiplatform.v1.DeployModelRequest.deployed_model],
11206      * or
11207      * [explanation_spec][google.cloud.aiplatform.v1.BatchPredictionJob.explanation_spec]
11208      * of [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob].
11209      * If the default explanation specification is not set for this Model, this
11210      * Model can still be used for
11211      * [requesting
11212      * explanation][google.cloud.aiplatform.v1.PredictionService.Explain] by
11213      * setting
11214      * [explanation_spec][google.cloud.aiplatform.v1.DeployedModel.explanation_spec]
11215      * of
11216      * [DeployModelRequest.deployed_model][google.cloud.aiplatform.v1.DeployModelRequest.deployed_model]
11217      * and for [batch
11218      * explanation][google.cloud.aiplatform.v1.BatchPredictionJob.generate_explanation]
11219      * by setting
11220      * [explanation_spec][google.cloud.aiplatform.v1.BatchPredictionJob.explanation_spec]
11221      * of [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob].
11222      * </pre>
11223      *
11224      * <code>.google.cloud.aiplatform.v1.ExplanationSpec explanation_spec = 23;</code>
11225      */
getExplanationSpecBuilder()11226     public com.google.cloud.aiplatform.v1.ExplanationSpec.Builder getExplanationSpecBuilder() {
11227       bitField0_ |= 0x00200000;
11228       onChanged();
11229       return getExplanationSpecFieldBuilder().getBuilder();
11230     }
11231     /**
11232      *
11233      *
11234      * <pre>
11235      * The default explanation specification for this Model.
11236      * The Model can be used for
11237      * [requesting
11238      * explanation][google.cloud.aiplatform.v1.PredictionService.Explain] after
11239      * being [deployed][google.cloud.aiplatform.v1.EndpointService.DeployModel] if
11240      * it is populated. The Model can be used for [batch
11241      * explanation][google.cloud.aiplatform.v1.BatchPredictionJob.generate_explanation]
11242      * if it is populated.
11243      * All fields of the explanation_spec can be overridden by
11244      * [explanation_spec][google.cloud.aiplatform.v1.DeployedModel.explanation_spec]
11245      * of
11246      * [DeployModelRequest.deployed_model][google.cloud.aiplatform.v1.DeployModelRequest.deployed_model],
11247      * or
11248      * [explanation_spec][google.cloud.aiplatform.v1.BatchPredictionJob.explanation_spec]
11249      * of [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob].
11250      * If the default explanation specification is not set for this Model, this
11251      * Model can still be used for
11252      * [requesting
11253      * explanation][google.cloud.aiplatform.v1.PredictionService.Explain] by
11254      * setting
11255      * [explanation_spec][google.cloud.aiplatform.v1.DeployedModel.explanation_spec]
11256      * of
11257      * [DeployModelRequest.deployed_model][google.cloud.aiplatform.v1.DeployModelRequest.deployed_model]
11258      * and for [batch
11259      * explanation][google.cloud.aiplatform.v1.BatchPredictionJob.generate_explanation]
11260      * by setting
11261      * [explanation_spec][google.cloud.aiplatform.v1.BatchPredictionJob.explanation_spec]
11262      * of [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob].
11263      * </pre>
11264      *
11265      * <code>.google.cloud.aiplatform.v1.ExplanationSpec explanation_spec = 23;</code>
11266      */
getExplanationSpecOrBuilder()11267     public com.google.cloud.aiplatform.v1.ExplanationSpecOrBuilder getExplanationSpecOrBuilder() {
11268       if (explanationSpecBuilder_ != null) {
11269         return explanationSpecBuilder_.getMessageOrBuilder();
11270       } else {
11271         return explanationSpec_ == null
11272             ? com.google.cloud.aiplatform.v1.ExplanationSpec.getDefaultInstance()
11273             : explanationSpec_;
11274       }
11275     }
11276     /**
11277      *
11278      *
11279      * <pre>
11280      * The default explanation specification for this Model.
11281      * The Model can be used for
11282      * [requesting
11283      * explanation][google.cloud.aiplatform.v1.PredictionService.Explain] after
11284      * being [deployed][google.cloud.aiplatform.v1.EndpointService.DeployModel] if
11285      * it is populated. The Model can be used for [batch
11286      * explanation][google.cloud.aiplatform.v1.BatchPredictionJob.generate_explanation]
11287      * if it is populated.
11288      * All fields of the explanation_spec can be overridden by
11289      * [explanation_spec][google.cloud.aiplatform.v1.DeployedModel.explanation_spec]
11290      * of
11291      * [DeployModelRequest.deployed_model][google.cloud.aiplatform.v1.DeployModelRequest.deployed_model],
11292      * or
11293      * [explanation_spec][google.cloud.aiplatform.v1.BatchPredictionJob.explanation_spec]
11294      * of [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob].
11295      * If the default explanation specification is not set for this Model, this
11296      * Model can still be used for
11297      * [requesting
11298      * explanation][google.cloud.aiplatform.v1.PredictionService.Explain] by
11299      * setting
11300      * [explanation_spec][google.cloud.aiplatform.v1.DeployedModel.explanation_spec]
11301      * of
11302      * [DeployModelRequest.deployed_model][google.cloud.aiplatform.v1.DeployModelRequest.deployed_model]
11303      * and for [batch
11304      * explanation][google.cloud.aiplatform.v1.BatchPredictionJob.generate_explanation]
11305      * by setting
11306      * [explanation_spec][google.cloud.aiplatform.v1.BatchPredictionJob.explanation_spec]
11307      * of [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob].
11308      * </pre>
11309      *
11310      * <code>.google.cloud.aiplatform.v1.ExplanationSpec explanation_spec = 23;</code>
11311      */
11312     private com.google.protobuf.SingleFieldBuilderV3<
11313             com.google.cloud.aiplatform.v1.ExplanationSpec,
11314             com.google.cloud.aiplatform.v1.ExplanationSpec.Builder,
11315             com.google.cloud.aiplatform.v1.ExplanationSpecOrBuilder>
getExplanationSpecFieldBuilder()11316         getExplanationSpecFieldBuilder() {
11317       if (explanationSpecBuilder_ == null) {
11318         explanationSpecBuilder_ =
11319             new com.google.protobuf.SingleFieldBuilderV3<
11320                 com.google.cloud.aiplatform.v1.ExplanationSpec,
11321                 com.google.cloud.aiplatform.v1.ExplanationSpec.Builder,
11322                 com.google.cloud.aiplatform.v1.ExplanationSpecOrBuilder>(
11323                 getExplanationSpec(), getParentForChildren(), isClean());
11324         explanationSpec_ = null;
11325       }
11326       return explanationSpecBuilder_;
11327     }
11328 
11329     private java.lang.Object etag_ = "";
11330     /**
11331      *
11332      *
11333      * <pre>
11334      * Used to perform consistent read-modify-write updates. If not set, a blind
11335      * "overwrite" update happens.
11336      * </pre>
11337      *
11338      * <code>string etag = 16;</code>
11339      *
11340      * @return The etag.
11341      */
getEtag()11342     public java.lang.String getEtag() {
11343       java.lang.Object ref = etag_;
11344       if (!(ref instanceof java.lang.String)) {
11345         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
11346         java.lang.String s = bs.toStringUtf8();
11347         etag_ = s;
11348         return s;
11349       } else {
11350         return (java.lang.String) ref;
11351       }
11352     }
11353     /**
11354      *
11355      *
11356      * <pre>
11357      * Used to perform consistent read-modify-write updates. If not set, a blind
11358      * "overwrite" update happens.
11359      * </pre>
11360      *
11361      * <code>string etag = 16;</code>
11362      *
11363      * @return The bytes for etag.
11364      */
getEtagBytes()11365     public com.google.protobuf.ByteString getEtagBytes() {
11366       java.lang.Object ref = etag_;
11367       if (ref instanceof String) {
11368         com.google.protobuf.ByteString b =
11369             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
11370         etag_ = b;
11371         return b;
11372       } else {
11373         return (com.google.protobuf.ByteString) ref;
11374       }
11375     }
11376     /**
11377      *
11378      *
11379      * <pre>
11380      * Used to perform consistent read-modify-write updates. If not set, a blind
11381      * "overwrite" update happens.
11382      * </pre>
11383      *
11384      * <code>string etag = 16;</code>
11385      *
11386      * @param value The etag to set.
11387      * @return This builder for chaining.
11388      */
setEtag(java.lang.String value)11389     public Builder setEtag(java.lang.String value) {
11390       if (value == null) {
11391         throw new NullPointerException();
11392       }
11393       etag_ = value;
11394       bitField0_ |= 0x00400000;
11395       onChanged();
11396       return this;
11397     }
11398     /**
11399      *
11400      *
11401      * <pre>
11402      * Used to perform consistent read-modify-write updates. If not set, a blind
11403      * "overwrite" update happens.
11404      * </pre>
11405      *
11406      * <code>string etag = 16;</code>
11407      *
11408      * @return This builder for chaining.
11409      */
clearEtag()11410     public Builder clearEtag() {
11411       etag_ = getDefaultInstance().getEtag();
11412       bitField0_ = (bitField0_ & ~0x00400000);
11413       onChanged();
11414       return this;
11415     }
11416     /**
11417      *
11418      *
11419      * <pre>
11420      * Used to perform consistent read-modify-write updates. If not set, a blind
11421      * "overwrite" update happens.
11422      * </pre>
11423      *
11424      * <code>string etag = 16;</code>
11425      *
11426      * @param value The bytes for etag to set.
11427      * @return This builder for chaining.
11428      */
setEtagBytes(com.google.protobuf.ByteString value)11429     public Builder setEtagBytes(com.google.protobuf.ByteString value) {
11430       if (value == null) {
11431         throw new NullPointerException();
11432       }
11433       checkByteStringIsUtf8(value);
11434       etag_ = value;
11435       bitField0_ |= 0x00400000;
11436       onChanged();
11437       return this;
11438     }
11439 
11440     private com.google.protobuf.MapField<java.lang.String, java.lang.String> labels_;
11441 
internalGetLabels()11442     private com.google.protobuf.MapField<java.lang.String, java.lang.String> internalGetLabels() {
11443       if (labels_ == null) {
11444         return com.google.protobuf.MapField.emptyMapField(LabelsDefaultEntryHolder.defaultEntry);
11445       }
11446       return labels_;
11447     }
11448 
11449     private com.google.protobuf.MapField<java.lang.String, java.lang.String>
internalGetMutableLabels()11450         internalGetMutableLabels() {
11451       if (labels_ == null) {
11452         labels_ = com.google.protobuf.MapField.newMapField(LabelsDefaultEntryHolder.defaultEntry);
11453       }
11454       if (!labels_.isMutable()) {
11455         labels_ = labels_.copy();
11456       }
11457       bitField0_ |= 0x00800000;
11458       onChanged();
11459       return labels_;
11460     }
11461 
getLabelsCount()11462     public int getLabelsCount() {
11463       return internalGetLabels().getMap().size();
11464     }
11465     /**
11466      *
11467      *
11468      * <pre>
11469      * The labels with user-defined metadata to organize your Models.
11470      * Label keys and values can be no longer than 64 characters
11471      * (Unicode codepoints), can only contain lowercase letters, numeric
11472      * characters, underscores and dashes. International characters are allowed.
11473      * See https://goo.gl/xmQnxf for more information and examples of labels.
11474      * </pre>
11475      *
11476      * <code>map&lt;string, string&gt; labels = 17;</code>
11477      */
11478     @java.lang.Override
containsLabels(java.lang.String key)11479     public boolean containsLabels(java.lang.String key) {
11480       if (key == null) {
11481         throw new NullPointerException("map key");
11482       }
11483       return internalGetLabels().getMap().containsKey(key);
11484     }
11485     /** Use {@link #getLabelsMap()} instead. */
11486     @java.lang.Override
11487     @java.lang.Deprecated
getLabels()11488     public java.util.Map<java.lang.String, java.lang.String> getLabels() {
11489       return getLabelsMap();
11490     }
11491     /**
11492      *
11493      *
11494      * <pre>
11495      * The labels with user-defined metadata to organize your Models.
11496      * Label keys and values can be no longer than 64 characters
11497      * (Unicode codepoints), can only contain lowercase letters, numeric
11498      * characters, underscores and dashes. International characters are allowed.
11499      * See https://goo.gl/xmQnxf for more information and examples of labels.
11500      * </pre>
11501      *
11502      * <code>map&lt;string, string&gt; labels = 17;</code>
11503      */
11504     @java.lang.Override
getLabelsMap()11505     public java.util.Map<java.lang.String, java.lang.String> getLabelsMap() {
11506       return internalGetLabels().getMap();
11507     }
11508     /**
11509      *
11510      *
11511      * <pre>
11512      * The labels with user-defined metadata to organize your Models.
11513      * Label keys and values can be no longer than 64 characters
11514      * (Unicode codepoints), can only contain lowercase letters, numeric
11515      * characters, underscores and dashes. International characters are allowed.
11516      * See https://goo.gl/xmQnxf for more information and examples of labels.
11517      * </pre>
11518      *
11519      * <code>map&lt;string, string&gt; labels = 17;</code>
11520      */
11521     @java.lang.Override
getLabelsOrDefault( java.lang.String key, java.lang.String defaultValue)11522     public /* nullable */ java.lang.String getLabelsOrDefault(
11523         java.lang.String key,
11524         /* nullable */
11525         java.lang.String defaultValue) {
11526       if (key == null) {
11527         throw new NullPointerException("map key");
11528       }
11529       java.util.Map<java.lang.String, java.lang.String> map = internalGetLabels().getMap();
11530       return map.containsKey(key) ? map.get(key) : defaultValue;
11531     }
11532     /**
11533      *
11534      *
11535      * <pre>
11536      * The labels with user-defined metadata to organize your Models.
11537      * Label keys and values can be no longer than 64 characters
11538      * (Unicode codepoints), can only contain lowercase letters, numeric
11539      * characters, underscores and dashes. International characters are allowed.
11540      * See https://goo.gl/xmQnxf for more information and examples of labels.
11541      * </pre>
11542      *
11543      * <code>map&lt;string, string&gt; labels = 17;</code>
11544      */
11545     @java.lang.Override
getLabelsOrThrow(java.lang.String key)11546     public java.lang.String getLabelsOrThrow(java.lang.String key) {
11547       if (key == null) {
11548         throw new NullPointerException("map key");
11549       }
11550       java.util.Map<java.lang.String, java.lang.String> map = internalGetLabels().getMap();
11551       if (!map.containsKey(key)) {
11552         throw new java.lang.IllegalArgumentException();
11553       }
11554       return map.get(key);
11555     }
11556 
clearLabels()11557     public Builder clearLabels() {
11558       bitField0_ = (bitField0_ & ~0x00800000);
11559       internalGetMutableLabels().getMutableMap().clear();
11560       return this;
11561     }
11562     /**
11563      *
11564      *
11565      * <pre>
11566      * The labels with user-defined metadata to organize your Models.
11567      * Label keys and values can be no longer than 64 characters
11568      * (Unicode codepoints), can only contain lowercase letters, numeric
11569      * characters, underscores and dashes. International characters are allowed.
11570      * See https://goo.gl/xmQnxf for more information and examples of labels.
11571      * </pre>
11572      *
11573      * <code>map&lt;string, string&gt; labels = 17;</code>
11574      */
removeLabels(java.lang.String key)11575     public Builder removeLabels(java.lang.String key) {
11576       if (key == null) {
11577         throw new NullPointerException("map key");
11578       }
11579       internalGetMutableLabels().getMutableMap().remove(key);
11580       return this;
11581     }
11582     /** Use alternate mutation accessors instead. */
11583     @java.lang.Deprecated
getMutableLabels()11584     public java.util.Map<java.lang.String, java.lang.String> getMutableLabels() {
11585       bitField0_ |= 0x00800000;
11586       return internalGetMutableLabels().getMutableMap();
11587     }
11588     /**
11589      *
11590      *
11591      * <pre>
11592      * The labels with user-defined metadata to organize your Models.
11593      * Label keys and values can be no longer than 64 characters
11594      * (Unicode codepoints), can only contain lowercase letters, numeric
11595      * characters, underscores and dashes. International characters are allowed.
11596      * See https://goo.gl/xmQnxf for more information and examples of labels.
11597      * </pre>
11598      *
11599      * <code>map&lt;string, string&gt; labels = 17;</code>
11600      */
putLabels(java.lang.String key, java.lang.String value)11601     public Builder putLabels(java.lang.String key, java.lang.String value) {
11602       if (key == null) {
11603         throw new NullPointerException("map key");
11604       }
11605       if (value == null) {
11606         throw new NullPointerException("map value");
11607       }
11608       internalGetMutableLabels().getMutableMap().put(key, value);
11609       bitField0_ |= 0x00800000;
11610       return this;
11611     }
11612     /**
11613      *
11614      *
11615      * <pre>
11616      * The labels with user-defined metadata to organize your Models.
11617      * Label keys and values can be no longer than 64 characters
11618      * (Unicode codepoints), can only contain lowercase letters, numeric
11619      * characters, underscores and dashes. International characters are allowed.
11620      * See https://goo.gl/xmQnxf for more information and examples of labels.
11621      * </pre>
11622      *
11623      * <code>map&lt;string, string&gt; labels = 17;</code>
11624      */
putAllLabels(java.util.Map<java.lang.String, java.lang.String> values)11625     public Builder putAllLabels(java.util.Map<java.lang.String, java.lang.String> values) {
11626       internalGetMutableLabels().getMutableMap().putAll(values);
11627       bitField0_ |= 0x00800000;
11628       return this;
11629     }
11630 
11631     private com.google.cloud.aiplatform.v1.EncryptionSpec encryptionSpec_;
11632     private com.google.protobuf.SingleFieldBuilderV3<
11633             com.google.cloud.aiplatform.v1.EncryptionSpec,
11634             com.google.cloud.aiplatform.v1.EncryptionSpec.Builder,
11635             com.google.cloud.aiplatform.v1.EncryptionSpecOrBuilder>
11636         encryptionSpecBuilder_;
11637     /**
11638      *
11639      *
11640      * <pre>
11641      * Customer-managed encryption key spec for a Model. If set, this
11642      * Model and all sub-resources of this Model will be secured by this key.
11643      * </pre>
11644      *
11645      * <code>.google.cloud.aiplatform.v1.EncryptionSpec encryption_spec = 24;</code>
11646      *
11647      * @return Whether the encryptionSpec field is set.
11648      */
hasEncryptionSpec()11649     public boolean hasEncryptionSpec() {
11650       return ((bitField0_ & 0x01000000) != 0);
11651     }
11652     /**
11653      *
11654      *
11655      * <pre>
11656      * Customer-managed encryption key spec for a Model. If set, this
11657      * Model and all sub-resources of this Model will be secured by this key.
11658      * </pre>
11659      *
11660      * <code>.google.cloud.aiplatform.v1.EncryptionSpec encryption_spec = 24;</code>
11661      *
11662      * @return The encryptionSpec.
11663      */
getEncryptionSpec()11664     public com.google.cloud.aiplatform.v1.EncryptionSpec getEncryptionSpec() {
11665       if (encryptionSpecBuilder_ == null) {
11666         return encryptionSpec_ == null
11667             ? com.google.cloud.aiplatform.v1.EncryptionSpec.getDefaultInstance()
11668             : encryptionSpec_;
11669       } else {
11670         return encryptionSpecBuilder_.getMessage();
11671       }
11672     }
11673     /**
11674      *
11675      *
11676      * <pre>
11677      * Customer-managed encryption key spec for a Model. If set, this
11678      * Model and all sub-resources of this Model will be secured by this key.
11679      * </pre>
11680      *
11681      * <code>.google.cloud.aiplatform.v1.EncryptionSpec encryption_spec = 24;</code>
11682      */
setEncryptionSpec(com.google.cloud.aiplatform.v1.EncryptionSpec value)11683     public Builder setEncryptionSpec(com.google.cloud.aiplatform.v1.EncryptionSpec value) {
11684       if (encryptionSpecBuilder_ == null) {
11685         if (value == null) {
11686           throw new NullPointerException();
11687         }
11688         encryptionSpec_ = value;
11689       } else {
11690         encryptionSpecBuilder_.setMessage(value);
11691       }
11692       bitField0_ |= 0x01000000;
11693       onChanged();
11694       return this;
11695     }
11696     /**
11697      *
11698      *
11699      * <pre>
11700      * Customer-managed encryption key spec for a Model. If set, this
11701      * Model and all sub-resources of this Model will be secured by this key.
11702      * </pre>
11703      *
11704      * <code>.google.cloud.aiplatform.v1.EncryptionSpec encryption_spec = 24;</code>
11705      */
setEncryptionSpec( com.google.cloud.aiplatform.v1.EncryptionSpec.Builder builderForValue)11706     public Builder setEncryptionSpec(
11707         com.google.cloud.aiplatform.v1.EncryptionSpec.Builder builderForValue) {
11708       if (encryptionSpecBuilder_ == null) {
11709         encryptionSpec_ = builderForValue.build();
11710       } else {
11711         encryptionSpecBuilder_.setMessage(builderForValue.build());
11712       }
11713       bitField0_ |= 0x01000000;
11714       onChanged();
11715       return this;
11716     }
11717     /**
11718      *
11719      *
11720      * <pre>
11721      * Customer-managed encryption key spec for a Model. If set, this
11722      * Model and all sub-resources of this Model will be secured by this key.
11723      * </pre>
11724      *
11725      * <code>.google.cloud.aiplatform.v1.EncryptionSpec encryption_spec = 24;</code>
11726      */
mergeEncryptionSpec(com.google.cloud.aiplatform.v1.EncryptionSpec value)11727     public Builder mergeEncryptionSpec(com.google.cloud.aiplatform.v1.EncryptionSpec value) {
11728       if (encryptionSpecBuilder_ == null) {
11729         if (((bitField0_ & 0x01000000) != 0)
11730             && encryptionSpec_ != null
11731             && encryptionSpec_
11732                 != com.google.cloud.aiplatform.v1.EncryptionSpec.getDefaultInstance()) {
11733           getEncryptionSpecBuilder().mergeFrom(value);
11734         } else {
11735           encryptionSpec_ = value;
11736         }
11737       } else {
11738         encryptionSpecBuilder_.mergeFrom(value);
11739       }
11740       bitField0_ |= 0x01000000;
11741       onChanged();
11742       return this;
11743     }
11744     /**
11745      *
11746      *
11747      * <pre>
11748      * Customer-managed encryption key spec for a Model. If set, this
11749      * Model and all sub-resources of this Model will be secured by this key.
11750      * </pre>
11751      *
11752      * <code>.google.cloud.aiplatform.v1.EncryptionSpec encryption_spec = 24;</code>
11753      */
clearEncryptionSpec()11754     public Builder clearEncryptionSpec() {
11755       bitField0_ = (bitField0_ & ~0x01000000);
11756       encryptionSpec_ = null;
11757       if (encryptionSpecBuilder_ != null) {
11758         encryptionSpecBuilder_.dispose();
11759         encryptionSpecBuilder_ = null;
11760       }
11761       onChanged();
11762       return this;
11763     }
11764     /**
11765      *
11766      *
11767      * <pre>
11768      * Customer-managed encryption key spec for a Model. If set, this
11769      * Model and all sub-resources of this Model will be secured by this key.
11770      * </pre>
11771      *
11772      * <code>.google.cloud.aiplatform.v1.EncryptionSpec encryption_spec = 24;</code>
11773      */
getEncryptionSpecBuilder()11774     public com.google.cloud.aiplatform.v1.EncryptionSpec.Builder getEncryptionSpecBuilder() {
11775       bitField0_ |= 0x01000000;
11776       onChanged();
11777       return getEncryptionSpecFieldBuilder().getBuilder();
11778     }
11779     /**
11780      *
11781      *
11782      * <pre>
11783      * Customer-managed encryption key spec for a Model. If set, this
11784      * Model and all sub-resources of this Model will be secured by this key.
11785      * </pre>
11786      *
11787      * <code>.google.cloud.aiplatform.v1.EncryptionSpec encryption_spec = 24;</code>
11788      */
getEncryptionSpecOrBuilder()11789     public com.google.cloud.aiplatform.v1.EncryptionSpecOrBuilder getEncryptionSpecOrBuilder() {
11790       if (encryptionSpecBuilder_ != null) {
11791         return encryptionSpecBuilder_.getMessageOrBuilder();
11792       } else {
11793         return encryptionSpec_ == null
11794             ? com.google.cloud.aiplatform.v1.EncryptionSpec.getDefaultInstance()
11795             : encryptionSpec_;
11796       }
11797     }
11798     /**
11799      *
11800      *
11801      * <pre>
11802      * Customer-managed encryption key spec for a Model. If set, this
11803      * Model and all sub-resources of this Model will be secured by this key.
11804      * </pre>
11805      *
11806      * <code>.google.cloud.aiplatform.v1.EncryptionSpec encryption_spec = 24;</code>
11807      */
11808     private com.google.protobuf.SingleFieldBuilderV3<
11809             com.google.cloud.aiplatform.v1.EncryptionSpec,
11810             com.google.cloud.aiplatform.v1.EncryptionSpec.Builder,
11811             com.google.cloud.aiplatform.v1.EncryptionSpecOrBuilder>
getEncryptionSpecFieldBuilder()11812         getEncryptionSpecFieldBuilder() {
11813       if (encryptionSpecBuilder_ == null) {
11814         encryptionSpecBuilder_ =
11815             new com.google.protobuf.SingleFieldBuilderV3<
11816                 com.google.cloud.aiplatform.v1.EncryptionSpec,
11817                 com.google.cloud.aiplatform.v1.EncryptionSpec.Builder,
11818                 com.google.cloud.aiplatform.v1.EncryptionSpecOrBuilder>(
11819                 getEncryptionSpec(), getParentForChildren(), isClean());
11820         encryptionSpec_ = null;
11821       }
11822       return encryptionSpecBuilder_;
11823     }
11824 
11825     private com.google.cloud.aiplatform.v1.ModelSourceInfo modelSourceInfo_;
11826     private com.google.protobuf.SingleFieldBuilderV3<
11827             com.google.cloud.aiplatform.v1.ModelSourceInfo,
11828             com.google.cloud.aiplatform.v1.ModelSourceInfo.Builder,
11829             com.google.cloud.aiplatform.v1.ModelSourceInfoOrBuilder>
11830         modelSourceInfoBuilder_;
11831     /**
11832      *
11833      *
11834      * <pre>
11835      * Output only. Source of a model. It can either be automl training pipeline,
11836      * custom training pipeline, BigQuery ML, or existing Vertex AI Model.
11837      * </pre>
11838      *
11839      * <code>
11840      * .google.cloud.aiplatform.v1.ModelSourceInfo model_source_info = 38 [(.google.api.field_behavior) = OUTPUT_ONLY];
11841      * </code>
11842      *
11843      * @return Whether the modelSourceInfo field is set.
11844      */
hasModelSourceInfo()11845     public boolean hasModelSourceInfo() {
11846       return ((bitField0_ & 0x02000000) != 0);
11847     }
11848     /**
11849      *
11850      *
11851      * <pre>
11852      * Output only. Source of a model. It can either be automl training pipeline,
11853      * custom training pipeline, BigQuery ML, or existing Vertex AI Model.
11854      * </pre>
11855      *
11856      * <code>
11857      * .google.cloud.aiplatform.v1.ModelSourceInfo model_source_info = 38 [(.google.api.field_behavior) = OUTPUT_ONLY];
11858      * </code>
11859      *
11860      * @return The modelSourceInfo.
11861      */
getModelSourceInfo()11862     public com.google.cloud.aiplatform.v1.ModelSourceInfo getModelSourceInfo() {
11863       if (modelSourceInfoBuilder_ == null) {
11864         return modelSourceInfo_ == null
11865             ? com.google.cloud.aiplatform.v1.ModelSourceInfo.getDefaultInstance()
11866             : modelSourceInfo_;
11867       } else {
11868         return modelSourceInfoBuilder_.getMessage();
11869       }
11870     }
11871     /**
11872      *
11873      *
11874      * <pre>
11875      * Output only. Source of a model. It can either be automl training pipeline,
11876      * custom training pipeline, BigQuery ML, or existing Vertex AI Model.
11877      * </pre>
11878      *
11879      * <code>
11880      * .google.cloud.aiplatform.v1.ModelSourceInfo model_source_info = 38 [(.google.api.field_behavior) = OUTPUT_ONLY];
11881      * </code>
11882      */
setModelSourceInfo(com.google.cloud.aiplatform.v1.ModelSourceInfo value)11883     public Builder setModelSourceInfo(com.google.cloud.aiplatform.v1.ModelSourceInfo value) {
11884       if (modelSourceInfoBuilder_ == null) {
11885         if (value == null) {
11886           throw new NullPointerException();
11887         }
11888         modelSourceInfo_ = value;
11889       } else {
11890         modelSourceInfoBuilder_.setMessage(value);
11891       }
11892       bitField0_ |= 0x02000000;
11893       onChanged();
11894       return this;
11895     }
11896     /**
11897      *
11898      *
11899      * <pre>
11900      * Output only. Source of a model. It can either be automl training pipeline,
11901      * custom training pipeline, BigQuery ML, or existing Vertex AI Model.
11902      * </pre>
11903      *
11904      * <code>
11905      * .google.cloud.aiplatform.v1.ModelSourceInfo model_source_info = 38 [(.google.api.field_behavior) = OUTPUT_ONLY];
11906      * </code>
11907      */
setModelSourceInfo( com.google.cloud.aiplatform.v1.ModelSourceInfo.Builder builderForValue)11908     public Builder setModelSourceInfo(
11909         com.google.cloud.aiplatform.v1.ModelSourceInfo.Builder builderForValue) {
11910       if (modelSourceInfoBuilder_ == null) {
11911         modelSourceInfo_ = builderForValue.build();
11912       } else {
11913         modelSourceInfoBuilder_.setMessage(builderForValue.build());
11914       }
11915       bitField0_ |= 0x02000000;
11916       onChanged();
11917       return this;
11918     }
11919     /**
11920      *
11921      *
11922      * <pre>
11923      * Output only. Source of a model. It can either be automl training pipeline,
11924      * custom training pipeline, BigQuery ML, or existing Vertex AI Model.
11925      * </pre>
11926      *
11927      * <code>
11928      * .google.cloud.aiplatform.v1.ModelSourceInfo model_source_info = 38 [(.google.api.field_behavior) = OUTPUT_ONLY];
11929      * </code>
11930      */
mergeModelSourceInfo(com.google.cloud.aiplatform.v1.ModelSourceInfo value)11931     public Builder mergeModelSourceInfo(com.google.cloud.aiplatform.v1.ModelSourceInfo value) {
11932       if (modelSourceInfoBuilder_ == null) {
11933         if (((bitField0_ & 0x02000000) != 0)
11934             && modelSourceInfo_ != null
11935             && modelSourceInfo_
11936                 != com.google.cloud.aiplatform.v1.ModelSourceInfo.getDefaultInstance()) {
11937           getModelSourceInfoBuilder().mergeFrom(value);
11938         } else {
11939           modelSourceInfo_ = value;
11940         }
11941       } else {
11942         modelSourceInfoBuilder_.mergeFrom(value);
11943       }
11944       bitField0_ |= 0x02000000;
11945       onChanged();
11946       return this;
11947     }
11948     /**
11949      *
11950      *
11951      * <pre>
11952      * Output only. Source of a model. It can either be automl training pipeline,
11953      * custom training pipeline, BigQuery ML, or existing Vertex AI Model.
11954      * </pre>
11955      *
11956      * <code>
11957      * .google.cloud.aiplatform.v1.ModelSourceInfo model_source_info = 38 [(.google.api.field_behavior) = OUTPUT_ONLY];
11958      * </code>
11959      */
clearModelSourceInfo()11960     public Builder clearModelSourceInfo() {
11961       bitField0_ = (bitField0_ & ~0x02000000);
11962       modelSourceInfo_ = null;
11963       if (modelSourceInfoBuilder_ != null) {
11964         modelSourceInfoBuilder_.dispose();
11965         modelSourceInfoBuilder_ = null;
11966       }
11967       onChanged();
11968       return this;
11969     }
11970     /**
11971      *
11972      *
11973      * <pre>
11974      * Output only. Source of a model. It can either be automl training pipeline,
11975      * custom training pipeline, BigQuery ML, or existing Vertex AI Model.
11976      * </pre>
11977      *
11978      * <code>
11979      * .google.cloud.aiplatform.v1.ModelSourceInfo model_source_info = 38 [(.google.api.field_behavior) = OUTPUT_ONLY];
11980      * </code>
11981      */
getModelSourceInfoBuilder()11982     public com.google.cloud.aiplatform.v1.ModelSourceInfo.Builder getModelSourceInfoBuilder() {
11983       bitField0_ |= 0x02000000;
11984       onChanged();
11985       return getModelSourceInfoFieldBuilder().getBuilder();
11986     }
11987     /**
11988      *
11989      *
11990      * <pre>
11991      * Output only. Source of a model. It can either be automl training pipeline,
11992      * custom training pipeline, BigQuery ML, or existing Vertex AI Model.
11993      * </pre>
11994      *
11995      * <code>
11996      * .google.cloud.aiplatform.v1.ModelSourceInfo model_source_info = 38 [(.google.api.field_behavior) = OUTPUT_ONLY];
11997      * </code>
11998      */
getModelSourceInfoOrBuilder()11999     public com.google.cloud.aiplatform.v1.ModelSourceInfoOrBuilder getModelSourceInfoOrBuilder() {
12000       if (modelSourceInfoBuilder_ != null) {
12001         return modelSourceInfoBuilder_.getMessageOrBuilder();
12002       } else {
12003         return modelSourceInfo_ == null
12004             ? com.google.cloud.aiplatform.v1.ModelSourceInfo.getDefaultInstance()
12005             : modelSourceInfo_;
12006       }
12007     }
12008     /**
12009      *
12010      *
12011      * <pre>
12012      * Output only. Source of a model. It can either be automl training pipeline,
12013      * custom training pipeline, BigQuery ML, or existing Vertex AI Model.
12014      * </pre>
12015      *
12016      * <code>
12017      * .google.cloud.aiplatform.v1.ModelSourceInfo model_source_info = 38 [(.google.api.field_behavior) = OUTPUT_ONLY];
12018      * </code>
12019      */
12020     private com.google.protobuf.SingleFieldBuilderV3<
12021             com.google.cloud.aiplatform.v1.ModelSourceInfo,
12022             com.google.cloud.aiplatform.v1.ModelSourceInfo.Builder,
12023             com.google.cloud.aiplatform.v1.ModelSourceInfoOrBuilder>
getModelSourceInfoFieldBuilder()12024         getModelSourceInfoFieldBuilder() {
12025       if (modelSourceInfoBuilder_ == null) {
12026         modelSourceInfoBuilder_ =
12027             new com.google.protobuf.SingleFieldBuilderV3<
12028                 com.google.cloud.aiplatform.v1.ModelSourceInfo,
12029                 com.google.cloud.aiplatform.v1.ModelSourceInfo.Builder,
12030                 com.google.cloud.aiplatform.v1.ModelSourceInfoOrBuilder>(
12031                 getModelSourceInfo(), getParentForChildren(), isClean());
12032         modelSourceInfo_ = null;
12033       }
12034       return modelSourceInfoBuilder_;
12035     }
12036 
12037     private com.google.cloud.aiplatform.v1.Model.OriginalModelInfo originalModelInfo_;
12038     private com.google.protobuf.SingleFieldBuilderV3<
12039             com.google.cloud.aiplatform.v1.Model.OriginalModelInfo,
12040             com.google.cloud.aiplatform.v1.Model.OriginalModelInfo.Builder,
12041             com.google.cloud.aiplatform.v1.Model.OriginalModelInfoOrBuilder>
12042         originalModelInfoBuilder_;
12043     /**
12044      *
12045      *
12046      * <pre>
12047      * Output only. If this Model is a copy of another Model, this contains info
12048      * about the original.
12049      * </pre>
12050      *
12051      * <code>
12052      * .google.cloud.aiplatform.v1.Model.OriginalModelInfo original_model_info = 34 [(.google.api.field_behavior) = OUTPUT_ONLY];
12053      * </code>
12054      *
12055      * @return Whether the originalModelInfo field is set.
12056      */
hasOriginalModelInfo()12057     public boolean hasOriginalModelInfo() {
12058       return ((bitField0_ & 0x04000000) != 0);
12059     }
12060     /**
12061      *
12062      *
12063      * <pre>
12064      * Output only. If this Model is a copy of another Model, this contains info
12065      * about the original.
12066      * </pre>
12067      *
12068      * <code>
12069      * .google.cloud.aiplatform.v1.Model.OriginalModelInfo original_model_info = 34 [(.google.api.field_behavior) = OUTPUT_ONLY];
12070      * </code>
12071      *
12072      * @return The originalModelInfo.
12073      */
getOriginalModelInfo()12074     public com.google.cloud.aiplatform.v1.Model.OriginalModelInfo getOriginalModelInfo() {
12075       if (originalModelInfoBuilder_ == null) {
12076         return originalModelInfo_ == null
12077             ? com.google.cloud.aiplatform.v1.Model.OriginalModelInfo.getDefaultInstance()
12078             : originalModelInfo_;
12079       } else {
12080         return originalModelInfoBuilder_.getMessage();
12081       }
12082     }
12083     /**
12084      *
12085      *
12086      * <pre>
12087      * Output only. If this Model is a copy of another Model, this contains info
12088      * about the original.
12089      * </pre>
12090      *
12091      * <code>
12092      * .google.cloud.aiplatform.v1.Model.OriginalModelInfo original_model_info = 34 [(.google.api.field_behavior) = OUTPUT_ONLY];
12093      * </code>
12094      */
setOriginalModelInfo( com.google.cloud.aiplatform.v1.Model.OriginalModelInfo value)12095     public Builder setOriginalModelInfo(
12096         com.google.cloud.aiplatform.v1.Model.OriginalModelInfo value) {
12097       if (originalModelInfoBuilder_ == null) {
12098         if (value == null) {
12099           throw new NullPointerException();
12100         }
12101         originalModelInfo_ = value;
12102       } else {
12103         originalModelInfoBuilder_.setMessage(value);
12104       }
12105       bitField0_ |= 0x04000000;
12106       onChanged();
12107       return this;
12108     }
12109     /**
12110      *
12111      *
12112      * <pre>
12113      * Output only. If this Model is a copy of another Model, this contains info
12114      * about the original.
12115      * </pre>
12116      *
12117      * <code>
12118      * .google.cloud.aiplatform.v1.Model.OriginalModelInfo original_model_info = 34 [(.google.api.field_behavior) = OUTPUT_ONLY];
12119      * </code>
12120      */
setOriginalModelInfo( com.google.cloud.aiplatform.v1.Model.OriginalModelInfo.Builder builderForValue)12121     public Builder setOriginalModelInfo(
12122         com.google.cloud.aiplatform.v1.Model.OriginalModelInfo.Builder builderForValue) {
12123       if (originalModelInfoBuilder_ == null) {
12124         originalModelInfo_ = builderForValue.build();
12125       } else {
12126         originalModelInfoBuilder_.setMessage(builderForValue.build());
12127       }
12128       bitField0_ |= 0x04000000;
12129       onChanged();
12130       return this;
12131     }
12132     /**
12133      *
12134      *
12135      * <pre>
12136      * Output only. If this Model is a copy of another Model, this contains info
12137      * about the original.
12138      * </pre>
12139      *
12140      * <code>
12141      * .google.cloud.aiplatform.v1.Model.OriginalModelInfo original_model_info = 34 [(.google.api.field_behavior) = OUTPUT_ONLY];
12142      * </code>
12143      */
mergeOriginalModelInfo( com.google.cloud.aiplatform.v1.Model.OriginalModelInfo value)12144     public Builder mergeOriginalModelInfo(
12145         com.google.cloud.aiplatform.v1.Model.OriginalModelInfo value) {
12146       if (originalModelInfoBuilder_ == null) {
12147         if (((bitField0_ & 0x04000000) != 0)
12148             && originalModelInfo_ != null
12149             && originalModelInfo_
12150                 != com.google.cloud.aiplatform.v1.Model.OriginalModelInfo.getDefaultInstance()) {
12151           getOriginalModelInfoBuilder().mergeFrom(value);
12152         } else {
12153           originalModelInfo_ = value;
12154         }
12155       } else {
12156         originalModelInfoBuilder_.mergeFrom(value);
12157       }
12158       bitField0_ |= 0x04000000;
12159       onChanged();
12160       return this;
12161     }
12162     /**
12163      *
12164      *
12165      * <pre>
12166      * Output only. If this Model is a copy of another Model, this contains info
12167      * about the original.
12168      * </pre>
12169      *
12170      * <code>
12171      * .google.cloud.aiplatform.v1.Model.OriginalModelInfo original_model_info = 34 [(.google.api.field_behavior) = OUTPUT_ONLY];
12172      * </code>
12173      */
clearOriginalModelInfo()12174     public Builder clearOriginalModelInfo() {
12175       bitField0_ = (bitField0_ & ~0x04000000);
12176       originalModelInfo_ = null;
12177       if (originalModelInfoBuilder_ != null) {
12178         originalModelInfoBuilder_.dispose();
12179         originalModelInfoBuilder_ = null;
12180       }
12181       onChanged();
12182       return this;
12183     }
12184     /**
12185      *
12186      *
12187      * <pre>
12188      * Output only. If this Model is a copy of another Model, this contains info
12189      * about the original.
12190      * </pre>
12191      *
12192      * <code>
12193      * .google.cloud.aiplatform.v1.Model.OriginalModelInfo original_model_info = 34 [(.google.api.field_behavior) = OUTPUT_ONLY];
12194      * </code>
12195      */
12196     public com.google.cloud.aiplatform.v1.Model.OriginalModelInfo.Builder
getOriginalModelInfoBuilder()12197         getOriginalModelInfoBuilder() {
12198       bitField0_ |= 0x04000000;
12199       onChanged();
12200       return getOriginalModelInfoFieldBuilder().getBuilder();
12201     }
12202     /**
12203      *
12204      *
12205      * <pre>
12206      * Output only. If this Model is a copy of another Model, this contains info
12207      * about the original.
12208      * </pre>
12209      *
12210      * <code>
12211      * .google.cloud.aiplatform.v1.Model.OriginalModelInfo original_model_info = 34 [(.google.api.field_behavior) = OUTPUT_ONLY];
12212      * </code>
12213      */
12214     public com.google.cloud.aiplatform.v1.Model.OriginalModelInfoOrBuilder
getOriginalModelInfoOrBuilder()12215         getOriginalModelInfoOrBuilder() {
12216       if (originalModelInfoBuilder_ != null) {
12217         return originalModelInfoBuilder_.getMessageOrBuilder();
12218       } else {
12219         return originalModelInfo_ == null
12220             ? com.google.cloud.aiplatform.v1.Model.OriginalModelInfo.getDefaultInstance()
12221             : originalModelInfo_;
12222       }
12223     }
12224     /**
12225      *
12226      *
12227      * <pre>
12228      * Output only. If this Model is a copy of another Model, this contains info
12229      * about the original.
12230      * </pre>
12231      *
12232      * <code>
12233      * .google.cloud.aiplatform.v1.Model.OriginalModelInfo original_model_info = 34 [(.google.api.field_behavior) = OUTPUT_ONLY];
12234      * </code>
12235      */
12236     private com.google.protobuf.SingleFieldBuilderV3<
12237             com.google.cloud.aiplatform.v1.Model.OriginalModelInfo,
12238             com.google.cloud.aiplatform.v1.Model.OriginalModelInfo.Builder,
12239             com.google.cloud.aiplatform.v1.Model.OriginalModelInfoOrBuilder>
getOriginalModelInfoFieldBuilder()12240         getOriginalModelInfoFieldBuilder() {
12241       if (originalModelInfoBuilder_ == null) {
12242         originalModelInfoBuilder_ =
12243             new com.google.protobuf.SingleFieldBuilderV3<
12244                 com.google.cloud.aiplatform.v1.Model.OriginalModelInfo,
12245                 com.google.cloud.aiplatform.v1.Model.OriginalModelInfo.Builder,
12246                 com.google.cloud.aiplatform.v1.Model.OriginalModelInfoOrBuilder>(
12247                 getOriginalModelInfo(), getParentForChildren(), isClean());
12248         originalModelInfo_ = null;
12249       }
12250       return originalModelInfoBuilder_;
12251     }
12252 
12253     private java.lang.Object metadataArtifact_ = "";
12254     /**
12255      *
12256      *
12257      * <pre>
12258      * Output only. The resource name of the Artifact that was created in
12259      * MetadataStore when creating the Model. The Artifact resource name pattern
12260      * is
12261      * `projects/{project}/locations/{location}/metadataStores/{metadata_store}/artifacts/{artifact}`.
12262      * </pre>
12263      *
12264      * <code>string metadata_artifact = 44 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
12265      *
12266      * @return The metadataArtifact.
12267      */
getMetadataArtifact()12268     public java.lang.String getMetadataArtifact() {
12269       java.lang.Object ref = metadataArtifact_;
12270       if (!(ref instanceof java.lang.String)) {
12271         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
12272         java.lang.String s = bs.toStringUtf8();
12273         metadataArtifact_ = s;
12274         return s;
12275       } else {
12276         return (java.lang.String) ref;
12277       }
12278     }
12279     /**
12280      *
12281      *
12282      * <pre>
12283      * Output only. The resource name of the Artifact that was created in
12284      * MetadataStore when creating the Model. The Artifact resource name pattern
12285      * is
12286      * `projects/{project}/locations/{location}/metadataStores/{metadata_store}/artifacts/{artifact}`.
12287      * </pre>
12288      *
12289      * <code>string metadata_artifact = 44 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
12290      *
12291      * @return The bytes for metadataArtifact.
12292      */
getMetadataArtifactBytes()12293     public com.google.protobuf.ByteString getMetadataArtifactBytes() {
12294       java.lang.Object ref = metadataArtifact_;
12295       if (ref instanceof String) {
12296         com.google.protobuf.ByteString b =
12297             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
12298         metadataArtifact_ = b;
12299         return b;
12300       } else {
12301         return (com.google.protobuf.ByteString) ref;
12302       }
12303     }
12304     /**
12305      *
12306      *
12307      * <pre>
12308      * Output only. The resource name of the Artifact that was created in
12309      * MetadataStore when creating the Model. The Artifact resource name pattern
12310      * is
12311      * `projects/{project}/locations/{location}/metadataStores/{metadata_store}/artifacts/{artifact}`.
12312      * </pre>
12313      *
12314      * <code>string metadata_artifact = 44 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
12315      *
12316      * @param value The metadataArtifact to set.
12317      * @return This builder for chaining.
12318      */
setMetadataArtifact(java.lang.String value)12319     public Builder setMetadataArtifact(java.lang.String value) {
12320       if (value == null) {
12321         throw new NullPointerException();
12322       }
12323       metadataArtifact_ = value;
12324       bitField0_ |= 0x08000000;
12325       onChanged();
12326       return this;
12327     }
12328     /**
12329      *
12330      *
12331      * <pre>
12332      * Output only. The resource name of the Artifact that was created in
12333      * MetadataStore when creating the Model. The Artifact resource name pattern
12334      * is
12335      * `projects/{project}/locations/{location}/metadataStores/{metadata_store}/artifacts/{artifact}`.
12336      * </pre>
12337      *
12338      * <code>string metadata_artifact = 44 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
12339      *
12340      * @return This builder for chaining.
12341      */
clearMetadataArtifact()12342     public Builder clearMetadataArtifact() {
12343       metadataArtifact_ = getDefaultInstance().getMetadataArtifact();
12344       bitField0_ = (bitField0_ & ~0x08000000);
12345       onChanged();
12346       return this;
12347     }
12348     /**
12349      *
12350      *
12351      * <pre>
12352      * Output only. The resource name of the Artifact that was created in
12353      * MetadataStore when creating the Model. The Artifact resource name pattern
12354      * is
12355      * `projects/{project}/locations/{location}/metadataStores/{metadata_store}/artifacts/{artifact}`.
12356      * </pre>
12357      *
12358      * <code>string metadata_artifact = 44 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
12359      *
12360      * @param value The bytes for metadataArtifact to set.
12361      * @return This builder for chaining.
12362      */
setMetadataArtifactBytes(com.google.protobuf.ByteString value)12363     public Builder setMetadataArtifactBytes(com.google.protobuf.ByteString value) {
12364       if (value == null) {
12365         throw new NullPointerException();
12366       }
12367       checkByteStringIsUtf8(value);
12368       metadataArtifact_ = value;
12369       bitField0_ |= 0x08000000;
12370       onChanged();
12371       return this;
12372     }
12373 
12374     @java.lang.Override
setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)12375     public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
12376       return super.setUnknownFields(unknownFields);
12377     }
12378 
12379     @java.lang.Override
mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)12380     public final Builder mergeUnknownFields(
12381         final com.google.protobuf.UnknownFieldSet unknownFields) {
12382       return super.mergeUnknownFields(unknownFields);
12383     }
12384 
12385     // @@protoc_insertion_point(builder_scope:google.cloud.aiplatform.v1.Model)
12386   }
12387 
12388   // @@protoc_insertion_point(class_scope:google.cloud.aiplatform.v1.Model)
12389   private static final com.google.cloud.aiplatform.v1.Model DEFAULT_INSTANCE;
12390 
12391   static {
12392     DEFAULT_INSTANCE = new com.google.cloud.aiplatform.v1.Model();
12393   }
12394 
getDefaultInstance()12395   public static com.google.cloud.aiplatform.v1.Model getDefaultInstance() {
12396     return DEFAULT_INSTANCE;
12397   }
12398 
12399   private static final com.google.protobuf.Parser<Model> PARSER =
12400       new com.google.protobuf.AbstractParser<Model>() {
12401         @java.lang.Override
12402         public Model parsePartialFrom(
12403             com.google.protobuf.CodedInputStream input,
12404             com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12405             throws com.google.protobuf.InvalidProtocolBufferException {
12406           Builder builder = newBuilder();
12407           try {
12408             builder.mergeFrom(input, extensionRegistry);
12409           } catch (com.google.protobuf.InvalidProtocolBufferException e) {
12410             throw e.setUnfinishedMessage(builder.buildPartial());
12411           } catch (com.google.protobuf.UninitializedMessageException e) {
12412             throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
12413           } catch (java.io.IOException e) {
12414             throw new com.google.protobuf.InvalidProtocolBufferException(e)
12415                 .setUnfinishedMessage(builder.buildPartial());
12416           }
12417           return builder.buildPartial();
12418         }
12419       };
12420 
parser()12421   public static com.google.protobuf.Parser<Model> parser() {
12422     return PARSER;
12423   }
12424 
12425   @java.lang.Override
getParserForType()12426   public com.google.protobuf.Parser<Model> getParserForType() {
12427     return PARSER;
12428   }
12429 
12430   @java.lang.Override
getDefaultInstanceForType()12431   public com.google.cloud.aiplatform.v1.Model getDefaultInstanceForType() {
12432     return DEFAULT_INSTANCE;
12433   }
12434 }
12435