github.com/cloudwan/edgelq-sdk@v1.15.4/logging/resources/v1/log/log.pb.fieldpath.go (about)

     1  // Code generated by protoc-gen-goten-object
     2  // File: edgelq/logging/proto/v1/log.proto
     3  // DO NOT EDIT!!!
     4  
     5  package log
     6  
     7  import (
     8  	"encoding/json"
     9  	"fmt"
    10  	"reflect"
    11  	"strings"
    12  	"time"
    13  
    14  	"google.golang.org/grpc/codes"
    15  	"google.golang.org/grpc/status"
    16  	"google.golang.org/protobuf/encoding/protojson"
    17  	"google.golang.org/protobuf/proto"
    18  	"google.golang.org/protobuf/reflect/protoregistry"
    19  
    20  	gotenobject "github.com/cloudwan/goten-sdk/runtime/object"
    21  	"github.com/cloudwan/goten-sdk/runtime/strcase"
    22  )
    23  
    24  // proto imports
    25  import (
    26  	iam_organization "github.com/cloudwan/edgelq-sdk/iam/resources/v1/organization"
    27  	iam_project "github.com/cloudwan/edgelq-sdk/iam/resources/v1/project"
    28  	bucket "github.com/cloudwan/edgelq-sdk/logging/resources/v1/bucket"
    29  	log_descriptor "github.com/cloudwan/edgelq-sdk/logging/resources/v1/log_descriptor"
    30  	meta_service "github.com/cloudwan/goten-sdk/meta-service/resources/v1/service"
    31  	anypb "google.golang.org/protobuf/types/known/anypb"
    32  	structpb "google.golang.org/protobuf/types/known/structpb"
    33  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    34  )
    35  
    36  // ensure the imports are used
    37  var (
    38  	_ = new(json.Marshaler)
    39  	_ = new(fmt.Stringer)
    40  	_ = reflect.DeepEqual
    41  	_ = strings.Builder{}
    42  	_ = time.Second
    43  
    44  	_ = strcase.ToLowerCamel
    45  	_ = codes.NotFound
    46  	_ = status.Status{}
    47  	_ = protojson.UnmarshalOptions{}
    48  	_ = new(proto.Message)
    49  	_ = protoregistry.GlobalTypes
    50  
    51  	_ = new(gotenobject.FieldPath)
    52  )
    53  
    54  // make sure we're using proto imports
    55  var (
    56  	_ = &iam_organization.Organization{}
    57  	_ = &iam_project.Project{}
    58  	_ = &bucket.Bucket{}
    59  	_ = &log_descriptor.LogDescriptor{}
    60  	_ = &anypb.Any{}
    61  	_ = &structpb.Struct{}
    62  	_ = &timestamppb.Timestamp{}
    63  	_ = &meta_service.Service{}
    64  )
    65  
    66  // FieldPath provides implementation to handle
    67  // https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto
    68  type Log_FieldPath interface {
    69  	gotenobject.FieldPath
    70  	Selector() Log_FieldPathSelector
    71  	Get(source *Log) []interface{}
    72  	GetSingle(source *Log) (interface{}, bool)
    73  	ClearValue(item *Log)
    74  
    75  	// Those methods build corresponding Log_FieldPathValue
    76  	// (or array of values) and holds passed value. Panics if injected type is incorrect.
    77  	WithIValue(value interface{}) Log_FieldPathValue
    78  	WithIArrayOfValues(values interface{}) Log_FieldPathArrayOfValues
    79  	WithIArrayItemValue(value interface{}) Log_FieldPathArrayItemValue
    80  }
    81  
    82  type Log_FieldPathSelector int32
    83  
    84  const (
    85  	Log_FieldPathSelectorName          Log_FieldPathSelector = 0
    86  	Log_FieldPathSelectorScope         Log_FieldPathSelector = 1
    87  	Log_FieldPathSelectorService       Log_FieldPathSelector = 2
    88  	Log_FieldPathSelectorRegion        Log_FieldPathSelector = 3
    89  	Log_FieldPathSelectorVersion       Log_FieldPathSelector = 4
    90  	Log_FieldPathSelectorLogDescriptor Log_FieldPathSelector = 5
    91  	Log_FieldPathSelectorLabels        Log_FieldPathSelector = 6
    92  	Log_FieldPathSelectorTime          Log_FieldPathSelector = 7
    93  	Log_FieldPathSelectorJsonPayload   Log_FieldPathSelector = 8
    94  	Log_FieldPathSelectorPbPayload     Log_FieldPathSelector = 9
    95  	Log_FieldPathSelectorStringPayload Log_FieldPathSelector = 10
    96  	Log_FieldPathSelectorBytesPayload  Log_FieldPathSelector = 11
    97  	Log_FieldPathSelectorBinKey        Log_FieldPathSelector = 12
    98  )
    99  
   100  func (s Log_FieldPathSelector) String() string {
   101  	switch s {
   102  	case Log_FieldPathSelectorName:
   103  		return "name"
   104  	case Log_FieldPathSelectorScope:
   105  		return "scope"
   106  	case Log_FieldPathSelectorService:
   107  		return "service"
   108  	case Log_FieldPathSelectorRegion:
   109  		return "region"
   110  	case Log_FieldPathSelectorVersion:
   111  		return "version"
   112  	case Log_FieldPathSelectorLogDescriptor:
   113  		return "log_descriptor"
   114  	case Log_FieldPathSelectorLabels:
   115  		return "labels"
   116  	case Log_FieldPathSelectorTime:
   117  		return "time"
   118  	case Log_FieldPathSelectorJsonPayload:
   119  		return "json_payload"
   120  	case Log_FieldPathSelectorPbPayload:
   121  		return "pb_payload"
   122  	case Log_FieldPathSelectorStringPayload:
   123  		return "string_payload"
   124  	case Log_FieldPathSelectorBytesPayload:
   125  		return "bytes_payload"
   126  	case Log_FieldPathSelectorBinKey:
   127  		return "bin_key"
   128  	default:
   129  		panic(fmt.Sprintf("Invalid selector for Log: %d", s))
   130  	}
   131  }
   132  
   133  func BuildLog_FieldPath(fp gotenobject.RawFieldPath) (Log_FieldPath, error) {
   134  	if len(fp) == 0 {
   135  		return nil, status.Error(codes.InvalidArgument, "empty field path for object Log")
   136  	}
   137  	if len(fp) == 1 {
   138  		switch fp[0] {
   139  		case "name":
   140  			return &Log_FieldTerminalPath{selector: Log_FieldPathSelectorName}, nil
   141  		case "scope":
   142  			return &Log_FieldTerminalPath{selector: Log_FieldPathSelectorScope}, nil
   143  		case "service":
   144  			return &Log_FieldTerminalPath{selector: Log_FieldPathSelectorService}, nil
   145  		case "region":
   146  			return &Log_FieldTerminalPath{selector: Log_FieldPathSelectorRegion}, nil
   147  		case "version":
   148  			return &Log_FieldTerminalPath{selector: Log_FieldPathSelectorVersion}, nil
   149  		case "log_descriptor", "logDescriptor", "log-descriptor":
   150  			return &Log_FieldTerminalPath{selector: Log_FieldPathSelectorLogDescriptor}, nil
   151  		case "labels":
   152  			return &Log_FieldTerminalPath{selector: Log_FieldPathSelectorLabels}, nil
   153  		case "time":
   154  			return &Log_FieldTerminalPath{selector: Log_FieldPathSelectorTime}, nil
   155  		case "json_payload", "jsonPayload", "json-payload":
   156  			return &Log_FieldTerminalPath{selector: Log_FieldPathSelectorJsonPayload}, nil
   157  		case "pb_payload", "pbPayload", "pb-payload":
   158  			return &Log_FieldTerminalPath{selector: Log_FieldPathSelectorPbPayload}, nil
   159  		case "string_payload", "stringPayload", "string-payload":
   160  			return &Log_FieldTerminalPath{selector: Log_FieldPathSelectorStringPayload}, nil
   161  		case "bytes_payload", "bytesPayload", "bytes-payload":
   162  			return &Log_FieldTerminalPath{selector: Log_FieldPathSelectorBytesPayload}, nil
   163  		case "bin_key", "binKey", "bin-key":
   164  			return &Log_FieldTerminalPath{selector: Log_FieldPathSelectorBinKey}, nil
   165  		}
   166  	} else {
   167  		switch fp[0] {
   168  		case "labels":
   169  			if len(fp) > 2 {
   170  				return nil, status.Errorf(codes.InvalidArgument, "sub path for maps ('%s') are not supported (object Log)", fp)
   171  			}
   172  			return &Log_FieldPathMap{selector: Log_FieldPathSelectorLabels, key: fp[1]}, nil
   173  		}
   174  	}
   175  	return nil, status.Errorf(codes.InvalidArgument, "unknown field path '%s' for object Log", fp)
   176  }
   177  
   178  func ParseLog_FieldPath(rawField string) (Log_FieldPath, error) {
   179  	fp, err := gotenobject.ParseRawFieldPath(rawField)
   180  	if err != nil {
   181  		return nil, err
   182  	}
   183  	return BuildLog_FieldPath(fp)
   184  }
   185  
   186  func MustParseLog_FieldPath(rawField string) Log_FieldPath {
   187  	fp, err := ParseLog_FieldPath(rawField)
   188  	if err != nil {
   189  		panic(err)
   190  	}
   191  	return fp
   192  }
   193  
   194  type Log_FieldTerminalPath struct {
   195  	selector Log_FieldPathSelector
   196  }
   197  
   198  var _ Log_FieldPath = (*Log_FieldTerminalPath)(nil)
   199  
   200  func (fp *Log_FieldTerminalPath) Selector() Log_FieldPathSelector {
   201  	return fp.selector
   202  }
   203  
   204  // String returns path representation in proto convention
   205  func (fp *Log_FieldTerminalPath) String() string {
   206  	return fp.selector.String()
   207  }
   208  
   209  // JSONString returns path representation is JSON convention
   210  func (fp *Log_FieldTerminalPath) JSONString() string {
   211  	return strcase.ToLowerCamel(fp.String())
   212  }
   213  
   214  // Get returns all values pointed by specific field from source Log
   215  func (fp *Log_FieldTerminalPath) Get(source *Log) (values []interface{}) {
   216  	if source != nil {
   217  		switch fp.selector {
   218  		case Log_FieldPathSelectorName:
   219  			if source.Name != nil {
   220  				values = append(values, source.Name)
   221  			}
   222  		case Log_FieldPathSelectorScope:
   223  			values = append(values, source.Scope)
   224  		case Log_FieldPathSelectorService:
   225  			values = append(values, source.Service)
   226  		case Log_FieldPathSelectorRegion:
   227  			values = append(values, source.Region)
   228  		case Log_FieldPathSelectorVersion:
   229  			values = append(values, source.Version)
   230  		case Log_FieldPathSelectorLogDescriptor:
   231  			if source.LogDescriptor != nil {
   232  				values = append(values, source.LogDescriptor)
   233  			}
   234  		case Log_FieldPathSelectorLabels:
   235  			values = append(values, source.Labels)
   236  		case Log_FieldPathSelectorTime:
   237  			if source.Time != nil {
   238  				values = append(values, source.Time)
   239  			}
   240  		case Log_FieldPathSelectorJsonPayload:
   241  			if source.JsonPayload != nil {
   242  				values = append(values, source.JsonPayload)
   243  			}
   244  		case Log_FieldPathSelectorPbPayload:
   245  			if source.PbPayload != nil {
   246  				values = append(values, source.PbPayload)
   247  			}
   248  		case Log_FieldPathSelectorStringPayload:
   249  			values = append(values, source.StringPayload)
   250  		case Log_FieldPathSelectorBytesPayload:
   251  			values = append(values, source.BytesPayload)
   252  		case Log_FieldPathSelectorBinKey:
   253  			values = append(values, source.BinKey)
   254  		default:
   255  			panic(fmt.Sprintf("Invalid selector for Log: %d", fp.selector))
   256  		}
   257  	}
   258  	return
   259  }
   260  
   261  func (fp *Log_FieldTerminalPath) GetRaw(source proto.Message) []interface{} {
   262  	return fp.Get(source.(*Log))
   263  }
   264  
   265  // GetSingle returns value pointed by specific field of from source Log
   266  func (fp *Log_FieldTerminalPath) GetSingle(source *Log) (interface{}, bool) {
   267  	switch fp.selector {
   268  	case Log_FieldPathSelectorName:
   269  		res := source.GetName()
   270  		return res, res != nil
   271  	case Log_FieldPathSelectorScope:
   272  		return source.GetScope(), source != nil
   273  	case Log_FieldPathSelectorService:
   274  		return source.GetService(), source != nil
   275  	case Log_FieldPathSelectorRegion:
   276  		return source.GetRegion(), source != nil
   277  	case Log_FieldPathSelectorVersion:
   278  		return source.GetVersion(), source != nil
   279  	case Log_FieldPathSelectorLogDescriptor:
   280  		res := source.GetLogDescriptor()
   281  		return res, res != nil
   282  	case Log_FieldPathSelectorLabels:
   283  		res := source.GetLabels()
   284  		return res, res != nil
   285  	case Log_FieldPathSelectorTime:
   286  		res := source.GetTime()
   287  		return res, res != nil
   288  	case Log_FieldPathSelectorJsonPayload:
   289  		res := source.GetJsonPayload()
   290  		return res, res != nil
   291  	case Log_FieldPathSelectorPbPayload:
   292  		res := source.GetPbPayload()
   293  		return res, res != nil
   294  	case Log_FieldPathSelectorStringPayload:
   295  		return source.GetStringPayload(), source != nil
   296  	case Log_FieldPathSelectorBytesPayload:
   297  		res := source.GetBytesPayload()
   298  		return res, res != nil
   299  	case Log_FieldPathSelectorBinKey:
   300  		return source.GetBinKey(), source != nil
   301  	default:
   302  		panic(fmt.Sprintf("Invalid selector for Log: %d", fp.selector))
   303  	}
   304  }
   305  
   306  func (fp *Log_FieldTerminalPath) GetSingleRaw(source proto.Message) (interface{}, bool) {
   307  	return fp.GetSingle(source.(*Log))
   308  }
   309  
   310  // GetDefault returns a default value of the field type
   311  func (fp *Log_FieldTerminalPath) GetDefault() interface{} {
   312  	switch fp.selector {
   313  	case Log_FieldPathSelectorName:
   314  		return (*Name)(nil)
   315  	case Log_FieldPathSelectorScope:
   316  		return ""
   317  	case Log_FieldPathSelectorService:
   318  		return ""
   319  	case Log_FieldPathSelectorRegion:
   320  		return ""
   321  	case Log_FieldPathSelectorVersion:
   322  		return ""
   323  	case Log_FieldPathSelectorLogDescriptor:
   324  		return (*log_descriptor.Reference)(nil)
   325  	case Log_FieldPathSelectorLabels:
   326  		return (map[string]string)(nil)
   327  	case Log_FieldPathSelectorTime:
   328  		return (*timestamppb.Timestamp)(nil)
   329  	case Log_FieldPathSelectorJsonPayload:
   330  		return (*structpb.Struct)(nil)
   331  	case Log_FieldPathSelectorPbPayload:
   332  		return (*anypb.Any)(nil)
   333  	case Log_FieldPathSelectorStringPayload:
   334  		return ""
   335  	case Log_FieldPathSelectorBytesPayload:
   336  		return ([]byte)(nil)
   337  	case Log_FieldPathSelectorBinKey:
   338  		return ""
   339  	default:
   340  		panic(fmt.Sprintf("Invalid selector for Log: %d", fp.selector))
   341  	}
   342  }
   343  
   344  func (fp *Log_FieldTerminalPath) ClearValue(item *Log) {
   345  	if item != nil {
   346  		switch fp.selector {
   347  		case Log_FieldPathSelectorName:
   348  			item.Name = nil
   349  		case Log_FieldPathSelectorScope:
   350  			item.Scope = ""
   351  		case Log_FieldPathSelectorService:
   352  			item.Service = ""
   353  		case Log_FieldPathSelectorRegion:
   354  			item.Region = ""
   355  		case Log_FieldPathSelectorVersion:
   356  			item.Version = ""
   357  		case Log_FieldPathSelectorLogDescriptor:
   358  			item.LogDescriptor = nil
   359  		case Log_FieldPathSelectorLabels:
   360  			item.Labels = nil
   361  		case Log_FieldPathSelectorTime:
   362  			item.Time = nil
   363  		case Log_FieldPathSelectorJsonPayload:
   364  			item.JsonPayload = nil
   365  		case Log_FieldPathSelectorPbPayload:
   366  			item.PbPayload = nil
   367  		case Log_FieldPathSelectorStringPayload:
   368  			item.StringPayload = ""
   369  		case Log_FieldPathSelectorBytesPayload:
   370  			item.BytesPayload = nil
   371  		case Log_FieldPathSelectorBinKey:
   372  			item.BinKey = ""
   373  		default:
   374  			panic(fmt.Sprintf("Invalid selector for Log: %d", fp.selector))
   375  		}
   376  	}
   377  }
   378  
   379  func (fp *Log_FieldTerminalPath) ClearValueRaw(item proto.Message) {
   380  	fp.ClearValue(item.(*Log))
   381  }
   382  
   383  // IsLeaf - whether field path is holds simple value
   384  func (fp *Log_FieldTerminalPath) IsLeaf() bool {
   385  	return fp.selector == Log_FieldPathSelectorName ||
   386  		fp.selector == Log_FieldPathSelectorScope ||
   387  		fp.selector == Log_FieldPathSelectorService ||
   388  		fp.selector == Log_FieldPathSelectorRegion ||
   389  		fp.selector == Log_FieldPathSelectorVersion ||
   390  		fp.selector == Log_FieldPathSelectorLogDescriptor ||
   391  		fp.selector == Log_FieldPathSelectorLabels ||
   392  		fp.selector == Log_FieldPathSelectorTime ||
   393  		fp.selector == Log_FieldPathSelectorJsonPayload ||
   394  		fp.selector == Log_FieldPathSelectorPbPayload ||
   395  		fp.selector == Log_FieldPathSelectorStringPayload ||
   396  		fp.selector == Log_FieldPathSelectorBytesPayload ||
   397  		fp.selector == Log_FieldPathSelectorBinKey
   398  }
   399  
   400  func (fp *Log_FieldTerminalPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath {
   401  	return []gotenobject.FieldPath{fp}
   402  }
   403  
   404  func (fp *Log_FieldTerminalPath) WithIValue(value interface{}) Log_FieldPathValue {
   405  	switch fp.selector {
   406  	case Log_FieldPathSelectorName:
   407  		return &Log_FieldTerminalPathValue{Log_FieldTerminalPath: *fp, value: value.(*Name)}
   408  	case Log_FieldPathSelectorScope:
   409  		return &Log_FieldTerminalPathValue{Log_FieldTerminalPath: *fp, value: value.(string)}
   410  	case Log_FieldPathSelectorService:
   411  		return &Log_FieldTerminalPathValue{Log_FieldTerminalPath: *fp, value: value.(string)}
   412  	case Log_FieldPathSelectorRegion:
   413  		return &Log_FieldTerminalPathValue{Log_FieldTerminalPath: *fp, value: value.(string)}
   414  	case Log_FieldPathSelectorVersion:
   415  		return &Log_FieldTerminalPathValue{Log_FieldTerminalPath: *fp, value: value.(string)}
   416  	case Log_FieldPathSelectorLogDescriptor:
   417  		return &Log_FieldTerminalPathValue{Log_FieldTerminalPath: *fp, value: value.(*log_descriptor.Reference)}
   418  	case Log_FieldPathSelectorLabels:
   419  		return &Log_FieldTerminalPathValue{Log_FieldTerminalPath: *fp, value: value.(map[string]string)}
   420  	case Log_FieldPathSelectorTime:
   421  		return &Log_FieldTerminalPathValue{Log_FieldTerminalPath: *fp, value: value.(*timestamppb.Timestamp)}
   422  	case Log_FieldPathSelectorJsonPayload:
   423  		return &Log_FieldTerminalPathValue{Log_FieldTerminalPath: *fp, value: value.(*structpb.Struct)}
   424  	case Log_FieldPathSelectorPbPayload:
   425  		return &Log_FieldTerminalPathValue{Log_FieldTerminalPath: *fp, value: value.(*anypb.Any)}
   426  	case Log_FieldPathSelectorStringPayload:
   427  		return &Log_FieldTerminalPathValue{Log_FieldTerminalPath: *fp, value: value.(string)}
   428  	case Log_FieldPathSelectorBytesPayload:
   429  		return &Log_FieldTerminalPathValue{Log_FieldTerminalPath: *fp, value: value.([]byte)}
   430  	case Log_FieldPathSelectorBinKey:
   431  		return &Log_FieldTerminalPathValue{Log_FieldTerminalPath: *fp, value: value.(string)}
   432  	default:
   433  		panic(fmt.Sprintf("Invalid selector for Log: %d", fp.selector))
   434  	}
   435  }
   436  
   437  func (fp *Log_FieldTerminalPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue {
   438  	return fp.WithIValue(value)
   439  }
   440  
   441  func (fp *Log_FieldTerminalPath) WithIArrayOfValues(values interface{}) Log_FieldPathArrayOfValues {
   442  	fpaov := &Log_FieldTerminalPathArrayOfValues{Log_FieldTerminalPath: *fp}
   443  	switch fp.selector {
   444  	case Log_FieldPathSelectorName:
   445  		return &Log_FieldTerminalPathArrayOfValues{Log_FieldTerminalPath: *fp, values: values.([]*Name)}
   446  	case Log_FieldPathSelectorScope:
   447  		return &Log_FieldTerminalPathArrayOfValues{Log_FieldTerminalPath: *fp, values: values.([]string)}
   448  	case Log_FieldPathSelectorService:
   449  		return &Log_FieldTerminalPathArrayOfValues{Log_FieldTerminalPath: *fp, values: values.([]string)}
   450  	case Log_FieldPathSelectorRegion:
   451  		return &Log_FieldTerminalPathArrayOfValues{Log_FieldTerminalPath: *fp, values: values.([]string)}
   452  	case Log_FieldPathSelectorVersion:
   453  		return &Log_FieldTerminalPathArrayOfValues{Log_FieldTerminalPath: *fp, values: values.([]string)}
   454  	case Log_FieldPathSelectorLogDescriptor:
   455  		return &Log_FieldTerminalPathArrayOfValues{Log_FieldTerminalPath: *fp, values: values.([]*log_descriptor.Reference)}
   456  	case Log_FieldPathSelectorLabels:
   457  		return &Log_FieldTerminalPathArrayOfValues{Log_FieldTerminalPath: *fp, values: values.([]map[string]string)}
   458  	case Log_FieldPathSelectorTime:
   459  		return &Log_FieldTerminalPathArrayOfValues{Log_FieldTerminalPath: *fp, values: values.([]*timestamppb.Timestamp)}
   460  	case Log_FieldPathSelectorJsonPayload:
   461  		return &Log_FieldTerminalPathArrayOfValues{Log_FieldTerminalPath: *fp, values: values.([]*structpb.Struct)}
   462  	case Log_FieldPathSelectorPbPayload:
   463  		return &Log_FieldTerminalPathArrayOfValues{Log_FieldTerminalPath: *fp, values: values.([]*anypb.Any)}
   464  	case Log_FieldPathSelectorStringPayload:
   465  		return &Log_FieldTerminalPathArrayOfValues{Log_FieldTerminalPath: *fp, values: values.([]string)}
   466  	case Log_FieldPathSelectorBytesPayload:
   467  		return &Log_FieldTerminalPathArrayOfValues{Log_FieldTerminalPath: *fp, values: values.([][]byte)}
   468  	case Log_FieldPathSelectorBinKey:
   469  		return &Log_FieldTerminalPathArrayOfValues{Log_FieldTerminalPath: *fp, values: values.([]string)}
   470  	default:
   471  		panic(fmt.Sprintf("Invalid selector for Log: %d", fp.selector))
   472  	}
   473  	return fpaov
   474  }
   475  
   476  func (fp *Log_FieldTerminalPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues {
   477  	return fp.WithIArrayOfValues(values)
   478  }
   479  
   480  func (fp *Log_FieldTerminalPath) WithIArrayItemValue(value interface{}) Log_FieldPathArrayItemValue {
   481  	switch fp.selector {
   482  	default:
   483  		panic(fmt.Sprintf("Invalid selector for Log: %d", fp.selector))
   484  	}
   485  }
   486  
   487  func (fp *Log_FieldTerminalPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue {
   488  	return fp.WithIArrayItemValue(value)
   489  }
   490  
   491  // FieldPath for map type with additional Key information
   492  type Log_FieldPathMap struct {
   493  	key      string
   494  	selector Log_FieldPathSelector
   495  }
   496  
   497  var _ Log_FieldPath = (*Log_FieldPathMap)(nil)
   498  
   499  func (fpm *Log_FieldPathMap) Selector() Log_FieldPathSelector {
   500  	return fpm.selector
   501  }
   502  
   503  func (fpm *Log_FieldPathMap) Key() string {
   504  	return fpm.key
   505  }
   506  
   507  // String returns path representation in proto convention
   508  func (fpm *Log_FieldPathMap) String() string {
   509  	return fpm.selector.String() + "." + fpm.key
   510  }
   511  
   512  // JSONString returns path representation is JSON convention. Note that map keys are not transformed
   513  func (fpm *Log_FieldPathMap) JSONString() string {
   514  	return strcase.ToLowerCamel(fpm.selector.String()) + "." + fpm.key
   515  }
   516  
   517  // Get returns all values pointed by selected field map key from source Log
   518  func (fpm *Log_FieldPathMap) Get(source *Log) (values []interface{}) {
   519  	switch fpm.selector {
   520  	case Log_FieldPathSelectorLabels:
   521  		if value, ok := source.GetLabels()[fpm.key]; ok {
   522  			values = append(values, value)
   523  		}
   524  	default:
   525  		panic(fmt.Sprintf("Invalid selector for Log: %d", fpm.selector))
   526  	}
   527  	return
   528  }
   529  
   530  func (fpm *Log_FieldPathMap) GetRaw(source proto.Message) []interface{} {
   531  	return fpm.Get(source.(*Log))
   532  }
   533  
   534  // GetSingle returns value by selected field map key from source Log
   535  func (fpm *Log_FieldPathMap) GetSingle(source *Log) (interface{}, bool) {
   536  	switch fpm.selector {
   537  	case Log_FieldPathSelectorLabels:
   538  		res, ok := source.GetLabels()[fpm.key]
   539  		return res, ok
   540  	default:
   541  		panic(fmt.Sprintf("Invalid selector for Log: %d", fpm.selector))
   542  	}
   543  }
   544  
   545  func (fpm *Log_FieldPathMap) GetSingleRaw(source proto.Message) (interface{}, bool) {
   546  	return fpm.GetSingle(source.(*Log))
   547  }
   548  
   549  // GetDefault returns a default value of the field type
   550  func (fpm *Log_FieldPathMap) GetDefault() interface{} {
   551  	switch fpm.selector {
   552  	case Log_FieldPathSelectorLabels:
   553  		var v string
   554  		return v
   555  	default:
   556  		panic(fmt.Sprintf("Invalid selector for Log: %d", fpm.selector))
   557  	}
   558  }
   559  
   560  func (fpm *Log_FieldPathMap) ClearValue(item *Log) {
   561  	if item != nil {
   562  		switch fpm.selector {
   563  		case Log_FieldPathSelectorLabels:
   564  			delete(item.Labels, fpm.key)
   565  		default:
   566  			panic(fmt.Sprintf("Invalid selector for Log: %d", fpm.selector))
   567  		}
   568  	}
   569  }
   570  
   571  func (fpm *Log_FieldPathMap) ClearValueRaw(item proto.Message) {
   572  	fpm.ClearValue(item.(*Log))
   573  }
   574  
   575  // IsLeaf - whether field path is holds simple value
   576  func (fpm *Log_FieldPathMap) IsLeaf() bool {
   577  	switch fpm.selector {
   578  	case Log_FieldPathSelectorLabels:
   579  		return true
   580  	default:
   581  		panic(fmt.Sprintf("Invalid selector for Log: %d", fpm.selector))
   582  	}
   583  }
   584  
   585  func (fpm *Log_FieldPathMap) SplitIntoTerminalIPaths() []gotenobject.FieldPath {
   586  	return []gotenobject.FieldPath{fpm}
   587  }
   588  
   589  func (fpm *Log_FieldPathMap) WithIValue(value interface{}) Log_FieldPathValue {
   590  	switch fpm.selector {
   591  	case Log_FieldPathSelectorLabels:
   592  		return &Log_FieldPathMapValue{Log_FieldPathMap: *fpm, value: value.(string)}
   593  	default:
   594  		panic(fmt.Sprintf("Invalid selector for Log: %d", fpm.selector))
   595  	}
   596  }
   597  
   598  func (fpm *Log_FieldPathMap) WithRawIValue(value interface{}) gotenobject.FieldPathValue {
   599  	return fpm.WithIValue(value)
   600  }
   601  
   602  func (fpm *Log_FieldPathMap) WithIArrayOfValues(values interface{}) Log_FieldPathArrayOfValues {
   603  	switch fpm.selector {
   604  	case Log_FieldPathSelectorLabels:
   605  		return &Log_FieldPathMapArrayOfValues{Log_FieldPathMap: *fpm, values: values.([]string)}
   606  	default:
   607  		panic(fmt.Sprintf("Invalid selector for Log: %d", fpm.selector))
   608  	}
   609  }
   610  
   611  func (fpm *Log_FieldPathMap) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues {
   612  	return fpm.WithIArrayOfValues(values)
   613  }
   614  
   615  func (fpm *Log_FieldPathMap) WithIArrayItemValue(value interface{}) Log_FieldPathArrayItemValue {
   616  	panic("Cannot create array item value from map fieldpath")
   617  }
   618  
   619  func (fpm *Log_FieldPathMap) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue {
   620  	return fpm.WithIArrayItemValue(value)
   621  }
   622  
   623  // Log_FieldPathValue allows storing values for Log fields according to their type
   624  type Log_FieldPathValue interface {
   625  	Log_FieldPath
   626  	gotenobject.FieldPathValue
   627  	SetTo(target **Log)
   628  	CompareWith(*Log) (cmp int, comparable bool)
   629  }
   630  
   631  func ParseLog_FieldPathValue(pathStr, valueStr string) (Log_FieldPathValue, error) {
   632  	fp, err := ParseLog_FieldPath(pathStr)
   633  	if err != nil {
   634  		return nil, err
   635  	}
   636  	fpv, err := gotenobject.ParseFieldPathValue(fp, valueStr)
   637  	if err != nil {
   638  		return nil, status.Errorf(codes.InvalidArgument, "error parsing Log field path value from %s: %v", valueStr, err)
   639  	}
   640  	return fpv.(Log_FieldPathValue), nil
   641  }
   642  
   643  func MustParseLog_FieldPathValue(pathStr, valueStr string) Log_FieldPathValue {
   644  	fpv, err := ParseLog_FieldPathValue(pathStr, valueStr)
   645  	if err != nil {
   646  		panic(err)
   647  	}
   648  	return fpv
   649  }
   650  
   651  type Log_FieldTerminalPathValue struct {
   652  	Log_FieldTerminalPath
   653  	value interface{}
   654  }
   655  
   656  var _ Log_FieldPathValue = (*Log_FieldTerminalPathValue)(nil)
   657  
   658  // GetRawValue returns raw value stored under selected path for 'Log' as interface{}
   659  func (fpv *Log_FieldTerminalPathValue) GetRawValue() interface{} {
   660  	return fpv.value
   661  }
   662  func (fpv *Log_FieldTerminalPathValue) AsNameValue() (*Name, bool) {
   663  	res, ok := fpv.value.(*Name)
   664  	return res, ok
   665  }
   666  func (fpv *Log_FieldTerminalPathValue) AsScopeValue() (string, bool) {
   667  	res, ok := fpv.value.(string)
   668  	return res, ok
   669  }
   670  func (fpv *Log_FieldTerminalPathValue) AsServiceValue() (string, bool) {
   671  	res, ok := fpv.value.(string)
   672  	return res, ok
   673  }
   674  func (fpv *Log_FieldTerminalPathValue) AsRegionValue() (string, bool) {
   675  	res, ok := fpv.value.(string)
   676  	return res, ok
   677  }
   678  func (fpv *Log_FieldTerminalPathValue) AsVersionValue() (string, bool) {
   679  	res, ok := fpv.value.(string)
   680  	return res, ok
   681  }
   682  func (fpv *Log_FieldTerminalPathValue) AsLogDescriptorValue() (*log_descriptor.Reference, bool) {
   683  	res, ok := fpv.value.(*log_descriptor.Reference)
   684  	return res, ok
   685  }
   686  func (fpv *Log_FieldTerminalPathValue) AsLabelsValue() (map[string]string, bool) {
   687  	res, ok := fpv.value.(map[string]string)
   688  	return res, ok
   689  }
   690  func (fpv *Log_FieldTerminalPathValue) AsTimeValue() (*timestamppb.Timestamp, bool) {
   691  	res, ok := fpv.value.(*timestamppb.Timestamp)
   692  	return res, ok
   693  }
   694  func (fpv *Log_FieldTerminalPathValue) AsJsonPayloadValue() (*structpb.Struct, bool) {
   695  	res, ok := fpv.value.(*structpb.Struct)
   696  	return res, ok
   697  }
   698  func (fpv *Log_FieldTerminalPathValue) AsPbPayloadValue() (*anypb.Any, bool) {
   699  	res, ok := fpv.value.(*anypb.Any)
   700  	return res, ok
   701  }
   702  func (fpv *Log_FieldTerminalPathValue) AsStringPayloadValue() (string, bool) {
   703  	res, ok := fpv.value.(string)
   704  	return res, ok
   705  }
   706  func (fpv *Log_FieldTerminalPathValue) AsBytesPayloadValue() ([]byte, bool) {
   707  	res, ok := fpv.value.([]byte)
   708  	return res, ok
   709  }
   710  func (fpv *Log_FieldTerminalPathValue) AsBinKeyValue() (string, bool) {
   711  	res, ok := fpv.value.(string)
   712  	return res, ok
   713  }
   714  
   715  // SetTo stores value for selected field for object Log
   716  func (fpv *Log_FieldTerminalPathValue) SetTo(target **Log) {
   717  	if *target == nil {
   718  		*target = new(Log)
   719  	}
   720  	switch fpv.selector {
   721  	case Log_FieldPathSelectorName:
   722  		(*target).Name = fpv.value.(*Name)
   723  	case Log_FieldPathSelectorScope:
   724  		(*target).Scope = fpv.value.(string)
   725  	case Log_FieldPathSelectorService:
   726  		(*target).Service = fpv.value.(string)
   727  	case Log_FieldPathSelectorRegion:
   728  		(*target).Region = fpv.value.(string)
   729  	case Log_FieldPathSelectorVersion:
   730  		(*target).Version = fpv.value.(string)
   731  	case Log_FieldPathSelectorLogDescriptor:
   732  		(*target).LogDescriptor = fpv.value.(*log_descriptor.Reference)
   733  	case Log_FieldPathSelectorLabels:
   734  		(*target).Labels = fpv.value.(map[string]string)
   735  	case Log_FieldPathSelectorTime:
   736  		(*target).Time = fpv.value.(*timestamppb.Timestamp)
   737  	case Log_FieldPathSelectorJsonPayload:
   738  		(*target).JsonPayload = fpv.value.(*structpb.Struct)
   739  	case Log_FieldPathSelectorPbPayload:
   740  		(*target).PbPayload = fpv.value.(*anypb.Any)
   741  	case Log_FieldPathSelectorStringPayload:
   742  		(*target).StringPayload = fpv.value.(string)
   743  	case Log_FieldPathSelectorBytesPayload:
   744  		(*target).BytesPayload = fpv.value.([]byte)
   745  	case Log_FieldPathSelectorBinKey:
   746  		(*target).BinKey = fpv.value.(string)
   747  	default:
   748  		panic(fmt.Sprintf("Invalid selector for Log: %d", fpv.selector))
   749  	}
   750  }
   751  
   752  func (fpv *Log_FieldTerminalPathValue) SetToRaw(target proto.Message) {
   753  	typedObject := target.(*Log)
   754  	fpv.SetTo(&typedObject)
   755  }
   756  
   757  // CompareWith compares value in the 'Log_FieldTerminalPathValue' with the value under path in 'Log'.
   758  func (fpv *Log_FieldTerminalPathValue) CompareWith(source *Log) (int, bool) {
   759  	switch fpv.selector {
   760  	case Log_FieldPathSelectorName:
   761  		leftValue := fpv.value.(*Name)
   762  		rightValue := source.GetName()
   763  		if leftValue == nil {
   764  			if rightValue != nil {
   765  				return -1, true
   766  			}
   767  			return 0, true
   768  		}
   769  		if rightValue == nil {
   770  			return 1, true
   771  		}
   772  		if leftValue.String() == rightValue.String() {
   773  			return 0, true
   774  		} else if leftValue.String() < rightValue.String() {
   775  			return -1, true
   776  		} else {
   777  			return 1, true
   778  		}
   779  	case Log_FieldPathSelectorScope:
   780  		leftValue := fpv.value.(string)
   781  		rightValue := source.GetScope()
   782  		if (leftValue) == (rightValue) {
   783  			return 0, true
   784  		} else if (leftValue) < (rightValue) {
   785  			return -1, true
   786  		} else {
   787  			return 1, true
   788  		}
   789  	case Log_FieldPathSelectorService:
   790  		leftValue := fpv.value.(string)
   791  		rightValue := source.GetService()
   792  		if (leftValue) == (rightValue) {
   793  			return 0, true
   794  		} else if (leftValue) < (rightValue) {
   795  			return -1, true
   796  		} else {
   797  			return 1, true
   798  		}
   799  	case Log_FieldPathSelectorRegion:
   800  		leftValue := fpv.value.(string)
   801  		rightValue := source.GetRegion()
   802  		if (leftValue) == (rightValue) {
   803  			return 0, true
   804  		} else if (leftValue) < (rightValue) {
   805  			return -1, true
   806  		} else {
   807  			return 1, true
   808  		}
   809  	case Log_FieldPathSelectorVersion:
   810  		leftValue := fpv.value.(string)
   811  		rightValue := source.GetVersion()
   812  		if (leftValue) == (rightValue) {
   813  			return 0, true
   814  		} else if (leftValue) < (rightValue) {
   815  			return -1, true
   816  		} else {
   817  			return 1, true
   818  		}
   819  	case Log_FieldPathSelectorLogDescriptor:
   820  		leftValue := fpv.value.(*log_descriptor.Reference)
   821  		rightValue := source.GetLogDescriptor()
   822  		if leftValue == nil {
   823  			if rightValue != nil {
   824  				return -1, true
   825  			}
   826  			return 0, true
   827  		}
   828  		if rightValue == nil {
   829  			return 1, true
   830  		}
   831  		if leftValue.String() == rightValue.String() {
   832  			return 0, true
   833  		} else if leftValue.String() < rightValue.String() {
   834  			return -1, true
   835  		} else {
   836  			return 1, true
   837  		}
   838  	case Log_FieldPathSelectorLabels:
   839  		return 0, false
   840  	case Log_FieldPathSelectorTime:
   841  		leftValue := fpv.value.(*timestamppb.Timestamp)
   842  		rightValue := source.GetTime()
   843  		if leftValue == nil {
   844  			if rightValue != nil {
   845  				return -1, true
   846  			}
   847  			return 0, true
   848  		}
   849  		if rightValue == nil {
   850  			return 1, true
   851  		}
   852  		if leftValue.AsTime().Equal(rightValue.AsTime()) {
   853  			return 0, true
   854  		} else if leftValue.AsTime().Before(rightValue.AsTime()) {
   855  			return -1, true
   856  		} else {
   857  			return 1, true
   858  		}
   859  	case Log_FieldPathSelectorJsonPayload:
   860  		return 0, false
   861  	case Log_FieldPathSelectorPbPayload:
   862  		return 0, false
   863  	case Log_FieldPathSelectorStringPayload:
   864  		leftValue := fpv.value.(string)
   865  		rightValue := source.GetStringPayload()
   866  		if (leftValue) == (rightValue) {
   867  			return 0, true
   868  		} else if (leftValue) < (rightValue) {
   869  			return -1, true
   870  		} else {
   871  			return 1, true
   872  		}
   873  	case Log_FieldPathSelectorBytesPayload:
   874  		return 0, false
   875  	case Log_FieldPathSelectorBinKey:
   876  		leftValue := fpv.value.(string)
   877  		rightValue := source.GetBinKey()
   878  		if (leftValue) == (rightValue) {
   879  			return 0, true
   880  		} else if (leftValue) < (rightValue) {
   881  			return -1, true
   882  		} else {
   883  			return 1, true
   884  		}
   885  	default:
   886  		panic(fmt.Sprintf("Invalid selector for Log: %d", fpv.selector))
   887  	}
   888  }
   889  
   890  func (fpv *Log_FieldTerminalPathValue) CompareWithRaw(source proto.Message) (int, bool) {
   891  	return fpv.CompareWith(source.(*Log))
   892  }
   893  
   894  type Log_FieldPathMapValue struct {
   895  	Log_FieldPathMap
   896  	value interface{}
   897  }
   898  
   899  var _ Log_FieldPathValue = (*Log_FieldPathMapValue)(nil)
   900  
   901  // GetValue returns value stored under selected field in Log as interface{}
   902  func (fpmv *Log_FieldPathMapValue) GetRawValue() interface{} {
   903  	return fpmv.value
   904  }
   905  func (fpmv *Log_FieldPathMapValue) AsLabelsElementValue() (string, bool) {
   906  	res, ok := fpmv.value.(string)
   907  	return res, ok
   908  }
   909  
   910  // SetTo stores value for selected field in Log
   911  func (fpmv *Log_FieldPathMapValue) SetTo(target **Log) {
   912  	if *target == nil {
   913  		*target = new(Log)
   914  	}
   915  	switch fpmv.selector {
   916  	case Log_FieldPathSelectorLabels:
   917  		if (*target).Labels == nil {
   918  			(*target).Labels = make(map[string]string)
   919  		}
   920  		(*target).Labels[fpmv.key] = fpmv.value.(string)
   921  	default:
   922  		panic(fmt.Sprintf("Invalid selector for Log: %d", fpmv.selector))
   923  	}
   924  }
   925  
   926  func (fpmv *Log_FieldPathMapValue) SetToRaw(target proto.Message) {
   927  	typedObject := target.(*Log)
   928  	fpmv.SetTo(&typedObject)
   929  }
   930  
   931  // CompareWith compares value in the 'Log_FieldPathMapValue' with the value under path in 'Log'.
   932  func (fpmv *Log_FieldPathMapValue) CompareWith(source *Log) (int, bool) {
   933  	switch fpmv.selector {
   934  	case Log_FieldPathSelectorLabels:
   935  		leftValue := fpmv.value.(string)
   936  		rightValue := source.GetLabels()[fpmv.key]
   937  		if (leftValue) == (rightValue) {
   938  			return 0, true
   939  		} else if (leftValue) < (rightValue) {
   940  			return -1, true
   941  		} else {
   942  			return 1, true
   943  		}
   944  	default:
   945  		panic(fmt.Sprintf("Invalid selector for Log: %d", fpmv.selector))
   946  	}
   947  }
   948  
   949  func (fpmv *Log_FieldPathMapValue) CompareWithRaw(source proto.Message) (int, bool) {
   950  	return fpmv.CompareWith(source.(*Log))
   951  }
   952  
   953  // Log_FieldPathArrayItemValue allows storing single item in Path-specific values for Log according to their type
   954  // Present only for array (repeated) types.
   955  type Log_FieldPathArrayItemValue interface {
   956  	gotenobject.FieldPathArrayItemValue
   957  	Log_FieldPath
   958  	ContainsValue(*Log) bool
   959  }
   960  
   961  // ParseLog_FieldPathArrayItemValue parses string and JSON-encoded value to its Value
   962  func ParseLog_FieldPathArrayItemValue(pathStr, valueStr string) (Log_FieldPathArrayItemValue, error) {
   963  	fp, err := ParseLog_FieldPath(pathStr)
   964  	if err != nil {
   965  		return nil, err
   966  	}
   967  	fpaiv, err := gotenobject.ParseFieldPathArrayItemValue(fp, valueStr)
   968  	if err != nil {
   969  		return nil, status.Errorf(codes.InvalidArgument, "error parsing Log field path array item value from %s: %v", valueStr, err)
   970  	}
   971  	return fpaiv.(Log_FieldPathArrayItemValue), nil
   972  }
   973  
   974  func MustParseLog_FieldPathArrayItemValue(pathStr, valueStr string) Log_FieldPathArrayItemValue {
   975  	fpaiv, err := ParseLog_FieldPathArrayItemValue(pathStr, valueStr)
   976  	if err != nil {
   977  		panic(err)
   978  	}
   979  	return fpaiv
   980  }
   981  
   982  type Log_FieldTerminalPathArrayItemValue struct {
   983  	Log_FieldTerminalPath
   984  	value interface{}
   985  }
   986  
   987  var _ Log_FieldPathArrayItemValue = (*Log_FieldTerminalPathArrayItemValue)(nil)
   988  
   989  // GetRawValue returns stored element value for array in object Log as interface{}
   990  func (fpaiv *Log_FieldTerminalPathArrayItemValue) GetRawItemValue() interface{} {
   991  	return fpaiv.value
   992  }
   993  
   994  func (fpaiv *Log_FieldTerminalPathArrayItemValue) GetSingle(source *Log) (interface{}, bool) {
   995  	return nil, false
   996  }
   997  
   998  func (fpaiv *Log_FieldTerminalPathArrayItemValue) GetSingleRaw(source proto.Message) (interface{}, bool) {
   999  	return fpaiv.GetSingle(source.(*Log))
  1000  }
  1001  
  1002  // Contains returns a boolean indicating if value that is being held is present in given 'Log'
  1003  func (fpaiv *Log_FieldTerminalPathArrayItemValue) ContainsValue(source *Log) bool {
  1004  	slice := fpaiv.Log_FieldTerminalPath.Get(source)
  1005  	for _, v := range slice {
  1006  		if asProtoMsg, ok := fpaiv.value.(proto.Message); ok {
  1007  			if proto.Equal(asProtoMsg, v.(proto.Message)) {
  1008  				return true
  1009  			}
  1010  		} else if reflect.DeepEqual(v, fpaiv.value) {
  1011  			return true
  1012  		}
  1013  	}
  1014  	return false
  1015  }
  1016  
  1017  // Log_FieldPathArrayOfValues allows storing slice of values for Log fields according to their type
  1018  type Log_FieldPathArrayOfValues interface {
  1019  	gotenobject.FieldPathArrayOfValues
  1020  	Log_FieldPath
  1021  }
  1022  
  1023  func ParseLog_FieldPathArrayOfValues(pathStr, valuesStr string) (Log_FieldPathArrayOfValues, error) {
  1024  	fp, err := ParseLog_FieldPath(pathStr)
  1025  	if err != nil {
  1026  		return nil, err
  1027  	}
  1028  	fpaov, err := gotenobject.ParseFieldPathArrayOfValues(fp, valuesStr)
  1029  	if err != nil {
  1030  		return nil, status.Errorf(codes.InvalidArgument, "error parsing Log field path array of values from %s: %v", valuesStr, err)
  1031  	}
  1032  	return fpaov.(Log_FieldPathArrayOfValues), nil
  1033  }
  1034  
  1035  func MustParseLog_FieldPathArrayOfValues(pathStr, valuesStr string) Log_FieldPathArrayOfValues {
  1036  	fpaov, err := ParseLog_FieldPathArrayOfValues(pathStr, valuesStr)
  1037  	if err != nil {
  1038  		panic(err)
  1039  	}
  1040  	return fpaov
  1041  }
  1042  
  1043  type Log_FieldTerminalPathArrayOfValues struct {
  1044  	Log_FieldTerminalPath
  1045  	values interface{}
  1046  }
  1047  
  1048  var _ Log_FieldPathArrayOfValues = (*Log_FieldTerminalPathArrayOfValues)(nil)
  1049  
  1050  func (fpaov *Log_FieldTerminalPathArrayOfValues) GetRawValues() (values []interface{}) {
  1051  	switch fpaov.selector {
  1052  	case Log_FieldPathSelectorName:
  1053  		for _, v := range fpaov.values.([]*Name) {
  1054  			values = append(values, v)
  1055  		}
  1056  	case Log_FieldPathSelectorScope:
  1057  		for _, v := range fpaov.values.([]string) {
  1058  			values = append(values, v)
  1059  		}
  1060  	case Log_FieldPathSelectorService:
  1061  		for _, v := range fpaov.values.([]string) {
  1062  			values = append(values, v)
  1063  		}
  1064  	case Log_FieldPathSelectorRegion:
  1065  		for _, v := range fpaov.values.([]string) {
  1066  			values = append(values, v)
  1067  		}
  1068  	case Log_FieldPathSelectorVersion:
  1069  		for _, v := range fpaov.values.([]string) {
  1070  			values = append(values, v)
  1071  		}
  1072  	case Log_FieldPathSelectorLogDescriptor:
  1073  		for _, v := range fpaov.values.([]*log_descriptor.Reference) {
  1074  			values = append(values, v)
  1075  		}
  1076  	case Log_FieldPathSelectorLabels:
  1077  		for _, v := range fpaov.values.([]map[string]string) {
  1078  			values = append(values, v)
  1079  		}
  1080  	case Log_FieldPathSelectorTime:
  1081  		for _, v := range fpaov.values.([]*timestamppb.Timestamp) {
  1082  			values = append(values, v)
  1083  		}
  1084  	case Log_FieldPathSelectorJsonPayload:
  1085  		for _, v := range fpaov.values.([]*structpb.Struct) {
  1086  			values = append(values, v)
  1087  		}
  1088  	case Log_FieldPathSelectorPbPayload:
  1089  		for _, v := range fpaov.values.([]*anypb.Any) {
  1090  			values = append(values, v)
  1091  		}
  1092  	case Log_FieldPathSelectorStringPayload:
  1093  		for _, v := range fpaov.values.([]string) {
  1094  			values = append(values, v)
  1095  		}
  1096  	case Log_FieldPathSelectorBytesPayload:
  1097  		for _, v := range fpaov.values.([][]byte) {
  1098  			values = append(values, v)
  1099  		}
  1100  	case Log_FieldPathSelectorBinKey:
  1101  		for _, v := range fpaov.values.([]string) {
  1102  			values = append(values, v)
  1103  		}
  1104  	}
  1105  	return
  1106  }
  1107  func (fpaov *Log_FieldTerminalPathArrayOfValues) AsNameArrayOfValues() ([]*Name, bool) {
  1108  	res, ok := fpaov.values.([]*Name)
  1109  	return res, ok
  1110  }
  1111  func (fpaov *Log_FieldTerminalPathArrayOfValues) AsScopeArrayOfValues() ([]string, bool) {
  1112  	res, ok := fpaov.values.([]string)
  1113  	return res, ok
  1114  }
  1115  func (fpaov *Log_FieldTerminalPathArrayOfValues) AsServiceArrayOfValues() ([]string, bool) {
  1116  	res, ok := fpaov.values.([]string)
  1117  	return res, ok
  1118  }
  1119  func (fpaov *Log_FieldTerminalPathArrayOfValues) AsRegionArrayOfValues() ([]string, bool) {
  1120  	res, ok := fpaov.values.([]string)
  1121  	return res, ok
  1122  }
  1123  func (fpaov *Log_FieldTerminalPathArrayOfValues) AsVersionArrayOfValues() ([]string, bool) {
  1124  	res, ok := fpaov.values.([]string)
  1125  	return res, ok
  1126  }
  1127  func (fpaov *Log_FieldTerminalPathArrayOfValues) AsLogDescriptorArrayOfValues() ([]*log_descriptor.Reference, bool) {
  1128  	res, ok := fpaov.values.([]*log_descriptor.Reference)
  1129  	return res, ok
  1130  }
  1131  func (fpaov *Log_FieldTerminalPathArrayOfValues) AsLabelsArrayOfValues() ([]map[string]string, bool) {
  1132  	res, ok := fpaov.values.([]map[string]string)
  1133  	return res, ok
  1134  }
  1135  func (fpaov *Log_FieldTerminalPathArrayOfValues) AsTimeArrayOfValues() ([]*timestamppb.Timestamp, bool) {
  1136  	res, ok := fpaov.values.([]*timestamppb.Timestamp)
  1137  	return res, ok
  1138  }
  1139  func (fpaov *Log_FieldTerminalPathArrayOfValues) AsJsonPayloadArrayOfValues() ([]*structpb.Struct, bool) {
  1140  	res, ok := fpaov.values.([]*structpb.Struct)
  1141  	return res, ok
  1142  }
  1143  func (fpaov *Log_FieldTerminalPathArrayOfValues) AsPbPayloadArrayOfValues() ([]*anypb.Any, bool) {
  1144  	res, ok := fpaov.values.([]*anypb.Any)
  1145  	return res, ok
  1146  }
  1147  func (fpaov *Log_FieldTerminalPathArrayOfValues) AsStringPayloadArrayOfValues() ([]string, bool) {
  1148  	res, ok := fpaov.values.([]string)
  1149  	return res, ok
  1150  }
  1151  func (fpaov *Log_FieldTerminalPathArrayOfValues) AsBytesPayloadArrayOfValues() ([][]byte, bool) {
  1152  	res, ok := fpaov.values.([][]byte)
  1153  	return res, ok
  1154  }
  1155  func (fpaov *Log_FieldTerminalPathArrayOfValues) AsBinKeyArrayOfValues() ([]string, bool) {
  1156  	res, ok := fpaov.values.([]string)
  1157  	return res, ok
  1158  }
  1159  
  1160  type Log_FieldPathMapArrayOfValues struct {
  1161  	Log_FieldPathMap
  1162  	values interface{}
  1163  }
  1164  
  1165  var _ Log_FieldPathArrayOfValues = (*Log_FieldPathMapArrayOfValues)(nil)
  1166  
  1167  func (fpmaov *Log_FieldPathMapArrayOfValues) GetRawValues() (values []interface{}) {
  1168  	switch fpmaov.selector {
  1169  	case Log_FieldPathSelectorLabels:
  1170  		for _, v := range fpmaov.values.([]string) {
  1171  			values = append(values, v)
  1172  		}
  1173  	}
  1174  	return
  1175  }
  1176  func (fpmaov *Log_FieldPathMapArrayOfValues) AsLabelsArrayOfElementValues() ([]string, bool) {
  1177  	res, ok := fpmaov.values.([]string)
  1178  	return res, ok
  1179  }