# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: google/cloud/dataplex/v1/metadata.proto

require 'google/api/annotations_pb'
require 'google/api/client_pb'
require 'google/api/field_behavior_pb'
require 'google/api/resource_pb'
require 'google/protobuf/empty_pb'
require 'google/protobuf/timestamp_pb'
require 'google/protobuf'

Google::Protobuf::DescriptorPool.generated_pool.build do
  add_file("google/cloud/dataplex/v1/metadata.proto", :syntax => :proto3) do
    add_message "google.cloud.dataplex.v1.CreateEntityRequest" do
      optional :parent, :string, 1
      optional :entity, :message, 3, "google.cloud.dataplex.v1.Entity"
      optional :validate_only, :bool, 4
    end
    add_message "google.cloud.dataplex.v1.UpdateEntityRequest" do
      optional :entity, :message, 2, "google.cloud.dataplex.v1.Entity"
      optional :validate_only, :bool, 3
    end
    add_message "google.cloud.dataplex.v1.DeleteEntityRequest" do
      optional :name, :string, 1
      optional :etag, :string, 2
    end
    add_message "google.cloud.dataplex.v1.ListEntitiesRequest" do
      optional :parent, :string, 1
      optional :view, :enum, 2, "google.cloud.dataplex.v1.ListEntitiesRequest.EntityView"
      optional :page_size, :int32, 3
      optional :page_token, :string, 4
      optional :filter, :string, 5
    end
    add_enum "google.cloud.dataplex.v1.ListEntitiesRequest.EntityView" do
      value :ENTITY_VIEW_UNSPECIFIED, 0
      value :TABLES, 1
      value :FILESETS, 2
    end
    add_message "google.cloud.dataplex.v1.ListEntitiesResponse" do
      repeated :entities, :message, 1, "google.cloud.dataplex.v1.Entity"
      optional :next_page_token, :string, 2
    end
    add_message "google.cloud.dataplex.v1.GetEntityRequest" do
      optional :name, :string, 1
      optional :view, :enum, 2, "google.cloud.dataplex.v1.GetEntityRequest.EntityView"
    end
    add_enum "google.cloud.dataplex.v1.GetEntityRequest.EntityView" do
      value :ENTITY_VIEW_UNSPECIFIED, 0
      value :BASIC, 1
      value :SCHEMA, 2
      value :FULL, 4
    end
    add_message "google.cloud.dataplex.v1.ListPartitionsRequest" do
      optional :parent, :string, 1
      optional :page_size, :int32, 2
      optional :page_token, :string, 3
      optional :filter, :string, 4
    end
    add_message "google.cloud.dataplex.v1.CreatePartitionRequest" do
      optional :parent, :string, 1
      optional :partition, :message, 3, "google.cloud.dataplex.v1.Partition"
      optional :validate_only, :bool, 4
    end
    add_message "google.cloud.dataplex.v1.DeletePartitionRequest" do
      optional :name, :string, 1
      optional :etag, :string, 2
    end
    add_message "google.cloud.dataplex.v1.ListPartitionsResponse" do
      repeated :partitions, :message, 1, "google.cloud.dataplex.v1.Partition"
      optional :next_page_token, :string, 2
    end
    add_message "google.cloud.dataplex.v1.GetPartitionRequest" do
      optional :name, :string, 1
    end
    add_message "google.cloud.dataplex.v1.Entity" do
      optional :name, :string, 1
      optional :display_name, :string, 2
      optional :description, :string, 3
      optional :create_time, :message, 5, "google.protobuf.Timestamp"
      optional :update_time, :message, 6, "google.protobuf.Timestamp"
      optional :id, :string, 7
      optional :etag, :string, 8
      optional :type, :enum, 10, "google.cloud.dataplex.v1.Entity.Type"
      optional :asset, :string, 11
      optional :data_path, :string, 12
      optional :data_path_pattern, :string, 13
      optional :catalog_entry, :string, 14
      optional :system, :enum, 15, "google.cloud.dataplex.v1.StorageSystem"
      optional :format, :message, 16, "google.cloud.dataplex.v1.StorageFormat"
      optional :compatibility, :message, 19, "google.cloud.dataplex.v1.Entity.CompatibilityStatus"
      optional :schema, :message, 50, "google.cloud.dataplex.v1.Schema"
    end
    add_message "google.cloud.dataplex.v1.Entity.CompatibilityStatus" do
      optional :hive_metastore, :message, 1, "google.cloud.dataplex.v1.Entity.CompatibilityStatus.Compatibility"
      optional :bigquery, :message, 2, "google.cloud.dataplex.v1.Entity.CompatibilityStatus.Compatibility"
    end
    add_message "google.cloud.dataplex.v1.Entity.CompatibilityStatus.Compatibility" do
      optional :compatible, :bool, 1
      optional :reason, :string, 2
    end
    add_enum "google.cloud.dataplex.v1.Entity.Type" do
      value :TYPE_UNSPECIFIED, 0
      value :TABLE, 1
      value :FILESET, 2
    end
    add_message "google.cloud.dataplex.v1.Partition" do
      optional :name, :string, 1
      repeated :values, :string, 2
      optional :location, :string, 3
      optional :etag, :string, 4
    end
    add_message "google.cloud.dataplex.v1.Schema" do
      optional :user_managed, :bool, 1
      repeated :fields, :message, 2, "google.cloud.dataplex.v1.Schema.SchemaField"
      repeated :partition_fields, :message, 3, "google.cloud.dataplex.v1.Schema.PartitionField"
      optional :partition_style, :enum, 4, "google.cloud.dataplex.v1.Schema.PartitionStyle"
    end
    add_message "google.cloud.dataplex.v1.Schema.SchemaField" do
      optional :name, :string, 1
      optional :description, :string, 2
      optional :type, :enum, 3, "google.cloud.dataplex.v1.Schema.Type"
      optional :mode, :enum, 4, "google.cloud.dataplex.v1.Schema.Mode"
      repeated :fields, :message, 10, "google.cloud.dataplex.v1.Schema.SchemaField"
    end
    add_message "google.cloud.dataplex.v1.Schema.PartitionField" do
      optional :name, :string, 1
      optional :type, :enum, 2, "google.cloud.dataplex.v1.Schema.Type"
    end
    add_enum "google.cloud.dataplex.v1.Schema.Type" do
      value :TYPE_UNSPECIFIED, 0
      value :BOOLEAN, 1
      value :BYTE, 2
      value :INT16, 3
      value :INT32, 4
      value :INT64, 5
      value :FLOAT, 6
      value :DOUBLE, 7
      value :DECIMAL, 8
      value :STRING, 9
      value :BINARY, 10
      value :TIMESTAMP, 11
      value :DATE, 12
      value :TIME, 13
      value :RECORD, 14
      value :NULL, 100
    end
    add_enum "google.cloud.dataplex.v1.Schema.Mode" do
      value :MODE_UNSPECIFIED, 0
      value :REQUIRED, 1
      value :NULLABLE, 2
      value :REPEATED, 3
    end
    add_enum "google.cloud.dataplex.v1.Schema.PartitionStyle" do
      value :PARTITION_STYLE_UNSPECIFIED, 0
      value :HIVE_COMPATIBLE, 1
    end
    add_message "google.cloud.dataplex.v1.StorageFormat" do
      optional :format, :enum, 1, "google.cloud.dataplex.v1.StorageFormat.Format"
      optional :compression_format, :enum, 2, "google.cloud.dataplex.v1.StorageFormat.CompressionFormat"
      optional :mime_type, :string, 3
      oneof :options do
        optional :csv, :message, 10, "google.cloud.dataplex.v1.StorageFormat.CsvOptions"
        optional :json, :message, 11, "google.cloud.dataplex.v1.StorageFormat.JsonOptions"
      end
    end
    add_message "google.cloud.dataplex.v1.StorageFormat.CsvOptions" do
      optional :encoding, :string, 1
      optional :header_rows, :int32, 2
      optional :delimiter, :string, 3
      optional :quote, :string, 4
    end
    add_message "google.cloud.dataplex.v1.StorageFormat.JsonOptions" do
      optional :encoding, :string, 1
    end
    add_enum "google.cloud.dataplex.v1.StorageFormat.Format" do
      value :FORMAT_UNSPECIFIED, 0
      value :PARQUET, 1
      value :AVRO, 2
      value :ORC, 3
      value :CSV, 100
      value :JSON, 101
      value :IMAGE, 200
      value :AUDIO, 201
      value :VIDEO, 202
      value :TEXT, 203
      value :TFRECORD, 204
      value :OTHER, 1000
      value :UNKNOWN, 1001
    end
    add_enum "google.cloud.dataplex.v1.StorageFormat.CompressionFormat" do
      value :COMPRESSION_FORMAT_UNSPECIFIED, 0
      value :GZIP, 2
      value :BZIP2, 3
    end
    add_enum "google.cloud.dataplex.v1.StorageSystem" do
      value :STORAGE_SYSTEM_UNSPECIFIED, 0
      value :CLOUD_STORAGE, 1
      value :BIGQUERY, 2
    end
  end
