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

package automl // import "google.golang.org/genproto/googleapis/cloud/automl/v1beta1"

import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
import _ "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.ProtoPackageIsVersion2 // please upgrade the proto package

// Input configuration.
type InputConfig struct {
	// Required. The source of the input.
	//
	// Types that are valid to be assigned to Source:
	//	*InputConfig_GcsSource
	Source               isInputConfig_Source `protobuf_oneof:"source"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

func (m *InputConfig) Reset()         { *m = InputConfig{} }
func (m *InputConfig) String() string { return proto.CompactTextString(m) }
func (*InputConfig) ProtoMessage()    {}
func (*InputConfig) Descriptor() ([]byte, []int) {
	return fileDescriptor_io_990f66d98c3c946b, []int{0}
}
func (m *InputConfig) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_InputConfig.Unmarshal(m, b)
}
func (m *InputConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_InputConfig.Marshal(b, m, deterministic)
}
func (dst *InputConfig) XXX_Merge(src proto.Message) {
	xxx_messageInfo_InputConfig.Merge(dst, src)
}
func (m *InputConfig) XXX_Size() int {
	return xxx_messageInfo_InputConfig.Size(m)
}
func (m *InputConfig) XXX_DiscardUnknown() {
	xxx_messageInfo_InputConfig.DiscardUnknown(m)
}

var xxx_messageInfo_InputConfig proto.InternalMessageInfo

type isInputConfig_Source interface {
	isInputConfig_Source()
}

type InputConfig_GcsSource struct {
	GcsSource *GcsSource `protobuf:"bytes,1,opt,name=gcs_source,json=gcsSource,proto3,oneof"`
}

func (*InputConfig_GcsSource) isInputConfig_Source() {}

func (m *InputConfig) GetSource() isInputConfig_Source {
	if m != nil {
		return m.Source
	}
	return nil
}

func (m *InputConfig) GetGcsSource() *GcsSource {
	if x, ok := m.GetSource().(*InputConfig_GcsSource); ok {
		return x.GcsSource
	}
	return nil
}

// XXX_OneofFuncs is for the internal use of the proto package.
func (*InputConfig) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
	return _InputConfig_OneofMarshaler, _InputConfig_OneofUnmarshaler, _InputConfig_OneofSizer, []interface{}{
		(*InputConfig_GcsSource)(nil),
	}
}

func _InputConfig_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
	m := msg.(*InputConfig)
	// source
	switch x := m.Source.(type) {
	case *InputConfig_GcsSource:
		b.EncodeVarint(1<<3 | proto.WireBytes)
		if err := b.EncodeMessage(x.GcsSource); err != nil {
			return err
		}
	case nil:
	default:
		return fmt.Errorf("InputConfig.Source has unexpected type %T", x)
	}
	return nil
}

func _InputConfig_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
	m := msg.(*InputConfig)
	switch tag {
	case 1: // source.gcs_source
		if wire != proto.WireBytes {
			return true, proto.ErrInternalBadWireType
		}
		msg := new(GcsSource)
		err := b.DecodeMessage(msg)
		m.Source = &InputConfig_GcsSource{msg}
		return true, err
	default:
		return false, nil
	}
}

func _InputConfig_OneofSizer(msg proto.Message) (n int) {
	m := msg.(*InputConfig)
	// source
	switch x := m.Source.(type) {
	case *InputConfig_GcsSource:
		s := proto.Size(x.GcsSource)
		n += 1 // tag and wire
		n += proto.SizeVarint(uint64(s))
		n += s
	case nil:
	default:
		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
	}
	return n
}

// Output configuration.
type OutputConfig struct {
	// Required. The destination of the output.
	//
	// Types that are valid to be assigned to Destination:
	//	*OutputConfig_GcsDestination
	Destination          isOutputConfig_Destination `protobuf_oneof:"destination"`
	XXX_NoUnkeyedLiteral struct{}                   `json:"-"`
	XXX_unrecognized     []byte                     `json:"-"`
	XXX_sizecache        int32                      `json:"-"`
}

func (m *OutputConfig) Reset()         { *m = OutputConfig{} }
func (m *OutputConfig) String() string { return proto.CompactTextString(m) }
func (*OutputConfig) ProtoMessage()    {}
func (*OutputConfig) Descriptor() ([]byte, []int) {
	return fileDescriptor_io_990f66d98c3c946b, []int{1}
}
func (m *OutputConfig) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_OutputConfig.Unmarshal(m, b)
}
func (m *OutputConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_OutputConfig.Marshal(b, m, deterministic)
}
func (dst *OutputConfig) XXX_Merge(src proto.Message) {
	xxx_messageInfo_OutputConfig.Merge(dst, src)
}
func (m *OutputConfig) XXX_Size() int {
	return xxx_messageInfo_OutputConfig.Size(m)
}
func (m *OutputConfig) XXX_DiscardUnknown() {
	xxx_messageInfo_OutputConfig.DiscardUnknown(m)
}

var xxx_messageInfo_OutputConfig proto.InternalMessageInfo

type isOutputConfig_Destination interface {
	isOutputConfig_Destination()
}

type OutputConfig_GcsDestination struct {
	GcsDestination *GcsDestination `protobuf:"bytes,1,opt,name=gcs_destination,json=gcsDestination,proto3,oneof"`
}

func (*OutputConfig_GcsDestination) isOutputConfig_Destination() {}

func (m *OutputConfig) GetDestination() isOutputConfig_Destination {
	if m != nil {
		return m.Destination
	}
	return nil
}

func (m *OutputConfig) GetGcsDestination() *GcsDestination {
	if x, ok := m.GetDestination().(*OutputConfig_GcsDestination); ok {
		return x.GcsDestination
	}
	return nil
}

// XXX_OneofFuncs is for the internal use of the proto package.
func (*OutputConfig) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
	return _OutputConfig_OneofMarshaler, _OutputConfig_OneofUnmarshaler, _OutputConfig_OneofSizer, []interface{}{
		(*OutputConfig_GcsDestination)(nil),
	}
}

func _OutputConfig_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
	m := msg.(*OutputConfig)
	// destination
	switch x := m.Destination.(type) {
	case *OutputConfig_GcsDestination:
		b.EncodeVarint(1<<3 | proto.WireBytes)
		if err := b.EncodeMessage(x.GcsDestination); err != nil {
			return err
		}
	case nil:
	default:
		return fmt.Errorf("OutputConfig.Destination has unexpected type %T", x)
	}
	return nil
}

func _OutputConfig_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
	m := msg.(*OutputConfig)
	switch tag {
	case 1: // destination.gcs_destination
		if wire != proto.WireBytes {
			return true, proto.ErrInternalBadWireType
		}
		msg := new(GcsDestination)
		err := b.DecodeMessage(msg)
		m.Destination = &OutputConfig_GcsDestination{msg}
		return true, err
	default:
		return false, nil
	}
}

func _OutputConfig_OneofSizer(msg proto.Message) (n int) {
	m := msg.(*OutputConfig)
	// destination
	switch x := m.Destination.(type) {
	case *OutputConfig_GcsDestination:
		s := proto.Size(x.GcsDestination)
		n += 1 // tag and wire
		n += proto.SizeVarint(uint64(s))
		n += s
	case nil:
	default:
		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
	}
	return n
}

// The GCS location for the input content.
type GcsSource struct {
	// Required. Google Cloud Storage URIs to input files, up to 2000 characters
	// long. Accepted forms:
	// * Full object path: gs://bucket/directory/object.csv
	InputUris            []string `protobuf:"bytes,1,rep,name=input_uris,json=inputUris,proto3" json:"input_uris,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *GcsSource) Reset()         { *m = GcsSource{} }
func (m *GcsSource) String() string { return proto.CompactTextString(m) }
func (*GcsSource) ProtoMessage()    {}
func (*GcsSource) Descriptor() ([]byte, []int) {
	return fileDescriptor_io_990f66d98c3c946b, []int{2}
}
func (m *GcsSource) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GcsSource.Unmarshal(m, b)
}
func (m *GcsSource) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GcsSource.Marshal(b, m, deterministic)
}
func (dst *GcsSource) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GcsSource.Merge(dst, src)
}
func (m *GcsSource) XXX_Size() int {
	return xxx_messageInfo_GcsSource.Size(m)
}
func (m *GcsSource) XXX_DiscardUnknown() {
	xxx_messageInfo_GcsSource.DiscardUnknown(m)
}

