github.com/cloudwan/edgelq-sdk@v1.15.4/audit/resources/v1alpha2/common/common.pb.fieldmask.go (about) 1 // Code generated by protoc-gen-goten-object 2 // File: edgelq/audit/proto/v1alpha2/common.proto 3 // DO NOT EDIT!!! 4 5 package common 6 7 import ( 8 "encoding/json" 9 "strings" 10 11 "google.golang.org/grpc/codes" 12 "google.golang.org/grpc/status" 13 "google.golang.org/protobuf/proto" 14 preflect "google.golang.org/protobuf/reflect/protoreflect" 15 googlefieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" 16 17 gotenobject "github.com/cloudwan/goten-sdk/runtime/object" 18 ) 19 20 // proto imports 21 import ( 22 anypb "google.golang.org/protobuf/types/known/anypb" 23 timestamppb "google.golang.org/protobuf/types/known/timestamppb" 24 ) 25 26 // ensure the imports are used 27 var ( 28 _ = new(json.Marshaler) 29 _ = strings.Builder{} 30 31 _ = codes.NotFound 32 _ = status.Status{} 33 _ = new(proto.Message) 34 _ = new(preflect.Message) 35 _ = googlefieldmaskpb.FieldMask{} 36 37 _ = new(gotenobject.FieldMask) 38 ) 39 40 // make sure we're using proto imports 41 var ( 42 _ = &anypb.Any{} 43 _ = ×tamppb.Timestamp{} 44 ) 45 46 type Authentication_FieldMask struct { 47 Paths []Authentication_FieldPath 48 } 49 50 func FullAuthentication_FieldMask() *Authentication_FieldMask { 51 res := &Authentication_FieldMask{} 52 res.Paths = append(res.Paths, &Authentication_FieldTerminalPath{selector: Authentication_FieldPathSelectorPrincipal}) 53 res.Paths = append(res.Paths, &Authentication_FieldTerminalPath{selector: Authentication_FieldPathSelectorPrincipalType}) 54 return res 55 } 56 57 func (fieldMask *Authentication_FieldMask) String() string { 58 if fieldMask == nil { 59 return "<nil>" 60 } 61 pathsStr := make([]string, 0, len(fieldMask.Paths)) 62 for _, path := range fieldMask.Paths { 63 pathsStr = append(pathsStr, path.String()) 64 } 65 return strings.Join(pathsStr, ", ") 66 } 67 68 func (fieldMask *Authentication_FieldMask) IsFull() bool { 69 if fieldMask == nil { 70 return false 71 } 72 presentSelectors := make([]bool, 2) 73 for _, path := range fieldMask.Paths { 74 if asFinal, ok := path.(*Authentication_FieldTerminalPath); ok { 75 presentSelectors[int(asFinal.selector)] = true 76 } 77 } 78 for _, flag := range presentSelectors { 79 if !flag { 80 return false 81 } 82 } 83 return true 84 } 85 86 func (fieldMask *Authentication_FieldMask) ProtoReflect() preflect.Message { 87 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 88 return ParseAuthentication_FieldPath(raw) 89 }) 90 } 91 92 func (fieldMask *Authentication_FieldMask) ProtoMessage() {} 93 94 func (fieldMask *Authentication_FieldMask) Reset() { 95 if fieldMask != nil { 96 fieldMask.Paths = nil 97 } 98 } 99 100 func (fieldMask *Authentication_FieldMask) Subtract(other *Authentication_FieldMask) *Authentication_FieldMask { 101 result := &Authentication_FieldMask{} 102 removedSelectors := make([]bool, 2) 103 104 for _, path := range other.GetPaths() { 105 switch tp := path.(type) { 106 case *Authentication_FieldTerminalPath: 107 removedSelectors[int(tp.selector)] = true 108 } 109 } 110 for _, path := range fieldMask.GetPaths() { 111 if !removedSelectors[int(path.Selector())] { 112 result.Paths = append(result.Paths, path) 113 } 114 } 115 116 if len(result.Paths) == 0 { 117 return nil 118 } 119 return result 120 } 121 122 func (fieldMask *Authentication_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 123 return fieldMask.Subtract(other.(*Authentication_FieldMask)) 124 } 125 126 // FilterInputFields generates copy of field paths with output_only field paths removed 127 func (fieldMask *Authentication_FieldMask) FilterInputFields() *Authentication_FieldMask { 128 result := &Authentication_FieldMask{} 129 result.Paths = append(result.Paths, fieldMask.Paths...) 130 return result 131 } 132 133 // ToFieldMask is used for proto conversions 134 func (fieldMask *Authentication_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 135 protoFieldMask := &googlefieldmaskpb.FieldMask{} 136 for _, path := range fieldMask.Paths { 137 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 138 } 139 return protoFieldMask 140 } 141 142 func (fieldMask *Authentication_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 143 if fieldMask == nil { 144 return status.Error(codes.Internal, "target field mask is nil") 145 } 146 fieldMask.Paths = make([]Authentication_FieldPath, 0, len(protoFieldMask.Paths)) 147 for _, strPath := range protoFieldMask.Paths { 148 path, err := ParseAuthentication_FieldPath(strPath) 149 if err != nil { 150 return err 151 } 152 fieldMask.Paths = append(fieldMask.Paths, path) 153 } 154 return nil 155 } 156 157 // implement methods required by customType 158 func (fieldMask Authentication_FieldMask) Marshal() ([]byte, error) { 159 protoFieldMask := fieldMask.ToProtoFieldMask() 160 return proto.Marshal(protoFieldMask) 161 } 162 163 func (fieldMask *Authentication_FieldMask) Unmarshal(data []byte) error { 164 protoFieldMask := &googlefieldmaskpb.FieldMask{} 165 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 166 return err 167 } 168 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 169 return err 170 } 171 return nil 172 } 173 174 func (fieldMask *Authentication_FieldMask) Size() int { 175 return proto.Size(fieldMask.ToProtoFieldMask()) 176 } 177 178 func (fieldMask Authentication_FieldMask) MarshalJSON() ([]byte, error) { 179 return json.Marshal(fieldMask.ToProtoFieldMask()) 180 } 181 182 func (fieldMask *Authentication_FieldMask) UnmarshalJSON(data []byte) error { 183 protoFieldMask := &googlefieldmaskpb.FieldMask{} 184 if err := json.Unmarshal(data, protoFieldMask); err != nil { 185 return err 186 } 187 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 188 return err 189 } 190 return nil 191 } 192 193 func (fieldMask *Authentication_FieldMask) AppendPath(path Authentication_FieldPath) { 194 fieldMask.Paths = append(fieldMask.Paths, path) 195 } 196 197 func (fieldMask *Authentication_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 198 fieldMask.Paths = append(fieldMask.Paths, path.(Authentication_FieldPath)) 199 } 200 201 func (fieldMask *Authentication_FieldMask) GetPaths() []Authentication_FieldPath { 202 if fieldMask == nil { 203 return nil 204 } 205 return fieldMask.Paths 206 } 207 208 func (fieldMask *Authentication_FieldMask) GetRawPaths() []gotenobject.FieldPath { 209 if fieldMask == nil { 210 return nil 211 } 212 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 213 for _, path := range fieldMask.Paths { 214 rawPaths = append(rawPaths, path) 215 } 216 return rawPaths 217 } 218 219 func (fieldMask *Authentication_FieldMask) SetFromCliFlag(raw string) error { 220 path, err := ParseAuthentication_FieldPath(raw) 221 if err != nil { 222 return err 223 } 224 fieldMask.Paths = append(fieldMask.Paths, path) 225 return nil 226 } 227 228 func (fieldMask *Authentication_FieldMask) Set(target, source *Authentication) { 229 for _, path := range fieldMask.Paths { 230 val, _ := path.GetSingle(source) 231 // if val is nil, then field does not exist in source, skip 232 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 233 if val != nil { 234 path.WithIValue(val).SetTo(&target) 235 } 236 } 237 } 238 239 func (fieldMask *Authentication_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 240 fieldMask.Set(target.(*Authentication), source.(*Authentication)) 241 } 242 243 func (fieldMask *Authentication_FieldMask) Project(source *Authentication) *Authentication { 244 if source == nil { 245 return nil 246 } 247 if fieldMask == nil { 248 return source 249 } 250 result := &Authentication{} 251 252 for _, p := range fieldMask.Paths { 253 switch tp := p.(type) { 254 case *Authentication_FieldTerminalPath: 255 switch tp.selector { 256 case Authentication_FieldPathSelectorPrincipal: 257 result.Principal = source.Principal 258 case Authentication_FieldPathSelectorPrincipalType: 259 result.PrincipalType = source.PrincipalType 260 } 261 } 262 } 263 return result 264 } 265 266 func (fieldMask *Authentication_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 267 return fieldMask.Project(source.(*Authentication)) 268 } 269 270 func (fieldMask *Authentication_FieldMask) PathsCount() int { 271 if fieldMask == nil { 272 return 0 273 } 274 return len(fieldMask.Paths) 275 } 276 277 type Authorization_FieldMask struct { 278 Paths []Authorization_FieldPath 279 } 280 281 func FullAuthorization_FieldMask() *Authorization_FieldMask { 282 res := &Authorization_FieldMask{} 283 res.Paths = append(res.Paths, &Authorization_FieldTerminalPath{selector: Authorization_FieldPathSelectorGrantedPermissions}) 284 res.Paths = append(res.Paths, &Authorization_FieldTerminalPath{selector: Authorization_FieldPathSelectorDeniedPermissions}) 285 return res 286 } 287 288 func (fieldMask *Authorization_FieldMask) String() string { 289 if fieldMask == nil { 290 return "<nil>" 291 } 292 pathsStr := make([]string, 0, len(fieldMask.Paths)) 293 for _, path := range fieldMask.Paths { 294 pathsStr = append(pathsStr, path.String()) 295 } 296 return strings.Join(pathsStr, ", ") 297 } 298 299 func (fieldMask *Authorization_FieldMask) IsFull() bool { 300 if fieldMask == nil { 301 return false 302 } 303 presentSelectors := make([]bool, 2) 304 for _, path := range fieldMask.Paths { 305 if asFinal, ok := path.(*Authorization_FieldTerminalPath); ok { 306 presentSelectors[int(asFinal.selector)] = true 307 } 308 } 309 for _, flag := range presentSelectors { 310 if !flag { 311 return false 312 } 313 } 314 return true 315 } 316 317 func (fieldMask *Authorization_FieldMask) ProtoReflect() preflect.Message { 318 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 319 return ParseAuthorization_FieldPath(raw) 320 }) 321 } 322 323 func (fieldMask *Authorization_FieldMask) ProtoMessage() {} 324 325 func (fieldMask *Authorization_FieldMask) Reset() { 326 if fieldMask != nil { 327 fieldMask.Paths = nil 328 } 329 } 330 331 func (fieldMask *Authorization_FieldMask) Subtract(other *Authorization_FieldMask) *Authorization_FieldMask { 332 result := &Authorization_FieldMask{} 333 removedSelectors := make([]bool, 2) 334 335 for _, path := range other.GetPaths() { 336 switch tp := path.(type) { 337 case *Authorization_FieldTerminalPath: 338 removedSelectors[int(tp.selector)] = true 339 } 340 } 341 for _, path := range fieldMask.GetPaths() { 342 if !removedSelectors[int(path.Selector())] { 343 result.Paths = append(result.Paths, path) 344 } 345 } 346 347 if len(result.Paths) == 0 { 348 return nil 349 } 350 return result 351 } 352 353 func (fieldMask *Authorization_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 354 return fieldMask.Subtract(other.(*Authorization_FieldMask)) 355 } 356 357 // FilterInputFields generates copy of field paths with output_only field paths removed 358 func (fieldMask *Authorization_FieldMask) FilterInputFields() *Authorization_FieldMask { 359 result := &Authorization_FieldMask{} 360 result.Paths = append(result.Paths, fieldMask.Paths...) 361 return result 362 } 363 364 // ToFieldMask is used for proto conversions 365 func (fieldMask *Authorization_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 366 protoFieldMask := &googlefieldmaskpb.FieldMask{} 367 for _, path := range fieldMask.Paths { 368 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 369 } 370 return protoFieldMask 371 } 372 373 func (fieldMask *Authorization_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 374 if fieldMask == nil { 375 return status.Error(codes.Internal, "target field mask is nil") 376 } 377 fieldMask.Paths = make([]Authorization_FieldPath, 0, len(protoFieldMask.Paths)) 378 for _, strPath := range protoFieldMask.Paths { 379 path, err := ParseAuthorization_FieldPath(strPath) 380 if err != nil { 381 return err 382 } 383 fieldMask.Paths = append(fieldMask.Paths, path) 384 } 385 return nil 386 } 387 388 // implement methods required by customType 389 func (fieldMask Authorization_FieldMask) Marshal() ([]byte, error) { 390 protoFieldMask := fieldMask.ToProtoFieldMask() 391 return proto.Marshal(protoFieldMask) 392 } 393 394 func (fieldMask *Authorization_FieldMask) Unmarshal(data []byte) error { 395 protoFieldMask := &googlefieldmaskpb.FieldMask{} 396 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 397 return err 398 } 399 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 400 return err 401 } 402 return nil 403 } 404 405 func (fieldMask *Authorization_FieldMask) Size() int { 406 return proto.Size(fieldMask.ToProtoFieldMask()) 407 } 408 409 func (fieldMask Authorization_FieldMask) MarshalJSON() ([]byte, error) { 410 return json.Marshal(fieldMask.ToProtoFieldMask()) 411 } 412 413 func (fieldMask *Authorization_FieldMask) UnmarshalJSON(data []byte) error { 414 protoFieldMask := &googlefieldmaskpb.FieldMask{} 415 if err := json.Unmarshal(data, protoFieldMask); err != nil { 416 return err 417 } 418 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 419 return err 420 } 421 return nil 422 } 423 424 func (fieldMask *Authorization_FieldMask) AppendPath(path Authorization_FieldPath) { 425 fieldMask.Paths = append(fieldMask.Paths, path) 426 } 427 428 func (fieldMask *Authorization_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 429 fieldMask.Paths = append(fieldMask.Paths, path.(Authorization_FieldPath)) 430 } 431 432 func (fieldMask *Authorization_FieldMask) GetPaths() []Authorization_FieldPath { 433 if fieldMask == nil { 434 return nil 435 } 436 return fieldMask.Paths 437 } 438 439 func (fieldMask *Authorization_FieldMask) GetRawPaths() []gotenobject.FieldPath { 440 if fieldMask == nil { 441 return nil 442 } 443 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 444 for _, path := range fieldMask.Paths { 445 rawPaths = append(rawPaths, path) 446 } 447 return rawPaths 448 } 449 450 func (fieldMask *Authorization_FieldMask) SetFromCliFlag(raw string) error { 451 path, err := ParseAuthorization_FieldPath(raw) 452 if err != nil { 453 return err 454 } 455 fieldMask.Paths = append(fieldMask.Paths, path) 456 return nil 457 } 458 459 func (fieldMask *Authorization_FieldMask) Set(target, source *Authorization) { 460 for _, path := range fieldMask.Paths { 461 val, _ := path.GetSingle(source) 462 // if val is nil, then field does not exist in source, skip 463 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 464 if val != nil { 465 path.WithIValue(val).SetTo(&target) 466 } 467 } 468 } 469 470 func (fieldMask *Authorization_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 471 fieldMask.Set(target.(*Authorization), source.(*Authorization)) 472 } 473 474 func (fieldMask *Authorization_FieldMask) Project(source *Authorization) *Authorization { 475 if source == nil { 476 return nil 477 } 478 if fieldMask == nil { 479 return source 480 } 481 result := &Authorization{} 482 483 for _, p := range fieldMask.Paths { 484 switch tp := p.(type) { 485 case *Authorization_FieldTerminalPath: 486 switch tp.selector { 487 case Authorization_FieldPathSelectorGrantedPermissions: 488 result.GrantedPermissions = source.GrantedPermissions 489 case Authorization_FieldPathSelectorDeniedPermissions: 490 result.DeniedPermissions = source.DeniedPermissions 491 } 492 } 493 } 494 return result 495 } 496 497 func (fieldMask *Authorization_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 498 return fieldMask.Project(source.(*Authorization)) 499 } 500 501 func (fieldMask *Authorization_FieldMask) PathsCount() int { 502 if fieldMask == nil { 503 return 0 504 } 505 return len(fieldMask.Paths) 506 } 507 508 type ServiceData_FieldMask struct { 509 Paths []ServiceData_FieldPath 510 } 511 512 func FullServiceData_FieldMask() *ServiceData_FieldMask { 513 res := &ServiceData_FieldMask{} 514 res.Paths = append(res.Paths, &ServiceData_FieldTerminalPath{selector: ServiceData_FieldPathSelectorName}) 515 res.Paths = append(res.Paths, &ServiceData_FieldTerminalPath{selector: ServiceData_FieldPathSelectorRegionId}) 516 return res 517 } 518 519 func (fieldMask *ServiceData_FieldMask) String() string { 520 if fieldMask == nil { 521 return "<nil>" 522 } 523 pathsStr := make([]string, 0, len(fieldMask.Paths)) 524 for _, path := range fieldMask.Paths { 525 pathsStr = append(pathsStr, path.String()) 526 } 527 return strings.Join(pathsStr, ", ") 528 } 529 530 func (fieldMask *ServiceData_FieldMask) IsFull() bool { 531 if fieldMask == nil { 532 return false 533 } 534 presentSelectors := make([]bool, 2) 535 for _, path := range fieldMask.Paths { 536 if asFinal, ok := path.(*ServiceData_FieldTerminalPath); ok { 537 presentSelectors[int(asFinal.selector)] = true 538 } 539 } 540 for _, flag := range presentSelectors { 541 if !flag { 542 return false 543 } 544 } 545 return true 546 } 547 548 func (fieldMask *ServiceData_FieldMask) ProtoReflect() preflect.Message { 549 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 550 return ParseServiceData_FieldPath(raw) 551 }) 552 } 553 554 func (fieldMask *ServiceData_FieldMask) ProtoMessage() {} 555 556 func (fieldMask *ServiceData_FieldMask) Reset() { 557 if fieldMask != nil { 558 fieldMask.Paths = nil 559 } 560 } 561 562 func (fieldMask *ServiceData_FieldMask) Subtract(other *ServiceData_FieldMask) *ServiceData_FieldMask { 563 result := &ServiceData_FieldMask{} 564 removedSelectors := make([]bool, 2) 565 566 for _, path := range other.GetPaths() { 567 switch tp := path.(type) { 568 case *ServiceData_FieldTerminalPath: 569 removedSelectors[int(tp.selector)] = true 570 } 571 } 572 for _, path := range fieldMask.GetPaths() { 573 if !removedSelectors[int(path.Selector())] { 574 result.Paths = append(result.Paths, path) 575 } 576 } 577 578 if len(result.Paths) == 0 { 579 return nil 580 } 581 return result 582 } 583 584 func (fieldMask *ServiceData_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 585 return fieldMask.Subtract(other.(*ServiceData_FieldMask)) 586 } 587 588 // FilterInputFields generates copy of field paths with output_only field paths removed 589 func (fieldMask *ServiceData_FieldMask) FilterInputFields() *ServiceData_FieldMask { 590 result := &ServiceData_FieldMask{} 591 result.Paths = append(result.Paths, fieldMask.Paths...) 592 return result 593 } 594 595 // ToFieldMask is used for proto conversions 596 func (fieldMask *ServiceData_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 597 protoFieldMask := &googlefieldmaskpb.FieldMask{} 598 for _, path := range fieldMask.Paths { 599 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 600 } 601 return protoFieldMask 602 } 603 604 func (fieldMask *ServiceData_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 605 if fieldMask == nil { 606 return status.Error(codes.Internal, "target field mask is nil") 607 } 608 fieldMask.Paths = make([]ServiceData_FieldPath, 0, len(protoFieldMask.Paths)) 609 for _, strPath := range protoFieldMask.Paths { 610 path, err := ParseServiceData_FieldPath(strPath) 611 if err != nil { 612 return err 613 } 614 fieldMask.Paths = append(fieldMask.Paths, path) 615 } 616 return nil 617 } 618 619 // implement methods required by customType 620 func (fieldMask ServiceData_FieldMask) Marshal() ([]byte, error) { 621 protoFieldMask := fieldMask.ToProtoFieldMask() 622 return proto.Marshal(protoFieldMask) 623 } 624 625 func (fieldMask *ServiceData_FieldMask) Unmarshal(data []byte) error { 626 protoFieldMask := &googlefieldmaskpb.FieldMask{} 627 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 628 return err 629 } 630 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 631 return err 632 } 633 return nil 634 } 635 636 func (fieldMask *ServiceData_FieldMask) Size() int { 637 return proto.Size(fieldMask.ToProtoFieldMask()) 638 } 639 640 func (fieldMask ServiceData_FieldMask) MarshalJSON() ([]byte, error) { 641 return json.Marshal(fieldMask.ToProtoFieldMask()) 642 } 643 644 func (fieldMask *ServiceData_FieldMask) UnmarshalJSON(data []byte) error { 645 protoFieldMask := &googlefieldmaskpb.FieldMask{} 646 if err := json.Unmarshal(data, protoFieldMask); err != nil { 647 return err 648 } 649 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 650 return err 651 } 652 return nil 653 } 654 655 func (fieldMask *ServiceData_FieldMask) AppendPath(path ServiceData_FieldPath) { 656 fieldMask.Paths = append(fieldMask.Paths, path) 657 } 658 659 func (fieldMask *ServiceData_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 660 fieldMask.Paths = append(fieldMask.Paths, path.(ServiceData_FieldPath)) 661 } 662 663 func (fieldMask *ServiceData_FieldMask) GetPaths() []ServiceData_FieldPath { 664 if fieldMask == nil { 665 return nil 666 } 667 return fieldMask.Paths 668 } 669 670 func (fieldMask *ServiceData_FieldMask) GetRawPaths() []gotenobject.FieldPath { 671 if fieldMask == nil { 672 return nil 673 } 674 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 675 for _, path := range fieldMask.Paths { 676 rawPaths = append(rawPaths, path) 677 } 678 return rawPaths 679 } 680 681 func (fieldMask *ServiceData_FieldMask) SetFromCliFlag(raw string) error { 682 path, err := ParseServiceData_FieldPath(raw) 683 if err != nil { 684 return err 685 } 686 fieldMask.Paths = append(fieldMask.Paths, path) 687 return nil 688 } 689 690 func (fieldMask *ServiceData_FieldMask) Set(target, source *ServiceData) { 691 for _, path := range fieldMask.Paths { 692 val, _ := path.GetSingle(source) 693 // if val is nil, then field does not exist in source, skip 694 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 695 if val != nil { 696 path.WithIValue(val).SetTo(&target) 697 } 698 } 699 } 700 701 func (fieldMask *ServiceData_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 702 fieldMask.Set(target.(*ServiceData), source.(*ServiceData)) 703 } 704 705 func (fieldMask *ServiceData_FieldMask) Project(source *ServiceData) *ServiceData { 706 if source == nil { 707 return nil 708 } 709 if fieldMask == nil { 710 return source 711 } 712 result := &ServiceData{} 713 714 for _, p := range fieldMask.Paths { 715 switch tp := p.(type) { 716 case *ServiceData_FieldTerminalPath: 717 switch tp.selector { 718 case ServiceData_FieldPathSelectorName: 719 result.Name = source.Name 720 case ServiceData_FieldPathSelectorRegionId: 721 result.RegionId = source.RegionId 722 } 723 } 724 } 725 return result 726 } 727 728 func (fieldMask *ServiceData_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 729 return fieldMask.Project(source.(*ServiceData)) 730 } 731 732 func (fieldMask *ServiceData_FieldMask) PathsCount() int { 733 if fieldMask == nil { 734 return 0 735 } 736 return len(fieldMask.Paths) 737 } 738 739 type ObjectState_FieldMask struct { 740 Paths []ObjectState_FieldPath 741 } 742 743 func FullObjectState_FieldMask() *ObjectState_FieldMask { 744 res := &ObjectState_FieldMask{} 745 res.Paths = append(res.Paths, &ObjectState_FieldTerminalPath{selector: ObjectState_FieldPathSelectorData}) 746 res.Paths = append(res.Paths, &ObjectState_FieldTerminalPath{selector: ObjectState_FieldPathSelectorLabels}) 747 return res 748 } 749 750 func (fieldMask *ObjectState_FieldMask) String() string { 751 if fieldMask == nil { 752 return "<nil>" 753 } 754 pathsStr := make([]string, 0, len(fieldMask.Paths)) 755 for _, path := range fieldMask.Paths { 756 pathsStr = append(pathsStr, path.String()) 757 } 758 return strings.Join(pathsStr, ", ") 759 } 760 761 func (fieldMask *ObjectState_FieldMask) IsFull() bool { 762 if fieldMask == nil { 763 return false 764 } 765 presentSelectors := make([]bool, 2) 766 for _, path := range fieldMask.Paths { 767 if asFinal, ok := path.(*ObjectState_FieldTerminalPath); ok { 768 presentSelectors[int(asFinal.selector)] = true 769 } 770 } 771 for _, flag := range presentSelectors { 772 if !flag { 773 return false 774 } 775 } 776 return true 777 } 778 779 func (fieldMask *ObjectState_FieldMask) ProtoReflect() preflect.Message { 780 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 781 return ParseObjectState_FieldPath(raw) 782 }) 783 } 784 785 func (fieldMask *ObjectState_FieldMask) ProtoMessage() {} 786 787 func (fieldMask *ObjectState_FieldMask) Reset() { 788 if fieldMask != nil { 789 fieldMask.Paths = nil 790 } 791 } 792 793 func (fieldMask *ObjectState_FieldMask) Subtract(other *ObjectState_FieldMask) *ObjectState_FieldMask { 794 result := &ObjectState_FieldMask{} 795 removedSelectors := make([]bool, 2) 796 797 for _, path := range other.GetPaths() { 798 switch tp := path.(type) { 799 case *ObjectState_FieldTerminalPath: 800 removedSelectors[int(tp.selector)] = true 801 } 802 } 803 for _, path := range fieldMask.GetPaths() { 804 if !removedSelectors[int(path.Selector())] { 805 result.Paths = append(result.Paths, path) 806 } 807 } 808 809 if len(result.Paths) == 0 { 810 return nil 811 } 812 return result 813 } 814 815 func (fieldMask *ObjectState_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 816 return fieldMask.Subtract(other.(*ObjectState_FieldMask)) 817 } 818 819 // FilterInputFields generates copy of field paths with output_only field paths removed 820 func (fieldMask *ObjectState_FieldMask) FilterInputFields() *ObjectState_FieldMask { 821 result := &ObjectState_FieldMask{} 822 result.Paths = append(result.Paths, fieldMask.Paths...) 823 return result 824 } 825 826 // ToFieldMask is used for proto conversions 827 func (fieldMask *ObjectState_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 828 protoFieldMask := &googlefieldmaskpb.FieldMask{} 829 for _, path := range fieldMask.Paths { 830 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 831 } 832 return protoFieldMask 833 } 834 835 func (fieldMask *ObjectState_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 836 if fieldMask == nil { 837 return status.Error(codes.Internal, "target field mask is nil") 838 } 839 fieldMask.Paths = make([]ObjectState_FieldPath, 0, len(protoFieldMask.Paths)) 840 for _, strPath := range protoFieldMask.Paths { 841 path, err := ParseObjectState_FieldPath(strPath) 842 if err != nil { 843 return err 844 } 845 fieldMask.Paths = append(fieldMask.Paths, path) 846 } 847 return nil 848 } 849 850 // implement methods required by customType 851 func (fieldMask ObjectState_FieldMask) Marshal() ([]byte, error) { 852 protoFieldMask := fieldMask.ToProtoFieldMask() 853 return proto.Marshal(protoFieldMask) 854 } 855 856 func (fieldMask *ObjectState_FieldMask) Unmarshal(data []byte) error { 857 protoFieldMask := &googlefieldmaskpb.FieldMask{} 858 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 859 return err 860 } 861 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 862 return err 863 } 864 return nil 865 } 866 867 func (fieldMask *ObjectState_FieldMask) Size() int { 868 return proto.Size(fieldMask.ToProtoFieldMask()) 869 } 870 871 func (fieldMask ObjectState_FieldMask) MarshalJSON() ([]byte, error) { 872 return json.Marshal(fieldMask.ToProtoFieldMask()) 873 } 874 875 func (fieldMask *ObjectState_FieldMask) UnmarshalJSON(data []byte) error { 876 protoFieldMask := &googlefieldmaskpb.FieldMask{} 877 if err := json.Unmarshal(data, protoFieldMask); err != nil { 878 return err 879 } 880 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 881 return err 882 } 883 return nil 884 } 885 886 func (fieldMask *ObjectState_FieldMask) AppendPath(path ObjectState_FieldPath) { 887 fieldMask.Paths = append(fieldMask.Paths, path) 888 } 889 890 func (fieldMask *ObjectState_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 891 fieldMask.Paths = append(fieldMask.Paths, path.(ObjectState_FieldPath)) 892 } 893 894 func (fieldMask *ObjectState_FieldMask) GetPaths() []ObjectState_FieldPath { 895 if fieldMask == nil { 896 return nil 897 } 898 return fieldMask.Paths 899 } 900 901 func (fieldMask *ObjectState_FieldMask) GetRawPaths() []gotenobject.FieldPath { 902 if fieldMask == nil { 903 return nil 904 } 905 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 906 for _, path := range fieldMask.Paths { 907 rawPaths = append(rawPaths, path) 908 } 909 return rawPaths 910 } 911 912 func (fieldMask *ObjectState_FieldMask) SetFromCliFlag(raw string) error { 913 path, err := ParseObjectState_FieldPath(raw) 914 if err != nil { 915 return err 916 } 917 fieldMask.Paths = append(fieldMask.Paths, path) 918 return nil 919 } 920 921 func (fieldMask *ObjectState_FieldMask) Set(target, source *ObjectState) { 922 for _, path := range fieldMask.Paths { 923 val, _ := path.GetSingle(source) 924 // if val is nil, then field does not exist in source, skip 925 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 926 if val != nil { 927 path.WithIValue(val).SetTo(&target) 928 } 929 } 930 } 931 932 func (fieldMask *ObjectState_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 933 fieldMask.Set(target.(*ObjectState), source.(*ObjectState)) 934 } 935 936 func (fieldMask *ObjectState_FieldMask) Project(source *ObjectState) *ObjectState { 937 if source == nil { 938 return nil 939 } 940 if fieldMask == nil { 941 return source 942 } 943 result := &ObjectState{} 944 var labelsMapKeys []string 945 wholeLabelsAccepted := false 946 947 for _, p := range fieldMask.Paths { 948 switch tp := p.(type) { 949 case *ObjectState_FieldTerminalPath: 950 switch tp.selector { 951 case ObjectState_FieldPathSelectorData: 952 result.Data = source.Data 953 case ObjectState_FieldPathSelectorLabels: 954 result.Labels = source.Labels 955 wholeLabelsAccepted = true 956 } 957 case *ObjectState_FieldPathMap: 958 switch tp.selector { 959 case ObjectState_FieldPathSelectorLabels: 960 labelsMapKeys = append(labelsMapKeys, tp.key) 961 } 962 } 963 } 964 if wholeLabelsAccepted == false && len(labelsMapKeys) > 0 && source.GetLabels() != nil { 965 copiedMap := map[string]string{} 966 sourceMap := source.GetLabels() 967 for _, key := range labelsMapKeys { 968 copiedMap[key] = sourceMap[key] 969 } 970 result.Labels = copiedMap 971 } 972 return result 973 } 974 975 func (fieldMask *ObjectState_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 976 return fieldMask.Project(source.(*ObjectState)) 977 } 978 979 func (fieldMask *ObjectState_FieldMask) PathsCount() int { 980 if fieldMask == nil { 981 return 0 982 } 983 return len(fieldMask.Paths) 984 } 985 986 type LabelDescriptor_FieldMask struct { 987 Paths []LabelDescriptor_FieldPath 988 } 989 990 func FullLabelDescriptor_FieldMask() *LabelDescriptor_FieldMask { 991 res := &LabelDescriptor_FieldMask{} 992 res.Paths = append(res.Paths, &LabelDescriptor_FieldTerminalPath{selector: LabelDescriptor_FieldPathSelectorKey}) 993 res.Paths = append(res.Paths, &LabelDescriptor_FieldTerminalPath{selector: LabelDescriptor_FieldPathSelectorVersions}) 994 return res 995 } 996 997 func (fieldMask *LabelDescriptor_FieldMask) String() string { 998 if fieldMask == nil { 999 return "<nil>" 1000 } 1001 pathsStr := make([]string, 0, len(fieldMask.Paths)) 1002 for _, path := range fieldMask.Paths { 1003 pathsStr = append(pathsStr, path.String()) 1004 } 1005 return strings.Join(pathsStr, ", ") 1006 } 1007 1008 func (fieldMask *LabelDescriptor_FieldMask) IsFull() bool { 1009 if fieldMask == nil { 1010 return false 1011 } 1012 presentSelectors := make([]bool, 2) 1013 for _, path := range fieldMask.Paths { 1014 if asFinal, ok := path.(*LabelDescriptor_FieldTerminalPath); ok { 1015 presentSelectors[int(asFinal.selector)] = true 1016 } 1017 } 1018 for _, flag := range presentSelectors { 1019 if !flag { 1020 return false 1021 } 1022 } 1023 return true 1024 } 1025 1026 func (fieldMask *LabelDescriptor_FieldMask) ProtoReflect() preflect.Message { 1027 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 1028 return ParseLabelDescriptor_FieldPath(raw) 1029 }) 1030 } 1031 1032 func (fieldMask *LabelDescriptor_FieldMask) ProtoMessage() {} 1033 1034 func (fieldMask *LabelDescriptor_FieldMask) Reset() { 1035 if fieldMask != nil { 1036 fieldMask.Paths = nil 1037 } 1038 } 1039 1040 func (fieldMask *LabelDescriptor_FieldMask) Subtract(other *LabelDescriptor_FieldMask) *LabelDescriptor_FieldMask { 1041 result := &LabelDescriptor_FieldMask{} 1042 removedSelectors := make([]bool, 2) 1043 1044 for _, path := range other.GetPaths() { 1045 switch tp := path.(type) { 1046 case *LabelDescriptor_FieldTerminalPath: 1047 removedSelectors[int(tp.selector)] = true 1048 } 1049 } 1050 for _, path := range fieldMask.GetPaths() { 1051 if !removedSelectors[int(path.Selector())] { 1052 result.Paths = append(result.Paths, path) 1053 } 1054 } 1055 1056 if len(result.Paths) == 0 { 1057 return nil 1058 } 1059 return result 1060 } 1061 1062 func (fieldMask *LabelDescriptor_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 1063 return fieldMask.Subtract(other.(*LabelDescriptor_FieldMask)) 1064 } 1065 1066 // FilterInputFields generates copy of field paths with output_only field paths removed 1067 func (fieldMask *LabelDescriptor_FieldMask) FilterInputFields() *LabelDescriptor_FieldMask { 1068 result := &LabelDescriptor_FieldMask{} 1069 result.Paths = append(result.Paths, fieldMask.Paths...) 1070 return result 1071 } 1072 1073 // ToFieldMask is used for proto conversions 1074 func (fieldMask *LabelDescriptor_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 1075 protoFieldMask := &googlefieldmaskpb.FieldMask{} 1076 for _, path := range fieldMask.Paths { 1077 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 1078 } 1079 return protoFieldMask 1080 } 1081 1082 func (fieldMask *LabelDescriptor_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 1083 if fieldMask == nil { 1084 return status.Error(codes.Internal, "target field mask is nil") 1085 } 1086 fieldMask.Paths = make([]LabelDescriptor_FieldPath, 0, len(protoFieldMask.Paths)) 1087 for _, strPath := range protoFieldMask.Paths { 1088 path, err := ParseLabelDescriptor_FieldPath(strPath) 1089 if err != nil { 1090 return err 1091 } 1092 fieldMask.Paths = append(fieldMask.Paths, path) 1093 } 1094 return nil 1095 } 1096 1097 // implement methods required by customType 1098 func (fieldMask LabelDescriptor_FieldMask) Marshal() ([]byte, error) { 1099 protoFieldMask := fieldMask.ToProtoFieldMask() 1100 return proto.Marshal(protoFieldMask) 1101 } 1102 1103 func (fieldMask *LabelDescriptor_FieldMask) Unmarshal(data []byte) error { 1104 protoFieldMask := &googlefieldmaskpb.FieldMask{} 1105 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 1106 return err 1107 } 1108 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 1109 return err 1110 } 1111 return nil 1112 } 1113 1114 func (fieldMask *LabelDescriptor_FieldMask) Size() int { 1115 return proto.Size(fieldMask.ToProtoFieldMask()) 1116 } 1117 1118 func (fieldMask LabelDescriptor_FieldMask) MarshalJSON() ([]byte, error) { 1119 return json.Marshal(fieldMask.ToProtoFieldMask()) 1120 } 1121 1122 func (fieldMask *LabelDescriptor_FieldMask) UnmarshalJSON(data []byte) error { 1123 protoFieldMask := &googlefieldmaskpb.FieldMask{} 1124 if err := json.Unmarshal(data, protoFieldMask); err != nil { 1125 return err 1126 } 1127 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 1128 return err 1129 } 1130 return nil 1131 } 1132 1133 func (fieldMask *LabelDescriptor_FieldMask) AppendPath(path LabelDescriptor_FieldPath) { 1134 fieldMask.Paths = append(fieldMask.Paths, path) 1135 } 1136 1137 func (fieldMask *LabelDescriptor_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 1138 fieldMask.Paths = append(fieldMask.Paths, path.(LabelDescriptor_FieldPath)) 1139 } 1140 1141 func (fieldMask *LabelDescriptor_FieldMask) GetPaths() []LabelDescriptor_FieldPath { 1142 if fieldMask == nil { 1143 return nil 1144 } 1145 return fieldMask.Paths 1146 } 1147 1148 func (fieldMask *LabelDescriptor_FieldMask) GetRawPaths() []gotenobject.FieldPath { 1149 if fieldMask == nil { 1150 return nil 1151 } 1152 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 1153 for _, path := range fieldMask.Paths { 1154 rawPaths = append(rawPaths, path) 1155 } 1156 return rawPaths 1157 } 1158 1159 func (fieldMask *LabelDescriptor_FieldMask) SetFromCliFlag(raw string) error { 1160 path, err := ParseLabelDescriptor_FieldPath(raw) 1161 if err != nil { 1162 return err 1163 } 1164 fieldMask.Paths = append(fieldMask.Paths, path) 1165 return nil 1166 } 1167 1168 func (fieldMask *LabelDescriptor_FieldMask) Set(target, source *LabelDescriptor) { 1169 for _, path := range fieldMask.Paths { 1170 val, _ := path.GetSingle(source) 1171 // if val is nil, then field does not exist in source, skip 1172 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 1173 if val != nil { 1174 path.WithIValue(val).SetTo(&target) 1175 } 1176 } 1177 } 1178 1179 func (fieldMask *LabelDescriptor_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 1180 fieldMask.Set(target.(*LabelDescriptor), source.(*LabelDescriptor)) 1181 } 1182 1183 func (fieldMask *LabelDescriptor_FieldMask) Project(source *LabelDescriptor) *LabelDescriptor { 1184 if source == nil { 1185 return nil 1186 } 1187 if fieldMask == nil { 1188 return source 1189 } 1190 result := &LabelDescriptor{} 1191 1192 for _, p := range fieldMask.Paths { 1193 switch tp := p.(type) { 1194 case *LabelDescriptor_FieldTerminalPath: 1195 switch tp.selector { 1196 case LabelDescriptor_FieldPathSelectorKey: 1197 result.Key = source.Key 1198 case LabelDescriptor_FieldPathSelectorVersions: 1199 result.Versions = source.Versions 1200 } 1201 } 1202 } 1203 return result 1204 } 1205 1206 func (fieldMask *LabelDescriptor_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 1207 return fieldMask.Project(source.(*LabelDescriptor)) 1208 } 1209 1210 func (fieldMask *LabelDescriptor_FieldMask) PathsCount() int { 1211 if fieldMask == nil { 1212 return 0 1213 } 1214 return len(fieldMask.Paths) 1215 } 1216 1217 type LabelKeySet_FieldMask struct { 1218 Paths []LabelKeySet_FieldPath 1219 } 1220 1221 func FullLabelKeySet_FieldMask() *LabelKeySet_FieldMask { 1222 res := &LabelKeySet_FieldMask{} 1223 res.Paths = append(res.Paths, &LabelKeySet_FieldTerminalPath{selector: LabelKeySet_FieldPathSelectorLabelKeys}) 1224 res.Paths = append(res.Paths, &LabelKeySet_FieldTerminalPath{selector: LabelKeySet_FieldPathSelectorVersions}) 1225 return res 1226 } 1227 1228 func (fieldMask *LabelKeySet_FieldMask) String() string { 1229 if fieldMask == nil { 1230 return "<nil>" 1231 } 1232 pathsStr := make([]string, 0, len(fieldMask.Paths)) 1233 for _, path := range fieldMask.Paths { 1234 pathsStr = append(pathsStr, path.String()) 1235 } 1236 return strings.Join(pathsStr, ", ") 1237 } 1238 1239 func (fieldMask *LabelKeySet_FieldMask) IsFull() bool { 1240 if fieldMask == nil { 1241 return false 1242 } 1243 presentSelectors := make([]bool, 2) 1244 for _, path := range fieldMask.Paths { 1245 if asFinal, ok := path.(*LabelKeySet_FieldTerminalPath); ok { 1246 presentSelectors[int(asFinal.selector)] = true 1247 } 1248 } 1249 for _, flag := range presentSelectors { 1250 if !flag { 1251 return false 1252 } 1253 } 1254 return true 1255 } 1256 1257 func (fieldMask *LabelKeySet_FieldMask) ProtoReflect() preflect.Message { 1258 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 1259 return ParseLabelKeySet_FieldPath(raw) 1260 }) 1261 } 1262 1263 func (fieldMask *LabelKeySet_FieldMask) ProtoMessage() {} 1264 1265 func (fieldMask *LabelKeySet_FieldMask) Reset() { 1266 if fieldMask != nil { 1267 fieldMask.Paths = nil 1268 } 1269 } 1270 1271 func (fieldMask *LabelKeySet_FieldMask) Subtract(other *LabelKeySet_FieldMask) *LabelKeySet_FieldMask { 1272 result := &LabelKeySet_FieldMask{} 1273 removedSelectors := make([]bool, 2) 1274 1275 for _, path := range other.GetPaths() { 1276 switch tp := path.(type) { 1277 case *LabelKeySet_FieldTerminalPath: 1278 removedSelectors[int(tp.selector)] = true 1279 } 1280 } 1281 for _, path := range fieldMask.GetPaths() { 1282 if !removedSelectors[int(path.Selector())] { 1283 result.Paths = append(result.Paths, path) 1284 } 1285 } 1286 1287 if len(result.Paths) == 0 { 1288 return nil 1289 } 1290 return result 1291 } 1292 1293 func (fieldMask *LabelKeySet_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 1294 return fieldMask.Subtract(other.(*LabelKeySet_FieldMask)) 1295 } 1296 1297 // FilterInputFields generates copy of field paths with output_only field paths removed 1298 func (fieldMask *LabelKeySet_FieldMask) FilterInputFields() *LabelKeySet_FieldMask { 1299 result := &LabelKeySet_FieldMask{} 1300 result.Paths = append(result.Paths, fieldMask.Paths...) 1301 return result 1302 } 1303 1304 // ToFieldMask is used for proto conversions 1305 func (fieldMask *LabelKeySet_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 1306 protoFieldMask := &googlefieldmaskpb.FieldMask{} 1307 for _, path := range fieldMask.Paths { 1308 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 1309 } 1310 return protoFieldMask 1311 } 1312 1313 func (fieldMask *LabelKeySet_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 1314 if fieldMask == nil { 1315 return status.Error(codes.Internal, "target field mask is nil") 1316 } 1317 fieldMask.Paths = make([]LabelKeySet_FieldPath, 0, len(protoFieldMask.Paths)) 1318 for _, strPath := range protoFieldMask.Paths { 1319 path, err := ParseLabelKeySet_FieldPath(strPath) 1320 if err != nil { 1321 return err 1322 } 1323 fieldMask.Paths = append(fieldMask.Paths, path) 1324 } 1325 return nil 1326 } 1327 1328 // implement methods required by customType 1329 func (fieldMask LabelKeySet_FieldMask) Marshal() ([]byte, error) { 1330 protoFieldMask := fieldMask.ToProtoFieldMask() 1331 return proto.Marshal(protoFieldMask) 1332 } 1333 1334 func (fieldMask *LabelKeySet_FieldMask) Unmarshal(data []byte) error { 1335 protoFieldMask := &googlefieldmaskpb.FieldMask{} 1336 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 1337 return err 1338 } 1339 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 1340 return err 1341 } 1342 return nil 1343 } 1344 1345 func (fieldMask *LabelKeySet_FieldMask) Size() int { 1346 return proto.Size(fieldMask.ToProtoFieldMask()) 1347 } 1348 1349 func (fieldMask LabelKeySet_FieldMask) MarshalJSON() ([]byte, error) { 1350 return json.Marshal(fieldMask.ToProtoFieldMask()) 1351 } 1352 1353 func (fieldMask *LabelKeySet_FieldMask) UnmarshalJSON(data []byte) error { 1354 protoFieldMask := &googlefieldmaskpb.FieldMask{} 1355 if err := json.Unmarshal(data, protoFieldMask); err != nil { 1356 return err 1357 } 1358 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 1359 return err 1360 } 1361 return nil 1362 } 1363 1364 func (fieldMask *LabelKeySet_FieldMask) AppendPath(path LabelKeySet_FieldPath) { 1365 fieldMask.Paths = append(fieldMask.Paths, path) 1366 } 1367 1368 func (fieldMask *LabelKeySet_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 1369 fieldMask.Paths = append(fieldMask.Paths, path.(LabelKeySet_FieldPath)) 1370 } 1371 1372 func (fieldMask *LabelKeySet_FieldMask) GetPaths() []LabelKeySet_FieldPath { 1373 if fieldMask == nil { 1374 return nil 1375 } 1376 return fieldMask.Paths 1377 } 1378 1379 func (fieldMask *LabelKeySet_FieldMask) GetRawPaths() []gotenobject.FieldPath { 1380 if fieldMask == nil { 1381 return nil 1382 } 1383 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 1384 for _, path := range fieldMask.Paths { 1385 rawPaths = append(rawPaths, path) 1386 } 1387 return rawPaths 1388 } 1389 1390 func (fieldMask *LabelKeySet_FieldMask) SetFromCliFlag(raw string) error { 1391 path, err := ParseLabelKeySet_FieldPath(raw) 1392 if err != nil { 1393 return err 1394 } 1395 fieldMask.Paths = append(fieldMask.Paths, path) 1396 return nil 1397 } 1398 1399 func (fieldMask *LabelKeySet_FieldMask) Set(target, source *LabelKeySet) { 1400 for _, path := range fieldMask.Paths { 1401 val, _ := path.GetSingle(source) 1402 // if val is nil, then field does not exist in source, skip 1403 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 1404 if val != nil { 1405 path.WithIValue(val).SetTo(&target) 1406 } 1407 } 1408 } 1409 1410 func (fieldMask *LabelKeySet_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 1411 fieldMask.Set(target.(*LabelKeySet), source.(*LabelKeySet)) 1412 } 1413 1414 func (fieldMask *LabelKeySet_FieldMask) Project(source *LabelKeySet) *LabelKeySet { 1415 if source == nil { 1416 return nil 1417 } 1418 if fieldMask == nil { 1419 return source 1420 } 1421 result := &LabelKeySet{} 1422 1423 for _, p := range fieldMask.Paths { 1424 switch tp := p.(type) { 1425 case *LabelKeySet_FieldTerminalPath: 1426 switch tp.selector { 1427 case LabelKeySet_FieldPathSelectorLabelKeys: 1428 result.LabelKeys = source.LabelKeys 1429 case LabelKeySet_FieldPathSelectorVersions: 1430 result.Versions = source.Versions 1431 } 1432 } 1433 } 1434 return result 1435 } 1436 1437 func (fieldMask *LabelKeySet_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 1438 return fieldMask.Project(source.(*LabelKeySet)) 1439 } 1440 1441 func (fieldMask *LabelKeySet_FieldMask) PathsCount() int { 1442 if fieldMask == nil { 1443 return 0 1444 } 1445 return len(fieldMask.Paths) 1446 } 1447 1448 type TimeInterval_FieldMask struct { 1449 Paths []TimeInterval_FieldPath 1450 } 1451 1452 func FullTimeInterval_FieldMask() *TimeInterval_FieldMask { 1453 res := &TimeInterval_FieldMask{} 1454 res.Paths = append(res.Paths, &TimeInterval_FieldTerminalPath{selector: TimeInterval_FieldPathSelectorEndTime}) 1455 res.Paths = append(res.Paths, &TimeInterval_FieldTerminalPath{selector: TimeInterval_FieldPathSelectorStartTime}) 1456 return res 1457 } 1458 1459 func (fieldMask *TimeInterval_FieldMask) String() string { 1460 if fieldMask == nil { 1461 return "<nil>" 1462 } 1463 pathsStr := make([]string, 0, len(fieldMask.Paths)) 1464 for _, path := range fieldMask.Paths { 1465 pathsStr = append(pathsStr, path.String()) 1466 } 1467 return strings.Join(pathsStr, ", ") 1468 } 1469 1470 func (fieldMask *TimeInterval_FieldMask) IsFull() bool { 1471 if fieldMask == nil { 1472 return false 1473 } 1474 presentSelectors := make([]bool, 2) 1475 for _, path := range fieldMask.Paths { 1476 if asFinal, ok := path.(*TimeInterval_FieldTerminalPath); ok { 1477 presentSelectors[int(asFinal.selector)] = true 1478 } 1479 } 1480 for _, flag := range presentSelectors { 1481 if !flag { 1482 return false 1483 } 1484 } 1485 return true 1486 } 1487 1488 func (fieldMask *TimeInterval_FieldMask) ProtoReflect() preflect.Message { 1489 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 1490 return ParseTimeInterval_FieldPath(raw) 1491 }) 1492 } 1493 1494 func (fieldMask *TimeInterval_FieldMask) ProtoMessage() {} 1495 1496 func (fieldMask *TimeInterval_FieldMask) Reset() { 1497 if fieldMask != nil { 1498 fieldMask.Paths = nil 1499 } 1500 } 1501 1502 func (fieldMask *TimeInterval_FieldMask) Subtract(other *TimeInterval_FieldMask) *TimeInterval_FieldMask { 1503 result := &TimeInterval_FieldMask{} 1504 removedSelectors := make([]bool, 2) 1505 1506 for _, path := range other.GetPaths() { 1507 switch tp := path.(type) { 1508 case *TimeInterval_FieldTerminalPath: 1509 removedSelectors[int(tp.selector)] = true 1510 } 1511 } 1512 for _, path := range fieldMask.GetPaths() { 1513 if !removedSelectors[int(path.Selector())] { 1514 result.Paths = append(result.Paths, path) 1515 } 1516 } 1517 1518 if len(result.Paths) == 0 { 1519 return nil 1520 } 1521 return result 1522 } 1523 1524 func (fieldMask *TimeInterval_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 1525 return fieldMask.Subtract(other.(*TimeInterval_FieldMask)) 1526 } 1527 1528 // FilterInputFields generates copy of field paths with output_only field paths removed 1529 func (fieldMask *TimeInterval_FieldMask) FilterInputFields() *TimeInterval_FieldMask { 1530 result := &TimeInterval_FieldMask{} 1531 result.Paths = append(result.Paths, fieldMask.Paths...) 1532 return result 1533 } 1534 1535 // ToFieldMask is used for proto conversions 1536 func (fieldMask *TimeInterval_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 1537 protoFieldMask := &googlefieldmaskpb.FieldMask{} 1538 for _, path := range fieldMask.Paths { 1539 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 1540 } 1541 return protoFieldMask 1542 } 1543 1544 func (fieldMask *TimeInterval_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 1545 if fieldMask == nil { 1546 return status.Error(codes.Internal, "target field mask is nil") 1547 } 1548 fieldMask.Paths = make([]TimeInterval_FieldPath, 0, len(protoFieldMask.Paths)) 1549 for _, strPath := range protoFieldMask.Paths { 1550 path, err := ParseTimeInterval_FieldPath(strPath) 1551 if err != nil { 1552 return err 1553 } 1554 fieldMask.Paths = append(fieldMask.Paths, path) 1555 } 1556 return nil 1557 } 1558 1559 // implement methods required by customType 1560 func (fieldMask TimeInterval_FieldMask) Marshal() ([]byte, error) { 1561 protoFieldMask := fieldMask.ToProtoFieldMask() 1562 return proto.Marshal(protoFieldMask) 1563 } 1564 1565 func (fieldMask *TimeInterval_FieldMask) Unmarshal(data []byte) error { 1566 protoFieldMask := &googlefieldmaskpb.FieldMask{} 1567 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 1568 return err 1569 } 1570 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 1571 return err 1572 } 1573 return nil 1574 } 1575 1576 func (fieldMask *TimeInterval_FieldMask) Size() int { 1577 return proto.Size(fieldMask.ToProtoFieldMask()) 1578 } 1579 1580 func (fieldMask TimeInterval_FieldMask) MarshalJSON() ([]byte, error) { 1581 return json.Marshal(fieldMask.ToProtoFieldMask()) 1582 } 1583 1584 func (fieldMask *TimeInterval_FieldMask) UnmarshalJSON(data []byte) error { 1585 protoFieldMask := &googlefieldmaskpb.FieldMask{} 1586 if err := json.Unmarshal(data, protoFieldMask); err != nil { 1587 return err 1588 } 1589 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 1590 return err 1591 } 1592 return nil 1593 } 1594 1595 func (fieldMask *TimeInterval_FieldMask) AppendPath(path TimeInterval_FieldPath) { 1596 fieldMask.Paths = append(fieldMask.Paths, path) 1597 } 1598 1599 func (fieldMask *TimeInterval_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 1600 fieldMask.Paths = append(fieldMask.Paths, path.(TimeInterval_FieldPath)) 1601 } 1602 1603 func (fieldMask *TimeInterval_FieldMask) GetPaths() []TimeInterval_FieldPath { 1604 if fieldMask == nil { 1605 return nil 1606 } 1607 return fieldMask.Paths 1608 } 1609 1610 func (fieldMask *TimeInterval_FieldMask) GetRawPaths() []gotenobject.FieldPath { 1611 if fieldMask == nil { 1612 return nil 1613 } 1614 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 1615 for _, path := range fieldMask.Paths { 1616 rawPaths = append(rawPaths, path) 1617 } 1618 return rawPaths 1619 } 1620 1621 func (fieldMask *TimeInterval_FieldMask) SetFromCliFlag(raw string) error { 1622 path, err := ParseTimeInterval_FieldPath(raw) 1623 if err != nil { 1624 return err 1625 } 1626 fieldMask.Paths = append(fieldMask.Paths, path) 1627 return nil 1628 } 1629 1630 func (fieldMask *TimeInterval_FieldMask) Set(target, source *TimeInterval) { 1631 for _, path := range fieldMask.Paths { 1632 val, _ := path.GetSingle(source) 1633 // if val is nil, then field does not exist in source, skip 1634 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 1635 if val != nil { 1636 path.WithIValue(val).SetTo(&target) 1637 } 1638 } 1639 } 1640 1641 func (fieldMask *TimeInterval_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 1642 fieldMask.Set(target.(*TimeInterval), source.(*TimeInterval)) 1643 } 1644 1645 func (fieldMask *TimeInterval_FieldMask) Project(source *TimeInterval) *TimeInterval { 1646 if source == nil { 1647 return nil 1648 } 1649 if fieldMask == nil { 1650 return source 1651 } 1652 result := &TimeInterval{} 1653 1654 for _, p := range fieldMask.Paths { 1655 switch tp := p.(type) { 1656 case *TimeInterval_FieldTerminalPath: 1657 switch tp.selector { 1658 case TimeInterval_FieldPathSelectorEndTime: 1659 result.EndTime = source.EndTime 1660 case TimeInterval_FieldPathSelectorStartTime: 1661 result.StartTime = source.StartTime 1662 } 1663 } 1664 } 1665 return result 1666 } 1667 1668 func (fieldMask *TimeInterval_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 1669 return fieldMask.Project(source.(*TimeInterval)) 1670 } 1671 1672 func (fieldMask *TimeInterval_FieldMask) PathsCount() int { 1673 if fieldMask == nil { 1674 return 0 1675 } 1676 return len(fieldMask.Paths) 1677 }