end

module Google
  module Cloud
    module Dataplex
      module V1
        CreateEntityRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataplex.v1.CreateEntityRequest").msgclass
        UpdateEntityRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataplex.v1.UpdateEntityRequest").msgclass
        DeleteEntityRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataplex.v1.DeleteEntityRequest").msgclass
        ListEntitiesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataplex.v1.ListEntitiesRequest").msgclass
        ListEntitiesRequest::EntityView = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataplex.v1.ListEntitiesRequest.EntityView").enummodule
        ListEntitiesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataplex.v1.ListEntitiesResponse").msgclass
        GetEntityRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataplex.v1.GetEntityRequest").msgclass
        GetEntityRequest::EntityView = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataplex.v1.GetEntityRequest.EntityView").enummodule
        ListPartitionsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataplex.v1.ListPartitionsRequest").msgclass
        CreatePartitionRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataplex.v1.CreatePartitionRequest").msgclass
        DeletePartitionRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataplex.v1.DeletePartitionRequest").msgclass
        ListPartitionsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataplex.v1.ListPartitionsResponse").msgclass
        GetPartitionRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataplex.v1.GetPartitionRequest").msgclass
        Entity = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataplex.v1.Entity").msgclass
        Entity::CompatibilityStatus = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataplex.v1.Entity.CompatibilityStatus").msgclass
        Entity::CompatibilityStatus::Compatibility = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataplex.v1.Entity.CompatibilityStatus.Compatibility").msgclass
        Entity::Type = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataplex.v1.Entity.Type").enummodule
        Partition = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataplex.v1.Partition").msgclass
        Schema = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataplex.v1.Schema").msgclass
        Schema::SchemaField = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataplex.v1.Schema.SchemaField").msgclass
        Schema::PartitionField = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataplex.v1.Schema.PartitionField").msgclass
        Schema::Type = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataplex.v1.Schema.Type").enummodule
        Schema::Mode = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataplex.v1.Schema.Mode").enummodule
        Schema::PartitionStyle = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataplex.v1.Schema.PartitionStyle").enummodule
        StorageFormat = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataplex.v1.StorageFormat").msgclass
        StorageFormat::CsvOptions = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataplex.v1.StorageFormat.CsvOptions").msgclass
        StorageFormat::JsonOptions = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataplex.v1.StorageFormat.JsonOptions").msgclass
        StorageFormat::Format = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataplex.v1.StorageFormat.Format").enummodule
        StorageFormat::CompressionFormat = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataplex.v1.StorageFormat.CompressionFormat").enummodule
        StorageSystem = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataplex.v1.StorageSystem").enummodule
      end
    end
  end
end