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

package automl

import (
	fmt "fmt"
	math "math"

	proto "github.com/golang/protobuf/proto"
	_ "github.com/golang/protobuf/ptypes/empty"
	timestamp "github.com/golang/protobuf/ptypes/timestamp"
	_ "google.golang.org/genproto/googleapis/api/annotations"
	status "google.golang.org/genproto/googleapis/rpc/status"
)

// 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

// Metadata used across all long running operations returned by AutoML API.
type OperationMetadata struct {
	// Ouptut only. Details of specific operation. Even if this field is empty,
	// the presence allows to distinguish different types of operations.
	//
	// Types that are valid to be assigned to Details:
	//	*OperationMetadata_DeleteDetails
	//	*OperationMetadata_CreateModelDetails
	Details isOperationMetadata_Details `protobuf_oneof:"details"`
	// Output only. Progress of operation. Range: [0, 100].
	// Not used currently.
	ProgressPercent int32 `protobuf:"varint,13,opt,name=progress_percent,json=progressPercent,proto3" json:"progress_percent,omitempty"`
	// Output only. Partial failures encountered.
	// E.g. single files that couldn't be read.
	// This field should never exceed 20 entries.
	// Status details field will contain standard GCP error details.
	PartialFailures []*status.Status `protobuf:"bytes,2,rep,name=partial_failures,json=partialFailures,proto3" json:"partial_failures,omitempty"`
	// Output only. Time when the operation was created.
	CreateTime *timestamp.Timestamp `protobuf:"bytes,3,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
	// Output only. Time when the operation was updated for the last time.
	UpdateTime           *timestamp.Timestamp `protobuf:"bytes,4,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

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

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

var xxx_messageInfo_OperationMetadata proto.InternalMessageInfo

type isOperationMetadata_Details interface {
	isOperationMetadata_Details()
}

type OperationMetadata_DeleteDetails struct {
	DeleteDetails *DeleteOperationMetadata `protobuf:"bytes,8,opt,name=delete_details,json=deleteDetails,proto3,oneof"`
}

type OperationMetadata_CreateModelDetails struct {
	CreateModelDetails *CreateModelOperationMetadata `protobuf:"bytes,10,opt,name=create_model_details,json=createModelDetails,proto3,oneof"`
}

func (*OperationMetadata_DeleteDetails) isOperationMetadata_Details() {}

func (*OperationMetadata_CreateModelDetails) isOperationMetadata_Details() {}

func (m *OperationMetadata) GetDetails() isOperationMetadata_Details {
	if m != nil {
		return m.Details
	}
	return nil
}

func (m *OperationMetadata) GetDeleteDetails() *DeleteOperationMetadata {
	if x, ok := m.GetDetails().(*OperationMetadata_DeleteDetails); ok {
		return x.DeleteDetails
	}
	return nil
}

func (m *OperationMetadata) GetCreateModelDetails() *CreateModelOperationMetadata {
	if x, ok := m.GetDetails().(*OperationMetadata_CreateModelDetails); ok {
		return x.CreateModelDetails
	}
	return nil
}

func (m *OperationMetadata) GetProgressPercent() int32 {
	if m != nil {
		return m.ProgressPercent
	}
	return 0
}

func (m *OperationMetadata) GetPartialFailures() []*status.Status {
	if m != nil {
		return m.PartialFailures
	}
	return nil
}

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

func (m *OperationMetadata) GetUpdateTime() *timestamp.Timestamp {
	if m != nil {
		return m.UpdateTime
	}
	return nil
}

// XXX_OneofWrappers is for the internal use of the proto package.
func (*OperationMetadata) XXX_OneofWrappers() []interface{} {
	return []interface{}{
		(*OperationMetadata_DeleteDetails)(nil),
		(*OperationMetadata_CreateModelDetails)(nil),
	}
}

// Details of operations that perform deletes of any entities.
type DeleteOperationMetadata struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_DeleteOperationMetadata proto.InternalMessageInfo

// Details of CreateModel operation.
type CreateModelOperationMetadata struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_CreateModelOperationMetadata proto.InternalMessageInfo

func init() {
	proto.RegisterType((*OperationMetadata)(nil), "google.cloud.automl.v1.OperationMetadata")
	proto.RegisterType((*DeleteOperationMetadata)(nil), "google.cloud.automl.v1.DeleteOperationMetadata")
	proto.RegisterType((*CreateModelOperationMetadata)(nil), "google.cloud.automl.v1.CreateModelOperationMetadata")
}

func init() {
	proto.RegisterFile("google/cloud/automl/v1/operations.proto", fileDescriptor_f887f15250a8bfee)
}

var fileDescriptor_f887f15250a8bfee = []byte{
	// 484 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x93, 0xdf, 0x6e, 0xd3, 0x30,
	0x14, 0xc6, 0x69, 0xcb, 0x5f, 0x57, 0x63, 0x23, 0x42, 0x5b, 0x17, 0x26, 0x56, 0x55, 0x48, 0x94,
	0x0b, 0x62, 0x75, 0x70, 0x95, 0xc1, 0x05, 0xdb, 0x04, 0x5c, 0x50, 0x31, 0x15, 0x34, 0x21, 0x54,
	0x29, 0xf2, 0x9c, 0xb3, 0x60, 0xc9, 0x89, 0x2d, 0xfb, 0xa4, 0x12, 0x8f, 0xc1, 0x4b, 0x71, 0xc1,
	0xa3, 0xf0, 0x14, 0x28, 0xb6, 0xc3, 0x9f, 0xb1, 0x6c, 0x77, 0xed, 0xf9, 0x7e, 0xdf, 0x67, 0xfb,
	0x3b, 0x2d, 0x79, 0x5c, 0x28, 0x55, 0x48, 0xa0, 0x5c, 0xaa, 0x3a, 0xa7, 0xac, 0x46, 0x55, 0x4a,
	0xba, 0x9a, 0x51, 0xa5, 0xc1, 0x30, 0x14, 0xaa, 0xb2, 0x89, 0x36, 0x0a, 0x55, 0xb4, 0xe9, 0xc1,
	0xc4, 0x81, 0x89, 0x07, 0x93, 0xd5, 0x2c, 0xde, 0xed, 0x08, 0x10, 0xca, 0x1b, 0xe3, 0x49, 0x07,
	0x50, 0xaa, 0x1c, 0x64, 0x60, 0x9e, 0x5e, 0xc6, 0x64, 0xb0, 0x62, 0xb2, 0x76, 0x97, 0x09, 0x38,
	0xed, 0xc0, 0xb5, 0x81, 0x5c, 0xf0, 0x06, 0xcc, 0x2c, 0x98, 0x95, 0xe0, 0x10, 0x0c, 0x8f, 0x3a,
	0x0c, 0xff, 0x52, 0x0f, 0x02, 0xe5, 0xbe, 0x9d, 0xd6, 0x67, 0x14, 0x4a, 0x8d, 0x5f, 0x83, 0xb8,
	0x7b, 0x5e, 0x44, 0x51, 0x82, 0x45, 0x56, 0xea, 0x00, 0x6c, 0x05, 0xc0, 0x68, 0x4e, 0x2d, 0x32,
	0xac, 0x43, 0x73, 0xf1, 0x4e, 0x10, 0x98, 0x16, 0x94, 0x55, 0x95, 0xc2, 0xbf, 0x7b, 0x9d, 0x7c,
	0x1f, 0x90, 0x7b, 0xef, 0xdb, 0xb2, 0xe7, 0x80, 0x2c, 0x67, 0xc8, 0xa2, 0x4f, 0xe4, 0x6e, 0x0e,
	0x12, 0x10, 0xb2, 0x1c, 0x90, 0x09, 0x69, 0x47, 0xb7, 0xc7, 0xbd, 0xe9, 0x70, 0x8f, 0x26, 0x17,
	0xaf, 0x21, 0x39, 0x72, 0xf4, 0x7f, 0x41, 0x6f, 0xaf, 0x2d, 0xd6, 0x7c, 0xd0, 0x91, 0xcf, 0x89,
	0xbe, 0x90, 0xfb, 0xdc, 0x00, 0x43, 0xc8, 0x7c, 0xb9, 0x6d, 0x3e, 0x71, 0xf9, 0xcf, 0xbb, 0xf2,
	0x0f, 0x9d, 0x67, 0xde, 0x58, 0x2e, 0x3a, 0x24, 0xe2, 0x7f, 0xf4, 0xf6, 0xa4, 0x27, 0x64, 0x43,
	0x1b, 0x55, 0x18, 0xb0, 0x36, 0xd3, 0x60, 0x38, 0x54, 0x38, 0x5a, 0x1b, 0xf7, 0xa6, 0x37, 0x16,
	0xeb, 0xed, 0xfc, 0xd8, 0x8f, 0xa3, 0x97, 0x64, 0x43, 0x33, 0x83, 0x82, 0xc9, 0xec, 0x8c, 0x09,
	0x59, 0x1b, 0xb0, 0xa3, 0xfe, 0x78, 0x30, 0x1d, 0xee, 0x45, 0xed, 0x85, 0x8c, 0xe6, 0xc9, 0x07,
	0x57, 0xeb, 0x62, 0x3d, 0xb0, 0xaf, 0x03, 0x1a, 0xed, 0x93, 0x61, 0x78, 0x53, 0xb3, 0x94, 0xd1,
	0xc0, 0x3d, 0x25, 0x6e, 0x9d, 0xed, 0xc6, 0x92, 0x8f, 0xed, 0xc6, 0x16, 0xc4, 0xe3, 0xcd, 0xa0,
	0x31, 0xd7, 0x3a, 0xff, 0x6d, 0xbe, 0x7e, 0xb5, 0xd9, 0xe3, 0xcd, 0xe0, 0xe0, 0x0e, 0xb9, 0x15,
	0x0a, 0x9c, 0x6c, 0x93, 0xad, 0x8e, 0x25, 0x4c, 0x1e, 0x92, 0x9d, 0xcb, 0xfa, 0x3b, 0xf8, 0xd6,
	0x23, 0x31, 0x57, 0x65, 0x47, 0xf7, 0xc7, 0xbd, 0xcf, 0x2f, 0x82, 0x52, 0x28, 0xc9, 0xaa, 0x22,
	0x51, 0xa6, 0xa0, 0x05, 0x54, 0xee, 0x6e, 0xe1, 0xbf, 0xc0, 0xb4, 0xb0, 0xe7, 0x7f, 0xde, 0xfb,
	0xfe, 0xd3, 0x8f, 0xfe, 0xe6, 0x1b, 0xc7, 0x2c, 0x0f, 0x1b, 0x7d, 0xf9, 0xaa, 0x46, 0x35, 0x97,
	0xcb, 0x93, 0xd9, 0xcf, 0xfe, 0xb6, 0x17, 0xd2, 0xd4, 0x29, 0x69, 0xea, 0xa4, 0x77, 0x69, 0x7a,
	0x32, 0x3b, 0xbd, 0xe9, 0xd2, 0x9f, 0xfd, 0x0a, 0x00, 0x00, 0xff, 0xff, 0x0d, 0x13, 0xe0, 0xac,
	0x21, 0x04, 0x00, 0x00,
}
