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