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

require 'google/protobuf'

require 'google/api/field_behavior_pb'
require 'google/api/resource_pb'
require 'google/protobuf/timestamp_pb'
Google::Protobuf::DescriptorPool.generated_pool.build do
  add_file("google/cloud/datacatalog/v1/tags.proto", :syntax => :proto3) do
    add_message "google.cloud.datacatalog.v1.Tag" do
      optional :name, :string, 1
      optional :template, :string, 2
      optional :template_display_name, :string, 5
      map :fields, :string, :message, 3, "google.cloud.datacatalog.v1.TagField"
      oneof :scope do
        optional :column, :string, 4
      end
    end
    add_message "google.cloud.datacatalog.v1.TagField" do
      optional :display_name, :string, 1
      optional :order, :int32, 7
      oneof :kind do
        optional :double_value, :double, 2
        optional :string_value, :string, 3
        optional :bool_value, :bool, 4
        optional :timestamp_value, :message, 5, "google.protobuf.Timestamp"
        optional :enum_value, :message, 6, "google.cloud.datacatalog.v1.TagField.EnumValue"
      end
    end
    add_message "google.cloud.datacatalog.v1.TagField.EnumValue" do
      optional :display_name, :string, 1
    end
    add_message "google.cloud.datacatalog.v1.TagTemplate" do
      optional :name, :string, 1
      optional :display_name, :string, 2
      map :fields, :string, :message, 3, "google.cloud.datacatalog.v1.TagTemplateField"
    end
    add_message "google.cloud.datacatalog.v1.TagTemplateField" do
      optional :name, :string, 6
      optional :display_name, :string, 1
      optional :type, :message, 2, "google.cloud.datacatalog.v1.FieldType"
      optional :is_required, :bool, 3
      optional :order, :int32, 5
    end
    add_message "google.cloud.datacatalog.v1.FieldType" do
      oneof :type_decl do
        optional :primitive_type, :enum, 1, "google.cloud.datacatalog.v1.FieldType.PrimitiveType"
        optional :enum_type, :message, 2, "google.cloud.datacatalog.v1.FieldType.EnumType"
      end
    end
    add_message "google.cloud.datacatalog.v1.FieldType.EnumType" do
      repeated :allowed_values, :message, 1, "google.cloud.datacatalog.v1.FieldType.EnumType.EnumValue"
    end
    add_message "google.cloud.datacatalog.v1.FieldType.EnumType.EnumValue" do
      optional :display_name, :string, 1
    end
    add_enum "google.cloud.datacatalog.v1.FieldType.PrimitiveType" do
      value :PRIMITIVE_TYPE_UNSPECIFIED, 0
      value :DOUBLE, 1
      value :STRING, 2
      value :BOOL, 3
      value :TIMESTAMP, 4
    end
  end
end

module Google
  module Cloud
    module DataCatalog
      module V1
        Tag = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datacatalog.v1.Tag").msgclass
        TagField = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datacatalog.v1.TagField").msgclass
        TagField::EnumValue = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datacatalog.v1.TagField.EnumValue").msgclass
        TagTemplate = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datacatalog.v1.TagTemplate").msgclass
        TagTemplateField = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datacatalog.v1.TagTemplateField").msgclass
        FieldType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datacatalog.v1.FieldType").msgclass
        FieldType::EnumType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datacatalog.v1.FieldType.EnumType").msgclass
        FieldType::EnumType::EnumValue = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datacatalog.v1.FieldType.EnumType.EnumValue").msgclass
        FieldType::PrimitiveType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datacatalog.v1.FieldType.PrimitiveType").enummodule
      end
    end
  end
end