# frozen_string_literal: true

# Copyright 2022 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# Auto-generated by gapic-generator-ruby. DO NOT EDIT!


module Google
  module Cloud
    module AIPlatform
      module V1
        # The storage details for Avro input content.
        # @!attribute [rw] gcs_source
        #   @return [::Google::Cloud::AIPlatform::V1::GcsSource]
        #     Required. Google Cloud Storage location.
        class AvroSource
          include ::Google::Protobuf::MessageExts
          extend ::Google::Protobuf::MessageExts::ClassMethods
        end

        # The storage details for CSV input content.
        # @!attribute [rw] gcs_source
        #   @return [::Google::Cloud::AIPlatform::V1::GcsSource]
        #     Required. Google Cloud Storage location.
        class CsvSource
          include ::Google::Protobuf::MessageExts
          extend ::Google::Protobuf::MessageExts::ClassMethods
        end

        # The Google Cloud Storage location for the input content.
        # @!attribute [rw] uris
        #   @return [::Array<::String>]
        #     Required. Google Cloud Storage URI(-s) to the input file(s). May contain
        #     wildcards. For more information on wildcards, see
        #     https://cloud.google.com/storage/docs/gsutil/addlhelp/WildcardNames.
        class GcsSource
          include ::Google::Protobuf::MessageExts
          extend ::Google::Protobuf::MessageExts::ClassMethods
        end

        # The Google Cloud Storage location where the output is to be written to.
        # @!attribute [rw] output_uri_prefix
        #   @return [::String]
        #     Required. Google Cloud Storage URI to output directory. If the uri doesn't
        #     end with
        #     '/', a '/' will be automatically appended. The directory is created if it
        #     doesn't exist.
        class GcsDestination
          include ::Google::Protobuf::MessageExts
          extend ::Google::Protobuf::MessageExts::ClassMethods
        end

        # The BigQuery location for the input content.
        # @!attribute [rw] input_uri
        #   @return [::String]
        #     Required. BigQuery URI to a table, up to 2000 characters long.
        #     Accepted forms:
        #
        #     *  BigQuery path. For example: `bq://projectId.bqDatasetId.bqTableId`.
        class BigQuerySource
          include ::Google::Protobuf::MessageExts
          extend ::Google::Protobuf::MessageExts::ClassMethods
        end

        # The BigQuery location for the output content.
        # @!attribute [rw] output_uri
        #   @return [::String]
        #     Required. BigQuery URI to a project or table, up to 2000 characters long.
        #
        #     When only the project is specified, the Dataset and Table is created.
        #     When the full table reference is specified, the Dataset must exist and
        #     table must not exist.
        #
        #     Accepted forms:
        #
        #     *  BigQuery path. For example:
        #     `bq://projectId` or `bq://projectId.bqDatasetId` or
        #     `bq://projectId.bqDatasetId.bqTableId`.
        class BigQueryDestination
          include ::Google::Protobuf::MessageExts
          extend ::Google::Protobuf::MessageExts::ClassMethods
        end

        # The storage details for CSV output content.
        # @!attribute [rw] gcs_destination
        #   @return [::Google::Cloud::AIPlatform::V1::GcsDestination]
        #     Required. Google Cloud Storage location.
        class CsvDestination
          include ::Google::Protobuf::MessageExts
          extend ::Google::Protobuf::MessageExts::ClassMethods
        end

        # The storage details for TFRecord output content.
        # @!attribute [rw] gcs_destination
        #   @return [::Google::Cloud::AIPlatform::V1::GcsDestination]
        #     Required. Google Cloud Storage location.
        class TFRecordDestination
          include ::Google::Protobuf::MessageExts
          extend ::Google::Protobuf::MessageExts::ClassMethods
        end

        # The Container Registry location for the container image.
        # @!attribute [rw] output_uri
        #   @return [::String]
        #     Required. Container Registry URI of a container image.
        #     Only Google Container Registry and Artifact Registry are supported now.
        #     Accepted forms:
        #
        #     *  Google Container Registry path. For example:
        #        `gcr.io/projectId/imageName:tag`.
        #
        #     *  Artifact Registry path. For example:
        #        `us-central1-docker.pkg.dev/projectId/repoName/imageName:tag`.
        #
        #     If a tag is not specified, "latest" will be used as the default tag.
        class ContainerRegistryDestination
          include ::Google::Protobuf::MessageExts
          extend ::Google::Protobuf::MessageExts::ClassMethods
        end
      end
    end
  end
end