github.com/cloudwan/edgelq-sdk@v1.15.4/audit/resources/v1/common/common.pb.fieldmask.go (about) 1 // Code generated by protoc-gen-goten-object 2 // File: edgelq/audit/proto/v1/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 res.Paths = append(res.Paths, &ServiceData_FieldTerminalPath{selector: ServiceData_FieldPathSelectorHostname}) 517 return res 518 } 519 520 func (fieldMask *ServiceData_FieldMask) String() string { 521 if fieldMask == nil { 522 return "<nil>" 523 } 524 pathsStr := make([]string, 0, len(fieldMask.Paths)) 525 for _, path := range fieldMask.Paths { 526 pathsStr = append(pathsStr, path.String()) 527 } 528 return strings.Join(pathsStr, ", ") 529 } 530 531 func (fieldMask *ServiceData_FieldMask) IsFull() bool { 532 if fieldMask == nil { 533 return false 534 } 535 presentSelectors := make([]bool, 3) 536 for _, path := range fieldMask.Paths { 537 if asFinal, ok := path.(*ServiceData_FieldTerminalPath); ok { 538 presentSelectors[int(asFinal.selector)] = true 539 } 540 } 541 for _, flag := range presentSelectors { 542 if !flag { 543 return false 544 } 545 } 546 return true 547 } 548 549 func (fieldMask *ServiceData_FieldMask) ProtoReflect() preflect.Message { 550 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 551 return ParseServiceData_FieldPath(raw) 552 }) 553 } 554 555 func (fieldMask *ServiceData_FieldMask) ProtoMessage() {} 556 557 func (fieldMask *ServiceData_FieldMask) Reset() { 558 if fieldMask != nil { 559 fieldMask.Paths = nil 560 } 561 } 562 563 func (fieldMask *ServiceData_FieldMask) Subtract(other *ServiceData_FieldMask) *ServiceData_FieldMask { 564 result := &ServiceData_FieldMask{} 565 removedSelectors := make([]bool, 3) 566 567 for _, path := range other.GetPaths() { 568 switch tp := path.(type) { 569 case *ServiceData_FieldTerminalPath: 570 removedSelectors[int(tp.selector)] = true 571 } 572 } 573 for _, path := range fieldMask.GetPaths() { 574 if !removedSelectors[int(path.Selector())] { 575 result.Paths = append(result.Paths, path) 576 } 577 } 578 579 if len(result.Paths) == 0 { 580 return nil 581 } 582 return result 583 } 584 585 func (fieldMask *ServiceData_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 586 return fieldMask.Subtract(other.(*ServiceData_FieldMask)) 587 } 588 589 // FilterInputFields generates copy of field paths with output_only field paths removed 590 func (fieldMask *ServiceData_FieldMask) FilterInputFields() *ServiceData_FieldMask { 591 result := &ServiceData_FieldMask{} 592 result.Paths = append(result.Paths, fieldMask.Paths...) 593 return result 594 } 595 596 // ToFieldMask is used for proto conversions 597 func (fieldMask *ServiceData_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 598 protoFieldMask := &googlefieldmaskpb.FieldMask{} 599 for _, path := range fieldMask.Paths { 600 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 601 } 602 return protoFieldMask 603 } 604 605 func (fieldMask *ServiceData_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 606 if fieldMask == nil { 607 return status.Error(codes.Internal, "target field mask is nil") 608 } 609 fieldMask.Paths = make([]ServiceData_FieldPath, 0, len(protoFieldMask.Paths)) 610 for _, strPath := range protoFieldMask.Paths { 611 path, err := ParseServiceData_FieldPath(strPath) 612 if err != nil { 613 return err 614 } 615 fieldMask.Paths = append(fieldMask.Paths, path) 616 } 617 return nil 618 } 619 620 // implement methods required by customType 621 func (fieldMask ServiceData_FieldMask) Marshal() ([]byte, error) { 622 protoFieldMask := fieldMask.ToProtoFieldMask() 623 return proto.Marshal(protoFieldMask) 624 } 625 626 func (fieldMask *ServiceData_FieldMask) Unmarshal(data []byte) error { 627 protoFieldMask := &googlefieldmaskpb.FieldMask{} 628 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 629 return err 630 } 631 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 632 return err 633 } 634 return nil 635 } 636 637 func (fieldMask *ServiceData_FieldMask) Size() int { 638 return proto.Size(fieldMask.ToProtoFieldMask()) 639 } 640 641 func (fieldMask ServiceData_FieldMask) MarshalJSON() ([]byte, error) { 642 return json.Marshal(fieldMask.ToProtoFieldMask()) 643 } 644 645 func (fieldMask *ServiceData_FieldMask) UnmarshalJSON(data []byte) error { 646 protoFieldMask := &googlefieldmaskpb.FieldMask{} 647 if err := json.Unmarshal(data, protoFieldMask); err != nil { 648 return err 649 } 650 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 651 return err 652 } 653 return nil 654 } 655 656 func (fieldMask *ServiceData_FieldMask) AppendPath(path ServiceData_FieldPath) { 657 fieldMask.Paths = append(fieldMask.Paths, path) 658 } 659 660 func (fieldMask *ServiceData_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 661 fieldMask.Paths = append(fieldMask.Paths, path.(ServiceData_FieldPath)) 662 } 663 664 func (fieldMask *ServiceData_FieldMask) GetPaths() []ServiceData_FieldPath { 665 if fieldMask == nil { 666 return nil 667 } 668 return fieldMask.Paths 669 } 670 671 func (fieldMask *ServiceData_FieldMask) GetRawPaths() []gotenobject.FieldPath { 672 if fieldMask == nil { 673 return nil 674 } 675 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 676 for _, path := range fieldMask.Paths { 677 rawPaths = append(rawPaths, path) 678 } 679 return rawPaths 680 } 681 682 func (fieldMask *ServiceData_FieldMask) SetFromCliFlag(raw string) error { 683 path, err := ParseServiceData_FieldPath(raw) 684 if err != nil { 685 return err 686 } 687 fieldMask.Paths = append(fieldMask.Paths, path) 688 return nil 689 } 690 691 func (fieldMask *ServiceData_FieldMask) Set(target, source *ServiceData) { 692 for _, path := range fieldMask.Paths { 693 val, _ := path.GetSingle(source) 694 // if val is nil, then field does not exist in source, skip 695 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 696 if val != nil { 697 path.WithIValue(val).SetTo(&target) 698 } 699 } 700 } 701 702 func (fieldMask *ServiceData_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 703 fieldMask.Set(target.(*ServiceData), source.(*ServiceData)) 704 } 705 706 func (fieldMask *ServiceData_FieldMask) Project(source *ServiceData) *ServiceData { 707 if source == nil { 708 return nil 709 } 710 if fieldMask == nil { 711 return source 712 } 713 result := &ServiceData{} 714 715 for _, p := range fieldMask.Paths { 716 switch tp := p.(type) { 717 case *ServiceData_FieldTerminalPath: 718 switch tp.selector { 719 case ServiceData_FieldPathSelectorName: 720 result.Name = source.Name 721 case ServiceData_FieldPathSelectorRegionId: 722 result.RegionId = source.RegionId 723 case ServiceData_FieldPathSelectorHostname: 724 result.Hostname = source.Hostname 725 } 726 } 727 } 728 return result 729 } 730 731 func (fieldMask *ServiceData_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 732 return fieldMask.Project(source.(*ServiceData)) 733 } 734 735 func (fieldMask *ServiceData_FieldMask) PathsCount() int { 736 if fieldMask == nil { 737 return 0 738 } 739 return len(fieldMask.Paths) 740 } 741 742 type ObjectState_FieldMask struct { 743 Paths []ObjectState_FieldPath 744 } 745 746 func FullObjectState_FieldMask() *ObjectState_FieldMask { 747 res := &ObjectState_FieldMask{} 748 res.Paths = append(res.Paths, &ObjectState_FieldTerminalPath{selector: ObjectState_FieldPathSelectorData}) 749 res.Paths = append(res.Paths, &ObjectState_FieldTerminalPath{selector: ObjectState_FieldPathSelectorLabels}) 750 return res 751 } 752 753 func (fieldMask *ObjectState_FieldMask) String() string { 754 if fieldMask == nil { 755 return "<nil>" 756 } 757 pathsStr := make([]string, 0, len(fieldMask.Paths)) 758 for _, path := range fieldMask.Paths { 759 pathsStr = append(pathsStr, path.String()) 760 } 761 return strings.Join(pathsStr, ", ") 762 } 763 764 func (fieldMask *ObjectState_FieldMask) IsFull() bool { 765 if fieldMask == nil { 766 return false 767 } 768 presentSelectors := make([]bool, 2) 769 for _, path := range fieldMask.Paths { 770 if asFinal, ok := path.(*ObjectState_FieldTerminalPath); ok { 771 presentSelectors[int(asFinal.selector)] = true 772 } 773 } 774 for _, flag := range presentSelectors { 775 if !flag { 776 return false 777 } 778 } 779 return true 780 } 781 782 func (fieldMask *ObjectState_FieldMask) ProtoReflect() preflect.Message { 783 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 784 return ParseObjectState_FieldPath(raw) 785 }) 786 } 787 788 func (fieldMask *ObjectState_FieldMask) ProtoMessage() {} 789 790 func (fieldMask *ObjectState_FieldMask) Reset() { 791 if fieldMask != nil { 792 fieldMask.Paths = nil 793 } 794 } 795 796 func (fieldMask *ObjectState_FieldMask) Subtract(other *ObjectState_FieldMask) *ObjectState_FieldMask { 797 result := &ObjectState_FieldMask{} 798 removedSelectors := make([]bool, 2) 799 800 for _, path := range other.GetPaths() { 801 switch tp := path.(type) { 802 case *ObjectState_FieldTerminalPath: 803 removedSelectors[int(tp.selector)] = true 804 } 805 } 806 for _, path := range fieldMask.GetPaths() { 807 if !removedSelectors[int(path.Selector())] { 808 result.Paths = append(result.Paths, path) 809 } 810 } 811 812 if len(result.Paths) == 0 { 813 return nil 814 } 815 return result 816 } 817 818 func (fieldMask *ObjectState_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 819 return fieldMask.Subtract(other.(*ObjectState_FieldMask)) 820 } 821 822 // FilterInputFields generates copy of field paths with output_only field paths removed 823 func (fieldMask *ObjectState_FieldMask) FilterInputFields() *ObjectState_FieldMask { 824 result := &ObjectState_FieldMask{} 825 result.Paths = append(result.Paths, fieldMask.Paths...) 826 return result 827 } 828 829 // ToFieldMask is used for proto conversions 830 func (fieldMask *ObjectState_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 831 protoFieldMask := &googlefieldmaskpb.FieldMask{} 832 for _, path := range fieldMask.Paths { 833 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 834 } 835 return protoFieldMask 836 } 837 838 func (fieldMask *ObjectState_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 839 if fieldMask == nil { 840 return status.Error(codes.Internal, "target field mask is nil") 841 } 842 fieldMask.Paths = make([]ObjectState_FieldPath, 0, len(protoFieldMask.Paths)) 843 for _, strPath := range protoFieldMask.Paths { 844 path, err := ParseObjectState_FieldPath(strPath) 845 if err != nil { 846 return err 847 } 848 fieldMask.Paths = append(fieldMask.Paths, path) 849 } 850 return nil 851 } 852 853 // implement methods required by customType 854 func (fieldMask ObjectState_FieldMask) Marshal() ([]byte, error) { 855 protoFieldMask := fieldMask.ToProtoFieldMask() 856 return proto.Marshal(protoFieldMask) 857 } 858 859 func (fieldMask *ObjectState_FieldMask) Unmarshal(data []byte) error { 860 protoFieldMask := &googlefieldmaskpb.FieldMask{} 861 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 862 return err 863 } 864 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 865 return err 866 } 867 return nil 868 } 869 870 func (fieldMask *ObjectState_FieldMask) Size() int { 871 return proto.Size(fieldMask.ToProtoFieldMask()) 872 } 873 874 func (fieldMask ObjectState_FieldMask) MarshalJSON() ([]byte, error) { 875 return json.Marshal(fieldMask.ToProtoFieldMask()) 876 } 877 878 func (fieldMask *ObjectState_FieldMask) UnmarshalJSON(data []byte) error { 879 protoFieldMask := &googlefieldmaskpb.FieldMask{} 880 if err := json.Unmarshal(data, protoFieldMask); err != nil { 881 return err 882 } 883 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 884 return err 885 } 886 return nil 887 } 888 889 func (fieldMask *ObjectState_FieldMask) AppendPath(path ObjectState_FieldPath) { 890 fieldMask.Paths = append(fieldMask.Paths, path) 891 } 892 893 func (fieldMask *ObjectState_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 894 fieldMask.Paths = append(fieldMask.Paths, path.(ObjectState_FieldPath)) 895 } 896 897 func (fieldMask *ObjectState_FieldMask) GetPaths() []ObjectState_FieldPath { 898 if fieldMask == nil { 899 return nil 900 } 901 return fieldMask.Paths 902 } 903 904 func (fieldMask *ObjectState_FieldMask) GetRawPaths() []gotenobject.FieldPath { 905 if fieldMask == nil { 906 return nil 907 } 908 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 909 for _, path := range fieldMask.Paths { 910 rawPaths = append(rawPaths, path) 911 } 912 return rawPaths 913 } 914 915 func (fieldMask *ObjectState_FieldMask) SetFromCliFlag(raw string) error { 916 path, err := ParseObjectState_FieldPath(raw) 917 if err != nil { 918 return err 919 } 920 fieldMask.Paths = append(fieldMask.Paths, path) 921 return nil 922 } 923 924 func (fieldMask *ObjectState_FieldMask) Set(target, source *ObjectState) { 925 for _, path := range fieldMask.Paths { 926 val, _ := path.GetSingle(source) 927 // if val is nil, then field does not exist in source, skip 928 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 929 if val != nil { 930 path.WithIValue(val).SetTo(&target) 931 } 932 } 933 } 934 935 func (fieldMask *ObjectState_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 936 fieldMask.Set(target.(*ObjectState), source.(*ObjectState)) 937 } 938 939 func (fieldMask *ObjectState_FieldMask) Project(source *ObjectState) *ObjectState { 940 if source == nil { 941 return nil 942 } 943 if fieldMask == nil { 944 return source 945 } 946 result := &ObjectState{} 947 var labelsMapKeys []string 948 wholeLabelsAccepted := false 949 950 for _, p := range fieldMask.Paths { 951 switch tp := p.(type) { 952 case *ObjectState_FieldTerminalPath: 953 switch tp.selector { 954 case ObjectState_FieldPathSelectorData: 955 result.Data = source.Data 956 case ObjectState_FieldPathSelectorLabels: 957 result.Labels = source.Labels 958 wholeLabelsAccepted = true 959 } 960 case *ObjectState_FieldPathMap: 961 switch tp.selector { 962 case ObjectState_FieldPathSelectorLabels: 963 labelsMapKeys = append(labelsMapKeys, tp.key) 964 } 965 } 966 } 967 if wholeLabelsAccepted == false && len(labelsMapKeys) > 0 && source.GetLabels() != nil { 968 copiedMap := map[string]string{} 969 sourceMap := source.GetLabels() 970 for _, key := range labelsMapKeys { 971 copiedMap[key] = sourceMap[key] 972 } 973 result.Labels = copiedMap 974 } 975 return result 976 } 977 978 func (fieldMask *ObjectState_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 979 return fieldMask.Project(source.(*ObjectState)) 980 } 981 982 func (fieldMask *ObjectState_FieldMask) PathsCount() int { 983 if fieldMask == nil { 984 return 0 985 } 986 return len(fieldMask.Paths) 987 } 988 989 type LabelDescriptor_FieldMask struct { 990 Paths []LabelDescriptor_FieldPath 991 } 992 993 func FullLabelDescriptor_FieldMask() *LabelDescriptor_FieldMask { 994 res := &LabelDescriptor_FieldMask{} 995 res.Paths = append(res.Paths, &LabelDescriptor_FieldTerminalPath{selector: LabelDescriptor_FieldPathSelectorKey}) 996 res.Paths = append(res.Paths, &LabelDescriptor_FieldTerminalPath{selector: LabelDescriptor_FieldPathSelectorVersions}) 997 return res 998 } 999 1000 func (fieldMask *LabelDescriptor_FieldMask) String() string { 1001 if fieldMask == nil { 1002 return "<nil>" 1003 } 1004 pathsStr := make([]string, 0, len(fieldMask.Paths)) 1005 for _, path := range fieldMask.Paths { 1006 pathsStr = append(pathsStr, path.String()) 1007 } 1008 return strings.Join(pathsStr, ", ") 1009 } 1010 1011 func (fieldMask *LabelDescriptor_FieldMask) IsFull() bool { 1012 if fieldMask == nil { 1013 return false 1014 } 1015 presentSelectors := make([]bool, 2) 1016 for _, path := range fieldMask.Paths { 1017 if asFinal, ok := path.(*LabelDescriptor_FieldTerminalPath); ok { 1018 presentSelectors[int(asFinal.selector)] = true 1019 } 1020 } 1021 for _, flag := range presentSelectors { 1022 if !flag { 1023 return false 1024 } 1025 } 1026 return true 1027 } 1028 1029 func (fieldMask *LabelDescriptor_FieldMask) ProtoReflect() preflect.Message { 1030 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 1031 return ParseLabelDescriptor_FieldPath(raw) 1032 }) 1033 } 1034 1035 func (fieldMask *LabelDescriptor_FieldMask) ProtoMessage() {} 1036 1037 func (fieldMask *LabelDescriptor_FieldMask) Reset() { 1038 if fieldMask != nil { 1039 fieldMask.Paths = nil 1040 } 1041 } 1042 1043 func (fieldMask *LabelDescriptor_FieldMask) Subtract(other *LabelDescriptor_FieldMask) *LabelDescriptor_FieldMask { 1044 result := &LabelDescriptor_FieldMask{} 1045 removedSelectors := make([]bool, 2) 1046 1047 for _, path := range other.GetPaths() { 1048 switch tp := path.(type) { 1049 case *LabelDescriptor_FieldTerminalPath: 1050 removedSelectors[int(tp.selector)] = true 1051 } 1052 } 1053 for _, path := range fieldMask.GetPaths() { 1054 if !removedSelectors[int(path.Selector())] { 1055 result.Paths = append(result.Paths, path) 1056 } 1057 } 1058 1059 if len(result.Paths) == 0 { 1060 return nil 1061 } 1062 return result 1063 } 1064 1065 func (fieldMask *LabelDescriptor_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 1066 return fieldMask.Subtract(other.(*LabelDescriptor_FieldMask)) 1067 } 1068 1069 // FilterInputFields generates copy of field paths with output_only field paths removed 1070 func (fieldMask *LabelDescriptor_FieldMask) FilterInputFields() *LabelDescriptor_FieldMask { 1071 result := &LabelDescriptor_FieldMask{} 1072 result.Paths = append(result.Paths, fieldMask.Paths...) 1073 return result 1074 } 1075 1076 // ToFieldMask is used for proto conversions 1077 func (fieldMask *LabelDescriptor_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 1078 protoFieldMask := &googlefieldmaskpb.FieldMask{} 1079 for _, path := range fieldMask.Paths { 1080 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 1081 } 1082 return protoFieldMask 1083 } 1084 1085 func (fieldMask *LabelDescriptor_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 1086 if fieldMask == nil { 1087 return status.Error(codes.Internal, "target field mask is nil") 1088 } 1089 fieldMask.Paths = make([]LabelDescriptor_FieldPath, 0, len(protoFieldMask.Paths)) 1090 for _, strPath := range protoFieldMask.Paths { 1091 path, err := ParseLabelDescriptor_FieldPath(strPath) 1092 if err != nil { 1093 return err 1094 } 1095 fieldMask.Paths = append(fieldMask.Paths, path) 1096 } 1097 return nil 1098 } 1099 1100 // implement methods required by customType 1101 func (fieldMask LabelDescriptor_FieldMask) Marshal() ([]byte, error) { 1102 protoFieldMask := fieldMask.ToProtoFieldMask() 1103 return proto.Marshal(protoFieldMask) 1104 } 1105 1106 func (fieldMask *LabelDescriptor_FieldMask) Unmarshal(data []byte) error { 1107 protoFieldMask := &googlefieldmaskpb.FieldMask{} 1108 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 1109 return err 1110 } 1111 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 1112 return err 1113 } 1114 return nil 1115 } 1116 1117 func (fieldMask *LabelDescriptor_FieldMask) Size() int { 1118 return proto.Size(fieldMask.ToProtoFieldMask()) 1119 } 1120 1121 func (fieldMask LabelDescriptor_FieldMask) MarshalJSON() ([]byte, error) { 1122 return json.Marshal(fieldMask.ToProtoFieldMask()) 1123 } 1124 1125 func (fieldMask *LabelDescriptor_FieldMask) UnmarshalJSON(data []byte) error { 1126 protoFieldMask := &googlefieldmaskpb.FieldMask{} 1127 if err := json.Unmarshal(data, protoFieldMask); err != nil { 1128 return err 1129 } 1130 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 1131 return err 1132 } 1133 return nil 1134 } 1135 1136 func (fieldMask *LabelDescriptor_FieldMask) AppendPath(path LabelDescriptor_FieldPath) { 1137 fieldMask.Paths = append(fieldMask.Paths, path) 1138 } 1139 1140 func (fieldMask *LabelDescriptor_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 1141 fieldMask.Paths = append(fieldMask.Paths, path.(LabelDescriptor_FieldPath)) 1142 } 1143 1144 func (fieldMask *LabelDescriptor_FieldMask) GetPaths() []LabelDescriptor_FieldPath { 1145 if fieldMask == nil { 1146 return nil 1147 } 1148 return fieldMask.Paths 1149 } 1150 1151 func (fieldMask *LabelDescriptor_FieldMask) GetRawPaths() []gotenobject.FieldPath { 1152 if fieldMask == nil { 1153 return nil 1154 } 1155 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 1156 for _, path := range fieldMask.Paths { 1157 rawPaths = append(rawPaths, path) 1158 } 1159 return rawPaths 1160 } 1161 1162 func (fieldMask *LabelDescriptor_FieldMask) SetFromCliFlag(raw string) error { 1163 path, err := ParseLabelDescriptor_FieldPath(raw) 1164 if err != nil { 1165 return err 1166 } 1167 fieldMask.Paths = append(fieldMask.Paths, path) 1168 return nil 1169 } 1170 1171 func (fieldMask *LabelDescriptor_FieldMask) Set(target, source *LabelDescriptor) { 1172 for _, path := range fieldMask.Paths { 1173 val, _ := path.GetSingle(source) 1174 // if val is nil, then field does not exist in source, skip 1175 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 1176 if val != nil { 1177 path.WithIValue(val).SetTo(&target) 1178 } 1179 } 1180 } 1181 1182 func (fieldMask *LabelDescriptor_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 1183 fieldMask.Set(target.(*LabelDescriptor), source.(*LabelDescriptor)) 1184 } 1185 1186 func (fieldMask *LabelDescriptor_FieldMask) Project(source *LabelDescriptor) *LabelDescriptor { 1187 if source == nil { 1188 return nil 1189 } 1190 if fieldMask == nil { 1191 return source 1192 } 1193 result := &LabelDescriptor{} 1194 1195 for _, p := range fieldMask.Paths { 1196 switch tp := p.(type) { 1197 case *LabelDescriptor_FieldTerminalPath: 1198 switch tp.selector { 1199 case LabelDescriptor_FieldPathSelectorKey: 1200 result.Key = source.Key 1201 case LabelDescriptor_FieldPathSelectorVersions: 1202 result.Versions = source.Versions 1203 } 1204 } 1205 } 1206 return result 1207 } 1208 1209 func (fieldMask *LabelDescriptor_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 1210 return fieldMask.Project(source.(*LabelDescriptor)) 1211 } 1212 1213 func (fieldMask *LabelDescriptor_FieldMask) PathsCount() int { 1214 if fieldMask == nil { 1215 return 0 1216 } 1217 return len(fieldMask.Paths) 1218 } 1219 1220 type LabelKeySet_FieldMask struct { 1221 Paths []LabelKeySet_FieldPath 1222 } 1223 1224 func FullLabelKeySet_FieldMask() *LabelKeySet_FieldMask { 1225 res := &LabelKeySet_FieldMask{} 1226 res.Paths = append(res.Paths, &LabelKeySet_FieldTerminalPath{selector: LabelKeySet_FieldPathSelectorLabelKeys}) 1227 res.Paths = append(res.Paths, &LabelKeySet_FieldTerminalPath{selector: LabelKeySet_FieldPathSelectorVersions}) 1228 return res 1229 } 1230 1231 func (fieldMask *LabelKeySet_FieldMask) String() string { 1232 if fieldMask == nil { 1233 return "<nil>" 1234 } 1235 pathsStr := make([]string, 0, len(fieldMask.Paths)) 1236 for _, path := range fieldMask.Paths { 1237 pathsStr = append(pathsStr, path.String()) 1238 } 1239 return strings.Join(pathsStr, ", ") 1240 } 1241 1242 func (fieldMask *LabelKeySet_FieldMask) IsFull() bool { 1243 if fieldMask == nil { 1244 return false 1245 } 1246 presentSelectors := make([]bool, 2) 1247 for _, path := range fieldMask.Paths { 1248 if asFinal, ok := path.(*LabelKeySet_FieldTerminalPath); ok { 1249 presentSelectors[int(asFinal.selector)] = true 1250 } 1251 } 1252 for _, flag := range presentSelectors { 1253 if !flag { 1254 return false 1255 } 1256 } 1257 return true 1258 } 1259 1260 func (fieldMask *LabelKeySet_FieldMask) ProtoReflect() preflect.Message { 1261 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 1262 return ParseLabelKeySet_FieldPath(raw) 1263 }) 1264 } 1265 1266 func (fieldMask *LabelKeySet_FieldMask) ProtoMessage() {} 1267 1268 func (fieldMask *LabelKeySet_FieldMask) Reset() { 1269 if fieldMask != nil { 1270 fieldMask.Paths = nil 1271 } 1272 } 1273 1274 func (fieldMask *LabelKeySet_FieldMask) Subtract(other *LabelKeySet_FieldMask) *LabelKeySet_FieldMask { 1275 result := &LabelKeySet_FieldMask{} 1276 removedSelectors := make([]bool, 2) 1277 1278 for _, path := range other.GetPaths() { 1279 switch tp := path.(type) { 1280 case *LabelKeySet_FieldTerminalPath: 1281 removedSelectors[int(tp.selector)] = true 1282 } 1283 } 1284 for _, path := range fieldMask.GetPaths() { 1285 if !removedSelectors[int(path.Selector())] { 1286 result.Paths = append(result.Paths, path) 1287 } 1288 } 1289 1290 if len(result.Paths) == 0 { 1291 return nil 1292 } 1293 return result 1294 } 1295 1296 func (fieldMask *LabelKeySet_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 1297 return fieldMask.Subtract(other.(*LabelKeySet_FieldMask)) 1298 } 1299 1300 // FilterInputFields generates copy of field paths with output_only field paths removed 1301 func (fieldMask *LabelKeySet_FieldMask) FilterInputFields() *LabelKeySet_FieldMask { 1302 result := &LabelKeySet_FieldMask{} 1303 result.Paths = append(result.Paths, fieldMask.Paths...) 1304 return result 1305 } 1306 1307 // ToFieldMask is used for proto conversions 1308 func (fieldMask *LabelKeySet_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 1309 protoFieldMask := &googlefieldmaskpb.FieldMask{} 1310 for _, path := range fieldMask.Paths { 1311 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 1312 } 1313 return protoFieldMask 1314 } 1315 1316 func (fieldMask *LabelKeySet_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 1317 if fieldMask == nil { 1318 return status.Error(codes.Internal, "target field mask is nil") 1319 } 1320 fieldMask.Paths = make([]LabelKeySet_FieldPath, 0, len(protoFieldMask.Paths)) 1321 for _, strPath := range protoFieldMask.Paths { 1322 path, err := ParseLabelKeySet_FieldPath(strPath) 1323 if err != nil { 1324 return err 1325 } 1326 fieldMask.Paths = append(fieldMask.Paths, path) 1327 } 1328 return nil 1329 } 1330 1331 // implement methods required by customType 1332 func (fieldMask LabelKeySet_FieldMask) Marshal() ([]byte, error) { 1333 protoFieldMask := fieldMask.ToProtoFieldMask() 1334 return proto.Marshal(protoFieldMask) 1335 } 1336 1337 func (fieldMask *LabelKeySet_FieldMask) Unmarshal(data []byte) error { 1338 protoFieldMask := &googlefieldmaskpb.FieldMask{} 1339 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 1340 return err 1341 } 1342 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 1343 return err 1344 } 1345 return nil 1346 } 1347 1348 func (fieldMask *LabelKeySet_FieldMask) Size() int { 1349 return proto.Size(fieldMask.ToProtoFieldMask()) 1350 } 1351 1352 func (fieldMask LabelKeySet_FieldMask) MarshalJSON() ([]byte, error) { 1353 return json.Marshal(fieldMask.ToProtoFieldMask()) 1354 } 1355 1356 func (fieldMask *LabelKeySet_FieldMask) UnmarshalJSON(data []byte) error { 1357 protoFieldMask := &googlefieldmaskpb.FieldMask{} 1358 if err := json.Unmarshal(data, protoFieldMask); err != nil { 1359 return err 1360 } 1361 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 1362 return err 1363 } 1364 return nil 1365 } 1366 1367 func (fieldMask *LabelKeySet_FieldMask) AppendPath(path LabelKeySet_FieldPath) { 1368 fieldMask.Paths = append(fieldMask.Paths, path) 1369 } 1370 1371 func (fieldMask *LabelKeySet_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 1372 fieldMask.Paths = append(fieldMask.Paths, path.(LabelKeySet_FieldPath)) 1373 } 1374 1375 func (fieldMask *LabelKeySet_FieldMask) GetPaths() []LabelKeySet_FieldPath { 1376 if fieldMask == nil { 1377 return nil 1378 } 1379 return fieldMask.Paths 1380 } 1381 1382 func (fieldMask *LabelKeySet_FieldMask) GetRawPaths() []gotenobject.FieldPath { 1383 if fieldMask == nil { 1384 return nil 1385 } 1386 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 1387 for _, path := range fieldMask.Paths { 1388 rawPaths = append(rawPaths, path) 1389 } 1390 return rawPaths 1391 } 1392 1393 func (fieldMask *LabelKeySet_FieldMask) SetFromCliFlag(raw string) error { 1394 path, err := ParseLabelKeySet_FieldPath(raw) 1395 if err != nil { 1396 return err 1397 } 1398 fieldMask.Paths = append(fieldMask.Paths, path) 1399 return nil 1400 } 1401 1402 func (fieldMask *LabelKeySet_FieldMask) Set(target, source *LabelKeySet) { 1403 for _, path := range fieldMask.Paths { 1404 val, _ := path.GetSingle(source) 1405 // if val is nil, then field does not exist in source, skip 1406 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 1407 if val != nil { 1408 path.WithIValue(val).SetTo(&target) 1409 } 1410 } 1411 } 1412 1413 func (fieldMask *LabelKeySet_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 1414 fieldMask.Set(target.(*LabelKeySet), source.(*LabelKeySet)) 1415 } 1416 1417 func (fieldMask *LabelKeySet_FieldMask) Project(source *LabelKeySet) *LabelKeySet { 1418 if source == nil { 1419 return nil 1420 } 1421 if fieldMask == nil { 1422 return source 1423 } 1424 result := &LabelKeySet{} 1425 1426 for _, p := range fieldMask.Paths { 1427 switch tp := p.(type) { 1428 case *LabelKeySet_FieldTerminalPath: 1429 switch tp.selector { 1430 case LabelKeySet_FieldPathSelectorLabelKeys: 1431 result.LabelKeys = source.LabelKeys 1432 case LabelKeySet_FieldPathSelectorVersions: 1433 result.Versions = source.Versions 1434 } 1435 } 1436 } 1437 return result 1438 } 1439 1440 func (fieldMask *LabelKeySet_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 1441 return fieldMask.Project(source.(*LabelKeySet)) 1442 } 1443 1444 func (fieldMask *LabelKeySet_FieldMask) PathsCount() int { 1445 if fieldMask == nil { 1446 return 0 1447 } 1448 return len(fieldMask.Paths) 1449 } 1450 1451 type TimeInterval_FieldMask struct { 1452 Paths []TimeInterval_FieldPath 1453 } 1454 1455 func FullTimeInterval_FieldMask() *TimeInterval_FieldMask { 1456 res := &TimeInterval_FieldMask{} 1457 res.Paths = append(res.Paths, &TimeInterval_FieldTerminalPath{selector: TimeInterval_FieldPathSelectorEndTime}) 1458 res.Paths = append(res.Paths, &TimeInterval_FieldTerminalPath{selector: TimeInterval_FieldPathSelectorStartTime}) 1459 return res 1460 } 1461 1462 func (fieldMask *TimeInterval_FieldMask) String() string { 1463 if fieldMask == nil { 1464 return "<nil>" 1465 } 1466 pathsStr := make([]string, 0, len(fieldMask.Paths)) 1467 for _, path := range fieldMask.Paths { 1468 pathsStr = append(pathsStr, path.String()) 1469 } 1470 return strings.Join(pathsStr, ", ") 1471 } 1472 1473 func (fieldMask *TimeInterval_FieldMask) IsFull() bool { 1474 if fieldMask == nil { 1475 return false 1476 } 1477 presentSelectors := make([]bool, 2) 1478 for _, path := range fieldMask.Paths { 1479 if asFinal, ok := path.(*TimeInterval_FieldTerminalPath); ok { 1480 presentSelectors[int(asFinal.selector)] = true 1481 } 1482 } 1483 for _, flag := range presentSelectors { 1484 if !flag { 1485 return false 1486 } 1487 } 1488 return true 1489 } 1490 1491 func (fieldMask *TimeInterval_FieldMask) ProtoReflect() preflect.Message { 1492 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 1493 return ParseTimeInterval_FieldPath(raw) 1494 }) 1495 } 1496 1497 func (fieldMask *TimeInterval_FieldMask) ProtoMessage() {} 1498 1499 func (fieldMask *TimeInterval_FieldMask) Reset() { 1500 if fieldMask != nil { 1501 fieldMask.Paths = nil 1502 } 1503 } 1504 1505 func (fieldMask *TimeInterval_FieldMask) Subtract(other *TimeInterval_FieldMask) *TimeInterval_FieldMask { 1506 result := &TimeInterval_FieldMask{} 1507 removedSelectors := make([]bool, 2) 1508 1509 for _, path := range other.GetPaths() { 1510 switch tp := path.(type) { 1511 case *TimeInterval_FieldTerminalPath: 1512 removedSelectors[int(tp.selector)] = true 1513 } 1514 } 1515 for _, path := range fieldMask.GetPaths() { 1516 if !removedSelectors[int(path.Selector())] { 1517 result.Paths = append(result.Paths, path) 1518 } 1519 } 1520 1521 if len(result.Paths) == 0 { 1522 return nil 1523 } 1524 return result 1525 } 1526 1527 func (fieldMask *TimeInterval_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 1528 return fieldMask.Subtract(other.(*TimeInterval_FieldMask)) 1529 } 1530 1531 // FilterInputFields generates copy of field paths with output_only field paths removed 1532 func (fieldMask *TimeInterval_FieldMask) FilterInputFields() *TimeInterval_FieldMask { 1533 result := &TimeInterval_FieldMask{} 1534 result.Paths = append(result.Paths, fieldMask.Paths...) 1535 return result 1536 } 1537 1538 // ToFieldMask is used for proto conversions 1539 func (fieldMask *TimeInterval_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 1540 protoFieldMask := &googlefieldmaskpb.FieldMask{} 1541 for _, path := range fieldMask.Paths { 1542 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 1543 } 1544 return protoFieldMask 1545 } 1546 1547 func (fieldMask *TimeInterval_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 1548 if fieldMask == nil { 1549 return status.Error(codes.Internal, "target field mask is nil") 1550 } 1551 fieldMask.Paths = make([]TimeInterval_FieldPath, 0, len(protoFieldMask.Paths)) 1552 for _, strPath := range protoFieldMask.Paths { 1553 path, err := ParseTimeInterval_FieldPath(strPath) 1554 if err != nil { 1555 return err 1556 } 1557 fieldMask.Paths = append(fieldMask.Paths, path) 1558 } 1559 return nil 1560 } 1561 1562 // implement methods required by customType 1563 func (fieldMask TimeInterval_FieldMask) Marshal() ([]byte, error) { 1564 protoFieldMask := fieldMask.ToProtoFieldMask() 1565 return proto.Marshal(protoFieldMask) 1566 } 1567 1568 func (fieldMask *TimeInterval_FieldMask) Unmarshal(data []byte) error { 1569 protoFieldMask := &googlefieldmaskpb.FieldMask{} 1570 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 1571 return err 1572 } 1573 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 1574 return err 1575 } 1576 return nil 1577 } 1578 1579 func (fieldMask *TimeInterval_FieldMask) Size() int { 1580 return proto.Size(fieldMask.ToProtoFieldMask()) 1581 } 1582 1583 func (fieldMask TimeInterval_FieldMask) MarshalJSON() ([]byte, error) { 1584 return json.Marshal(fieldMask.ToProtoFieldMask()) 1585 } 1586 1587 func (fieldMask *TimeInterval_FieldMask) UnmarshalJSON(data []byte) error { 1588 protoFieldMask := &googlefieldmaskpb.FieldMask{} 1589 if err := json.Unmarshal(data, protoFieldMask); err != nil { 1590 return err 1591 } 1592 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 1593 return err 1594 } 1595 return nil 1596 } 1597 1598 func (fieldMask *TimeInterval_FieldMask) AppendPath(path TimeInterval_FieldPath) { 1599 fieldMask.Paths = append(fieldMask.Paths, path) 1600 } 1601 1602 func (fieldMask *TimeInterval_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 1603 fieldMask.Paths = append(fieldMask.Paths, path.(TimeInterval_FieldPath)) 1604 } 1605 1606 func (fieldMask *TimeInterval_FieldMask) GetPaths() []TimeInterval_FieldPath { 1607 if fieldMask == nil { 1608 return nil 1609 } 1610 return fieldMask.Paths 1611 } 1612 1613 func (fieldMask *TimeInterval_FieldMask) GetRawPaths() []gotenobject.FieldPath { 1614 if fieldMask == nil { 1615 return nil 1616 } 1617 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 1618 for _, path := range fieldMask.Paths { 1619 rawPaths = append(rawPaths, path) 1620 } 1621 return rawPaths 1622 } 1623 1624 func (fieldMask *TimeInterval_FieldMask) SetFromCliFlag(raw string) error { 1625 path, err := ParseTimeInterval_FieldPath(raw) 1626 if err != nil { 1627 return err 1628 } 1629 fieldMask.Paths = append(fieldMask.Paths, path) 1630 return nil 1631 } 1632 1633 func (fieldMask *TimeInterval_FieldMask) Set(target, source *TimeInterval) { 1634 for _, path := range fieldMask.Paths { 1635 val, _ := path.GetSingle(source) 1636 // if val is nil, then field does not exist in source, skip 1637 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 1638 if val != nil { 1639 path.WithIValue(val).SetTo(&target) 1640 } 1641 } 1642 } 1643 1644 func (fieldMask *TimeInterval_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 1645 fieldMask.Set(target.(*TimeInterval), source.(*TimeInterval)) 1646 } 1647 1648 func (fieldMask *TimeInterval_FieldMask) Project(source *TimeInterval) *TimeInterval { 1649 if source == nil { 1650 return nil 1651 } 1652 if fieldMask == nil { 1653 return source 1654 } 1655 result := &TimeInterval{} 1656 1657 for _, p := range fieldMask.Paths { 1658 switch tp := p.(type) { 1659 case *TimeInterval_FieldTerminalPath: 1660 switch tp.selector { 1661 case TimeInterval_FieldPathSelectorEndTime: 1662 result.EndTime = source.EndTime 1663 case TimeInterval_FieldPathSelectorStartTime: 1664 result.StartTime = source.StartTime 1665 } 1666 } 1667 } 1668 return result 1669 } 1670 1671 func (fieldMask *TimeInterval_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 1672 return fieldMask.Project(source.(*TimeInterval)) 1673 } 1674 1675 func (fieldMask *TimeInterval_FieldMask) PathsCount() int { 1676 if fieldMask == nil { 1677 return 0 1678 } 1679 return len(fieldMask.Paths) 1680 }