// Code generated by protoc-gen-go. DO NOT EDIT.
// source: google/cloud/datacatalog/v1beta1/gcs_fileset_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

// Describes a Cloud Storage fileset entry.
type GcsFilesetSpec struct {
	// Required. Patterns to identify a set of files in Google Cloud Storage. See [Cloud
	// Storage documentation](/storage/docs/gsutil/addlhelp/WildcardNames) for
	// more information. Note that bucket wildcards are currently not supported.
	//
	// Examples of valid file_patterns:
	//
	//  * `gs://bucket_name/dir/*`: matches all files within `bucket_name/dir`
	//                              directory.
	//  * `gs://bucket_name/dir/**`: matches all files in `bucket_name/dir`
	//                               spanning all subdirectories.
	//  * `gs://bucket_name/file*`: matches files prefixed by `file` in
	//                              `bucket_name`
	//  * `gs://bucket_name/??.txt`: matches files with two characters followed by
	//                               `.txt` in `bucket_name`
	//  * `gs://bucket_name/[aeiou].txt`: matches files that contain a single
	//                                    vowel character followed by `.txt` in
	//                                    `bucket_name`
	//  * `gs://bucket_name/[a-m].txt`: matches files that contain `a`, `b`, ...
	//                                  or `m` followed by `.txt` in `bucket_name`
	//  * `gs://bucket_name/a/*/b`: matches all files in `bucket_name` that match
	//                              `a/*/b` pattern, such as `a/c/b`, `a/d/b`
	//  * `gs://another_bucket/a.txt`: matches `gs://another_bucket/a.txt`
	//
	// You can combine wildcards to provide more powerful matches, for example:
	//
	//  * `gs://bucket_name/[a-m]??.j*g`
	FilePatterns []string `protobuf:"bytes,1,rep,name=file_patterns,json=filePatterns,proto3" json:"file_patterns,omitempty"`
	// Output only. Sample files contained in this fileset, not all files contained in this
	// fileset are represented here.
	SampleGcsFileSpecs   []*GcsFileSpec `protobuf:"bytes,2,rep,name=sample_gcs_file_specs,json=sampleGcsFileSpecs,proto3" json:"sample_gcs_file_specs,omitempty"`
	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
	XXX_unrecognized     []byte         `json:"-"`
	XXX_sizecache        int32          `json:"-"`
}

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

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

var xxx_messageInfo_GcsFilesetSpec proto.InternalMessageInfo

func (m *GcsFilesetSpec) GetFilePatterns() []string {
	if m != nil {
		return m.FilePatterns
	}
	return nil
}

func (m *GcsFilesetSpec) GetSampleGcsFileSpecs() []*GcsFileSpec {
	if m != nil {
		return m.SampleGcsFileSpecs
	}
	return nil
}

