// Code generated by protoc-gen-go. DO NOT EDIT.
// source: google/cloud/datacatalog/v1beta1/table_spec.proto

package datacatalog

import (
	fmt "fmt"
	math "math"

	proto "github.com/golang/protobuf/proto"
	_ "google.golang.org/genproto/googleapis/api/annotations"
)

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package

// Table source type.
type TableSourceType int32

const (
	// Default unknown type.
	TableSourceType_TABLE_SOURCE_TYPE_UNSPECIFIED TableSourceType = 0
	// Table view.
	TableSourceType_BIGQUERY_VIEW TableSourceType = 2
	// BigQuery native table.
	TableSourceType_BIGQUERY_TABLE TableSourceType = 5
)

var TableSourceType_name = map[int32]string{
	0: "TABLE_SOURCE_TYPE_UNSPECIFIED",
	2: "BIGQUERY_VIEW",
	5: "BIGQUERY_TABLE",
}

var TableSourceType_value = map[string]int32{
	"TABLE_SOURCE_TYPE_UNSPECIFIED": 0,
	"BIGQUERY_VIEW":                 2,
	"BIGQUERY_TABLE":                5,
}

func (x TableSourceType) String() string {
	return proto.EnumName(TableSourceType_name, int32(x))
}

func (TableSourceType) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_2effb41fca72136b, []int{0}
}

// Describes a BigQuery table.
type BigQueryTableSpec struct {
	// Output only. The table source type.
	TableSourceType TableSourceType `protobuf:"varint,1,opt,name=table_source_type,json=tableSourceType,proto3,enum=google.cloud.datacatalog.v1beta1.TableSourceType" json:"table_source_type,omitempty"`
	// Output only.
	//
	// Types that are valid to be assigned to TypeSpec:
	//	*BigQueryTableSpec_ViewSpec
	//	*BigQueryTableSpec_TableSpec
	TypeSpec             isBigQueryTableSpec_TypeSpec `protobuf_oneof:"type_spec"`
	XXX_NoUnkeyedLiteral struct{}                     `json:"-"`
	XXX_unrecognized     []byte                       `json:"-"`
	XXX_sizecache        int32                        `json:"-"`
}

func (m *BigQueryTableSpec) Reset()         { *m = BigQueryTableSpec{} }
func (m *BigQueryTableSpec) String() string { return proto.CompactTextString(m) }
func (*BigQueryTableSpec) ProtoMessage()    {}
func (*BigQueryTableSpec) Descriptor() ([]byte, []int) {
	return fileDescriptor_2effb41fca72136b, []int{0}
}

func (m *BigQueryTableSpec) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_BigQueryTableSpec.Unmarshal(m, b)
}
func (m *BigQueryTableSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_BigQueryTableSpec.Marshal(b, m, deterministic)
}
func (m *BigQueryTableSpec) XXX_Merge(src proto.Message) {
	xxx_messageInfo_BigQueryTableSpec.Merge(m, src)
}
func (m *BigQueryTableSpec) XXX_Size() int {
	return xxx_messageInfo_BigQueryTableSpec.Size(m)
}
func (m *BigQueryTableSpec) XXX_DiscardUnknown() {
	xxx_messageInfo_BigQueryTableSpec.DiscardUnknown(m)
}

var xxx_messageInfo_BigQueryTableSpec proto.InternalMessageInfo

func (m *BigQueryTableSpec) GetTableSourceType() TableSourceType {
	if m != nil {
		return m.TableSourceType
	}
	return TableSourceType_TABLE_SOURCE_TYPE_UNSPECIFIED
}

type isBigQueryTableSpec_TypeSpec interface {
	isBigQueryTableSpec_TypeSpec()
}

type BigQueryTableSpec_ViewSpec struct {
	ViewSpec *ViewSpec `protobuf:"bytes,2,opt,name=view_spec,json=viewSpec,proto3,oneof"`
}

type BigQueryTableSpec_TableSpec struct {
	TableSpec *TableSpec `protobuf:"bytes,3,opt,name=table_spec,json=tableSpec,proto3,oneof"`
}

func (*BigQueryTableSpec_ViewSpec) isBigQueryTableSpec_TypeSpec() {}

func (*BigQueryTableSpec_TableSpec) isBigQueryTableSpec_TypeSpec() {}

func (m *BigQueryTableSpec) GetTypeSpec() isBigQueryTableSpec_TypeSpec {
	if m != nil {
		return m.TypeSpec
	}
	return nil
}

func (m *BigQueryTableSpec) GetViewSpec() *ViewSpec {
	if x, ok := m.GetTypeSpec().(*BigQueryTableSpec_ViewSpec); ok {
		return x.ViewSpec
	}
	return nil
}

