1// Copyright 2023 Google LLC
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15syntax = "proto3";
16
17package google.cloud.aiplatform.v1;
18
19import "google/api/field_behavior.proto";
20
21option csharp_namespace = "Google.Cloud.AIPlatform.V1";
22option go_package = "cloud.google.com/go/aiplatform/apiv1/aiplatformpb;aiplatformpb";
23option java_multiple_files = true;
24option java_outer_classname = "IoProto";
25option java_package = "com.google.cloud.aiplatform.v1";
26option php_namespace = "Google\\Cloud\\AIPlatform\\V1";
27option ruby_package = "Google::Cloud::AIPlatform::V1";
28
29// The storage details for Avro input content.
30message AvroSource {
31  // Required. Google Cloud Storage location.
32  GcsSource gcs_source = 1 [(google.api.field_behavior) = REQUIRED];
33}
34
35// The storage details for CSV input content.
36message CsvSource {
37  // Required. Google Cloud Storage location.
38  GcsSource gcs_source = 1 [(google.api.field_behavior) = REQUIRED];
39}
40
41// The Google Cloud Storage location for the input content.
42message GcsSource {
43  // Required. Google Cloud Storage URI(-s) to the input file(s). May contain
44  // wildcards. For more information on wildcards, see
45  // https://cloud.google.com/storage/docs/gsutil/addlhelp/WildcardNames.
46  repeated string uris = 1 [(google.api.field_behavior) = REQUIRED];
47}
48
49// The Google Cloud Storage location where the output is to be written to.
50message GcsDestination {
51  // Required. Google Cloud Storage URI to output directory. If the uri doesn't
52  // end with
53  // '/', a '/' will be automatically appended. The directory is created if it
54  // doesn't exist.
55  string output_uri_prefix = 1 [(google.api.field_behavior) = REQUIRED];
56}
57
58// The BigQuery location for the input content.
59message BigQuerySource {
60  // Required. BigQuery URI to a table, up to 2000 characters long.
61  // Accepted forms:
62  //
63  // *  BigQuery path. For example: `bq://projectId.bqDatasetId.bqTableId`.
64  string input_uri = 1 [(google.api.field_behavior) = REQUIRED];
65}
66
67// The BigQuery location for the output content.
68message BigQueryDestination {
69  // Required. BigQuery URI to a project or table, up to 2000 characters long.
70  //
71  // When only the project is specified, the Dataset and Table is created.
72  // When the full table reference is specified, the Dataset must exist and
73  // table must not exist.
74  //
75  // Accepted forms:
76  //
77  // *  BigQuery path. For example:
78  // `bq://projectId` or `bq://projectId.bqDatasetId` or
79  // `bq://projectId.bqDatasetId.bqTableId`.
80  string output_uri = 1 [(google.api.field_behavior) = REQUIRED];
81}
82
83// The storage details for CSV output content.
84message CsvDestination {
85  // Required. Google Cloud Storage location.
86  GcsDestination gcs_destination = 1 [(google.api.field_behavior) = REQUIRED];
87}
88
89// The storage details for TFRecord output content.
90message TFRecordDestination {
91  // Required. Google Cloud Storage location.
92  GcsDestination gcs_destination = 1 [(google.api.field_behavior) = REQUIRED];
93}
94
95// The Container Registry location for the container image.
96message ContainerRegistryDestination {
97  // Required. Container Registry URI of a container image.
98  // Only Google Container Registry and Artifact Registry are supported now.
99  // Accepted forms:
100  //
101  // *  Google Container Registry path. For example:
102  //    `gcr.io/projectId/imageName:tag`.
103  //
104  // *  Artifact Registry path. For example:
105  //    `us-central1-docker.pkg.dev/projectId/repoName/imageName:tag`.
106  //
107  // If a tag is not specified, "latest" will be used as the default tag.
108  string output_uri = 1 [(google.api.field_behavior) = REQUIRED];
109}
110