// Code generated by protoc-gen-go. DO NOT EDIT.
// source: google/cloud/bigquery/storage/v1alpha2/stream.proto

package storage

import (
	fmt "fmt"
	math "math"

	proto "github.com/golang/protobuf/proto"
	timestamp "github.com/golang/protobuf/ptypes/timestamp"
	_ "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

type WriteStream_Type int32

const (
	// Unknown type.
	WriteStream_TYPE_UNSPECIFIED WriteStream_Type = 0
	// Data will commit automatically and appear as soon as the write is
	// acknowledged.
	WriteStream_COMMITTED WriteStream_Type = 1
	// Data is invisible until the stream is committed.
	WriteStream_PENDING WriteStream_Type = 2
)

var WriteStream_Type_name = map[int32]string{
	0: "TYPE_UNSPECIFIED",
	1: "COMMITTED",
	2: "PENDING",
}

var WriteStream_Type_value = map[string]int32{
	"TYPE_UNSPECIFIED": 0,
	"COMMITTED":        1,
	"PENDING":          2,
}

func (x WriteStream_Type) String() string {
	return proto.EnumName(WriteStream_Type_name, int32(x))
}

func (WriteStream_Type) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_cfe5157f29fe5b3a, []int{0, 0}
}

// Information about a single stream that gets data inside the storage system.
type WriteStream struct {
	// Output only. Name of the stream, in the form
	// `projects/{project_id}/datasets/{dataset_id}/tables/{table_id}/streams/{stream_id}`.
	Name string           `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Type WriteStream_Type `protobuf:"varint,2,opt,name=type,proto3,enum=google.cloud.bigquery.storage.v1alpha2.WriteStream_Type" json:"type,omitempty"`
	// Output only. Create time of the stream.
	CreateTime *timestamp.Timestamp `protobuf:"bytes,3,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
	// Output only. Commit time of the stream.
	// If a stream is of `COMMITTED` type, then it will have a commit_time same as
	// `create_time`. If the stream is of `PENDING` type, commit_time being empty
	// means it is not committed.
	CommitTime *timestamp.Timestamp `protobuf:"bytes,4,opt,name=commit_time,json=commitTime,proto3" json:"commit_time,omitempty"`
	// Output only. The schema of the destination table. It is only returned in
	// `CreateWriteStream` response. Caller should generate data that's
	// compatible with this schema to send in initial `AppendRowsRequest`.
	// The table schema could go out of date during the life time of the stream.
	TableSchema *TableSchema `protobuf:"bytes,5,opt,name=table_schema,json=tableSchema,proto3" json:"table_schema,omitempty"`
	// Id set by client to annotate its identity.
	ExternalId           string   `protobuf:"bytes,6,opt,name=external_id,json=externalId,proto3" json:"external_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_WriteStream proto.InternalMessageInfo

func (m *WriteStream) GetName() string {
	if m != nil {
		return m.Name
	}
	return ""
}

func (m *WriteStream) GetType() WriteStream_Type {
	if m != nil {
		return m.Type
	}
	return WriteStream_TYPE_UNSPECIFIED
}

func (m *WriteStream) GetCreateTime() *timestamp.Timestamp {
	if m != nil {
		return m.CreateTime
	}
	return nil
}

func (m *WriteStream) GetCommitTime() *timestamp.Timestamp {
	if m != nil {
		return m.CommitTime
	}
	return nil
}

func (m *WriteStream) GetTableSchema() *TableSchema {
	if m != nil {
		return m.TableSchema
	}
	return nil
}

func (m *WriteStream) GetExternalId() string {
	if m != nil {
		return m.ExternalId
	}
	return ""
}

func init() {
	proto.RegisterEnum("google.cloud.bigquery.storage.v1alpha2.WriteStream_Type", WriteStream_Type_name, WriteStream_Type_value)
	proto.RegisterType((*WriteStream)(nil), "google.cloud.bigquery.storage.v1alpha2.WriteStream")
}

func init() {
	proto.RegisterFile("google/cloud/bigquery/storage/v1alpha2/stream.proto", fileDescriptor_cfe5157f29fe5b3a)
}

var fileDescriptor_cfe5157f29fe5b3a = []byte{
	// 405 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x92, 0xc1, 0x6e, 0xd3, 0x30,
	0x1c, 0xc6, 0xc9, 0xda, 0x0d, 0xcd, 0x01, 0x54, 0x59, 0x48, 0x44, 0xbd, 0xac, 0xda, 0x01, 0x55,
	0x1c, 0x6c, 0x91, 0x5e, 0x26, 0x71, 0x81, 0xad, 0x01, 0xe5, 0xd0, 0x52, 0xda, 0x20, 0x04, 0x1c,
	0x22, 0x27, 0xf9, 0xcf, 0xb5, 0x14, 0xc7, 0xc1, 0x71, 0x2b, 0x2a, 0x9e, 0x8b, 0xf7, 0xe1, 0x51,
	0x50, 0xec, 0x44, 0x70, 0x5b, 0x8e, 0xf9, 0xe2, 0xdf, 0x2f, 0x9f, 0x3f, 0x05, 0x2d, 0xb8, 0x52,
	0xbc, 0x04, 0x9a, 0x97, 0xea, 0x50, 0xd0, 0x4c, 0xf0, 0x1f, 0x07, 0xd0, 0x27, 0xda, 0x18, 0xa5,
	0x19, 0x07, 0x7a, 0x7c, 0xcd, 0xca, 0x7a, 0xcf, 0x42, 0xda, 0x18, 0x0d, 0x4c, 0x92, 0x5a, 0x2b,
	0xa3, 0xf0, 0x4b, 0x07, 0x11, 0x0b, 0x91, 0x1e, 0x22, 0x1d, 0x44, 0x7a, 0x68, 0x7a, 0xd5, 0xc9,
	0x59, 0x2d, 0xe8, 0xbd, 0x80, 0xb2, 0x48, 0x33, 0xd8, 0xb3, 0xa3, 0x50, 0xda, 0x89, 0xa6, 0xe1,
	0xc0, 0xaf, 0x1b, 0x96, 0x95, 0xd0, 0x31, 0xbd, 0xd4, 0x3e, 0x65, 0x87, 0x7b, 0x6a, 0x84, 0x84,
	0xc6, 0x30, 0x59, 0xbb, 0x03, 0xd7, 0xbf, 0x47, 0xc8, 0xff, 0xa2, 0x85, 0x81, 0x9d, 0xed, 0x8c,
	0x5f, 0xa0, 0x71, 0xc5, 0x24, 0x04, 0xde, 0xcc, 0x9b, 0x5f, 0xde, 0x8e, 0xfe, 0xbc, 0x1b, 0x6d,
	0x6d, 0x80, 0x3f, 0xa1, 0xb1, 0x39, 0xd5, 0x10, 0x9c, 0xcd, 0xbc, 0xf9, 0xb3, 0xf0, 0x86, 0x0c,
	0xbb, 0x15, 0xf9, 0xcf, 0x4d, 0x92, 0x53, 0x0d, 0xad, 0xf2, 0x7c, 0x6b, 0x55, 0xf8, 0x2d, 0xf2,
	0x73, 0x0d, 0xcc, 0x40, 0xda, 0xb6, 0x0a, 0x46, 0x33, 0x6f, 0xee, 0x87, 0xd3, 0xde, 0xdc, 0x57,
	0x26, 0x49, 0x5f, 0xd9, 0xd5, 0x41, 0x8e, 0x69, 0x53, 0x6b, 0x50, 0x52, 0x0a, 0xe3, 0x0c, 0xe3,
	0xa1, 0x06, 0xcb, 0x58, 0xc3, 0x77, 0xf4, 0xc4, 0xee, 0x95, 0x36, 0xf9, 0x1e, 0x24, 0x0b, 0xce,
	0xad, 0x62, 0x31, 0xf4, 0x7a, 0x49, 0xcb, 0xee, 0x2c, 0xea, 0xdc, 0xbe, 0xf9, 0x97, 0xe0, 0x2b,
	0xe4, 0xc3, 0x4f, 0x03, 0xba, 0x62, 0x65, 0x2a, 0x8a, 0xe0, 0xa2, 0xdd, 0x74, 0x8b, 0xfa, 0x28,
	0x2e, 0xae, 0x6f, 0xd0, 0xb8, 0x1d, 0x05, 0x3f, 0x47, 0x93, 0xe4, 0xeb, 0x26, 0x4a, 0x3f, 0xaf,
	0x77, 0x9b, 0xe8, 0x2e, 0x7e, 0x1f, 0x47, 0xcb, 0xc9, 0x23, 0xfc, 0x14, 0x5d, 0xde, 0x7d, 0x5c,
	0xad, 0xe2, 0x24, 0x89, 0x96, 0x13, 0x0f, 0xfb, 0xe8, 0xf1, 0x26, 0x5a, 0x2f, 0xe3, 0xf5, 0x87,
	0xc9, 0xd9, 0xed, 0x2f, 0xf4, 0x2a, 0x57, 0x72, 0x60, 0xcd, 0x6f, 0xab, 0xee, 0x1c, 0x57, 0x25,
	0xab, 0x38, 0x51, 0x9a, 0x53, 0x0e, 0x95, 0xdd, 0x87, 0xba, 0x57, 0xac, 0x16, 0xcd, 0x43, 0x7f,
	0xd6, 0x9b, 0x2e, 0xc8, 0x2e, 0x2c, 0xb9, 0xf8, 0x1b, 0x00, 0x00, 0xff, 0xff, 0x0d, 0xb0, 0xe0,
	0xe9, 0x10, 0x03, 0x00, 0x00,
}