func (m *BigQueryTableSpec) GetTableSpec() *TableSpec {
	if x, ok := m.GetTypeSpec().(*BigQueryTableSpec_TableSpec); ok {
		return x.TableSpec
	}
	return nil
}

// XXX_OneofWrappers is for the internal use of the proto package.
func (*BigQueryTableSpec) XXX_OneofWrappers() []interface{} {
	return []interface{}{
		(*BigQueryTableSpec_ViewSpec)(nil),
		(*BigQueryTableSpec_TableSpec)(nil),
	}
}

// Table view specification.
type ViewSpec struct {
	// Output only. The query that defines the table view.
	ViewQuery            string   `protobuf:"bytes,1,opt,name=view_query,json=viewQuery,proto3" json:"view_query,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ViewSpec) Reset()         { *m = ViewSpec{} }
func (m *ViewSpec) String() string { return proto.CompactTextString(m) }
func (*ViewSpec) ProtoMessage()    {}
func (*ViewSpec) Descriptor() ([]byte, []int) {
	return fileDescriptor_2effb41fca72136b, []int{1}
}

func (m *ViewSpec) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ViewSpec.Unmarshal(m, b)
}
func (m *ViewSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ViewSpec.Marshal(b, m, deterministic)
}
func (m *ViewSpec) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ViewSpec.Merge(m, src)
}
func (m *ViewSpec) XXX_Size() int {
	return xxx_messageInfo_ViewSpec.Size(m)
}
func (m *ViewSpec) XXX_DiscardUnknown() {
	xxx_messageInfo_ViewSpec.DiscardUnknown(m)
}

var xxx_messageInfo_ViewSpec proto.InternalMessageInfo

func (m *ViewSpec) GetViewQuery() string {
	if m != nil {
		return m.ViewQuery
	}
	return ""
}

// Normal BigQuery table spec.
type TableSpec struct {
	// Output only. If the table is a dated shard, i.e., with name pattern `[prefix]YYYYMMDD`,
	// `grouped_entry` is the Data Catalog resource name of the date sharded
	// grouped entry, for example,
	// `projects/{project_id}/locations/{location}/entrygroups/{entry_group_id}/entries/{entry_id}`.
	// Otherwise, `grouped_entry` is empty.
	GroupedEntry         string   `protobuf:"bytes,1,opt,name=grouped_entry,json=groupedEntry,proto3" json:"grouped_entry,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *TableSpec) Reset()         { *m = TableSpec{} }
func (m *TableSpec) String() string { return proto.CompactTextString(m) }
func (*TableSpec) ProtoMessage()    {}
func (*TableSpec) Descriptor() ([]byte, []int) {
	return fileDescriptor_2effb41fca72136b, []int{2}
}

func (m *TableSpec) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TableSpec.Unmarshal(m, b)
}
func (m *TableSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TableSpec.Marshal(b, m, deterministic)
}
func (m *TableSpec) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TableSpec.Merge(m, src)
}
func (m *TableSpec) XXX_Size() int {
	return xxx_messageInfo_TableSpec.Size(m)
}
func (m *TableSpec) XXX_DiscardUnknown() {
	xxx_messageInfo_TableSpec.DiscardUnknown(m)
}

var xxx_messageInfo_TableSpec proto.InternalMessageInfo

func (m *TableSpec) GetGroupedEntry() string {
	if m != nil {
		return m.GroupedEntry
	}
	return ""
}

