github.com/cloudwan/edgelq-sdk@v1.15.4/logging/resources/v1/log_descriptor/log_descriptor.pb.fieldpath.go (about) 1 // Code generated by protoc-gen-goten-object 2 // File: edgelq/logging/proto/v1/log_descriptor.proto 3 // DO NOT EDIT!!! 4 5 package log_descriptor 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 common "github.com/cloudwan/edgelq-sdk/logging/resources/v1/common" 29 meta_service "github.com/cloudwan/goten-sdk/meta-service/resources/v1/service" 30 meta "github.com/cloudwan/goten-sdk/types/meta" 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 _ = &common.LabelDescriptor{} 56 _ = &meta_service.Service{} 57 _ = &meta.Meta{} 58 ) 59 60 // FieldPath provides implementation to handle 61 // https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto 62 type LogDescriptor_FieldPath interface { 63 gotenobject.FieldPath 64 Selector() LogDescriptor_FieldPathSelector 65 Get(source *LogDescriptor) []interface{} 66 GetSingle(source *LogDescriptor) (interface{}, bool) 67 ClearValue(item *LogDescriptor) 68 69 // Those methods build corresponding LogDescriptor_FieldPathValue 70 // (or array of values) and holds passed value. Panics if injected type is incorrect. 71 WithIValue(value interface{}) LogDescriptor_FieldPathValue 72 WithIArrayOfValues(values interface{}) LogDescriptor_FieldPathArrayOfValues 73 WithIArrayItemValue(value interface{}) LogDescriptor_FieldPathArrayItemValue 74 } 75 76 type LogDescriptor_FieldPathSelector int32 77 78 const ( 79 LogDescriptor_FieldPathSelectorName LogDescriptor_FieldPathSelector = 0 80 LogDescriptor_FieldPathSelectorMetadata LogDescriptor_FieldPathSelector = 1 81 LogDescriptor_FieldPathSelectorDisplayName LogDescriptor_FieldPathSelector = 2 82 LogDescriptor_FieldPathSelectorDescription LogDescriptor_FieldPathSelector = 3 83 LogDescriptor_FieldPathSelectorLabels LogDescriptor_FieldPathSelector = 4 84 LogDescriptor_FieldPathSelectorPromotedLabelKeySets LogDescriptor_FieldPathSelector = 5 85 ) 86 87 func (s LogDescriptor_FieldPathSelector) String() string { 88 switch s { 89 case LogDescriptor_FieldPathSelectorName: 90 return "name" 91 case LogDescriptor_FieldPathSelectorMetadata: 92 return "metadata" 93 case LogDescriptor_FieldPathSelectorDisplayName: 94 return "display_name" 95 case LogDescriptor_FieldPathSelectorDescription: 96 return "description" 97 case LogDescriptor_FieldPathSelectorLabels: 98 return "labels" 99 case LogDescriptor_FieldPathSelectorPromotedLabelKeySets: 100 return "promoted_label_key_sets" 101 default: 102 panic(fmt.Sprintf("Invalid selector for LogDescriptor: %d", s)) 103 } 104 } 105 106 func BuildLogDescriptor_FieldPath(fp gotenobject.RawFieldPath) (LogDescriptor_FieldPath, error) { 107 if len(fp) == 0 { 108 return nil, status.Error(codes.InvalidArgument, "empty field path for object LogDescriptor") 109 } 110 if len(fp) == 1 { 111 switch fp[0] { 112 case "name": 113 return &LogDescriptor_FieldTerminalPath{selector: LogDescriptor_FieldPathSelectorName}, nil 114 case "metadata": 115 return &LogDescriptor_FieldTerminalPath{selector: LogDescriptor_FieldPathSelectorMetadata}, nil 116 case "display_name", "displayName", "display-name": 117 return &LogDescriptor_FieldTerminalPath{selector: LogDescriptor_FieldPathSelectorDisplayName}, nil 118 case "description": 119 return &LogDescriptor_FieldTerminalPath{selector: LogDescriptor_FieldPathSelectorDescription}, nil 120 case "labels": 121 return &LogDescriptor_FieldTerminalPath{selector: LogDescriptor_FieldPathSelectorLabels}, nil 122 case "promoted_label_key_sets", "promotedLabelKeySets", "promoted-label-key-sets": 123 return &LogDescriptor_FieldTerminalPath{selector: LogDescriptor_FieldPathSelectorPromotedLabelKeySets}, nil 124 } 125 } else { 126 switch fp[0] { 127 case "metadata": 128 if subpath, err := meta.BuildMeta_FieldPath(fp[1:]); err != nil { 129 return nil, err 130 } else { 131 return &LogDescriptor_FieldSubPath{selector: LogDescriptor_FieldPathSelectorMetadata, subPath: subpath}, nil 132 } 133 case "labels": 134 if subpath, err := common.BuildLabelDescriptor_FieldPath(fp[1:]); err != nil { 135 return nil, err 136 } else { 137 return &LogDescriptor_FieldSubPath{selector: LogDescriptor_FieldPathSelectorLabels, subPath: subpath}, nil 138 } 139 case "promoted_label_key_sets", "promotedLabelKeySets", "promoted-label-key-sets": 140 if subpath, err := common.BuildLabelKeySet_FieldPath(fp[1:]); err != nil { 141 return nil, err 142 } else { 143 return &LogDescriptor_FieldSubPath{selector: LogDescriptor_FieldPathSelectorPromotedLabelKeySets, subPath: subpath}, nil 144 } 145 } 146 } 147 return nil, status.Errorf(codes.InvalidArgument, "unknown field path '%s' for object LogDescriptor", fp) 148 } 149 150 func ParseLogDescriptor_FieldPath(rawField string) (LogDescriptor_FieldPath, error) { 151 fp, err := gotenobject.ParseRawFieldPath(rawField) 152 if err != nil { 153 return nil, err 154 } 155 return BuildLogDescriptor_FieldPath(fp) 156 } 157 158 func MustParseLogDescriptor_FieldPath(rawField string) LogDescriptor_FieldPath { 159 fp, err := ParseLogDescriptor_FieldPath(rawField) 160 if err != nil { 161 panic(err) 162 } 163 return fp 164 } 165 166 type LogDescriptor_FieldTerminalPath struct { 167 selector LogDescriptor_FieldPathSelector 168 } 169 170 var _ LogDescriptor_FieldPath = (*LogDescriptor_FieldTerminalPath)(nil) 171 172 func (fp *LogDescriptor_FieldTerminalPath) Selector() LogDescriptor_FieldPathSelector { 173 return fp.selector 174 } 175 176 // String returns path representation in proto convention 177 func (fp *LogDescriptor_FieldTerminalPath) String() string { 178 return fp.selector.String() 179 } 180 181 // JSONString returns path representation is JSON convention 182 func (fp *LogDescriptor_FieldTerminalPath) JSONString() string { 183 return strcase.ToLowerCamel(fp.String()) 184 } 185 186 // Get returns all values pointed by specific field from source LogDescriptor 187 func (fp *LogDescriptor_FieldTerminalPath) Get(source *LogDescriptor) (values []interface{}) { 188 if source != nil { 189 switch fp.selector { 190 case LogDescriptor_FieldPathSelectorName: 191 if source.Name != nil { 192 values = append(values, source.Name) 193 } 194 case LogDescriptor_FieldPathSelectorMetadata: 195 if source.Metadata != nil { 196 values = append(values, source.Metadata) 197 } 198 case LogDescriptor_FieldPathSelectorDisplayName: 199 values = append(values, source.DisplayName) 200 case LogDescriptor_FieldPathSelectorDescription: 201 values = append(values, source.Description) 202 case LogDescriptor_FieldPathSelectorLabels: 203 for _, value := range source.GetLabels() { 204 values = append(values, value) 205 } 206 case LogDescriptor_FieldPathSelectorPromotedLabelKeySets: 207 for _, value := range source.GetPromotedLabelKeySets() { 208 values = append(values, value) 209 } 210 default: 211 panic(fmt.Sprintf("Invalid selector for LogDescriptor: %d", fp.selector)) 212 } 213 } 214 return 215 } 216 217 func (fp *LogDescriptor_FieldTerminalPath) GetRaw(source proto.Message) []interface{} { 218 return fp.Get(source.(*LogDescriptor)) 219 } 220 221 // GetSingle returns value pointed by specific field of from source LogDescriptor 222 func (fp *LogDescriptor_FieldTerminalPath) GetSingle(source *LogDescriptor) (interface{}, bool) { 223 switch fp.selector { 224 case LogDescriptor_FieldPathSelectorName: 225 res := source.GetName() 226 return res, res != nil 227 case LogDescriptor_FieldPathSelectorMetadata: 228 res := source.GetMetadata() 229 return res, res != nil 230 case LogDescriptor_FieldPathSelectorDisplayName: 231 return source.GetDisplayName(), source != nil 232 case LogDescriptor_FieldPathSelectorDescription: 233 return source.GetDescription(), source != nil 234 case LogDescriptor_FieldPathSelectorLabels: 235 res := source.GetLabels() 236 return res, res != nil 237 case LogDescriptor_FieldPathSelectorPromotedLabelKeySets: 238 res := source.GetPromotedLabelKeySets() 239 return res, res != nil 240 default: 241 panic(fmt.Sprintf("Invalid selector for LogDescriptor: %d", fp.selector)) 242 } 243 } 244 245 func (fp *LogDescriptor_FieldTerminalPath) GetSingleRaw(source proto.Message) (interface{}, bool) { 246 return fp.GetSingle(source.(*LogDescriptor)) 247 } 248 249 // GetDefault returns a default value of the field type 250 func (fp *LogDescriptor_FieldTerminalPath) GetDefault() interface{} { 251 switch fp.selector { 252 case LogDescriptor_FieldPathSelectorName: 253 return (*Name)(nil) 254 case LogDescriptor_FieldPathSelectorMetadata: 255 return (*meta.Meta)(nil) 256 case LogDescriptor_FieldPathSelectorDisplayName: 257 return "" 258 case LogDescriptor_FieldPathSelectorDescription: 259 return "" 260 case LogDescriptor_FieldPathSelectorLabels: 261 return ([]*common.LabelDescriptor)(nil) 262 case LogDescriptor_FieldPathSelectorPromotedLabelKeySets: 263 return ([]*common.LabelKeySet)(nil) 264 default: 265 panic(fmt.Sprintf("Invalid selector for LogDescriptor: %d", fp.selector)) 266 } 267 } 268 269 func (fp *LogDescriptor_FieldTerminalPath) ClearValue(item *LogDescriptor) { 270 if item != nil { 271 switch fp.selector { 272 case LogDescriptor_FieldPathSelectorName: 273 item.Name = nil 274 case LogDescriptor_FieldPathSelectorMetadata: 275 item.Metadata = nil 276 case LogDescriptor_FieldPathSelectorDisplayName: 277 item.DisplayName = "" 278 case LogDescriptor_FieldPathSelectorDescription: 279 item.Description = "" 280 case LogDescriptor_FieldPathSelectorLabels: 281 item.Labels = nil 282 case LogDescriptor_FieldPathSelectorPromotedLabelKeySets: 283 item.PromotedLabelKeySets = nil 284 default: 285 panic(fmt.Sprintf("Invalid selector for LogDescriptor: %d", fp.selector)) 286 } 287 } 288 } 289 290 func (fp *LogDescriptor_FieldTerminalPath) ClearValueRaw(item proto.Message) { 291 fp.ClearValue(item.(*LogDescriptor)) 292 } 293 294 // IsLeaf - whether field path is holds simple value 295 func (fp *LogDescriptor_FieldTerminalPath) IsLeaf() bool { 296 return fp.selector == LogDescriptor_FieldPathSelectorName || 297 fp.selector == LogDescriptor_FieldPathSelectorDisplayName || 298 fp.selector == LogDescriptor_FieldPathSelectorDescription 299 } 300 301 func (fp *LogDescriptor_FieldTerminalPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath { 302 return []gotenobject.FieldPath{fp} 303 } 304 305 func (fp *LogDescriptor_FieldTerminalPath) WithIValue(value interface{}) LogDescriptor_FieldPathValue { 306 switch fp.selector { 307 case LogDescriptor_FieldPathSelectorName: 308 return &LogDescriptor_FieldTerminalPathValue{LogDescriptor_FieldTerminalPath: *fp, value: value.(*Name)} 309 case LogDescriptor_FieldPathSelectorMetadata: 310 return &LogDescriptor_FieldTerminalPathValue{LogDescriptor_FieldTerminalPath: *fp, value: value.(*meta.Meta)} 311 case LogDescriptor_FieldPathSelectorDisplayName: 312 return &LogDescriptor_FieldTerminalPathValue{LogDescriptor_FieldTerminalPath: *fp, value: value.(string)} 313 case LogDescriptor_FieldPathSelectorDescription: 314 return &LogDescriptor_FieldTerminalPathValue{LogDescriptor_FieldTerminalPath: *fp, value: value.(string)} 315 case LogDescriptor_FieldPathSelectorLabels: 316 return &LogDescriptor_FieldTerminalPathValue{LogDescriptor_FieldTerminalPath: *fp, value: value.([]*common.LabelDescriptor)} 317 case LogDescriptor_FieldPathSelectorPromotedLabelKeySets: 318 return &LogDescriptor_FieldTerminalPathValue{LogDescriptor_FieldTerminalPath: *fp, value: value.([]*common.LabelKeySet)} 319 default: 320 panic(fmt.Sprintf("Invalid selector for LogDescriptor: %d", fp.selector)) 321 } 322 } 323 324 func (fp *LogDescriptor_FieldTerminalPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue { 325 return fp.WithIValue(value) 326 } 327 328 func (fp *LogDescriptor_FieldTerminalPath) WithIArrayOfValues(values interface{}) LogDescriptor_FieldPathArrayOfValues { 329 fpaov := &LogDescriptor_FieldTerminalPathArrayOfValues{LogDescriptor_FieldTerminalPath: *fp} 330 switch fp.selector { 331 case LogDescriptor_FieldPathSelectorName: 332 return &LogDescriptor_FieldTerminalPathArrayOfValues{LogDescriptor_FieldTerminalPath: *fp, values: values.([]*Name)} 333 case LogDescriptor_FieldPathSelectorMetadata: 334 return &LogDescriptor_FieldTerminalPathArrayOfValues{LogDescriptor_FieldTerminalPath: *fp, values: values.([]*meta.Meta)} 335 case LogDescriptor_FieldPathSelectorDisplayName: 336 return &LogDescriptor_FieldTerminalPathArrayOfValues{LogDescriptor_FieldTerminalPath: *fp, values: values.([]string)} 337 case LogDescriptor_FieldPathSelectorDescription: 338 return &LogDescriptor_FieldTerminalPathArrayOfValues{LogDescriptor_FieldTerminalPath: *fp, values: values.([]string)} 339 case LogDescriptor_FieldPathSelectorLabels: 340 return &LogDescriptor_FieldTerminalPathArrayOfValues{LogDescriptor_FieldTerminalPath: *fp, values: values.([][]*common.LabelDescriptor)} 341 case LogDescriptor_FieldPathSelectorPromotedLabelKeySets: 342 return &LogDescriptor_FieldTerminalPathArrayOfValues{LogDescriptor_FieldTerminalPath: *fp, values: values.([][]*common.LabelKeySet)} 343 default: 344 panic(fmt.Sprintf("Invalid selector for LogDescriptor: %d", fp.selector)) 345 } 346 return fpaov 347 } 348 349 func (fp *LogDescriptor_FieldTerminalPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues { 350 return fp.WithIArrayOfValues(values) 351 } 352 353 func (fp *LogDescriptor_FieldTerminalPath) WithIArrayItemValue(value interface{}) LogDescriptor_FieldPathArrayItemValue { 354 switch fp.selector { 355 case LogDescriptor_FieldPathSelectorLabels: 356 return &LogDescriptor_FieldTerminalPathArrayItemValue{LogDescriptor_FieldTerminalPath: *fp, value: value.(*common.LabelDescriptor)} 357 case LogDescriptor_FieldPathSelectorPromotedLabelKeySets: 358 return &LogDescriptor_FieldTerminalPathArrayItemValue{LogDescriptor_FieldTerminalPath: *fp, value: value.(*common.LabelKeySet)} 359 default: 360 panic(fmt.Sprintf("Invalid selector for LogDescriptor: %d", fp.selector)) 361 } 362 } 363 364 func (fp *LogDescriptor_FieldTerminalPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue { 365 return fp.WithIArrayItemValue(value) 366 } 367 368 type LogDescriptor_FieldSubPath struct { 369 selector LogDescriptor_FieldPathSelector 370 subPath gotenobject.FieldPath 371 } 372 373 var _ LogDescriptor_FieldPath = (*LogDescriptor_FieldSubPath)(nil) 374 375 func (fps *LogDescriptor_FieldSubPath) Selector() LogDescriptor_FieldPathSelector { 376 return fps.selector 377 } 378 func (fps *LogDescriptor_FieldSubPath) AsMetadataSubPath() (meta.Meta_FieldPath, bool) { 379 res, ok := fps.subPath.(meta.Meta_FieldPath) 380 return res, ok 381 } 382 func (fps *LogDescriptor_FieldSubPath) AsLabelsSubPath() (common.LabelDescriptor_FieldPath, bool) { 383 res, ok := fps.subPath.(common.LabelDescriptor_FieldPath) 384 return res, ok 385 } 386 func (fps *LogDescriptor_FieldSubPath) AsPromotedLabelKeySetsSubPath() (common.LabelKeySet_FieldPath, bool) { 387 res, ok := fps.subPath.(common.LabelKeySet_FieldPath) 388 return res, ok 389 } 390 391 // String returns path representation in proto convention 392 func (fps *LogDescriptor_FieldSubPath) String() string { 393 return fps.selector.String() + "." + fps.subPath.String() 394 } 395 396 // JSONString returns path representation is JSON convention 397 func (fps *LogDescriptor_FieldSubPath) JSONString() string { 398 return strcase.ToLowerCamel(fps.selector.String()) + "." + fps.subPath.JSONString() 399 } 400 401 // Get returns all values pointed by selected field from source LogDescriptor 402 func (fps *LogDescriptor_FieldSubPath) Get(source *LogDescriptor) (values []interface{}) { 403 switch fps.selector { 404 case LogDescriptor_FieldPathSelectorMetadata: 405 values = append(values, fps.subPath.GetRaw(source.GetMetadata())...) 406 case LogDescriptor_FieldPathSelectorLabels: 407 for _, item := range source.GetLabels() { 408 values = append(values, fps.subPath.GetRaw(item)...) 409 } 410 case LogDescriptor_FieldPathSelectorPromotedLabelKeySets: 411 for _, item := range source.GetPromotedLabelKeySets() { 412 values = append(values, fps.subPath.GetRaw(item)...) 413 } 414 default: 415 panic(fmt.Sprintf("Invalid selector for LogDescriptor: %d", fps.selector)) 416 } 417 return 418 } 419 420 func (fps *LogDescriptor_FieldSubPath) GetRaw(source proto.Message) []interface{} { 421 return fps.Get(source.(*LogDescriptor)) 422 } 423 424 // GetSingle returns value of selected field from source LogDescriptor 425 func (fps *LogDescriptor_FieldSubPath) GetSingle(source *LogDescriptor) (interface{}, bool) { 426 switch fps.selector { 427 case LogDescriptor_FieldPathSelectorMetadata: 428 if source.GetMetadata() == nil { 429 return nil, false 430 } 431 return fps.subPath.GetSingleRaw(source.GetMetadata()) 432 case LogDescriptor_FieldPathSelectorLabels: 433 if len(source.GetLabels()) == 0 { 434 return nil, false 435 } 436 return fps.subPath.GetSingleRaw(source.GetLabels()[0]) 437 case LogDescriptor_FieldPathSelectorPromotedLabelKeySets: 438 if len(source.GetPromotedLabelKeySets()) == 0 { 439 return nil, false 440 } 441 return fps.subPath.GetSingleRaw(source.GetPromotedLabelKeySets()[0]) 442 default: 443 panic(fmt.Sprintf("Invalid selector for LogDescriptor: %d", fps.selector)) 444 } 445 } 446 447 func (fps *LogDescriptor_FieldSubPath) GetSingleRaw(source proto.Message) (interface{}, bool) { 448 return fps.GetSingle(source.(*LogDescriptor)) 449 } 450 451 // GetDefault returns a default value of the field type 452 func (fps *LogDescriptor_FieldSubPath) GetDefault() interface{} { 453 return fps.subPath.GetDefault() 454 } 455 456 func (fps *LogDescriptor_FieldSubPath) ClearValue(item *LogDescriptor) { 457 if item != nil { 458 switch fps.selector { 459 case LogDescriptor_FieldPathSelectorMetadata: 460 fps.subPath.ClearValueRaw(item.Metadata) 461 case LogDescriptor_FieldPathSelectorLabels: 462 for _, subItem := range item.Labels { 463 fps.subPath.ClearValueRaw(subItem) 464 } 465 case LogDescriptor_FieldPathSelectorPromotedLabelKeySets: 466 for _, subItem := range item.PromotedLabelKeySets { 467 fps.subPath.ClearValueRaw(subItem) 468 } 469 default: 470 panic(fmt.Sprintf("Invalid selector for LogDescriptor: %d", fps.selector)) 471 } 472 } 473 } 474 475 func (fps *LogDescriptor_FieldSubPath) ClearValueRaw(item proto.Message) { 476 fps.ClearValue(item.(*LogDescriptor)) 477 } 478 479 // IsLeaf - whether field path is holds simple value 480 func (fps *LogDescriptor_FieldSubPath) IsLeaf() bool { 481 return fps.subPath.IsLeaf() 482 } 483 484 func (fps *LogDescriptor_FieldSubPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath { 485 iPaths := []gotenobject.FieldPath{&LogDescriptor_FieldTerminalPath{selector: fps.selector}} 486 iPaths = append(iPaths, fps.subPath.SplitIntoTerminalIPaths()...) 487 return iPaths 488 } 489 490 func (fps *LogDescriptor_FieldSubPath) WithIValue(value interface{}) LogDescriptor_FieldPathValue { 491 return &LogDescriptor_FieldSubPathValue{fps, fps.subPath.WithRawIValue(value)} 492 } 493 494 func (fps *LogDescriptor_FieldSubPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue { 495 return fps.WithIValue(value) 496 } 497 498 func (fps *LogDescriptor_FieldSubPath) WithIArrayOfValues(values interface{}) LogDescriptor_FieldPathArrayOfValues { 499 return &LogDescriptor_FieldSubPathArrayOfValues{fps, fps.subPath.WithRawIArrayOfValues(values)} 500 } 501 502 func (fps *LogDescriptor_FieldSubPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues { 503 return fps.WithIArrayOfValues(values) 504 } 505 506 func (fps *LogDescriptor_FieldSubPath) WithIArrayItemValue(value interface{}) LogDescriptor_FieldPathArrayItemValue { 507 return &LogDescriptor_FieldSubPathArrayItemValue{fps, fps.subPath.WithRawIArrayItemValue(value)} 508 } 509 510 func (fps *LogDescriptor_FieldSubPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue { 511 return fps.WithIArrayItemValue(value) 512 } 513 514 // LogDescriptor_FieldPathValue allows storing values for LogDescriptor fields according to their type 515 type LogDescriptor_FieldPathValue interface { 516 LogDescriptor_FieldPath 517 gotenobject.FieldPathValue 518 SetTo(target **LogDescriptor) 519 CompareWith(*LogDescriptor) (cmp int, comparable bool) 520 } 521 522 func ParseLogDescriptor_FieldPathValue(pathStr, valueStr string) (LogDescriptor_FieldPathValue, error) { 523 fp, err := ParseLogDescriptor_FieldPath(pathStr) 524 if err != nil { 525 return nil, err 526 } 527 fpv, err := gotenobject.ParseFieldPathValue(fp, valueStr) 528 if err != nil { 529 return nil, status.Errorf(codes.InvalidArgument, "error parsing LogDescriptor field path value from %s: %v", valueStr, err) 530 } 531 return fpv.(LogDescriptor_FieldPathValue), nil 532 } 533 534 func MustParseLogDescriptor_FieldPathValue(pathStr, valueStr string) LogDescriptor_FieldPathValue { 535 fpv, err := ParseLogDescriptor_FieldPathValue(pathStr, valueStr) 536 if err != nil { 537 panic(err) 538 } 539 return fpv 540 } 541 542 type LogDescriptor_FieldTerminalPathValue struct { 543 LogDescriptor_FieldTerminalPath 544 value interface{} 545 } 546 547 var _ LogDescriptor_FieldPathValue = (*LogDescriptor_FieldTerminalPathValue)(nil) 548 549 // GetRawValue returns raw value stored under selected path for 'LogDescriptor' as interface{} 550 func (fpv *LogDescriptor_FieldTerminalPathValue) GetRawValue() interface{} { 551 return fpv.value 552 } 553 func (fpv *LogDescriptor_FieldTerminalPathValue) AsNameValue() (*Name, bool) { 554 res, ok := fpv.value.(*Name) 555 return res, ok 556 } 557 func (fpv *LogDescriptor_FieldTerminalPathValue) AsMetadataValue() (*meta.Meta, bool) { 558 res, ok := fpv.value.(*meta.Meta) 559 return res, ok 560 } 561 func (fpv *LogDescriptor_FieldTerminalPathValue) AsDisplayNameValue() (string, bool) { 562 res, ok := fpv.value.(string) 563 return res, ok 564 } 565 func (fpv *LogDescriptor_FieldTerminalPathValue) AsDescriptionValue() (string, bool) { 566 res, ok := fpv.value.(string) 567 return res, ok 568 } 569 func (fpv *LogDescriptor_FieldTerminalPathValue) AsLabelsValue() ([]*common.LabelDescriptor, bool) { 570 res, ok := fpv.value.([]*common.LabelDescriptor) 571 return res, ok 572 } 573 func (fpv *LogDescriptor_FieldTerminalPathValue) AsPromotedLabelKeySetsValue() ([]*common.LabelKeySet, bool) { 574 res, ok := fpv.value.([]*common.LabelKeySet) 575 return res, ok 576 } 577 578 // SetTo stores value for selected field for object LogDescriptor 579 func (fpv *LogDescriptor_FieldTerminalPathValue) SetTo(target **LogDescriptor) { 580 if *target == nil { 581 *target = new(LogDescriptor) 582 } 583 switch fpv.selector { 584 case LogDescriptor_FieldPathSelectorName: 585 (*target).Name = fpv.value.(*Name) 586 case LogDescriptor_FieldPathSelectorMetadata: 587 (*target).Metadata = fpv.value.(*meta.Meta) 588 case LogDescriptor_FieldPathSelectorDisplayName: 589 (*target).DisplayName = fpv.value.(string) 590 case LogDescriptor_FieldPathSelectorDescription: 591 (*target).Description = fpv.value.(string) 592 case LogDescriptor_FieldPathSelectorLabels: 593 (*target).Labels = fpv.value.([]*common.LabelDescriptor) 594 case LogDescriptor_FieldPathSelectorPromotedLabelKeySets: 595 (*target).PromotedLabelKeySets = fpv.value.([]*common.LabelKeySet) 596 default: 597 panic(fmt.Sprintf("Invalid selector for LogDescriptor: %d", fpv.selector)) 598 } 599 } 600 601 func (fpv *LogDescriptor_FieldTerminalPathValue) SetToRaw(target proto.Message) { 602 typedObject := target.(*LogDescriptor) 603 fpv.SetTo(&typedObject) 604 } 605 606 // CompareWith compares value in the 'LogDescriptor_FieldTerminalPathValue' with the value under path in 'LogDescriptor'. 607 func (fpv *LogDescriptor_FieldTerminalPathValue) CompareWith(source *LogDescriptor) (int, bool) { 608 switch fpv.selector { 609 case LogDescriptor_FieldPathSelectorName: 610 leftValue := fpv.value.(*Name) 611 rightValue := source.GetName() 612 if leftValue == nil { 613 if rightValue != nil { 614 return -1, true 615 } 616 return 0, true 617 } 618 if rightValue == nil { 619 return 1, true 620 } 621 if leftValue.String() == rightValue.String() { 622 return 0, true 623 } else if leftValue.String() < rightValue.String() { 624 return -1, true 625 } else { 626 return 1, true 627 } 628 case LogDescriptor_FieldPathSelectorMetadata: 629 return 0, false 630 case LogDescriptor_FieldPathSelectorDisplayName: 631 leftValue := fpv.value.(string) 632 rightValue := source.GetDisplayName() 633 if (leftValue) == (rightValue) { 634 return 0, true 635 } else if (leftValue) < (rightValue) { 636 return -1, true 637 } else { 638 return 1, true 639 } 640 case LogDescriptor_FieldPathSelectorDescription: 641 leftValue := fpv.value.(string) 642 rightValue := source.GetDescription() 643 if (leftValue) == (rightValue) { 644 return 0, true 645 } else if (leftValue) < (rightValue) { 646 return -1, true 647 } else { 648 return 1, true 649 } 650 case LogDescriptor_FieldPathSelectorLabels: 651 return 0, false 652 case LogDescriptor_FieldPathSelectorPromotedLabelKeySets: 653 return 0, false 654 default: 655 panic(fmt.Sprintf("Invalid selector for LogDescriptor: %d", fpv.selector)) 656 } 657 } 658 659 func (fpv *LogDescriptor_FieldTerminalPathValue) CompareWithRaw(source proto.Message) (int, bool) { 660 return fpv.CompareWith(source.(*LogDescriptor)) 661 } 662 663 type LogDescriptor_FieldSubPathValue struct { 664 LogDescriptor_FieldPath 665 subPathValue gotenobject.FieldPathValue 666 } 667 668 var _ LogDescriptor_FieldPathValue = (*LogDescriptor_FieldSubPathValue)(nil) 669 670 func (fpvs *LogDescriptor_FieldSubPathValue) AsMetadataPathValue() (meta.Meta_FieldPathValue, bool) { 671 res, ok := fpvs.subPathValue.(meta.Meta_FieldPathValue) 672 return res, ok 673 } 674 func (fpvs *LogDescriptor_FieldSubPathValue) AsLabelsPathValue() (common.LabelDescriptor_FieldPathValue, bool) { 675 res, ok := fpvs.subPathValue.(common.LabelDescriptor_FieldPathValue) 676 return res, ok 677 } 678 func (fpvs *LogDescriptor_FieldSubPathValue) AsPromotedLabelKeySetsPathValue() (common.LabelKeySet_FieldPathValue, bool) { 679 res, ok := fpvs.subPathValue.(common.LabelKeySet_FieldPathValue) 680 return res, ok 681 } 682 683 func (fpvs *LogDescriptor_FieldSubPathValue) SetTo(target **LogDescriptor) { 684 if *target == nil { 685 *target = new(LogDescriptor) 686 } 687 switch fpvs.Selector() { 688 case LogDescriptor_FieldPathSelectorMetadata: 689 fpvs.subPathValue.(meta.Meta_FieldPathValue).SetTo(&(*target).Metadata) 690 case LogDescriptor_FieldPathSelectorLabels: 691 panic("FieldPath setter is unsupported for array subpaths") 692 case LogDescriptor_FieldPathSelectorPromotedLabelKeySets: 693 panic("FieldPath setter is unsupported for array subpaths") 694 default: 695 panic(fmt.Sprintf("Invalid selector for LogDescriptor: %d", fpvs.Selector())) 696 } 697 } 698 699 func (fpvs *LogDescriptor_FieldSubPathValue) SetToRaw(target proto.Message) { 700 typedObject := target.(*LogDescriptor) 701 fpvs.SetTo(&typedObject) 702 } 703 704 func (fpvs *LogDescriptor_FieldSubPathValue) GetRawValue() interface{} { 705 return fpvs.subPathValue.GetRawValue() 706 } 707 708 func (fpvs *LogDescriptor_FieldSubPathValue) CompareWith(source *LogDescriptor) (int, bool) { 709 switch fpvs.Selector() { 710 case LogDescriptor_FieldPathSelectorMetadata: 711 return fpvs.subPathValue.(meta.Meta_FieldPathValue).CompareWith(source.GetMetadata()) 712 case LogDescriptor_FieldPathSelectorLabels: 713 return 0, false // repeated field 714 case LogDescriptor_FieldPathSelectorPromotedLabelKeySets: 715 return 0, false // repeated field 716 default: 717 panic(fmt.Sprintf("Invalid selector for LogDescriptor: %d", fpvs.Selector())) 718 } 719 } 720 721 func (fpvs *LogDescriptor_FieldSubPathValue) CompareWithRaw(source proto.Message) (int, bool) { 722 return fpvs.CompareWith(source.(*LogDescriptor)) 723 } 724 725 // LogDescriptor_FieldPathArrayItemValue allows storing single item in Path-specific values for LogDescriptor according to their type 726 // Present only for array (repeated) types. 727 type LogDescriptor_FieldPathArrayItemValue interface { 728 gotenobject.FieldPathArrayItemValue 729 LogDescriptor_FieldPath 730 ContainsValue(*LogDescriptor) bool 731 } 732 733 // ParseLogDescriptor_FieldPathArrayItemValue parses string and JSON-encoded value to its Value 734 func ParseLogDescriptor_FieldPathArrayItemValue(pathStr, valueStr string) (LogDescriptor_FieldPathArrayItemValue, error) { 735 fp, err := ParseLogDescriptor_FieldPath(pathStr) 736 if err != nil { 737 return nil, err 738 } 739 fpaiv, err := gotenobject.ParseFieldPathArrayItemValue(fp, valueStr) 740 if err != nil { 741 return nil, status.Errorf(codes.InvalidArgument, "error parsing LogDescriptor field path array item value from %s: %v", valueStr, err) 742 } 743 return fpaiv.(LogDescriptor_FieldPathArrayItemValue), nil 744 } 745 746 func MustParseLogDescriptor_FieldPathArrayItemValue(pathStr, valueStr string) LogDescriptor_FieldPathArrayItemValue { 747 fpaiv, err := ParseLogDescriptor_FieldPathArrayItemValue(pathStr, valueStr) 748 if err != nil { 749 panic(err) 750 } 751 return fpaiv 752 } 753 754 type LogDescriptor_FieldTerminalPathArrayItemValue struct { 755 LogDescriptor_FieldTerminalPath 756 value interface{} 757 } 758 759 var _ LogDescriptor_FieldPathArrayItemValue = (*LogDescriptor_FieldTerminalPathArrayItemValue)(nil) 760 761 // GetRawValue returns stored element value for array in object LogDescriptor as interface{} 762 func (fpaiv *LogDescriptor_FieldTerminalPathArrayItemValue) GetRawItemValue() interface{} { 763 return fpaiv.value 764 } 765 func (fpaiv *LogDescriptor_FieldTerminalPathArrayItemValue) AsLabelsItemValue() (*common.LabelDescriptor, bool) { 766 res, ok := fpaiv.value.(*common.LabelDescriptor) 767 return res, ok 768 } 769 func (fpaiv *LogDescriptor_FieldTerminalPathArrayItemValue) AsPromotedLabelKeySetsItemValue() (*common.LabelKeySet, bool) { 770 res, ok := fpaiv.value.(*common.LabelKeySet) 771 return res, ok 772 } 773 774 func (fpaiv *LogDescriptor_FieldTerminalPathArrayItemValue) GetSingle(source *LogDescriptor) (interface{}, bool) { 775 return nil, false 776 } 777 778 func (fpaiv *LogDescriptor_FieldTerminalPathArrayItemValue) GetSingleRaw(source proto.Message) (interface{}, bool) { 779 return fpaiv.GetSingle(source.(*LogDescriptor)) 780 } 781 782 // Contains returns a boolean indicating if value that is being held is present in given 'LogDescriptor' 783 func (fpaiv *LogDescriptor_FieldTerminalPathArrayItemValue) ContainsValue(source *LogDescriptor) bool { 784 slice := fpaiv.LogDescriptor_FieldTerminalPath.Get(source) 785 for _, v := range slice { 786 if asProtoMsg, ok := fpaiv.value.(proto.Message); ok { 787 if proto.Equal(asProtoMsg, v.(proto.Message)) { 788 return true 789 } 790 } else if reflect.DeepEqual(v, fpaiv.value) { 791 return true 792 } 793 } 794 return false 795 } 796 797 type LogDescriptor_FieldSubPathArrayItemValue struct { 798 LogDescriptor_FieldPath 799 subPathItemValue gotenobject.FieldPathArrayItemValue 800 } 801 802 // GetRawValue returns stored array item value 803 func (fpaivs *LogDescriptor_FieldSubPathArrayItemValue) GetRawItemValue() interface{} { 804 return fpaivs.subPathItemValue.GetRawItemValue() 805 } 806 func (fpaivs *LogDescriptor_FieldSubPathArrayItemValue) AsMetadataPathItemValue() (meta.Meta_FieldPathArrayItemValue, bool) { 807 res, ok := fpaivs.subPathItemValue.(meta.Meta_FieldPathArrayItemValue) 808 return res, ok 809 } 810 func (fpaivs *LogDescriptor_FieldSubPathArrayItemValue) AsLabelsPathItemValue() (common.LabelDescriptor_FieldPathArrayItemValue, bool) { 811 res, ok := fpaivs.subPathItemValue.(common.LabelDescriptor_FieldPathArrayItemValue) 812 return res, ok 813 } 814 func (fpaivs *LogDescriptor_FieldSubPathArrayItemValue) AsPromotedLabelKeySetsPathItemValue() (common.LabelKeySet_FieldPathArrayItemValue, bool) { 815 res, ok := fpaivs.subPathItemValue.(common.LabelKeySet_FieldPathArrayItemValue) 816 return res, ok 817 } 818 819 // Contains returns a boolean indicating if value that is being held is present in given 'LogDescriptor' 820 func (fpaivs *LogDescriptor_FieldSubPathArrayItemValue) ContainsValue(source *LogDescriptor) bool { 821 switch fpaivs.Selector() { 822 case LogDescriptor_FieldPathSelectorMetadata: 823 return fpaivs.subPathItemValue.(meta.Meta_FieldPathArrayItemValue).ContainsValue(source.GetMetadata()) 824 case LogDescriptor_FieldPathSelectorLabels: 825 return false // repeated/map field 826 case LogDescriptor_FieldPathSelectorPromotedLabelKeySets: 827 return false // repeated/map field 828 default: 829 panic(fmt.Sprintf("Invalid selector for LogDescriptor: %d", fpaivs.Selector())) 830 } 831 } 832 833 // LogDescriptor_FieldPathArrayOfValues allows storing slice of values for LogDescriptor fields according to their type 834 type LogDescriptor_FieldPathArrayOfValues interface { 835 gotenobject.FieldPathArrayOfValues 836 LogDescriptor_FieldPath 837 } 838 839 func ParseLogDescriptor_FieldPathArrayOfValues(pathStr, valuesStr string) (LogDescriptor_FieldPathArrayOfValues, error) { 840 fp, err := ParseLogDescriptor_FieldPath(pathStr) 841 if err != nil { 842 return nil, err 843 } 844 fpaov, err := gotenobject.ParseFieldPathArrayOfValues(fp, valuesStr) 845 if err != nil { 846 return nil, status.Errorf(codes.InvalidArgument, "error parsing LogDescriptor field path array of values from %s: %v", valuesStr, err) 847 } 848 return fpaov.(LogDescriptor_FieldPathArrayOfValues), nil 849 } 850 851 func MustParseLogDescriptor_FieldPathArrayOfValues(pathStr, valuesStr string) LogDescriptor_FieldPathArrayOfValues { 852 fpaov, err := ParseLogDescriptor_FieldPathArrayOfValues(pathStr, valuesStr) 853 if err != nil { 854 panic(err) 855 } 856 return fpaov 857 } 858 859 type LogDescriptor_FieldTerminalPathArrayOfValues struct { 860 LogDescriptor_FieldTerminalPath 861 values interface{} 862 } 863 864 var _ LogDescriptor_FieldPathArrayOfValues = (*LogDescriptor_FieldTerminalPathArrayOfValues)(nil) 865 866 func (fpaov *LogDescriptor_FieldTerminalPathArrayOfValues) GetRawValues() (values []interface{}) { 867 switch fpaov.selector { 868 case LogDescriptor_FieldPathSelectorName: 869 for _, v := range fpaov.values.([]*Name) { 870 values = append(values, v) 871 } 872 case LogDescriptor_FieldPathSelectorMetadata: 873 for _, v := range fpaov.values.([]*meta.Meta) { 874 values = append(values, v) 875 } 876 case LogDescriptor_FieldPathSelectorDisplayName: 877 for _, v := range fpaov.values.([]string) { 878 values = append(values, v) 879 } 880 case LogDescriptor_FieldPathSelectorDescription: 881 for _, v := range fpaov.values.([]string) { 882 values = append(values, v) 883 } 884 case LogDescriptor_FieldPathSelectorLabels: 885 for _, v := range fpaov.values.([][]*common.LabelDescriptor) { 886 values = append(values, v) 887 } 888 case LogDescriptor_FieldPathSelectorPromotedLabelKeySets: 889 for _, v := range fpaov.values.([][]*common.LabelKeySet) { 890 values = append(values, v) 891 } 892 } 893 return 894 } 895 func (fpaov *LogDescriptor_FieldTerminalPathArrayOfValues) AsNameArrayOfValues() ([]*Name, bool) { 896 res, ok := fpaov.values.([]*Name) 897 return res, ok 898 } 899 func (fpaov *LogDescriptor_FieldTerminalPathArrayOfValues) AsMetadataArrayOfValues() ([]*meta.Meta, bool) { 900 res, ok := fpaov.values.([]*meta.Meta) 901 return res, ok 902 } 903 func (fpaov *LogDescriptor_FieldTerminalPathArrayOfValues) AsDisplayNameArrayOfValues() ([]string, bool) { 904 res, ok := fpaov.values.([]string) 905 return res, ok 906 } 907 func (fpaov *LogDescriptor_FieldTerminalPathArrayOfValues) AsDescriptionArrayOfValues() ([]string, bool) { 908 res, ok := fpaov.values.([]string) 909 return res, ok 910 } 911 func (fpaov *LogDescriptor_FieldTerminalPathArrayOfValues) AsLabelsArrayOfValues() ([][]*common.LabelDescriptor, bool) { 912 res, ok := fpaov.values.([][]*common.LabelDescriptor) 913 return res, ok 914 } 915 func (fpaov *LogDescriptor_FieldTerminalPathArrayOfValues) AsPromotedLabelKeySetsArrayOfValues() ([][]*common.LabelKeySet, bool) { 916 res, ok := fpaov.values.([][]*common.LabelKeySet) 917 return res, ok 918 } 919 920 type LogDescriptor_FieldSubPathArrayOfValues struct { 921 LogDescriptor_FieldPath 922 subPathArrayOfValues gotenobject.FieldPathArrayOfValues 923 } 924 925 var _ LogDescriptor_FieldPathArrayOfValues = (*LogDescriptor_FieldSubPathArrayOfValues)(nil) 926 927 func (fpsaov *LogDescriptor_FieldSubPathArrayOfValues) GetRawValues() []interface{} { 928 return fpsaov.subPathArrayOfValues.GetRawValues() 929 } 930 func (fpsaov *LogDescriptor_FieldSubPathArrayOfValues) AsMetadataPathArrayOfValues() (meta.Meta_FieldPathArrayOfValues, bool) { 931 res, ok := fpsaov.subPathArrayOfValues.(meta.Meta_FieldPathArrayOfValues) 932 return res, ok 933 } 934 func (fpsaov *LogDescriptor_FieldSubPathArrayOfValues) AsLabelsPathArrayOfValues() (common.LabelDescriptor_FieldPathArrayOfValues, bool) { 935 res, ok := fpsaov.subPathArrayOfValues.(common.LabelDescriptor_FieldPathArrayOfValues) 936 return res, ok 937 } 938 func (fpsaov *LogDescriptor_FieldSubPathArrayOfValues) AsPromotedLabelKeySetsPathArrayOfValues() (common.LabelKeySet_FieldPathArrayOfValues, bool) { 939 res, ok := fpsaov.subPathArrayOfValues.(common.LabelKeySet_FieldPathArrayOfValues) 940 return res, ok 941 }