var xxx_messageInfo_GcsSource proto.InternalMessageInfo

func (m *GcsSource) GetInputUris() []string {
	if m != nil {
		return m.InputUris
	}
	return nil
}

// The GCS location where the output must be written to
type GcsDestination struct {
	// Required. Google Cloud Storage URI to output directory, up to 2000
	// characters long.
	// Accepted forms:
	// * Prefix path: gs://bucket/directory
	// The requesting user must have write permission to the bucket.
	// The directory is created if it doesn't exist.
	OutputUriPrefix      string   `protobuf:"bytes,1,opt,name=output_uri_prefix,json=outputUriPrefix,proto3" json:"output_uri_prefix,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *GcsDestination) Reset()         { *m = GcsDestination{} }
func (m *GcsDestination) String() string { return proto.CompactTextString(m) }
func (*GcsDestination) ProtoMessage()    {}
func (*GcsDestination) Descriptor() ([]byte, []int) {
	return fileDescriptor_io_990f66d98c3c946b, []int{3}
}
func (m *GcsDestination) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GcsDestination.Unmarshal(m, b)
}
func (m *GcsDestination) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GcsDestination.Marshal(b, m, deterministic)
}
func (dst *GcsDestination) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GcsDestination.Merge(dst, src)
}
func (m *GcsDestination) XXX_Size() int {
	return xxx_messageInfo_GcsDestination.Size(m)
}
func (m *GcsDestination) XXX_DiscardUnknown() {
	xxx_messageInfo_GcsDestination.DiscardUnknown(m)
}

var xxx_messageInfo_GcsDestination proto.InternalMessageInfo

func (m *GcsDestination) GetOutputUriPrefix() string {
	if m != nil {
		return m.OutputUriPrefix
	}
	return ""
}

func init() {
	proto.RegisterType((*InputConfig)(nil), "google.cloud.automl.v1beta1.InputConfig")
	proto.RegisterType((*OutputConfig)(nil), "google.cloud.automl.v1beta1.OutputConfig")
	proto.RegisterType((*GcsSource)(nil), "google.cloud.automl.v1beta1.GcsSource")
	proto.RegisterType((*GcsDestination)(nil), "google.cloud.automl.v1beta1.GcsDestination")
}

func init() {
	proto.RegisterFile("google/cloud/automl/v1beta1/io.proto", fileDescriptor_io_990f66d98c3c946b)
}

var fileDescriptor_io_990f66d98c3c946b = []byte{
	// 326 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x91, 0x5d, 0x4b, 0x32, 0x41,
	0x14, 0xc7, 0xdd, 0xe7, 0x01, 0x79, 0xf6, 0xf8, 0xa4, 0xb4, 0x57, 0x92, 0x45, 0xb2, 0x44, 0x88,
	0xc1, 0x0e, 0xd6, 0x65, 0xdd, 0xa8, 0x81, 0x76, 0x11, 0xc9, 0x86, 0x5e, 0x84, 0x60, 0xe3, 0xba,
	0x0e, 0x03, 0xeb, 0x9c, 0x65, 0x5e, 0xa2, 0x0f, 0xd0, 0xa7, 0xeb, 0x53, 0xc5, 0xce, 0x6c, 0x99,
	0x10, 0x76, 0x39, 0xe7, 0xfc, 0xfe, 0x2f, 0xc3, 0x81, 0x33, 0x86, 0xc8, 0xb2, 0x94, 0x24, 0x19,
	0x9a, 0x15, 0xa1, 0x46, 0xe3, 0x26, 0x23, 0x2f, 0xbd, 0x65, 0xaa, 0x69, 0x8f, 0x70, 0x8c, 0x72,
	0x89, 0x1a, 0x83, 0x96, 0xa3, 0x22, 0x4b, 0x45, 0x8e, 0x8a, 0x4a, 0xea, 0xe8, 0xb8, 0xb4, 0xa0,
	0x39, 0x27, 0x54, 0x08, 0xd4, 0x54, 0x73, 0x14, 0xca, 0x49, 0xc3, 0x67, 0xa8, 0xdd, 0x89, 0xdc,
	0xe8, 0x21, 0x8a, 0x35, 0x67, 0xc1, 0x08, 0x80, 0x25, 0x6a, 0xa1, 0xd0, 0xc8, 0x24, 0x6d, 0x7a,
	0x6d, 0xaf, 0x53, 0xbb, 0x3c, 0x8f, 0xf6, 0xd8, 0x47, 0xa3, 0x44, 0x3d, 0x5a, 0x7a, 0x5c, 0x89,
	0x7d, 0xf6, 0xf9, 0x18, 0xfc, 0x83, 0xaa, 0x33, 0x09, 0x0d, 0xfc, 0x7f, 0x30, 0x7a, 0x1b, 0x31,
	0x83, 0x46, 0x11, 0xb1, 0x4a, 0x95, 0xe6, 0xc2, 0x76, 0x29, 0x73, 0x2e, 0x7e, 0xcb, 0xb9, 0xdd,
	0x4a, 0xc6, 0x95, 0xb8, 0xce, 0x76, 0x26, 0x83, 0x03, 0xa8, 0x7d, 0xf3, 0x0c, 0xbb, 0xe0, 0x7f,
	0x55, 0x0b, 0x4e, 0x00, 0x78, 0xf1, 0xcb, 0x85, 0x91, 0x5c, 0x35, 0xbd, 0xf6, 0xdf, 0x8e, 0x1f,
	0xfb, 0x76, 0x32, 0x95, 0x5c, 0x85, 0x37, 0x50, 0xdf, 0xb5, 0x0f, 0xba, 0x70, 0x88, 0xb6, 0x74,
	0xa1, 0x58, 0xe4, 0x32, 0x5d, 0xf3, 0x57, 0x5b, 0xd3, 0x8f, 0x1b, 0x6e, 0x31, 0x95, 0x7c, 0x62,
	0xc7, 0x83, 0x37, 0x0f, 0x4e, 0x13, 0xdc, 0xec, 0x6b, 0x3f, 0xf1, 0x9e, 0xfa, 0xe5, 0x9a, 0x61,
	0x46, 0x05, 0x8b, 0x50, 0x32, 0xc2, 0x52, 0x61, 0x8f, 0x40, 0xdc, 0x8a, 0xe6, 0x5c, 0xfd, 0x78,
	0xe8, 0x6b, 0xf7, 0x7c, 0xff, 0xd3, 0x1a, 0x59, 0x70, 0x3e, 0x2c, 0xa0, 0x79, 0xdf, 0x68, 0xbc,
	0xcf, 0xe6, 0x33, 0x07, 0x2d, 0xab, 0xd6, 0xeb, 0xea, 0x23, 0x00, 0x00, 0xff, 0xff, 0x56, 0x2c,
	0xc8, 0x9a, 0x33, 0x02, 0x00, 0x00,
}