// Spec for a group of BigQuery tables with name pattern `[prefix]YYYYMMDD`.
// Context:
// https://cloud.google.com/bigquery/docs/partitioned-tables#partitioning_versus_sharding
type BigQueryDateShardedSpec struct {
	// Output only. The Data Catalog resource name of the dataset entry the current table
	// belongs to, for example,
	// `projects/{project_id}/locations/{location}/entrygroups/{entry_group_id}/entries/{entry_id}`.
	Dataset string `protobuf:"bytes,1,opt,name=dataset,proto3" json:"dataset,omitempty"`
	// Output only. The table name prefix of the shards. The name of any given shard is
	// `[table_prefix]YYYYMMDD`, for example, for shard `MyTable20180101`, the
	// `table_prefix` is `MyTable`.
	TablePrefix string `protobuf:"bytes,2,opt,name=table_prefix,json=tablePrefix,proto3" json:"table_prefix,omitempty"`
	// Output only. Total number of shards.
	ShardCount           int64    `protobuf:"varint,3,opt,name=shard_count,json=shardCount,proto3" json:"shard_count,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *BigQueryDateShardedSpec) Reset()         { *m = BigQueryDateShardedSpec{} }
func (m *BigQueryDateShardedSpec) String() string { return proto.CompactTextString(m) }
func (*BigQueryDateShardedSpec) ProtoMessage()    {}
func (*BigQueryDateShardedSpec) Descriptor() ([]byte, []int) {
	return fileDescriptor_2effb41fca72136b, []int{3}
}

func (m *BigQueryDateShardedSpec) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_BigQueryDateShardedSpec.Unmarshal(m, b)
}
func (m *BigQueryDateShardedSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_BigQueryDateShardedSpec.Marshal(b, m, deterministic)
}
func (m *BigQueryDateShardedSpec) XXX_Merge(src proto.Message) {
	xxx_messageInfo_BigQueryDateShardedSpec.Merge(m, src)
}
func (m *BigQueryDateShardedSpec) XXX_Size() int {
	return xxx_messageInfo_BigQueryDateShardedSpec.Size(m)
}
func (m *BigQueryDateShardedSpec) XXX_DiscardUnknown() {
	xxx_messageInfo_BigQueryDateShardedSpec.DiscardUnknown(m)
}

var xxx_messageInfo_BigQueryDateShardedSpec proto.InternalMessageInfo

func (m *BigQueryDateShardedSpec) GetDataset() string {
	if m != nil {
		return m.Dataset
	}
	return ""
}

func (m *BigQueryDateShardedSpec) GetTablePrefix() string {
	if m != nil {
		return m.TablePrefix
	}
	return ""
}

func (m *BigQueryDateShardedSpec) GetShardCount() int64 {
	if m != nil {
		return m.ShardCount
	}
	return 0
}

func init() {
	proto.RegisterEnum("google.cloud.datacatalog.v1beta1.TableSourceType", TableSourceType_name, TableSourceType_value)
	proto.RegisterType((*BigQueryTableSpec)(nil), "google.cloud.datacatalog.v1beta1.BigQueryTableSpec")
	proto.RegisterType((*ViewSpec)(nil), "google.cloud.datacatalog.v1beta1.ViewSpec")
	proto.RegisterType((*TableSpec)(nil), "google.cloud.datacatalog.v1beta1.TableSpec")
	proto.RegisterType((*BigQueryDateShardedSpec)(nil), "google.cloud.datacatalog.v1beta1.BigQueryDateShardedSpec")
}

func init() {
	proto.RegisterFile("google/cloud/datacatalog/v1beta1/table_spec.proto", fileDescriptor_2effb41fca72136b)
}

var fileDescriptor_2effb41fca72136b = []byte{
	// 502 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x53, 0x4d, 0x6f, 0xd3, 0x40,
	0x10, 0xad, 0x6b, 0x01, 0xf5, 0xa4, 0x1f, 0xc9, 0x5e, 0x08, 0x95, 0x10, 0xc1, 0xaa, 0x50, 0x54,
	0x24, 0x5b, 0x29, 0x47, 0x4e, 0x71, 0x6a, 0xc0, 0xa2, 0x40, 0xea, 0x24, 0x45, 0x2d, 0x07, 0x6b,
	0x6d, 0x4f, 0x5d, 0x4b, 0x6e, 0xd6, 0xd8, 0xeb, 0xb4, 0xf9, 0x31, 0xfc, 0x02, 0xfe, 0x54, 0x7f,
	0x06, 0xe2, 0x84, 0x3c, 0x76, 0x9a, 0x80, 0x84, 0x02, 0x37, 0xef, 0xdb, 0x79, 0x6f, 0xde, 0xbc,
	0x59, 0x43, 0x2f, 0x12, 0x22, 0x4a, 0xd0, 0x0c, 0x12, 0x51, 0x84, 0x66, 0xc8, 0x25, 0x0f, 0xb8,
	0xe4, 0x89, 0x88, 0xcc, 0x59, 0xcf, 0x47, 0xc9, 0x7b, 0xa6, 0xe4, 0x7e, 0x82, 0x5e, 0x9e, 0x62,
	0x60, 0xa4, 0x99, 0x90, 0x82, 0x75, 0x2a, 0x8a, 0x41, 0x14, 0x63, 0x85, 0x62, 0xd4, 0x94, 0xfd,
	0x67, 0xb5, 0x28, 0x4f, 0x63, 0xf3, 0x32, 0xc6, 0x24, 0xf4, 0x7c, 0xbc, 0xe2, 0xb3, 0x58, 0x64,
	0x95, 0xc4, 0xfe, 0x93, 0x95, 0x82, 0x0c, 0x73, 0x51, 0x64, 0x01, 0x56, 0x57, 0xfa, 0xb7, 0x4d,
	0x68, 0x59, 0x71, 0x74, 0x5a, 0x60, 0x36, 0x1f, 0x97, 0xad, 0x47, 0x29, 0x06, 0xcc, 0x87, 0x56,
	0xed, 0x83, 0x6a, 0x3d, 0x39, 0x4f, 0xb1, 0xad, 0x74, 0x94, 0xee, 0xee, 0x51, 0xcf, 0x58, 0xe7,
	0xc7, 0xa8, 0x74, 0x88, 0x39, 0x9e, 0xa7, 0x68, 0xa9, 0x77, 0x7d, 0xd5, 0xdd, 0x93, 0xbf, 0xa3,
	0xcc, 0x01, 0x6d, 0x16, 0xe3, 0x0d, 0x8d, 0xda, 0xde, 0xec, 0x28, 0xdd, 0xc6, 0xd1, 0xe1, 0x7a,
	0xed, 0xb3, 0x18, 0x6f, 0x4a, 0x8b, 0xef, 0x36, 0xdc, 0xad, 0x59, 0xfd, 0xcd, 0x4e, 0x00, 0x96,
	0xb1, 0xb5, 0x55, 0xd2, 0x7a, 0xf9, 0xaf, 0x3e, 0x2b, 0x31, 0x4d, 0x2e, 0x0e, 0x56, 0x03, 0xb4,
	0x72, 0x5e, 0x12, 0xd3, 0x0d, 0xd8, 0x5a, 0xb4, 0x64, 0x3a, 0x00, 0x39, 0xfe, 0x5a, 0x86, 0x45,
	0x71, 0x68, 0xd5, 0x6c, 0x34, 0x08, 0x45, 0xa8, 0x5f, 0x80, 0xb6, 0x8c, 0xf1, 0x03, 0xec, 0x44,
	0x99, 0x28, 0x52, 0x0c, 0x3d, 0x9c, 0xca, 0x7b, 0x4e, 0xf7, 0xae, 0xaf, 0xfe, 0xec, 0xeb, 0xd0,
	0x59, 0x35, 0x55, 0xb9, 0xe5, 0x69, 0x9c, 0x1b, 0x81, 0xb8, 0x36, 0xed, 0xb2, 0xde, 0xdd, 0xae,
	0xe9, 0x74, 0xd2, 0xbf, 0x2b, 0xf0, 0x78, 0xb1, 0xab, 0x63, 0x2e, 0x71, 0x74, 0xc5, 0xb3, 0x10,
	0x43, 0x6a, 0x65, 0xc1, 0xa3, 0x52, 0x2d, 0x47, 0xf9, 0xdf, 0x4d, 0x16, 0x44, 0xf6, 0x02, 0xb6,
	0xab, 0x18, 0xd3, 0x0c, 0x2f, 0xe3, 0x5b, 0x5a, 0x4a, 0x3d, 0x61, 0x83, 0x2e, 0x86, 0x84, 0xb3,
	0x03, 0x68, 0xe4, 0x65, 0x6b, 0x2f, 0x10, 0xc5, 0x54, 0x52, 0xde, 0x6a, 0x55, 0x06, 0x84, 0x0f,
	0x4a, 0xf8, 0xf0, 0x0b, 0xec, 0xfd, 0xf1, 0x10, 0xd8, 0x73, 0x78, 0x3a, 0xee, 0x5b, 0x27, 0xb6,
	0x37, 0xfa, 0x34, 0x71, 0x07, 0xb6, 0x37, 0x3e, 0x1f, 0xda, 0xde, 0xe4, 0xe3, 0x68, 0x68, 0x0f,
	0x9c, 0x37, 0x8e, 0x7d, 0xdc, 0xdc, 0x60, 0x2d, 0xd8, 0xb1, 0x9c, 0xb7, 0xa7, 0x13, 0xdb, 0x3d,
	0xf7, 0xce, 0x1c, 0xfb, 0x73, 0x73, 0x93, 0x31, 0xd8, 0xbd, 0x87, 0x88, 0xde, 0x7c, 0x60, 0xdd,
	0xc2, 0x41, 0x20, 0xae, 0xd7, 0xae, 0x78, 0xa8, 0x5c, 0xbc, 0xaf, 0x6b, 0x22, 0x91, 0xf0, 0x69,
	0x64, 0x88, 0x2c, 0x32, 0x23, 0x9c, 0xd2, 0xe3, 0x37, 0x97, 0x71, 0xfc, 0xfd, 0x87, 0x7c, 0xbd,
	0x82, 0xfd, 0x50, 0x14, 0xff, 0x21, 0x51, 0x5f, 0xfd, 0x0a, 0x00, 0x00, 0xff, 0xff, 0x62, 0x56,
	0xff, 0xcd, 0xca, 0x03, 0x00, 0x00,
}
