• 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/automl/v1beta1/io.proto
18 
19 package com.google.cloud.automl.v1beta1;
20 
21 /**
22  *
23  *
24  * <pre>
25  * Input configuration for ImportData Action.
26  * The format of input depends on dataset_metadata the Dataset into which
27  * the import is happening has. As input source the
28  * [gcs_source][google.cloud.automl.v1beta1.InputConfig.gcs_source]
29  * is expected, unless specified otherwise. Additionally any input .CSV file
30  * by itself must be 100MB or smaller, unless specified otherwise.
31  * If an "example" file (that is, image, video etc.) with identical content
32  * (even if it had different GCS_FILE_PATH) is mentioned multiple times, then
33  * its label, bounding boxes etc. are appended. The same file should be always
34  * provided with the same ML_USE and GCS_FILE_PATH, if it is not, then
35  * these values are nondeterministically selected from the given ones.
36  * The formats are represented in EBNF with commas being literal and with
37  * non-terminal symbols defined near the end of this comment. The formats are:
38  *  *  For Image Classification:
39  *         CSV file(s) with each line in format:
40  *           ML_USE,GCS_FILE_PATH,LABEL,LABEL,...
41  *           GCS_FILE_PATH leads to image of up to 30MB in size. Supported
42  *           extensions: .JPEG, .GIF, .PNG, .WEBP, .BMP, .TIFF, .ICO
43  *           For MULTICLASS classification type, at most one LABEL is allowed
44  *           per image. If an image has not yet been labeled, then it should be
45  *           mentioned just once with no LABEL.
46  *         Some sample rows:
47  *           TRAIN,gs://folder/image1.jpg,daisy
48  *           TEST,gs://folder/image2.jpg,dandelion,tulip,rose
49  *           UNASSIGNED,gs://folder/image3.jpg,daisy
50  *           UNASSIGNED,gs://folder/image4.jpg
51  *  *  For Image Object Detection:
52  *         CSV file(s) with each line in format:
53  *           ML_USE,GCS_FILE_PATH,(LABEL,BOUNDING_BOX | ,,,,,,,)
54  *           GCS_FILE_PATH leads to image of up to 30MB in size. Supported
55  *           extensions: .JPEG, .GIF, .PNG.
56  *           Each image is assumed to be exhaustively labeled. The minimum
57  *           allowed BOUNDING_BOX edge length is 0.01, and no more than 500
58  *           BOUNDING_BOX-es per image are allowed (one BOUNDING_BOX is defined
59  *           per line). If an image has not yet been labeled, then it should be
60  *           mentioned just once with no LABEL and the ",,,,,,," in place of the
61  *           BOUNDING_BOX. For images which are known to not contain any
62  *           bounding boxes, they should be labelled explictly as
63  *           "NEGATIVE_IMAGE", followed by ",,,,,,," in place of the
64  *           BOUNDING_BOX.
65  *         Sample rows:
66  *           TRAIN,gs://folder/image1.png,car,0.1,0.1,,,0.3,0.3,,
67  *           TRAIN,gs://folder/image1.png,bike,.7,.6,,,.8,.9,,
68  *           UNASSIGNED,gs://folder/im2.png,car,0.1,0.1,0.2,0.1,0.2,0.3,0.1,0.3
69  *           TEST,gs://folder/im3.png,,,,,,,,,
70  *           TRAIN,gs://folder/im4.png,NEGATIVE_IMAGE,,,,,,,,,
71  *  *  For Video Classification:
72  *         CSV file(s) with each line in format:
73  *           ML_USE,GCS_FILE_PATH
74  *           where ML_USE VALIDATE value should not be used. The GCS_FILE_PATH
75  *           should lead to another .csv file which describes examples that have
76  *           given ML_USE, using the following row format:
77  *           GCS_FILE_PATH,(LABEL,TIME_SEGMENT_START,TIME_SEGMENT_END | ,,)
78  *           Here GCS_FILE_PATH leads to a video of up to 50GB in size and up
79  *           to 3h duration. Supported extensions: .MOV, .MPEG4, .MP4, .AVI.
80  *           TIME_SEGMENT_START and TIME_SEGMENT_END must be within the
81  *           length of the video, and end has to be after the start. Any segment
82  *           of a video which has one or more labels on it, is considered a
83  *           hard negative for all other labels. Any segment with no labels on
84  *           it is considered to be unknown. If a whole video is unknown, then
85  *           it shuold be mentioned just once with ",," in place of LABEL,
86  *           TIME_SEGMENT_START,TIME_SEGMENT_END.
87  *         Sample top level CSV file:
88  *           TRAIN,gs://folder/train_videos.csv
89  *           TEST,gs://folder/test_videos.csv
90  *           UNASSIGNED,gs://folder/other_videos.csv
91  *         Sample rows of a CSV file for a particular ML_USE:
92  *           gs://folder/video1.avi,car,120,180.000021
93  *           gs://folder/video1.avi,bike,150,180.000021
94  *           gs://folder/vid2.avi,car,0,60.5
95  *           gs://folder/vid3.avi,,,
96  *  *  For Video Object Tracking:
97  *         CSV file(s) with each line in format:
98  *           ML_USE,GCS_FILE_PATH
99  *           where ML_USE VALIDATE value should not be used. The GCS_FILE_PATH
100  *           should lead to another .csv file which describes examples that have
101  *           given ML_USE, using one of the following row format:
102  *           GCS_FILE_PATH,LABEL,[INSTANCE_ID],TIMESTAMP,BOUNDING_BOX
103  *           or
104  *           GCS_FILE_PATH,,,,,,,,,,
105  *           Here GCS_FILE_PATH leads to a video of up to 50GB in size and up
106  *           to 3h duration. Supported extensions: .MOV, .MPEG4, .MP4, .AVI.
107  *           Providing INSTANCE_IDs can help to obtain a better model. When
108  *           a specific labeled entity leaves the video frame, and shows up
109  *           afterwards it is not required, albeit preferable, that the same
110  *           INSTANCE_ID is given to it.
111  *           TIMESTAMP must be within the length of the video, the
112  *           BOUNDING_BOX is assumed to be drawn on the closest video's frame
113  *           to the TIMESTAMP. Any mentioned by the TIMESTAMP frame is expected
114  *           to be exhaustively labeled and no more than 500 BOUNDING_BOX-es per
115  *           frame are allowed. If a whole video is unknown, then it should be
116  *           mentioned just once with ",,,,,,,,,," in place of LABEL,
117  *           [INSTANCE_ID],TIMESTAMP,BOUNDING_BOX.
118  *         Sample top level CSV file:
119  *           TRAIN,gs://folder/train_videos.csv
120  *           TEST,gs://folder/test_videos.csv
121  *           UNASSIGNED,gs://folder/other_videos.csv
122  *         Seven sample rows of a CSV file for a particular ML_USE:
123  *           gs://folder/video1.avi,car,1,12.10,0.8,0.8,0.9,0.8,0.9,0.9,0.8,0.9
124  *           gs://folder/video1.avi,car,1,12.90,0.4,0.8,0.5,0.8,0.5,0.9,0.4,0.9
125  *           gs://folder/video1.avi,car,2,12.10,.4,.2,.5,.2,.5,.3,.4,.3
126  *           gs://folder/video1.avi,car,2,12.90,.8,.2,,,.9,.3,,
127  *           gs://folder/video1.avi,bike,,12.50,.45,.45,,,.55,.55,,
128  *           gs://folder/video2.avi,car,1,0,.1,.9,,,.9,.1,,
129  *           gs://folder/video2.avi,,,,,,,,,,,
130  *  *  For Text Extraction:
131  *         CSV file(s) with each line in format:
132  *           ML_USE,GCS_FILE_PATH
133  *           GCS_FILE_PATH leads to a .JSONL (that is, JSON Lines) file which
134  *           either imports text in-line or as documents. Any given
135  *           .JSONL file must be 100MB or smaller.
136  *           The in-line .JSONL file contains, per line, a proto that wraps a
137  *           TextSnippet proto (in json representation) followed by one or more
138  *           AnnotationPayload protos (called annotations), which have
139  *           display_name and text_extraction detail populated. The given text
140  *           is expected to be annotated exhaustively, for example, if you look
141  *           for animals and text contains "dolphin" that is not labeled, then
142  *           "dolphin" is assumed to not be an animal. Any given text snippet
143  *           content must be 10KB or smaller, and also be UTF-8 NFC encoded
144  *           (ASCII already is).
145  *           The document .JSONL file contains, per line, a proto that wraps a
146  *           Document proto. The Document proto must have either document_text
147  *           or input_config set. In document_text case, the Document proto may
148  *           also contain the spatial information of the document, including
149  *           layout, document dimension and page number. In input_config case,
150  *           only PDF documents are supported now, and each document may be up
151  *           to 2MB large. Currently, annotations on documents cannot be
152  *           specified at import.
153  *         Three sample CSV rows:
154  *           TRAIN,gs://folder/file1.jsonl
155  *           VALIDATE,gs://folder/file2.jsonl
156  *           TEST,gs://folder/file3.jsonl
157  *         Sample in-line JSON Lines file for entity extraction (presented here
158  *         with artificial line breaks, but the only actual line break is
159  *         denoted by &#92;n).:
160  *           {
161  *             "document": {
162  *               "document_text": {"content": "dog cat"}
163  *               "layout": [
164  *                 {
165  *                   "text_segment": {
166  *                     "start_offset": 0,
167  *                     "end_offset": 3,
168  *                   },
169  *                   "page_number": 1,
170  *                   "bounding_poly": {
171  *                     "normalized_vertices": [
172  *                       {"x": 0.1, "y": 0.1},
173  *                       {"x": 0.1, "y": 0.3},
174  *                       {"x": 0.3, "y": 0.3},
175  *                       {"x": 0.3, "y": 0.1},
176  *                     ],
177  *                   },
178  *                   "text_segment_type": TOKEN,
179  *                 },
180  *                 {
181  *                   "text_segment": {
182  *                     "start_offset": 4,
183  *                     "end_offset": 7,
184  *                   },
185  *                   "page_number": 1,
186  *                   "bounding_poly": {
187  *                     "normalized_vertices": [
188  *                       {"x": 0.4, "y": 0.1},
189  *                       {"x": 0.4, "y": 0.3},
190  *                       {"x": 0.8, "y": 0.3},
191  *                       {"x": 0.8, "y": 0.1},
192  *                     ],
193  *                   },
194  *                   "text_segment_type": TOKEN,
195  *                 }
196  *               ],
197  *               "document_dimensions": {
198  *                 "width": 8.27,
199  *                 "height": 11.69,
200  *                 "unit": INCH,
201  *               }
202  *               "page_count": 1,
203  *             },
204  *             "annotations": [
205  *               {
206  *                 "display_name": "animal",
207  *                 "text_extraction": {"text_segment": {"start_offset": 0,
208  *                 "end_offset": 3}}
209  *               },
210  *               {
211  *                 "display_name": "animal",
212  *                 "text_extraction": {"text_segment": {"start_offset": 4,
213  *                 "end_offset": 7}}
214  *               }
215  *             ],
216  *           }&#92;n
217  *           {
218  *              "text_snippet": {
219  *                "content": "This dog is good."
220  *              },
221  *              "annotations": [
222  *                {
223  *                  "display_name": "animal",
224  *                  "text_extraction": {
225  *                    "text_segment": {"start_offset": 5, "end_offset": 8}
226  *                  }
227  *                }
228  *              ]
229  *           }
230  *         Sample document JSON Lines file (presented here with artificial line
231  *         breaks, but the only actual line break is denoted by &#92;n).:
232  *           {
233  *             "document": {
234  *               "input_config": {
235  *                 "gcs_source": { "input_uris": [ "gs://folder/document1.pdf" ]
236  *                 }
237  *               }
238  *             }
239  *           }&#92;n
240  *           {
241  *             "document": {
242  *               "input_config": {
243  *                 "gcs_source": { "input_uris": [ "gs://folder/document2.pdf" ]
244  *                 }
245  *               }
246  *             }
247  *           }
248  *  *  For Text Classification:
249  *         CSV file(s) with each line in format:
250  *           ML_USE,(TEXT_SNIPPET | GCS_FILE_PATH),LABEL,LABEL,...
251  *           TEXT_SNIPPET and GCS_FILE_PATH are distinguished by a pattern. If
252  *           the column content is a valid gcs file path, i.e. prefixed by
253  *           "gs://", it will be treated as a GCS_FILE_PATH, else if the content
254  *           is enclosed within double quotes (""), it is
255  *           treated as a TEXT_SNIPPET. In the GCS_FILE_PATH case, the path
256  *           must lead to a .txt file with UTF-8 encoding, for example,
257  *           "gs://folder/content.txt", and the content in it is extracted
258  *           as a text snippet. In TEXT_SNIPPET case, the column content
259  *           excluding quotes is treated as to be imported text snippet. In
260  *           both cases, the text snippet/file size must be within 128kB.
261  *           Maximum 100 unique labels are allowed per CSV row.
262  *         Sample rows:
263  *           TRAIN,"They have bad food and very rude",RudeService,BadFood
264  *           TRAIN,gs://folder/content.txt,SlowService
265  *           TEST,"Typically always bad service there.",RudeService
266  *           VALIDATE,"Stomach ache to go.",BadFood
267  *  *  For Text Sentiment:
268  *         CSV file(s) with each line in format:
269  *           ML_USE,(TEXT_SNIPPET | GCS_FILE_PATH),SENTIMENT
270  *           TEXT_SNIPPET and GCS_FILE_PATH are distinguished by a pattern. If
271  *           the column content is a valid gcs file path, that is, prefixed by
272  *           "gs://", it is treated as a GCS_FILE_PATH, otherwise it is treated
273  *           as a TEXT_SNIPPET. In the GCS_FILE_PATH case, the path
274  *           must lead to a .txt file with UTF-8 encoding, for example,
275  *           "gs://folder/content.txt", and the content in it is extracted
276  *           as a text snippet. In TEXT_SNIPPET case, the column content itself
277  *           is treated as to be imported text snippet. In both cases, the
278  *           text snippet must be up to 500 characters long.
279  *         Sample rows:
280  *           TRAIN,"&#64;freewrytin this is way too good for your product",2
281  *           TRAIN,"I need this product so bad",3
282  *           TEST,"Thank you for this product.",4
283  *           VALIDATE,gs://folder/content.txt,2
284  *   *  For Tables:
285  *         Either
286  *         [gcs_source][google.cloud.automl.v1beta1.InputConfig.gcs_source] or
287  * [bigquery_source][google.cloud.automl.v1beta1.InputConfig.bigquery_source]
288  *         can be used. All inputs is concatenated into a single
289  * [primary_table][google.cloud.automl.v1beta1.TablesDatasetMetadata.primary_table_name]
290  *         For gcs_source:
291  *           CSV file(s), where the first row of the first file is the header,
292  *           containing unique column names. If the first row of a subsequent
293  *           file is the same as the header, then it is also treated as a
294  *           header. All other rows contain values for the corresponding
295  *           columns.
296  *           Each .CSV file by itself must be 10GB or smaller, and their total
297  *           size must be 100GB or smaller.
298  *           First three sample rows of a CSV file:
299  *           "Id","First Name","Last Name","Dob","Addresses"
300  * "1","John","Doe","1968-01-22","[{"status":"current","address":"123_First_Avenue","city":"Seattle","state":"WA","zip":"11111","numberOfYears":"1"},{"status":"previous","address":"456_Main_Street","city":"Portland","state":"OR","zip":"22222","numberOfYears":"5"}]"
301  * "2","Jane","Doe","1980-10-16","[{"status":"current","address":"789_Any_Avenue","city":"Albany","state":"NY","zip":"33333","numberOfYears":"2"},{"status":"previous","address":"321_Main_Street","city":"Hoboken","state":"NJ","zip":"44444","numberOfYears":"3"}]}
302  *         For bigquery_source:
303  *           An URI of a BigQuery table. The user data size of the BigQuery
304  *           table must be 100GB or smaller.
305  *         An imported table must have between 2 and 1,000 columns, inclusive,
306  *         and between 1000 and 100,000,000 rows, inclusive. There are at most 5
307  *         import data running in parallel.
308  *  Definitions:
309  *  ML_USE = "TRAIN" | "VALIDATE" | "TEST" | "UNASSIGNED"
310  *           Describes how the given example (file) should be used for model
311  *           training. "UNASSIGNED" can be used when user has no preference.
312  *  GCS_FILE_PATH = A path to file on GCS, e.g. "gs://folder/image1.png".
313  *  LABEL = A display name of an object on an image, video etc., e.g. "dog".
314  *          Must be up to 32 characters long and can consist only of ASCII
315  *          Latin letters A-Z and a-z, underscores(_), and ASCII digits 0-9.
316  *          For each label an AnnotationSpec is created which display_name
317  *          becomes the label; AnnotationSpecs are given back in predictions.
318  *  INSTANCE_ID = A positive integer that identifies a specific instance of a
319  *                labeled entity on an example. Used e.g. to track two cars on
320  *                a video while being able to tell apart which one is which.
321  *  BOUNDING_BOX = VERTEX,VERTEX,VERTEX,VERTEX | VERTEX,,,VERTEX,,
322  *                 A rectangle parallel to the frame of the example (image,
323  *                 video). If 4 vertices are given they are connected by edges
324  *                 in the order provided, if 2 are given they are recognized
325  *                 as diagonally opposite vertices of the rectangle.
326  *  VERTEX = COORDINATE,COORDINATE
327  *           First coordinate is horizontal (x), the second is vertical (y).
328  *  COORDINATE = A float in 0 to 1 range, relative to total length of
329  *               image or video in given dimension. For fractions the
330  *               leading non-decimal 0 can be omitted (i.e. 0.3 = .3).
331  *               Point 0,0 is in top left.
332  *  TIME_SEGMENT_START = TIME_OFFSET
333  *                       Expresses a beginning, inclusive, of a time segment
334  *                       within an example that has a time dimension
335  *                       (e.g. video).
336  *  TIME_SEGMENT_END = TIME_OFFSET
337  *                     Expresses an end, exclusive, of a time segment within
338  *                     an example that has a time dimension (e.g. video).
339  *  TIME_OFFSET = A number of seconds as measured from the start of an
340  *                example (e.g. video). Fractions are allowed, up to a
341  *                microsecond precision. "inf" is allowed, and it means the end
342  *                of the example.
343  *  TEXT_SNIPPET = A content of a text snippet, UTF-8 encoded, enclosed within
344  *                 double quotes ("").
345  *  SENTIMENT = An integer between 0 and
346  *              Dataset.text_sentiment_dataset_metadata.sentiment_max
347  *              (inclusive). Describes the ordinal of the sentiment - higher
348  *              value means a more positive sentiment. All the values are
349  *              completely relative, i.e. neither 0 needs to mean a negative or
350  *              neutral sentiment nor sentiment_max needs to mean a positive one
351  *              - it is just required that 0 is the least positive sentiment
352  *              in the data, and sentiment_max is the  most positive one.
353  *              The SENTIMENT shouldn't be confused with "score" or "magnitude"
354  *              from the previous Natural Language Sentiment Analysis API.
355  *              All SENTIMENT values between 0 and sentiment_max must be
356  *              represented in the imported data. On prediction the same 0 to
357  *              sentiment_max range will be used. The difference between
358  *              neighboring sentiment values needs not to be uniform, e.g. 1 and
359  *              2 may be similar whereas the difference between 2 and 3 may be
360  *              huge.
361  *  Errors:
362  *  If any of the provided CSV files can't be parsed or if more than certain
363  *  percent of CSV rows cannot be processed then the operation fails and
364  *  nothing is imported. Regardless of overall success or failure the per-row
365  *  failures, up to a certain count cap, is listed in
366  *  Operation.metadata.partial_failures.
367  * </pre>
368  *
369  * Protobuf type {@code google.cloud.automl.v1beta1.InputConfig}
370  */
371 public final class InputConfig extends com.google.protobuf.GeneratedMessageV3
372     implements
373     // @@protoc_insertion_point(message_implements:google.cloud.automl.v1beta1.InputConfig)
374     InputConfigOrBuilder {
375   private static final long serialVersionUID = 0L;
376   // Use InputConfig.newBuilder() to construct.
InputConfig(com.google.protobuf.GeneratedMessageV3.Builder<?> builder)377   private InputConfig(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
378     super(builder);
379   }
380 
InputConfig()381   private InputConfig() {}
382 
383   @java.lang.Override
384   @SuppressWarnings({"unused"})
newInstance(UnusedPrivateParameter unused)385   protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
386     return new InputConfig();
387   }
388 
389   @java.lang.Override
getUnknownFields()390   public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
391     return this.unknownFields;
392   }
393 
getDescriptor()394   public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
395     return com.google.cloud.automl.v1beta1.Io
396         .internal_static_google_cloud_automl_v1beta1_InputConfig_descriptor;
397   }
398 
399   @SuppressWarnings({"rawtypes"})
400   @java.lang.Override
internalGetMapField(int number)401   protected com.google.protobuf.MapField internalGetMapField(int number) {
402     switch (number) {
403       case 2:
404         return internalGetParams();
405       default:
406         throw new RuntimeException("Invalid map field number: " + number);
407     }
408   }
409 
410   @java.lang.Override
411   protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()412       internalGetFieldAccessorTable() {
413     return com.google.cloud.automl.v1beta1.Io
414         .internal_static_google_cloud_automl_v1beta1_InputConfig_fieldAccessorTable
415         .ensureFieldAccessorsInitialized(
416             com.google.cloud.automl.v1beta1.InputConfig.class,
417             com.google.cloud.automl.v1beta1.InputConfig.Builder.class);
418   }
419 
420   private int sourceCase_ = 0;
421   private java.lang.Object source_;
422 
423   public enum SourceCase
424       implements
425           com.google.protobuf.Internal.EnumLite,
426           com.google.protobuf.AbstractMessage.InternalOneOfEnum {
427     GCS_SOURCE(1),
428     BIGQUERY_SOURCE(3),
429     SOURCE_NOT_SET(0);
430     private final int value;
431 
SourceCase(int value)432     private SourceCase(int value) {
433       this.value = value;
434     }
435     /**
436      * @param value The number of the enum to look for.
437      * @return The enum associated with the given number.
438      * @deprecated Use {@link #forNumber(int)} instead.
439      */
440     @java.lang.Deprecated
valueOf(int value)441     public static SourceCase valueOf(int value) {
442       return forNumber(value);
443     }
444 
forNumber(int value)445     public static SourceCase forNumber(int value) {
446       switch (value) {
447         case 1:
448           return GCS_SOURCE;
449         case 3:
450           return BIGQUERY_SOURCE;
451         case 0:
452           return SOURCE_NOT_SET;
453         default:
454           return null;
455       }
456     }
457 
getNumber()458     public int getNumber() {
459       return this.value;
460     }
461   };
462 
getSourceCase()463   public SourceCase getSourceCase() {
464     return SourceCase.forNumber(sourceCase_);
465   }
466 
467   public static final int GCS_SOURCE_FIELD_NUMBER = 1;
468   /**
469    *
470    *
471    * <pre>
472    * The Google Cloud Storage location for the input content.
473    * In ImportData, the gcs_source points to a csv with structure described in
474    * the comment.
475    * </pre>
476    *
477    * <code>.google.cloud.automl.v1beta1.GcsSource gcs_source = 1;</code>
478    *
479    * @return Whether the gcsSource field is set.
480    */
481   @java.lang.Override
hasGcsSource()482   public boolean hasGcsSource() {
483     return sourceCase_ == 1;
484   }
485   /**
486    *
487    *
488    * <pre>
489    * The Google Cloud Storage location for the input content.
490    * In ImportData, the gcs_source points to a csv with structure described in
491    * the comment.
492    * </pre>
493    *
494    * <code>.google.cloud.automl.v1beta1.GcsSource gcs_source = 1;</code>
495    *
496    * @return The gcsSource.
497    */
498   @java.lang.Override
getGcsSource()499   public com.google.cloud.automl.v1beta1.GcsSource getGcsSource() {
500     if (sourceCase_ == 1) {
501       return (com.google.cloud.automl.v1beta1.GcsSource) source_;
502     }
503     return com.google.cloud.automl.v1beta1.GcsSource.getDefaultInstance();
504   }
505   /**
506    *
507    *
508    * <pre>
509    * The Google Cloud Storage location for the input content.
510    * In ImportData, the gcs_source points to a csv with structure described in
511    * the comment.
512    * </pre>
513    *
514    * <code>.google.cloud.automl.v1beta1.GcsSource gcs_source = 1;</code>
515    */
516   @java.lang.Override
getGcsSourceOrBuilder()517   public com.google.cloud.automl.v1beta1.GcsSourceOrBuilder getGcsSourceOrBuilder() {
518     if (sourceCase_ == 1) {
519       return (com.google.cloud.automl.v1beta1.GcsSource) source_;
520     }
521     return com.google.cloud.automl.v1beta1.GcsSource.getDefaultInstance();
522   }
523 
524   public static final int BIGQUERY_SOURCE_FIELD_NUMBER = 3;
525   /**
526    *
527    *
528    * <pre>
529    * The BigQuery location for the input content.
530    * </pre>
531    *
532    * <code>.google.cloud.automl.v1beta1.BigQuerySource bigquery_source = 3;</code>
533    *
534    * @return Whether the bigquerySource field is set.
535    */
536   @java.lang.Override
hasBigquerySource()537   public boolean hasBigquerySource() {
538     return sourceCase_ == 3;
539   }
540   /**
541    *
542    *
543    * <pre>
544    * The BigQuery location for the input content.
545    * </pre>
546    *
547    * <code>.google.cloud.automl.v1beta1.BigQuerySource bigquery_source = 3;</code>
548    *
549    * @return The bigquerySource.
550    */
551   @java.lang.Override
getBigquerySource()552   public com.google.cloud.automl.v1beta1.BigQuerySource getBigquerySource() {
553     if (sourceCase_ == 3) {
554       return (com.google.cloud.automl.v1beta1.BigQuerySource) source_;
555     }
556     return com.google.cloud.automl.v1beta1.BigQuerySource.getDefaultInstance();
557   }
558   /**
559    *
560    *
561    * <pre>
562    * The BigQuery location for the input content.
563    * </pre>
564    *
565    * <code>.google.cloud.automl.v1beta1.BigQuerySource bigquery_source = 3;</code>
566    */
567   @java.lang.Override
getBigquerySourceOrBuilder()568   public com.google.cloud.automl.v1beta1.BigQuerySourceOrBuilder getBigquerySourceOrBuilder() {
569     if (sourceCase_ == 3) {
570       return (com.google.cloud.automl.v1beta1.BigQuerySource) source_;
571     }
572     return com.google.cloud.automl.v1beta1.BigQuerySource.getDefaultInstance();
573   }
574 
575   public static final int PARAMS_FIELD_NUMBER = 2;
576 
577   private static final class ParamsDefaultEntryHolder {
578     static final com.google.protobuf.MapEntry<java.lang.String, java.lang.String> defaultEntry =
579         com.google.protobuf.MapEntry.<java.lang.String, java.lang.String>newDefaultInstance(
580             com.google.cloud.automl.v1beta1.Io
581                 .internal_static_google_cloud_automl_v1beta1_InputConfig_ParamsEntry_descriptor,
582             com.google.protobuf.WireFormat.FieldType.STRING,
583             "",
584             com.google.protobuf.WireFormat.FieldType.STRING,
585             "");
586   }
587 
588   @SuppressWarnings("serial")
589   private com.google.protobuf.MapField<java.lang.String, java.lang.String> params_;
590 
internalGetParams()591   private com.google.protobuf.MapField<java.lang.String, java.lang.String> internalGetParams() {
592     if (params_ == null) {
593       return com.google.protobuf.MapField.emptyMapField(ParamsDefaultEntryHolder.defaultEntry);
594     }
595     return params_;
596   }
597 
getParamsCount()598   public int getParamsCount() {
599     return internalGetParams().getMap().size();
600   }
601   /**
602    *
603    *
604    * <pre>
605    * Additional domain-specific parameters describing the semantic of the
606    * imported data, any string must be up to 25000
607    * characters long.
608    * *  For Tables:
609    *    `schema_inference_version` - (integer) Required. The version of the
610    *        algorithm that should be used for the initial inference of the
611    *        schema (columns' DataTypes) of the table the data is being imported
612    *        into. Allowed values: "1".
613    * </pre>
614    *
615    * <code>map&lt;string, string&gt; params = 2;</code>
616    */
617   @java.lang.Override
containsParams(java.lang.String key)618   public boolean containsParams(java.lang.String key) {
619     if (key == null) {
620       throw new NullPointerException("map key");
621     }
622     return internalGetParams().getMap().containsKey(key);
623   }
624   /** Use {@link #getParamsMap()} instead. */
625   @java.lang.Override
626   @java.lang.Deprecated
getParams()627   public java.util.Map<java.lang.String, java.lang.String> getParams() {
628     return getParamsMap();
629   }
630   /**
631    *
632    *
633    * <pre>
634    * Additional domain-specific parameters describing the semantic of the
635    * imported data, any string must be up to 25000
636    * characters long.
637    * *  For Tables:
638    *    `schema_inference_version` - (integer) Required. The version of the
639    *        algorithm that should be used for the initial inference of the
640    *        schema (columns' DataTypes) of the table the data is being imported
641    *        into. Allowed values: "1".
642    * </pre>
643    *
644    * <code>map&lt;string, string&gt; params = 2;</code>
645    */
646   @java.lang.Override
getParamsMap()647   public java.util.Map<java.lang.String, java.lang.String> getParamsMap() {
648     return internalGetParams().getMap();
649   }
650   /**
651    *
652    *
653    * <pre>
654    * Additional domain-specific parameters describing the semantic of the
655    * imported data, any string must be up to 25000
656    * characters long.
657    * *  For Tables:
658    *    `schema_inference_version` - (integer) Required. The version of the
659    *        algorithm that should be used for the initial inference of the
660    *        schema (columns' DataTypes) of the table the data is being imported
661    *        into. Allowed values: "1".
662    * </pre>
663    *
664    * <code>map&lt;string, string&gt; params = 2;</code>
665    */
666   @java.lang.Override
getParamsOrDefault( java.lang.String key, java.lang.String defaultValue)667   public /* nullable */ java.lang.String getParamsOrDefault(
668       java.lang.String key,
669       /* nullable */
670       java.lang.String defaultValue) {
671     if (key == null) {
672       throw new NullPointerException("map key");
673     }
674     java.util.Map<java.lang.String, java.lang.String> map = internalGetParams().getMap();
675     return map.containsKey(key) ? map.get(key) : defaultValue;
676   }
677   /**
678    *
679    *
680    * <pre>
681    * Additional domain-specific parameters describing the semantic of the
682    * imported data, any string must be up to 25000
683    * characters long.
684    * *  For Tables:
685    *    `schema_inference_version` - (integer) Required. The version of the
686    *        algorithm that should be used for the initial inference of the
687    *        schema (columns' DataTypes) of the table the data is being imported
688    *        into. Allowed values: "1".
689    * </pre>
690    *
691    * <code>map&lt;string, string&gt; params = 2;</code>
692    */
693   @java.lang.Override
getParamsOrThrow(java.lang.String key)694   public java.lang.String getParamsOrThrow(java.lang.String key) {
695     if (key == null) {
696       throw new NullPointerException("map key");
697     }
698     java.util.Map<java.lang.String, java.lang.String> map = internalGetParams().getMap();
699     if (!map.containsKey(key)) {
700       throw new java.lang.IllegalArgumentException();
701     }
702     return map.get(key);
703   }
704 
705   private byte memoizedIsInitialized = -1;
706 
707   @java.lang.Override
isInitialized()708   public final boolean isInitialized() {
709     byte isInitialized = memoizedIsInitialized;
710     if (isInitialized == 1) return true;
711     if (isInitialized == 0) return false;
712 
713     memoizedIsInitialized = 1;
714     return true;
715   }
716 
717   @java.lang.Override
writeTo(com.google.protobuf.CodedOutputStream output)718   public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
719     if (sourceCase_ == 1) {
720       output.writeMessage(1, (com.google.cloud.automl.v1beta1.GcsSource) source_);
721     }
722     com.google.protobuf.GeneratedMessageV3.serializeStringMapTo(
723         output, internalGetParams(), ParamsDefaultEntryHolder.defaultEntry, 2);
724     if (sourceCase_ == 3) {
725       output.writeMessage(3, (com.google.cloud.automl.v1beta1.BigQuerySource) source_);
726     }
727     getUnknownFields().writeTo(output);
728   }
729 
730   @java.lang.Override
getSerializedSize()731   public int getSerializedSize() {
732     int size = memoizedSize;
733     if (size != -1) return size;
734 
735     size = 0;
736     if (sourceCase_ == 1) {
737       size +=
738           com.google.protobuf.CodedOutputStream.computeMessageSize(
739               1, (com.google.cloud.automl.v1beta1.GcsSource) source_);
740     }
741     for (java.util.Map.Entry<java.lang.String, java.lang.String> entry :
742         internalGetParams().getMap().entrySet()) {
743       com.google.protobuf.MapEntry<java.lang.String, java.lang.String> params__ =
744           ParamsDefaultEntryHolder.defaultEntry
745               .newBuilderForType()
746               .setKey(entry.getKey())
747               .setValue(entry.getValue())
748               .build();
749       size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, params__);
750     }
751     if (sourceCase_ == 3) {
752       size +=
753           com.google.protobuf.CodedOutputStream.computeMessageSize(
754               3, (com.google.cloud.automl.v1beta1.BigQuerySource) source_);
755     }
756     size += getUnknownFields().getSerializedSize();
757     memoizedSize = size;
758     return size;
759   }
760 
761   @java.lang.Override
equals(final java.lang.Object obj)762   public boolean equals(final java.lang.Object obj) {
763     if (obj == this) {
764       return true;
765     }
766     if (!(obj instanceof com.google.cloud.automl.v1beta1.InputConfig)) {
767       return super.equals(obj);
768     }
769     com.google.cloud.automl.v1beta1.InputConfig other =
770         (com.google.cloud.automl.v1beta1.InputConfig) obj;
771 
772     if (!internalGetParams().equals(other.internalGetParams())) return false;
773     if (!getSourceCase().equals(other.getSourceCase())) return false;
774     switch (sourceCase_) {
775       case 1:
776         if (!getGcsSource().equals(other.getGcsSource())) return false;
777         break;
778       case 3:
779         if (!getBigquerySource().equals(other.getBigquerySource())) return false;
780         break;
781       case 0:
782       default:
783     }
784     if (!getUnknownFields().equals(other.getUnknownFields())) return false;
785     return true;
786   }
787 
788   @java.lang.Override
hashCode()789   public int hashCode() {
790     if (memoizedHashCode != 0) {
791       return memoizedHashCode;
792     }
793     int hash = 41;
794     hash = (19 * hash) + getDescriptor().hashCode();
795     if (!internalGetParams().getMap().isEmpty()) {
796       hash = (37 * hash) + PARAMS_FIELD_NUMBER;
797       hash = (53 * hash) + internalGetParams().hashCode();
798     }
799     switch (sourceCase_) {
800       case 1:
801         hash = (37 * hash) + GCS_SOURCE_FIELD_NUMBER;
802         hash = (53 * hash) + getGcsSource().hashCode();
803         break;
804       case 3:
805         hash = (37 * hash) + BIGQUERY_SOURCE_FIELD_NUMBER;
806         hash = (53 * hash) + getBigquerySource().hashCode();
807         break;
808       case 0:
809       default:
810     }
811     hash = (29 * hash) + getUnknownFields().hashCode();
812     memoizedHashCode = hash;
813     return hash;
814   }
815 
parseFrom(java.nio.ByteBuffer data)816   public static com.google.cloud.automl.v1beta1.InputConfig parseFrom(java.nio.ByteBuffer data)
817       throws com.google.protobuf.InvalidProtocolBufferException {
818     return PARSER.parseFrom(data);
819   }
820 
parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)821   public static com.google.cloud.automl.v1beta1.InputConfig parseFrom(
822       java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
823       throws com.google.protobuf.InvalidProtocolBufferException {
824     return PARSER.parseFrom(data, extensionRegistry);
825   }
826 
parseFrom( com.google.protobuf.ByteString data)827   public static com.google.cloud.automl.v1beta1.InputConfig parseFrom(
828       com.google.protobuf.ByteString data)
829       throws com.google.protobuf.InvalidProtocolBufferException {
830     return PARSER.parseFrom(data);
831   }
832 
parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)833   public static com.google.cloud.automl.v1beta1.InputConfig parseFrom(
834       com.google.protobuf.ByteString data,
835       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
836       throws com.google.protobuf.InvalidProtocolBufferException {
837     return PARSER.parseFrom(data, extensionRegistry);
838   }
839 
parseFrom(byte[] data)840   public static com.google.cloud.automl.v1beta1.InputConfig parseFrom(byte[] data)
841       throws com.google.protobuf.InvalidProtocolBufferException {
842     return PARSER.parseFrom(data);
843   }
844 
parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)845   public static com.google.cloud.automl.v1beta1.InputConfig parseFrom(
846       byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
847       throws com.google.protobuf.InvalidProtocolBufferException {
848     return PARSER.parseFrom(data, extensionRegistry);
849   }
850 
parseFrom(java.io.InputStream input)851   public static com.google.cloud.automl.v1beta1.InputConfig parseFrom(java.io.InputStream input)
852       throws java.io.IOException {
853     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
854   }
855 
parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)856   public static com.google.cloud.automl.v1beta1.InputConfig parseFrom(
857       java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
858       throws java.io.IOException {
859     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
860         PARSER, input, extensionRegistry);
861   }
862 
parseDelimitedFrom( java.io.InputStream input)863   public static com.google.cloud.automl.v1beta1.InputConfig parseDelimitedFrom(
864       java.io.InputStream input) throws java.io.IOException {
865     return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
866   }
867 
parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)868   public static com.google.cloud.automl.v1beta1.InputConfig parseDelimitedFrom(
869       java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
870       throws java.io.IOException {
871     return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
872         PARSER, input, extensionRegistry);
873   }
874 
parseFrom( com.google.protobuf.CodedInputStream input)875   public static com.google.cloud.automl.v1beta1.InputConfig parseFrom(
876       com.google.protobuf.CodedInputStream input) throws java.io.IOException {
877     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
878   }
879 
parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)880   public static com.google.cloud.automl.v1beta1.InputConfig parseFrom(
881       com.google.protobuf.CodedInputStream input,
882       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
883       throws java.io.IOException {
884     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
885         PARSER, input, extensionRegistry);
886   }
887 
888   @java.lang.Override
newBuilderForType()889   public Builder newBuilderForType() {
890     return newBuilder();
891   }
892 
newBuilder()893   public static Builder newBuilder() {
894     return DEFAULT_INSTANCE.toBuilder();
895   }
896 
newBuilder(com.google.cloud.automl.v1beta1.InputConfig prototype)897   public static Builder newBuilder(com.google.cloud.automl.v1beta1.InputConfig prototype) {
898     return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
899   }
900 
901   @java.lang.Override
toBuilder()902   public Builder toBuilder() {
903     return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
904   }
905 
906   @java.lang.Override
newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)907   protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
908     Builder builder = new Builder(parent);
909     return builder;
910   }
911   /**
912    *
913    *
914    * <pre>
915    * Input configuration for ImportData Action.
916    * The format of input depends on dataset_metadata the Dataset into which
917    * the import is happening has. As input source the
918    * [gcs_source][google.cloud.automl.v1beta1.InputConfig.gcs_source]
919    * is expected, unless specified otherwise. Additionally any input .CSV file
920    * by itself must be 100MB or smaller, unless specified otherwise.
921    * If an "example" file (that is, image, video etc.) with identical content
922    * (even if it had different GCS_FILE_PATH) is mentioned multiple times, then
923    * its label, bounding boxes etc. are appended. The same file should be always
924    * provided with the same ML_USE and GCS_FILE_PATH, if it is not, then
925    * these values are nondeterministically selected from the given ones.
926    * The formats are represented in EBNF with commas being literal and with
927    * non-terminal symbols defined near the end of this comment. The formats are:
928    *  *  For Image Classification:
929    *         CSV file(s) with each line in format:
930    *           ML_USE,GCS_FILE_PATH,LABEL,LABEL,...
931    *           GCS_FILE_PATH leads to image of up to 30MB in size. Supported
932    *           extensions: .JPEG, .GIF, .PNG, .WEBP, .BMP, .TIFF, .ICO
933    *           For MULTICLASS classification type, at most one LABEL is allowed
934    *           per image. If an image has not yet been labeled, then it should be
935    *           mentioned just once with no LABEL.
936    *         Some sample rows:
937    *           TRAIN,gs://folder/image1.jpg,daisy
938    *           TEST,gs://folder/image2.jpg,dandelion,tulip,rose
939    *           UNASSIGNED,gs://folder/image3.jpg,daisy
940    *           UNASSIGNED,gs://folder/image4.jpg
941    *  *  For Image Object Detection:
942    *         CSV file(s) with each line in format:
943    *           ML_USE,GCS_FILE_PATH,(LABEL,BOUNDING_BOX | ,,,,,,,)
944    *           GCS_FILE_PATH leads to image of up to 30MB in size. Supported
945    *           extensions: .JPEG, .GIF, .PNG.
946    *           Each image is assumed to be exhaustively labeled. The minimum
947    *           allowed BOUNDING_BOX edge length is 0.01, and no more than 500
948    *           BOUNDING_BOX-es per image are allowed (one BOUNDING_BOX is defined
949    *           per line). If an image has not yet been labeled, then it should be
950    *           mentioned just once with no LABEL and the ",,,,,,," in place of the
951    *           BOUNDING_BOX. For images which are known to not contain any
952    *           bounding boxes, they should be labelled explictly as
953    *           "NEGATIVE_IMAGE", followed by ",,,,,,," in place of the
954    *           BOUNDING_BOX.
955    *         Sample rows:
956    *           TRAIN,gs://folder/image1.png,car,0.1,0.1,,,0.3,0.3,,
957    *           TRAIN,gs://folder/image1.png,bike,.7,.6,,,.8,.9,,
958    *           UNASSIGNED,gs://folder/im2.png,car,0.1,0.1,0.2,0.1,0.2,0.3,0.1,0.3
959    *           TEST,gs://folder/im3.png,,,,,,,,,
960    *           TRAIN,gs://folder/im4.png,NEGATIVE_IMAGE,,,,,,,,,
961    *  *  For Video Classification:
962    *         CSV file(s) with each line in format:
963    *           ML_USE,GCS_FILE_PATH
964    *           where ML_USE VALIDATE value should not be used. The GCS_FILE_PATH
965    *           should lead to another .csv file which describes examples that have
966    *           given ML_USE, using the following row format:
967    *           GCS_FILE_PATH,(LABEL,TIME_SEGMENT_START,TIME_SEGMENT_END | ,,)
968    *           Here GCS_FILE_PATH leads to a video of up to 50GB in size and up
969    *           to 3h duration. Supported extensions: .MOV, .MPEG4, .MP4, .AVI.
970    *           TIME_SEGMENT_START and TIME_SEGMENT_END must be within the
971    *           length of the video, and end has to be after the start. Any segment
972    *           of a video which has one or more labels on it, is considered a
973    *           hard negative for all other labels. Any segment with no labels on
974    *           it is considered to be unknown. If a whole video is unknown, then
975    *           it shuold be mentioned just once with ",," in place of LABEL,
976    *           TIME_SEGMENT_START,TIME_SEGMENT_END.
977    *         Sample top level CSV file:
978    *           TRAIN,gs://folder/train_videos.csv
979    *           TEST,gs://folder/test_videos.csv
980    *           UNASSIGNED,gs://folder/other_videos.csv
981    *         Sample rows of a CSV file for a particular ML_USE:
982    *           gs://folder/video1.avi,car,120,180.000021
983    *           gs://folder/video1.avi,bike,150,180.000021
984    *           gs://folder/vid2.avi,car,0,60.5
985    *           gs://folder/vid3.avi,,,
986    *  *  For Video Object Tracking:
987    *         CSV file(s) with each line in format:
988    *           ML_USE,GCS_FILE_PATH
989    *           where ML_USE VALIDATE value should not be used. The GCS_FILE_PATH
990    *           should lead to another .csv file which describes examples that have
991    *           given ML_USE, using one of the following row format:
992    *           GCS_FILE_PATH,LABEL,[INSTANCE_ID],TIMESTAMP,BOUNDING_BOX
993    *           or
994    *           GCS_FILE_PATH,,,,,,,,,,
995    *           Here GCS_FILE_PATH leads to a video of up to 50GB in size and up
996    *           to 3h duration. Supported extensions: .MOV, .MPEG4, .MP4, .AVI.
997    *           Providing INSTANCE_IDs can help to obtain a better model. When
998    *           a specific labeled entity leaves the video frame, and shows up
999    *           afterwards it is not required, albeit preferable, that the same
1000    *           INSTANCE_ID is given to it.
1001    *           TIMESTAMP must be within the length of the video, the
1002    *           BOUNDING_BOX is assumed to be drawn on the closest video's frame
1003    *           to the TIMESTAMP. Any mentioned by the TIMESTAMP frame is expected
1004    *           to be exhaustively labeled and no more than 500 BOUNDING_BOX-es per
1005    *           frame are allowed. If a whole video is unknown, then it should be
1006    *           mentioned just once with ",,,,,,,,,," in place of LABEL,
1007    *           [INSTANCE_ID],TIMESTAMP,BOUNDING_BOX.
1008    *         Sample top level CSV file:
1009    *           TRAIN,gs://folder/train_videos.csv
1010    *           TEST,gs://folder/test_videos.csv
1011    *           UNASSIGNED,gs://folder/other_videos.csv
1012    *         Seven sample rows of a CSV file for a particular ML_USE:
1013    *           gs://folder/video1.avi,car,1,12.10,0.8,0.8,0.9,0.8,0.9,0.9,0.8,0.9
1014    *           gs://folder/video1.avi,car,1,12.90,0.4,0.8,0.5,0.8,0.5,0.9,0.4,0.9
1015    *           gs://folder/video1.avi,car,2,12.10,.4,.2,.5,.2,.5,.3,.4,.3
1016    *           gs://folder/video1.avi,car,2,12.90,.8,.2,,,.9,.3,,
1017    *           gs://folder/video1.avi,bike,,12.50,.45,.45,,,.55,.55,,
1018    *           gs://folder/video2.avi,car,1,0,.1,.9,,,.9,.1,,
1019    *           gs://folder/video2.avi,,,,,,,,,,,
1020    *  *  For Text Extraction:
1021    *         CSV file(s) with each line in format:
1022    *           ML_USE,GCS_FILE_PATH
1023    *           GCS_FILE_PATH leads to a .JSONL (that is, JSON Lines) file which
1024    *           either imports text in-line or as documents. Any given
1025    *           .JSONL file must be 100MB or smaller.
1026    *           The in-line .JSONL file contains, per line, a proto that wraps a
1027    *           TextSnippet proto (in json representation) followed by one or more
1028    *           AnnotationPayload protos (called annotations), which have
1029    *           display_name and text_extraction detail populated. The given text
1030    *           is expected to be annotated exhaustively, for example, if you look
1031    *           for animals and text contains "dolphin" that is not labeled, then
1032    *           "dolphin" is assumed to not be an animal. Any given text snippet
1033    *           content must be 10KB or smaller, and also be UTF-8 NFC encoded
1034    *           (ASCII already is).
1035    *           The document .JSONL file contains, per line, a proto that wraps a
1036    *           Document proto. The Document proto must have either document_text
1037    *           or input_config set. In document_text case, the Document proto may
1038    *           also contain the spatial information of the document, including
1039    *           layout, document dimension and page number. In input_config case,
1040    *           only PDF documents are supported now, and each document may be up
1041    *           to 2MB large. Currently, annotations on documents cannot be
1042    *           specified at import.
1043    *         Three sample CSV rows:
1044    *           TRAIN,gs://folder/file1.jsonl
1045    *           VALIDATE,gs://folder/file2.jsonl
1046    *           TEST,gs://folder/file3.jsonl
1047    *         Sample in-line JSON Lines file for entity extraction (presented here
1048    *         with artificial line breaks, but the only actual line break is
1049    *         denoted by &#92;n).:
1050    *           {
1051    *             "document": {
1052    *               "document_text": {"content": "dog cat"}
1053    *               "layout": [
1054    *                 {
1055    *                   "text_segment": {
1056    *                     "start_offset": 0,
1057    *                     "end_offset": 3,
1058    *                   },
1059    *                   "page_number": 1,
1060    *                   "bounding_poly": {
1061    *                     "normalized_vertices": [
1062    *                       {"x": 0.1, "y": 0.1},
1063    *                       {"x": 0.1, "y": 0.3},
1064    *                       {"x": 0.3, "y": 0.3},
1065    *                       {"x": 0.3, "y": 0.1},
1066    *                     ],
1067    *                   },
1068    *                   "text_segment_type": TOKEN,
1069    *                 },
1070    *                 {
1071    *                   "text_segment": {
1072    *                     "start_offset": 4,
1073    *                     "end_offset": 7,
1074    *                   },
1075    *                   "page_number": 1,
1076    *                   "bounding_poly": {
1077    *                     "normalized_vertices": [
1078    *                       {"x": 0.4, "y": 0.1},
1079    *                       {"x": 0.4, "y": 0.3},
1080    *                       {"x": 0.8, "y": 0.3},
1081    *                       {"x": 0.8, "y": 0.1},
1082    *                     ],
1083    *                   },
1084    *                   "text_segment_type": TOKEN,
1085    *                 }
1086    *               ],
1087    *               "document_dimensions": {
1088    *                 "width": 8.27,
1089    *                 "height": 11.69,
1090    *                 "unit": INCH,
1091    *               }
1092    *               "page_count": 1,
1093    *             },
1094    *             "annotations": [
1095    *               {
1096    *                 "display_name": "animal",
1097    *                 "text_extraction": {"text_segment": {"start_offset": 0,
1098    *                 "end_offset": 3}}
1099    *               },
1100    *               {
1101    *                 "display_name": "animal",
1102    *                 "text_extraction": {"text_segment": {"start_offset": 4,
1103    *                 "end_offset": 7}}
1104    *               }
1105    *             ],
1106    *           }&#92;n
1107    *           {
1108    *              "text_snippet": {
1109    *                "content": "This dog is good."
1110    *              },
1111    *              "annotations": [
1112    *                {
1113    *                  "display_name": "animal",
1114    *                  "text_extraction": {
1115    *                    "text_segment": {"start_offset": 5, "end_offset": 8}
1116    *                  }
1117    *                }
1118    *              ]
1119    *           }
1120    *         Sample document JSON Lines file (presented here with artificial line
1121    *         breaks, but the only actual line break is denoted by &#92;n).:
1122    *           {
1123    *             "document": {
1124    *               "input_config": {
1125    *                 "gcs_source": { "input_uris": [ "gs://folder/document1.pdf" ]
1126    *                 }
1127    *               }
1128    *             }
1129    *           }&#92;n
1130    *           {
1131    *             "document": {
1132    *               "input_config": {
1133    *                 "gcs_source": { "input_uris": [ "gs://folder/document2.pdf" ]
1134    *                 }
1135    *               }
1136    *             }
1137    *           }
1138    *  *  For Text Classification:
1139    *         CSV file(s) with each line in format:
1140    *           ML_USE,(TEXT_SNIPPET | GCS_FILE_PATH),LABEL,LABEL,...
1141    *           TEXT_SNIPPET and GCS_FILE_PATH are distinguished by a pattern. If
1142    *           the column content is a valid gcs file path, i.e. prefixed by
1143    *           "gs://", it will be treated as a GCS_FILE_PATH, else if the content
1144    *           is enclosed within double quotes (""), it is
1145    *           treated as a TEXT_SNIPPET. In the GCS_FILE_PATH case, the path
1146    *           must lead to a .txt file with UTF-8 encoding, for example,
1147    *           "gs://folder/content.txt", and the content in it is extracted
1148    *           as a text snippet. In TEXT_SNIPPET case, the column content
1149    *           excluding quotes is treated as to be imported text snippet. In
1150    *           both cases, the text snippet/file size must be within 128kB.
1151    *           Maximum 100 unique labels are allowed per CSV row.
1152    *         Sample rows:
1153    *           TRAIN,"They have bad food and very rude",RudeService,BadFood
1154    *           TRAIN,gs://folder/content.txt,SlowService
1155    *           TEST,"Typically always bad service there.",RudeService
1156    *           VALIDATE,"Stomach ache to go.",BadFood
1157    *  *  For Text Sentiment:
1158    *         CSV file(s) with each line in format:
1159    *           ML_USE,(TEXT_SNIPPET | GCS_FILE_PATH),SENTIMENT
1160    *           TEXT_SNIPPET and GCS_FILE_PATH are distinguished by a pattern. If
1161    *           the column content is a valid gcs file path, that is, prefixed by
1162    *           "gs://", it is treated as a GCS_FILE_PATH, otherwise it is treated
1163    *           as a TEXT_SNIPPET. In the GCS_FILE_PATH case, the path
1164    *           must lead to a .txt file with UTF-8 encoding, for example,
1165    *           "gs://folder/content.txt", and the content in it is extracted
1166    *           as a text snippet. In TEXT_SNIPPET case, the column content itself
1167    *           is treated as to be imported text snippet. In both cases, the
1168    *           text snippet must be up to 500 characters long.
1169    *         Sample rows:
1170    *           TRAIN,"&#64;freewrytin this is way too good for your product",2
1171    *           TRAIN,"I need this product so bad",3
1172    *           TEST,"Thank you for this product.",4
1173    *           VALIDATE,gs://folder/content.txt,2
1174    *   *  For Tables:
1175    *         Either
1176    *         [gcs_source][google.cloud.automl.v1beta1.InputConfig.gcs_source] or
1177    * [bigquery_source][google.cloud.automl.v1beta1.InputConfig.bigquery_source]
1178    *         can be used. All inputs is concatenated into a single
1179    * [primary_table][google.cloud.automl.v1beta1.TablesDatasetMetadata.primary_table_name]
1180    *         For gcs_source:
1181    *           CSV file(s), where the first row of the first file is the header,
1182    *           containing unique column names. If the first row of a subsequent
1183    *           file is the same as the header, then it is also treated as a
1184    *           header. All other rows contain values for the corresponding
1185    *           columns.
1186    *           Each .CSV file by itself must be 10GB or smaller, and their total
1187    *           size must be 100GB or smaller.
1188    *           First three sample rows of a CSV file:
1189    *           "Id","First Name","Last Name","Dob","Addresses"
1190    * "1","John","Doe","1968-01-22","[{"status":"current","address":"123_First_Avenue","city":"Seattle","state":"WA","zip":"11111","numberOfYears":"1"},{"status":"previous","address":"456_Main_Street","city":"Portland","state":"OR","zip":"22222","numberOfYears":"5"}]"
1191    * "2","Jane","Doe","1980-10-16","[{"status":"current","address":"789_Any_Avenue","city":"Albany","state":"NY","zip":"33333","numberOfYears":"2"},{"status":"previous","address":"321_Main_Street","city":"Hoboken","state":"NJ","zip":"44444","numberOfYears":"3"}]}
1192    *         For bigquery_source:
1193    *           An URI of a BigQuery table. The user data size of the BigQuery
1194    *           table must be 100GB or smaller.
1195    *         An imported table must have between 2 and 1,000 columns, inclusive,
1196    *         and between 1000 and 100,000,000 rows, inclusive. There are at most 5
1197    *         import data running in parallel.
1198    *  Definitions:
1199    *  ML_USE = "TRAIN" | "VALIDATE" | "TEST" | "UNASSIGNED"
1200    *           Describes how the given example (file) should be used for model
1201    *           training. "UNASSIGNED" can be used when user has no preference.
1202    *  GCS_FILE_PATH = A path to file on GCS, e.g. "gs://folder/image1.png".
1203    *  LABEL = A display name of an object on an image, video etc., e.g. "dog".
1204    *          Must be up to 32 characters long and can consist only of ASCII
1205    *          Latin letters A-Z and a-z, underscores(_), and ASCII digits 0-9.
1206    *          For each label an AnnotationSpec is created which display_name
1207    *          becomes the label; AnnotationSpecs are given back in predictions.
1208    *  INSTANCE_ID = A positive integer that identifies a specific instance of a
1209    *                labeled entity on an example. Used e.g. to track two cars on
1210    *                a video while being able to tell apart which one is which.
1211    *  BOUNDING_BOX = VERTEX,VERTEX,VERTEX,VERTEX | VERTEX,,,VERTEX,,
1212    *                 A rectangle parallel to the frame of the example (image,
1213    *                 video). If 4 vertices are given they are connected by edges
1214    *                 in the order provided, if 2 are given they are recognized
1215    *                 as diagonally opposite vertices of the rectangle.
1216    *  VERTEX = COORDINATE,COORDINATE
1217    *           First coordinate is horizontal (x), the second is vertical (y).
1218    *  COORDINATE = A float in 0 to 1 range, relative to total length of
1219    *               image or video in given dimension. For fractions the
1220    *               leading non-decimal 0 can be omitted (i.e. 0.3 = .3).
1221    *               Point 0,0 is in top left.
1222    *  TIME_SEGMENT_START = TIME_OFFSET
1223    *                       Expresses a beginning, inclusive, of a time segment
1224    *                       within an example that has a time dimension
1225    *                       (e.g. video).
1226    *  TIME_SEGMENT_END = TIME_OFFSET
1227    *                     Expresses an end, exclusive, of a time segment within
1228    *                     an example that has a time dimension (e.g. video).
1229    *  TIME_OFFSET = A number of seconds as measured from the start of an
1230    *                example (e.g. video). Fractions are allowed, up to a
1231    *                microsecond precision. "inf" is allowed, and it means the end
1232    *                of the example.
1233    *  TEXT_SNIPPET = A content of a text snippet, UTF-8 encoded, enclosed within
1234    *                 double quotes ("").
1235    *  SENTIMENT = An integer between 0 and
1236    *              Dataset.text_sentiment_dataset_metadata.sentiment_max
1237    *              (inclusive). Describes the ordinal of the sentiment - higher
1238    *              value means a more positive sentiment. All the values are
1239    *              completely relative, i.e. neither 0 needs to mean a negative or
1240    *              neutral sentiment nor sentiment_max needs to mean a positive one
1241    *              - it is just required that 0 is the least positive sentiment
1242    *              in the data, and sentiment_max is the  most positive one.
1243    *              The SENTIMENT shouldn't be confused with "score" or "magnitude"
1244    *              from the previous Natural Language Sentiment Analysis API.
1245    *              All SENTIMENT values between 0 and sentiment_max must be
1246    *              represented in the imported data. On prediction the same 0 to
1247    *              sentiment_max range will be used. The difference between
1248    *              neighboring sentiment values needs not to be uniform, e.g. 1 and
1249    *              2 may be similar whereas the difference between 2 and 3 may be
1250    *              huge.
1251    *  Errors:
1252    *  If any of the provided CSV files can't be parsed or if more than certain
1253    *  percent of CSV rows cannot be processed then the operation fails and
1254    *  nothing is imported. Regardless of overall success or failure the per-row
1255    *  failures, up to a certain count cap, is listed in
1256    *  Operation.metadata.partial_failures.
1257    * </pre>
1258    *
1259    * Protobuf type {@code google.cloud.automl.v1beta1.InputConfig}
1260    */
1261   public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
1262       implements
1263       // @@protoc_insertion_point(builder_implements:google.cloud.automl.v1beta1.InputConfig)
1264       com.google.cloud.automl.v1beta1.InputConfigOrBuilder {
getDescriptor()1265     public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
1266       return com.google.cloud.automl.v1beta1.Io
1267           .internal_static_google_cloud_automl_v1beta1_InputConfig_descriptor;
1268     }
1269 
1270     @SuppressWarnings({"rawtypes"})
internalGetMapField(int number)1271     protected com.google.protobuf.MapField internalGetMapField(int number) {
1272       switch (number) {
1273         case 2:
1274           return internalGetParams();
1275         default:
1276           throw new RuntimeException("Invalid map field number: " + number);
1277       }
1278     }
1279 
1280     @SuppressWarnings({"rawtypes"})
internalGetMutableMapField(int number)1281     protected com.google.protobuf.MapField internalGetMutableMapField(int number) {
1282       switch (number) {
1283         case 2:
1284           return internalGetMutableParams();
1285         default:
1286           throw new RuntimeException("Invalid map field number: " + number);
1287       }
1288     }
1289 
1290     @java.lang.Override
1291     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()1292         internalGetFieldAccessorTable() {
1293       return com.google.cloud.automl.v1beta1.Io
1294           .internal_static_google_cloud_automl_v1beta1_InputConfig_fieldAccessorTable
1295           .ensureFieldAccessorsInitialized(
1296               com.google.cloud.automl.v1beta1.InputConfig.class,
1297               com.google.cloud.automl.v1beta1.InputConfig.Builder.class);
1298     }
1299 
1300     // Construct using com.google.cloud.automl.v1beta1.InputConfig.newBuilder()
Builder()1301     private Builder() {}
1302 
Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)1303     private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
1304       super(parent);
1305     }
1306 
1307     @java.lang.Override
clear()1308     public Builder clear() {
1309       super.clear();
1310       bitField0_ = 0;
1311       if (gcsSourceBuilder_ != null) {
1312         gcsSourceBuilder_.clear();
1313       }
1314       if (bigquerySourceBuilder_ != null) {
1315         bigquerySourceBuilder_.clear();
1316       }
1317       internalGetMutableParams().clear();
1318       sourceCase_ = 0;
1319       source_ = null;
1320       return this;
1321     }
1322 
1323     @java.lang.Override
getDescriptorForType()1324     public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
1325       return com.google.cloud.automl.v1beta1.Io
1326           .internal_static_google_cloud_automl_v1beta1_InputConfig_descriptor;
1327     }
1328 
1329     @java.lang.Override
getDefaultInstanceForType()1330     public com.google.cloud.automl.v1beta1.InputConfig getDefaultInstanceForType() {
1331       return com.google.cloud.automl.v1beta1.InputConfig.getDefaultInstance();
1332     }
1333 
1334     @java.lang.Override
build()1335     public com.google.cloud.automl.v1beta1.InputConfig build() {
1336       com.google.cloud.automl.v1beta1.InputConfig result = buildPartial();
1337       if (!result.isInitialized()) {
1338         throw newUninitializedMessageException(result);
1339       }
1340       return result;
1341     }
1342 
1343     @java.lang.Override
buildPartial()1344     public com.google.cloud.automl.v1beta1.InputConfig buildPartial() {
1345       com.google.cloud.automl.v1beta1.InputConfig result =
1346           new com.google.cloud.automl.v1beta1.InputConfig(this);
1347       if (bitField0_ != 0) {
1348         buildPartial0(result);
1349       }
1350       buildPartialOneofs(result);
1351       onBuilt();
1352       return result;
1353     }
1354 
buildPartial0(com.google.cloud.automl.v1beta1.InputConfig result)1355     private void buildPartial0(com.google.cloud.automl.v1beta1.InputConfig result) {
1356       int from_bitField0_ = bitField0_;
1357       if (((from_bitField0_ & 0x00000004) != 0)) {
1358         result.params_ = internalGetParams();
1359         result.params_.makeImmutable();
1360       }
1361     }
1362 
buildPartialOneofs(com.google.cloud.automl.v1beta1.InputConfig result)1363     private void buildPartialOneofs(com.google.cloud.automl.v1beta1.InputConfig result) {
1364       result.sourceCase_ = sourceCase_;
1365       result.source_ = this.source_;
1366       if (sourceCase_ == 1 && gcsSourceBuilder_ != null) {
1367         result.source_ = gcsSourceBuilder_.build();
1368       }
1369       if (sourceCase_ == 3 && bigquerySourceBuilder_ != null) {
1370         result.source_ = bigquerySourceBuilder_.build();
1371       }
1372     }
1373 
1374     @java.lang.Override
clone()1375     public Builder clone() {
1376       return super.clone();
1377     }
1378 
1379     @java.lang.Override
setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)1380     public Builder setField(
1381         com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
1382       return super.setField(field, value);
1383     }
1384 
1385     @java.lang.Override
clearField(com.google.protobuf.Descriptors.FieldDescriptor field)1386     public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
1387       return super.clearField(field);
1388     }
1389 
1390     @java.lang.Override
clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)1391     public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
1392       return super.clearOneof(oneof);
1393     }
1394 
1395     @java.lang.Override
setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)1396     public Builder setRepeatedField(
1397         com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
1398       return super.setRepeatedField(field, index, value);
1399     }
1400 
1401     @java.lang.Override
addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)1402     public Builder addRepeatedField(
1403         com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
1404       return super.addRepeatedField(field, value);
1405     }
1406 
1407     @java.lang.Override
mergeFrom(com.google.protobuf.Message other)1408     public Builder mergeFrom(com.google.protobuf.Message other) {
1409       if (other instanceof com.google.cloud.automl.v1beta1.InputConfig) {
1410         return mergeFrom((com.google.cloud.automl.v1beta1.InputConfig) other);
1411       } else {
1412         super.mergeFrom(other);
1413         return this;
1414       }
1415     }
1416 
mergeFrom(com.google.cloud.automl.v1beta1.InputConfig other)1417     public Builder mergeFrom(com.google.cloud.automl.v1beta1.InputConfig other) {
1418       if (other == com.google.cloud.automl.v1beta1.InputConfig.getDefaultInstance()) return this;
1419       internalGetMutableParams().mergeFrom(other.internalGetParams());
1420       bitField0_ |= 0x00000004;
1421       switch (other.getSourceCase()) {
1422         case GCS_SOURCE:
1423           {
1424             mergeGcsSource(other.getGcsSource());
1425             break;
1426           }
1427         case BIGQUERY_SOURCE:
1428           {
1429             mergeBigquerySource(other.getBigquerySource());
1430             break;
1431           }
1432         case SOURCE_NOT_SET:
1433           {
1434             break;
1435           }
1436       }
1437       this.mergeUnknownFields(other.getUnknownFields());
1438       onChanged();
1439       return this;
1440     }
1441 
1442     @java.lang.Override
isInitialized()1443     public final boolean isInitialized() {
1444       return true;
1445     }
1446 
1447     @java.lang.Override
mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1448     public Builder mergeFrom(
1449         com.google.protobuf.CodedInputStream input,
1450         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1451         throws java.io.IOException {
1452       if (extensionRegistry == null) {
1453         throw new java.lang.NullPointerException();
1454       }
1455       try {
1456         boolean done = false;
1457         while (!done) {
1458           int tag = input.readTag();
1459           switch (tag) {
1460             case 0:
1461               done = true;
1462               break;
1463             case 10:
1464               {
1465                 input.readMessage(getGcsSourceFieldBuilder().getBuilder(), extensionRegistry);
1466                 sourceCase_ = 1;
1467                 break;
1468               } // case 10
1469             case 18:
1470               {
1471                 com.google.protobuf.MapEntry<java.lang.String, java.lang.String> params__ =
1472                     input.readMessage(
1473                         ParamsDefaultEntryHolder.defaultEntry.getParserForType(),
1474                         extensionRegistry);
1475                 internalGetMutableParams()
1476                     .getMutableMap()
1477                     .put(params__.getKey(), params__.getValue());
1478                 bitField0_ |= 0x00000004;
1479                 break;
1480               } // case 18
1481             case 26:
1482               {
1483                 input.readMessage(getBigquerySourceFieldBuilder().getBuilder(), extensionRegistry);
1484                 sourceCase_ = 3;
1485                 break;
1486               } // case 26
1487             default:
1488               {
1489                 if (!super.parseUnknownField(input, extensionRegistry, tag)) {
1490                   done = true; // was an endgroup tag
1491                 }
1492                 break;
1493               } // default:
1494           } // switch (tag)
1495         } // while (!done)
1496       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1497         throw e.unwrapIOException();
1498       } finally {
1499         onChanged();
1500       } // finally
1501       return this;
1502     }
1503 
1504     private int sourceCase_ = 0;
1505     private java.lang.Object source_;
1506 
getSourceCase()1507     public SourceCase getSourceCase() {
1508       return SourceCase.forNumber(sourceCase_);
1509     }
1510 
clearSource()1511     public Builder clearSource() {
1512       sourceCase_ = 0;
1513       source_ = null;
1514       onChanged();
1515       return this;
1516     }
1517 
1518     private int bitField0_;
1519 
1520     private com.google.protobuf.SingleFieldBuilderV3<
1521             com.google.cloud.automl.v1beta1.GcsSource,
1522             com.google.cloud.automl.v1beta1.GcsSource.Builder,
1523             com.google.cloud.automl.v1beta1.GcsSourceOrBuilder>
1524         gcsSourceBuilder_;
1525     /**
1526      *
1527      *
1528      * <pre>
1529      * The Google Cloud Storage location for the input content.
1530      * In ImportData, the gcs_source points to a csv with structure described in
1531      * the comment.
1532      * </pre>
1533      *
1534      * <code>.google.cloud.automl.v1beta1.GcsSource gcs_source = 1;</code>
1535      *
1536      * @return Whether the gcsSource field is set.
1537      */
1538     @java.lang.Override
hasGcsSource()1539     public boolean hasGcsSource() {
1540       return sourceCase_ == 1;
1541     }
1542     /**
1543      *
1544      *
1545      * <pre>
1546      * The Google Cloud Storage location for the input content.
1547      * In ImportData, the gcs_source points to a csv with structure described in
1548      * the comment.
1549      * </pre>
1550      *
1551      * <code>.google.cloud.automl.v1beta1.GcsSource gcs_source = 1;</code>
1552      *
1553      * @return The gcsSource.
1554      */
1555     @java.lang.Override
getGcsSource()1556     public com.google.cloud.automl.v1beta1.GcsSource getGcsSource() {
1557       if (gcsSourceBuilder_ == null) {
1558         if (sourceCase_ == 1) {
1559           return (com.google.cloud.automl.v1beta1.GcsSource) source_;
1560         }
1561         return com.google.cloud.automl.v1beta1.GcsSource.getDefaultInstance();
1562       } else {
1563         if (sourceCase_ == 1) {
1564           return gcsSourceBuilder_.getMessage();
1565         }
1566         return com.google.cloud.automl.v1beta1.GcsSource.getDefaultInstance();
1567       }
1568     }
1569     /**
1570      *
1571      *
1572      * <pre>
1573      * The Google Cloud Storage location for the input content.
1574      * In ImportData, the gcs_source points to a csv with structure described in
1575      * the comment.
1576      * </pre>
1577      *
1578      * <code>.google.cloud.automl.v1beta1.GcsSource gcs_source = 1;</code>
1579      */
setGcsSource(com.google.cloud.automl.v1beta1.GcsSource value)1580     public Builder setGcsSource(com.google.cloud.automl.v1beta1.GcsSource value) {
1581       if (gcsSourceBuilder_ == null) {
1582         if (value == null) {
1583           throw new NullPointerException();
1584         }
1585         source_ = value;
1586         onChanged();
1587       } else {
1588         gcsSourceBuilder_.setMessage(value);
1589       }
1590       sourceCase_ = 1;
1591       return this;
1592     }
1593     /**
1594      *
1595      *
1596      * <pre>
1597      * The Google Cloud Storage location for the input content.
1598      * In ImportData, the gcs_source points to a csv with structure described in
1599      * the comment.
1600      * </pre>
1601      *
1602      * <code>.google.cloud.automl.v1beta1.GcsSource gcs_source = 1;</code>
1603      */
setGcsSource(com.google.cloud.automl.v1beta1.GcsSource.Builder builderForValue)1604     public Builder setGcsSource(com.google.cloud.automl.v1beta1.GcsSource.Builder builderForValue) {
1605       if (gcsSourceBuilder_ == null) {
1606         source_ = builderForValue.build();
1607         onChanged();
1608       } else {
1609         gcsSourceBuilder_.setMessage(builderForValue.build());
1610       }
1611       sourceCase_ = 1;
1612       return this;
1613     }
1614     /**
1615      *
1616      *
1617      * <pre>
1618      * The Google Cloud Storage location for the input content.
1619      * In ImportData, the gcs_source points to a csv with structure described in
1620      * the comment.
1621      * </pre>
1622      *
1623      * <code>.google.cloud.automl.v1beta1.GcsSource gcs_source = 1;</code>
1624      */
mergeGcsSource(com.google.cloud.automl.v1beta1.GcsSource value)1625     public Builder mergeGcsSource(com.google.cloud.automl.v1beta1.GcsSource value) {
1626       if (gcsSourceBuilder_ == null) {
1627         if (sourceCase_ == 1
1628             && source_ != com.google.cloud.automl.v1beta1.GcsSource.getDefaultInstance()) {
1629           source_ =
1630               com.google.cloud.automl.v1beta1.GcsSource.newBuilder(
1631                       (com.google.cloud.automl.v1beta1.GcsSource) source_)
1632                   .mergeFrom(value)
1633                   .buildPartial();
1634         } else {
1635           source_ = value;
1636         }
1637         onChanged();
1638       } else {
1639         if (sourceCase_ == 1) {
1640           gcsSourceBuilder_.mergeFrom(value);
1641         } else {
1642           gcsSourceBuilder_.setMessage(value);
1643         }
1644       }
1645       sourceCase_ = 1;
1646       return this;
1647     }
1648     /**
1649      *
1650      *
1651      * <pre>
1652      * The Google Cloud Storage location for the input content.
1653      * In ImportData, the gcs_source points to a csv with structure described in
1654      * the comment.
1655      * </pre>
1656      *
1657      * <code>.google.cloud.automl.v1beta1.GcsSource gcs_source = 1;</code>
1658      */
clearGcsSource()1659     public Builder clearGcsSource() {
1660       if (gcsSourceBuilder_ == null) {
1661         if (sourceCase_ == 1) {
1662           sourceCase_ = 0;
1663           source_ = null;
1664           onChanged();
1665         }
1666       } else {
1667         if (sourceCase_ == 1) {
1668           sourceCase_ = 0;
1669           source_ = null;
1670         }
1671         gcsSourceBuilder_.clear();
1672       }
1673       return this;
1674     }
1675     /**
1676      *
1677      *
1678      * <pre>
1679      * The Google Cloud Storage location for the input content.
1680      * In ImportData, the gcs_source points to a csv with structure described in
1681      * the comment.
1682      * </pre>
1683      *
1684      * <code>.google.cloud.automl.v1beta1.GcsSource gcs_source = 1;</code>
1685      */
getGcsSourceBuilder()1686     public com.google.cloud.automl.v1beta1.GcsSource.Builder getGcsSourceBuilder() {
1687       return getGcsSourceFieldBuilder().getBuilder();
1688     }
1689     /**
1690      *
1691      *
1692      * <pre>
1693      * The Google Cloud Storage location for the input content.
1694      * In ImportData, the gcs_source points to a csv with structure described in
1695      * the comment.
1696      * </pre>
1697      *
1698      * <code>.google.cloud.automl.v1beta1.GcsSource gcs_source = 1;</code>
1699      */
1700     @java.lang.Override
getGcsSourceOrBuilder()1701     public com.google.cloud.automl.v1beta1.GcsSourceOrBuilder getGcsSourceOrBuilder() {
1702       if ((sourceCase_ == 1) && (gcsSourceBuilder_ != null)) {
1703         return gcsSourceBuilder_.getMessageOrBuilder();
1704       } else {
1705         if (sourceCase_ == 1) {
1706           return (com.google.cloud.automl.v1beta1.GcsSource) source_;
1707         }
1708         return com.google.cloud.automl.v1beta1.GcsSource.getDefaultInstance();
1709       }
1710     }
1711     /**
1712      *
1713      *
1714      * <pre>
1715      * The Google Cloud Storage location for the input content.
1716      * In ImportData, the gcs_source points to a csv with structure described in
1717      * the comment.
1718      * </pre>
1719      *
1720      * <code>.google.cloud.automl.v1beta1.GcsSource gcs_source = 1;</code>
1721      */
1722     private com.google.protobuf.SingleFieldBuilderV3<
1723             com.google.cloud.automl.v1beta1.GcsSource,
1724             com.google.cloud.automl.v1beta1.GcsSource.Builder,
1725             com.google.cloud.automl.v1beta1.GcsSourceOrBuilder>
getGcsSourceFieldBuilder()1726         getGcsSourceFieldBuilder() {
1727       if (gcsSourceBuilder_ == null) {
1728         if (!(sourceCase_ == 1)) {
1729           source_ = com.google.cloud.automl.v1beta1.GcsSource.getDefaultInstance();
1730         }
1731         gcsSourceBuilder_ =
1732             new com.google.protobuf.SingleFieldBuilderV3<
1733                 com.google.cloud.automl.v1beta1.GcsSource,
1734                 com.google.cloud.automl.v1beta1.GcsSource.Builder,
1735                 com.google.cloud.automl.v1beta1.GcsSourceOrBuilder>(
1736                 (com.google.cloud.automl.v1beta1.GcsSource) source_,
1737                 getParentForChildren(),
1738                 isClean());
1739         source_ = null;
1740       }
1741       sourceCase_ = 1;
1742       onChanged();
1743       return gcsSourceBuilder_;
1744     }
1745 
1746     private com.google.protobuf.SingleFieldBuilderV3<
1747             com.google.cloud.automl.v1beta1.BigQuerySource,
1748             com.google.cloud.automl.v1beta1.BigQuerySource.Builder,
1749             com.google.cloud.automl.v1beta1.BigQuerySourceOrBuilder>
1750         bigquerySourceBuilder_;
1751     /**
1752      *
1753      *
1754      * <pre>
1755      * The BigQuery location for the input content.
1756      * </pre>
1757      *
1758      * <code>.google.cloud.automl.v1beta1.BigQuerySource bigquery_source = 3;</code>
1759      *
1760      * @return Whether the bigquerySource field is set.
1761      */
1762     @java.lang.Override
hasBigquerySource()1763     public boolean hasBigquerySource() {
1764       return sourceCase_ == 3;
1765     }
1766     /**
1767      *
1768      *
1769      * <pre>
1770      * The BigQuery location for the input content.
1771      * </pre>
1772      *
1773      * <code>.google.cloud.automl.v1beta1.BigQuerySource bigquery_source = 3;</code>
1774      *
1775      * @return The bigquerySource.
1776      */
1777     @java.lang.Override
getBigquerySource()1778     public com.google.cloud.automl.v1beta1.BigQuerySource getBigquerySource() {
1779       if (bigquerySourceBuilder_ == null) {
1780         if (sourceCase_ == 3) {
1781           return (com.google.cloud.automl.v1beta1.BigQuerySource) source_;
1782         }
1783         return com.google.cloud.automl.v1beta1.BigQuerySource.getDefaultInstance();
1784       } else {
1785         if (sourceCase_ == 3) {
1786           return bigquerySourceBuilder_.getMessage();
1787         }
1788         return com.google.cloud.automl.v1beta1.BigQuerySource.getDefaultInstance();
1789       }
1790     }
1791     /**
1792      *
1793      *
1794      * <pre>
1795      * The BigQuery location for the input content.
1796      * </pre>
1797      *
1798      * <code>.google.cloud.automl.v1beta1.BigQuerySource bigquery_source = 3;</code>
1799      */
setBigquerySource(com.google.cloud.automl.v1beta1.BigQuerySource value)1800     public Builder setBigquerySource(com.google.cloud.automl.v1beta1.BigQuerySource value) {
1801       if (bigquerySourceBuilder_ == null) {
1802         if (value == null) {
1803           throw new NullPointerException();
1804         }
1805         source_ = value;
1806         onChanged();
1807       } else {
1808         bigquerySourceBuilder_.setMessage(value);
1809       }
1810       sourceCase_ = 3;
1811       return this;
1812     }
1813     /**
1814      *
1815      *
1816      * <pre>
1817      * The BigQuery location for the input content.
1818      * </pre>
1819      *
1820      * <code>.google.cloud.automl.v1beta1.BigQuerySource bigquery_source = 3;</code>
1821      */
setBigquerySource( com.google.cloud.automl.v1beta1.BigQuerySource.Builder builderForValue)1822     public Builder setBigquerySource(
1823         com.google.cloud.automl.v1beta1.BigQuerySource.Builder builderForValue) {
1824       if (bigquerySourceBuilder_ == null) {
1825         source_ = builderForValue.build();
1826         onChanged();
1827       } else {
1828         bigquerySourceBuilder_.setMessage(builderForValue.build());
1829       }
1830       sourceCase_ = 3;
1831       return this;
1832     }
1833     /**
1834      *
1835      *
1836      * <pre>
1837      * The BigQuery location for the input content.
1838      * </pre>
1839      *
1840      * <code>.google.cloud.automl.v1beta1.BigQuerySource bigquery_source = 3;</code>
1841      */
mergeBigquerySource(com.google.cloud.automl.v1beta1.BigQuerySource value)1842     public Builder mergeBigquerySource(com.google.cloud.automl.v1beta1.BigQuerySource value) {
1843       if (bigquerySourceBuilder_ == null) {
1844         if (sourceCase_ == 3
1845             && source_ != com.google.cloud.automl.v1beta1.BigQuerySource.getDefaultInstance()) {
1846           source_ =
1847               com.google.cloud.automl.v1beta1.BigQuerySource.newBuilder(
1848                       (com.google.cloud.automl.v1beta1.BigQuerySource) source_)
1849                   .mergeFrom(value)
1850                   .buildPartial();
1851         } else {
1852           source_ = value;
1853         }
1854         onChanged();
1855       } else {
1856         if (sourceCase_ == 3) {
1857           bigquerySourceBuilder_.mergeFrom(value);
1858         } else {
1859           bigquerySourceBuilder_.setMessage(value);
1860         }
1861       }
1862       sourceCase_ = 3;
1863       return this;
1864     }
1865     /**
1866      *
1867      *
1868      * <pre>
1869      * The BigQuery location for the input content.
1870      * </pre>
1871      *
1872      * <code>.google.cloud.automl.v1beta1.BigQuerySource bigquery_source = 3;</code>
1873      */
clearBigquerySource()1874     public Builder clearBigquerySource() {
1875       if (bigquerySourceBuilder_ == null) {
1876         if (sourceCase_ == 3) {
1877           sourceCase_ = 0;
1878           source_ = null;
1879           onChanged();
1880         }
1881       } else {
1882         if (sourceCase_ == 3) {
1883           sourceCase_ = 0;
1884           source_ = null;
1885         }
1886         bigquerySourceBuilder_.clear();
1887       }
1888       return this;
1889     }
1890     /**
1891      *
1892      *
1893      * <pre>
1894      * The BigQuery location for the input content.
1895      * </pre>
1896      *
1897      * <code>.google.cloud.automl.v1beta1.BigQuerySource bigquery_source = 3;</code>
1898      */
getBigquerySourceBuilder()1899     public com.google.cloud.automl.v1beta1.BigQuerySource.Builder getBigquerySourceBuilder() {
1900       return getBigquerySourceFieldBuilder().getBuilder();
1901     }
1902     /**
1903      *
1904      *
1905      * <pre>
1906      * The BigQuery location for the input content.
1907      * </pre>
1908      *
1909      * <code>.google.cloud.automl.v1beta1.BigQuerySource bigquery_source = 3;</code>
1910      */
1911     @java.lang.Override
getBigquerySourceOrBuilder()1912     public com.google.cloud.automl.v1beta1.BigQuerySourceOrBuilder getBigquerySourceOrBuilder() {
1913       if ((sourceCase_ == 3) && (bigquerySourceBuilder_ != null)) {
1914         return bigquerySourceBuilder_.getMessageOrBuilder();
1915       } else {
1916         if (sourceCase_ == 3) {
1917           return (com.google.cloud.automl.v1beta1.BigQuerySource) source_;
1918         }
1919         return com.google.cloud.automl.v1beta1.BigQuerySource.getDefaultInstance();
1920       }
1921     }
1922     /**
1923      *
1924      *
1925      * <pre>
1926      * The BigQuery location for the input content.
1927      * </pre>
1928      *
1929      * <code>.google.cloud.automl.v1beta1.BigQuerySource bigquery_source = 3;</code>
1930      */
1931     private com.google.protobuf.SingleFieldBuilderV3<
1932             com.google.cloud.automl.v1beta1.BigQuerySource,
1933             com.google.cloud.automl.v1beta1.BigQuerySource.Builder,
1934             com.google.cloud.automl.v1beta1.BigQuerySourceOrBuilder>
getBigquerySourceFieldBuilder()1935         getBigquerySourceFieldBuilder() {
1936       if (bigquerySourceBuilder_ == null) {
1937         if (!(sourceCase_ == 3)) {
1938           source_ = com.google.cloud.automl.v1beta1.BigQuerySource.getDefaultInstance();
1939         }
1940         bigquerySourceBuilder_ =
1941             new com.google.protobuf.SingleFieldBuilderV3<
1942                 com.google.cloud.automl.v1beta1.BigQuerySource,
1943                 com.google.cloud.automl.v1beta1.BigQuerySource.Builder,
1944                 com.google.cloud.automl.v1beta1.BigQuerySourceOrBuilder>(
1945                 (com.google.cloud.automl.v1beta1.BigQuerySource) source_,
1946                 getParentForChildren(),
1947                 isClean());
1948         source_ = null;
1949       }
1950       sourceCase_ = 3;
1951       onChanged();
1952       return bigquerySourceBuilder_;
1953     }
1954 
1955     private com.google.protobuf.MapField<java.lang.String, java.lang.String> params_;
1956 
internalGetParams()1957     private com.google.protobuf.MapField<java.lang.String, java.lang.String> internalGetParams() {
1958       if (params_ == null) {
1959         return com.google.protobuf.MapField.emptyMapField(ParamsDefaultEntryHolder.defaultEntry);
1960       }
1961       return params_;
1962     }
1963 
1964     private com.google.protobuf.MapField<java.lang.String, java.lang.String>
internalGetMutableParams()1965         internalGetMutableParams() {
1966       if (params_ == null) {
1967         params_ = com.google.protobuf.MapField.newMapField(ParamsDefaultEntryHolder.defaultEntry);
1968       }
1969       if (!params_.isMutable()) {
1970         params_ = params_.copy();
1971       }
1972       bitField0_ |= 0x00000004;
1973       onChanged();
1974       return params_;
1975     }
1976 
getParamsCount()1977     public int getParamsCount() {
1978       return internalGetParams().getMap().size();
1979     }
1980     /**
1981      *
1982      *
1983      * <pre>
1984      * Additional domain-specific parameters describing the semantic of the
1985      * imported data, any string must be up to 25000
1986      * characters long.
1987      * *  For Tables:
1988      *    `schema_inference_version` - (integer) Required. The version of the
1989      *        algorithm that should be used for the initial inference of the
1990      *        schema (columns' DataTypes) of the table the data is being imported
1991      *        into. Allowed values: "1".
1992      * </pre>
1993      *
1994      * <code>map&lt;string, string&gt; params = 2;</code>
1995      */
1996     @java.lang.Override
containsParams(java.lang.String key)1997     public boolean containsParams(java.lang.String key) {
1998       if (key == null) {
1999         throw new NullPointerException("map key");
2000       }
2001       return internalGetParams().getMap().containsKey(key);
2002     }
2003     /** Use {@link #getParamsMap()} instead. */
2004     @java.lang.Override
2005     @java.lang.Deprecated
getParams()2006     public java.util.Map<java.lang.String, java.lang.String> getParams() {
2007       return getParamsMap();
2008     }
2009     /**
2010      *
2011      *
2012      * <pre>
2013      * Additional domain-specific parameters describing the semantic of the
2014      * imported data, any string must be up to 25000
2015      * characters long.
2016      * *  For Tables:
2017      *    `schema_inference_version` - (integer) Required. The version of the
2018      *        algorithm that should be used for the initial inference of the
2019      *        schema (columns' DataTypes) of the table the data is being imported
2020      *        into. Allowed values: "1".
2021      * </pre>
2022      *
2023      * <code>map&lt;string, string&gt; params = 2;</code>
2024      */
2025     @java.lang.Override
getParamsMap()2026     public java.util.Map<java.lang.String, java.lang.String> getParamsMap() {
2027       return internalGetParams().getMap();
2028     }
2029     /**
2030      *
2031      *
2032      * <pre>
2033      * Additional domain-specific parameters describing the semantic of the
2034      * imported data, any string must be up to 25000
2035      * characters long.
2036      * *  For Tables:
2037      *    `schema_inference_version` - (integer) Required. The version of the
2038      *        algorithm that should be used for the initial inference of the
2039      *        schema (columns' DataTypes) of the table the data is being imported
2040      *        into. Allowed values: "1".
2041      * </pre>
2042      *
2043      * <code>map&lt;string, string&gt; params = 2;</code>
2044      */
2045     @java.lang.Override
getParamsOrDefault( java.lang.String key, java.lang.String defaultValue)2046     public /* nullable */ java.lang.String getParamsOrDefault(
2047         java.lang.String key,
2048         /* nullable */
2049         java.lang.String defaultValue) {
2050       if (key == null) {
2051         throw new NullPointerException("map key");
2052       }
2053       java.util.Map<java.lang.String, java.lang.String> map = internalGetParams().getMap();
2054       return map.containsKey(key) ? map.get(key) : defaultValue;
2055     }
2056     /**
2057      *
2058      *
2059      * <pre>
2060      * Additional domain-specific parameters describing the semantic of the
2061      * imported data, any string must be up to 25000
2062      * characters long.
2063      * *  For Tables:
2064      *    `schema_inference_version` - (integer) Required. The version of the
2065      *        algorithm that should be used for the initial inference of the
2066      *        schema (columns' DataTypes) of the table the data is being imported
2067      *        into. Allowed values: "1".
2068      * </pre>
2069      *
2070      * <code>map&lt;string, string&gt; params = 2;</code>
2071      */
2072     @java.lang.Override
getParamsOrThrow(java.lang.String key)2073     public java.lang.String getParamsOrThrow(java.lang.String key) {
2074       if (key == null) {
2075         throw new NullPointerException("map key");
2076       }
2077       java.util.Map<java.lang.String, java.lang.String> map = internalGetParams().getMap();
2078       if (!map.containsKey(key)) {
2079         throw new java.lang.IllegalArgumentException();
2080       }
2081       return map.get(key);
2082     }
2083 
clearParams()2084     public Builder clearParams() {
2085       bitField0_ = (bitField0_ & ~0x00000004);
2086       internalGetMutableParams().getMutableMap().clear();
2087       return this;
2088     }
2089     /**
2090      *
2091      *
2092      * <pre>
2093      * Additional domain-specific parameters describing the semantic of the
2094      * imported data, any string must be up to 25000
2095      * characters long.
2096      * *  For Tables:
2097      *    `schema_inference_version` - (integer) Required. The version of the
2098      *        algorithm that should be used for the initial inference of the
2099      *        schema (columns' DataTypes) of the table the data is being imported
2100      *        into. Allowed values: "1".
2101      * </pre>
2102      *
2103      * <code>map&lt;string, string&gt; params = 2;</code>
2104      */
removeParams(java.lang.String key)2105     public Builder removeParams(java.lang.String key) {
2106       if (key == null) {
2107         throw new NullPointerException("map key");
2108       }
2109       internalGetMutableParams().getMutableMap().remove(key);
2110       return this;
2111     }
2112     /** Use alternate mutation accessors instead. */
2113     @java.lang.Deprecated
getMutableParams()2114     public java.util.Map<java.lang.String, java.lang.String> getMutableParams() {
2115       bitField0_ |= 0x00000004;
2116       return internalGetMutableParams().getMutableMap();
2117     }
2118     /**
2119      *
2120      *
2121      * <pre>
2122      * Additional domain-specific parameters describing the semantic of the
2123      * imported data, any string must be up to 25000
2124      * characters long.
2125      * *  For Tables:
2126      *    `schema_inference_version` - (integer) Required. The version of the
2127      *        algorithm that should be used for the initial inference of the
2128      *        schema (columns' DataTypes) of the table the data is being imported
2129      *        into. Allowed values: "1".
2130      * </pre>
2131      *
2132      * <code>map&lt;string, string&gt; params = 2;</code>
2133      */
putParams(java.lang.String key, java.lang.String value)2134     public Builder putParams(java.lang.String key, java.lang.String value) {
2135       if (key == null) {
2136         throw new NullPointerException("map key");
2137       }
2138       if (value == null) {
2139         throw new NullPointerException("map value");
2140       }
2141       internalGetMutableParams().getMutableMap().put(key, value);
2142       bitField0_ |= 0x00000004;
2143       return this;
2144     }
2145     /**
2146      *
2147      *
2148      * <pre>
2149      * Additional domain-specific parameters describing the semantic of the
2150      * imported data, any string must be up to 25000
2151      * characters long.
2152      * *  For Tables:
2153      *    `schema_inference_version` - (integer) Required. The version of the
2154      *        algorithm that should be used for the initial inference of the
2155      *        schema (columns' DataTypes) of the table the data is being imported
2156      *        into. Allowed values: "1".
2157      * </pre>
2158      *
2159      * <code>map&lt;string, string&gt; params = 2;</code>
2160      */
putAllParams(java.util.Map<java.lang.String, java.lang.String> values)2161     public Builder putAllParams(java.util.Map<java.lang.String, java.lang.String> values) {
2162       internalGetMutableParams().getMutableMap().putAll(values);
2163       bitField0_ |= 0x00000004;
2164       return this;
2165     }
2166 
2167     @java.lang.Override
setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)2168     public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
2169       return super.setUnknownFields(unknownFields);
2170     }
2171 
2172     @java.lang.Override
mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)2173     public final Builder mergeUnknownFields(
2174         final com.google.protobuf.UnknownFieldSet unknownFields) {
2175       return super.mergeUnknownFields(unknownFields);
2176     }
2177 
2178     // @@protoc_insertion_point(builder_scope:google.cloud.automl.v1beta1.InputConfig)
2179   }
2180 
2181   // @@protoc_insertion_point(class_scope:google.cloud.automl.v1beta1.InputConfig)
2182   private static final com.google.cloud.automl.v1beta1.InputConfig DEFAULT_INSTANCE;
2183 
2184   static {
2185     DEFAULT_INSTANCE = new com.google.cloud.automl.v1beta1.InputConfig();
2186   }
2187 
getDefaultInstance()2188   public static com.google.cloud.automl.v1beta1.InputConfig getDefaultInstance() {
2189     return DEFAULT_INSTANCE;
2190   }
2191 
2192   private static final com.google.protobuf.Parser<InputConfig> PARSER =
2193       new com.google.protobuf.AbstractParser<InputConfig>() {
2194         @java.lang.Override
2195         public InputConfig parsePartialFrom(
2196             com.google.protobuf.CodedInputStream input,
2197             com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2198             throws com.google.protobuf.InvalidProtocolBufferException {
2199           Builder builder = newBuilder();
2200           try {
2201             builder.mergeFrom(input, extensionRegistry);
2202           } catch (com.google.protobuf.InvalidProtocolBufferException e) {
2203             throw e.setUnfinishedMessage(builder.buildPartial());
2204           } catch (com.google.protobuf.UninitializedMessageException e) {
2205             throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
2206           } catch (java.io.IOException e) {
2207             throw new com.google.protobuf.InvalidProtocolBufferException(e)
2208                 .setUnfinishedMessage(builder.buildPartial());
2209           }
2210           return builder.buildPartial();
2211         }
2212       };
2213 
parser()2214   public static com.google.protobuf.Parser<InputConfig> parser() {
2215     return PARSER;
2216   }
2217 
2218   @java.lang.Override
getParserForType()2219   public com.google.protobuf.Parser<InputConfig> getParserForType() {
2220     return PARSER;
2221   }
2222 
2223   @java.lang.Override
getDefaultInstanceForType()2224   public com.google.cloud.automl.v1beta1.InputConfig getDefaultInstanceForType() {
2225     return DEFAULT_INSTANCE;
2226   }
2227 }
2228