// Specifications of a single file in Cloud Storage.
type GcsFileSpec struct {
	// Required. The full file path. Example: `gs://bucket_name/a/b.txt`.
	FilePath string `protobuf:"bytes,1,opt,name=file_path,json=filePath,proto3" json:"file_path,omitempty"`
	// Output only. Timestamps about the Cloud Storage file.
	GcsTimestamps *SystemTimestamps `protobuf:"bytes,2,opt,name=gcs_timestamps,json=gcsTimestamps,proto3" json:"gcs_timestamps,omitempty"`
	// Output only. The size of the file, in bytes.
	SizeBytes            int64    `protobuf:"varint,4,opt,name=size_bytes,json=sizeBytes,proto3" json:"size_bytes,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_GcsFileSpec proto.InternalMessageInfo

func (m *GcsFileSpec) GetFilePath() string {
	if m != nil {
		return m.FilePath
	}
	return ""
}

func (m *GcsFileSpec) GetGcsTimestamps() *SystemTimestamps {
	if m != nil {
		return m.GcsTimestamps
	}
	return nil
}

func (m *GcsFileSpec) GetSizeBytes() int64 {
	if m != nil {
		return m.SizeBytes
	}
	return 0
}

func init() {
	proto.RegisterType((*GcsFilesetSpec)(nil), "google.cloud.datacatalog.v1beta1.GcsFilesetSpec")
	proto.RegisterType((*GcsFileSpec)(nil), "google.cloud.datacatalog.v1beta1.GcsFileSpec")
}

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

var fileDescriptor_4d6379beb7306c38 = []byte{
	// 348 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x91, 0xb1, 0x4e, 0xeb, 0x30,
	0x14, 0x86, 0xe5, 0xe6, 0xea, 0xea, 0xd6, 0xbd, 0xed, 0x10, 0x09, 0x29, 0xea, 0x42, 0x54, 0x31,
	0x64, 0x21, 0x51, 0xcb, 0xc0, 0xc0, 0x44, 0x07, 0x18, 0x58, 0xaa, 0x96, 0x89, 0x81, 0xc8, 0x71,
	0x4f, 0x5d, 0x4b, 0x4e, 0x6d, 0xe5, 0x98, 0x8a, 0xf2, 0x36, 0x3c, 0x03, 0x2f, 0xc4, 0x63, 0x30,
	0x22, 0xc7, 0x29, 0xcd, 0x82, 0xb2, 0xfe, 0xe7, 0xfc, 0xe7, 0xff, 0x7e, 0x1d, 0x7a, 0x2d, 0xb4,
	0x16, 0x0a, 0x32, 0xae, 0xf4, 0xcb, 0x3a, 0x5b, 0x33, 0xcb, 0x38, 0xb3, 0x4c, 0x69, 0x91, 0xed,
	0xa7, 0x05, 0x58, 0x36, 0xcd, 0x04, 0xc7, 0x7c, 0x23, 0x15, 0x20, 0xd8, 0x1c, 0x0d, 0xf0, 0xd4,
	0x54, 0xda, 0xea, 0x30, 0xf6, 0xc6, 0xb4, 0x36, 0xa6, 0x2d, 0x63, 0xda, 0x18, 0xc7, 0xe7, 0xcd,
	0x69, 0x66, 0x64, 0xb6, 0x91, 0xa0, 0xd6, 0x79, 0x01, 0x5b, 0xb6, 0x97, 0xba, 0xf2, 0x27, 0xc6,
	0xd3, 0xce, 0x6c, 0x2b, 0x4b, 0x40, 0xcb, 0x4a, 0x83, 0xde, 0x32, 0x79, 0x27, 0x74, 0x74, 0xcf,
	0xf1, 0xce, 0xf3, 0xac, 0x0c, 0xf0, 0x30, 0xa1, 0x43, 0x87, 0x97, 0x1b, 0x66, 0x2d, 0x54, 0x3b,
	0x8c, 0x48, 0x1c, 0x24, 0xfd, 0x79, 0xf0, 0x79, 0xdb, 0x5b, 0xfe, 0x77, 0x93, 0x45, 0x33, 0x08,
	0x81, 0x9e, 0x21, 0x2b, 0x8d, 0x82, 0xfc, 0xd8, 0xa9, 0x2e, 0x84, 0x51, 0x2f, 0x0e, 0x92, 0xc1,
	0xec, 0x32, 0xed, 0xaa, 0x94, 0x36, 0xd1, 0x2e, 0xd7, 0x05, 0x04, 0xcb, 0xd0, 0x1f, 0x6c, 0xe9,
	0x38, 0xf9, 0x20, 0x74, 0xd0, 0x12, 0xc2, 0x98, 0xf6, 0x8f, 0x80, 0xdb, 0x88, 0xc4, 0xe4, 0x08,
	0xf7, 0xaf, 0x81, 0xdb, 0x86, 0xcf, 0x74, 0xe4, 0x88, 0x4e, 0x6d, 0xa3, 0x5e, 0x4c, 0x92, 0xc1,
	0x6c, 0xd6, 0x4d, 0xb4, 0x3a, 0xa0, 0x85, 0xf2, 0xf1, 0xc7, 0xe9, 0xb1, 0x86, 0x82, 0xe3, 0x49,
	0x0b, 0x27, 0x94, 0xa2, 0x7c, 0x83, 0xbc, 0x38, 0x58, 0xc0, 0xe8, 0x4f, 0x4c, 0x92, 0xc0, 0xef,
	0xf5, 0x9d, 0x3c, 0x77, 0xea, 0xfc, 0x95, 0x5e, 0x70, 0x5d, 0x76, 0x06, 0x2e, 0xc8, 0xd3, 0x43,
	0xb3, 0x23, 0xb4, 0x62, 0x3b, 0x91, 0xea, 0x4a, 0x64, 0x02, 0x76, 0xf5, 0x7f, 0x32, 0x3f, 0x62,
	0x46, 0xe2, 0xef, 0x5f, 0xbd, 0x69, 0x69, 0x5f, 0x84, 0x14, 0x7f, 0x6b, 0xeb, 0xd5, 0x77, 0x00,
	0x00, 0x00, 0xff, 0xff, 0x07, 0x30, 0x3d, 0x9a, 0x8b, 0x02, 0x00, 0x00,
}
