github.com/cloudwan/edgelq-sdk@v1.15.4/iam/resources/v1alpha2/service_account/service_account.pb.fieldpath.go (about) 1 // Code generated by protoc-gen-goten-object 2 // File: edgelq/iam/proto/v1alpha2/service_account.proto 3 // DO NOT EDIT!!! 4 5 package service_account 6 7 import ( 8 "encoding/json" 9 "fmt" 10 "reflect" 11 "strings" 12 "time" 13 14 "google.golang.org/grpc/codes" 15 "google.golang.org/grpc/status" 16 "google.golang.org/protobuf/encoding/protojson" 17 "google.golang.org/protobuf/proto" 18 "google.golang.org/protobuf/reflect/protoregistry" 19 20 gotenobject "github.com/cloudwan/goten-sdk/runtime/object" 21 "github.com/cloudwan/goten-sdk/runtime/strcase" 22 ) 23 24 // proto imports 25 import ( 26 project "github.com/cloudwan/edgelq-sdk/iam/resources/v1alpha2/project" 27 meta "github.com/cloudwan/goten-sdk/types/meta" 28 ) 29 30 // ensure the imports are used 31 var ( 32 _ = new(json.Marshaler) 33 _ = new(fmt.Stringer) 34 _ = reflect.DeepEqual 35 _ = strings.Builder{} 36 _ = time.Second 37 38 _ = strcase.ToLowerCamel 39 _ = codes.NotFound 40 _ = status.Status{} 41 _ = protojson.UnmarshalOptions{} 42 _ = new(proto.Message) 43 _ = protoregistry.GlobalTypes 44 45 _ = new(gotenobject.FieldPath) 46 ) 47 48 // make sure we're using proto imports 49 var ( 50 _ = &project.Project{} 51 _ = &meta.Meta{} 52 ) 53 54 // FieldPath provides implementation to handle 55 // https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto 56 type ServiceAccount_FieldPath interface { 57 gotenobject.FieldPath 58 Selector() ServiceAccount_FieldPathSelector 59 Get(source *ServiceAccount) []interface{} 60 GetSingle(source *ServiceAccount) (interface{}, bool) 61 ClearValue(item *ServiceAccount) 62 63 // Those methods build corresponding ServiceAccount_FieldPathValue 64 // (or array of values) and holds passed value. Panics if injected type is incorrect. 65 WithIValue(value interface{}) ServiceAccount_FieldPathValue 66 WithIArrayOfValues(values interface{}) ServiceAccount_FieldPathArrayOfValues 67 WithIArrayItemValue(value interface{}) ServiceAccount_FieldPathArrayItemValue 68 } 69 70 type ServiceAccount_FieldPathSelector int32 71 72 const ( 73 ServiceAccount_FieldPathSelectorName ServiceAccount_FieldPathSelector = 0 74 ServiceAccount_FieldPathSelectorDisplayName ServiceAccount_FieldPathSelector = 1 75 ServiceAccount_FieldPathSelectorEmail ServiceAccount_FieldPathSelector = 2 76 ServiceAccount_FieldPathSelectorMetadata ServiceAccount_FieldPathSelector = 3 77 ) 78 79 func (s ServiceAccount_FieldPathSelector) String() string { 80 switch s { 81 case ServiceAccount_FieldPathSelectorName: 82 return "name" 83 case ServiceAccount_FieldPathSelectorDisplayName: 84 return "display_name" 85 case ServiceAccount_FieldPathSelectorEmail: 86 return "email" 87 case ServiceAccount_FieldPathSelectorMetadata: 88 return "metadata" 89 default: 90 panic(fmt.Sprintf("Invalid selector for ServiceAccount: %d", s)) 91 } 92 } 93 94 func BuildServiceAccount_FieldPath(fp gotenobject.RawFieldPath) (ServiceAccount_FieldPath, error) { 95 if len(fp) == 0 { 96 return nil, status.Error(codes.InvalidArgument, "empty field path for object ServiceAccount") 97 } 98 if len(fp) == 1 { 99 switch fp[0] { 100 case "name": 101 return &ServiceAccount_FieldTerminalPath{selector: ServiceAccount_FieldPathSelectorName}, nil 102 case "display_name", "displayName", "display-name": 103 return &ServiceAccount_FieldTerminalPath{selector: ServiceAccount_FieldPathSelectorDisplayName}, nil 104 case "email": 105 return &ServiceAccount_FieldTerminalPath{selector: ServiceAccount_FieldPathSelectorEmail}, nil 106 case "metadata": 107 return &ServiceAccount_FieldTerminalPath{selector: ServiceAccount_FieldPathSelectorMetadata}, nil 108 } 109 } else { 110 switch fp[0] { 111 case "metadata": 112 if subpath, err := meta.BuildMeta_FieldPath(fp[1:]); err != nil { 113 return nil, err 114 } else { 115 return &ServiceAccount_FieldSubPath{selector: ServiceAccount_FieldPathSelectorMetadata, subPath: subpath}, nil 116 } 117 } 118 } 119 return nil, status.Errorf(codes.InvalidArgument, "unknown field path '%s' for object ServiceAccount", fp) 120 } 121 122 func ParseServiceAccount_FieldPath(rawField string) (ServiceAccount_FieldPath, error) { 123 fp, err := gotenobject.ParseRawFieldPath(rawField) 124 if err != nil { 125 return nil, err 126 } 127 return BuildServiceAccount_FieldPath(fp) 128 } 129 130 func MustParseServiceAccount_FieldPath(rawField string) ServiceAccount_FieldPath { 131 fp, err := ParseServiceAccount_FieldPath(rawField) 132 if err != nil { 133 panic(err) 134 } 135 return fp 136 } 137 138 type ServiceAccount_FieldTerminalPath struct { 139 selector ServiceAccount_FieldPathSelector 140 } 141 142 var _ ServiceAccount_FieldPath = (*ServiceAccount_FieldTerminalPath)(nil) 143 144 func (fp *ServiceAccount_FieldTerminalPath) Selector() ServiceAccount_FieldPathSelector { 145 return fp.selector 146 } 147 148 // String returns path representation in proto convention 149 func (fp *ServiceAccount_FieldTerminalPath) String() string { 150 return fp.selector.String() 151 } 152 153 // JSONString returns path representation is JSON convention 154 func (fp *ServiceAccount_FieldTerminalPath) JSONString() string { 155 return strcase.ToLowerCamel(fp.String()) 156 } 157 158 // Get returns all values pointed by specific field from source ServiceAccount 159 func (fp *ServiceAccount_FieldTerminalPath) Get(source *ServiceAccount) (values []interface{}) { 160 if source != nil { 161 switch fp.selector { 162 case ServiceAccount_FieldPathSelectorName: 163 if source.Name != nil { 164 values = append(values, source.Name) 165 } 166 case ServiceAccount_FieldPathSelectorDisplayName: 167 values = append(values, source.DisplayName) 168 case ServiceAccount_FieldPathSelectorEmail: 169 values = append(values, source.Email) 170 case ServiceAccount_FieldPathSelectorMetadata: 171 if source.Metadata != nil { 172 values = append(values, source.Metadata) 173 } 174 default: 175 panic(fmt.Sprintf("Invalid selector for ServiceAccount: %d", fp.selector)) 176 } 177 } 178 return 179 } 180 181 func (fp *ServiceAccount_FieldTerminalPath) GetRaw(source proto.Message) []interface{} { 182 return fp.Get(source.(*ServiceAccount)) 183 } 184 185 // GetSingle returns value pointed by specific field of from source ServiceAccount 186 func (fp *ServiceAccount_FieldTerminalPath) GetSingle(source *ServiceAccount) (interface{}, bool) { 187 switch fp.selector { 188 case ServiceAccount_FieldPathSelectorName: 189 res := source.GetName() 190 return res, res != nil 191 case ServiceAccount_FieldPathSelectorDisplayName: 192 return source.GetDisplayName(), source != nil 193 case ServiceAccount_FieldPathSelectorEmail: 194 return source.GetEmail(), source != nil 195 case ServiceAccount_FieldPathSelectorMetadata: 196 res := source.GetMetadata() 197 return res, res != nil 198 default: 199 panic(fmt.Sprintf("Invalid selector for ServiceAccount: %d", fp.selector)) 200 } 201 } 202 203 func (fp *ServiceAccount_FieldTerminalPath) GetSingleRaw(source proto.Message) (interface{}, bool) { 204 return fp.GetSingle(source.(*ServiceAccount)) 205 } 206 207 // GetDefault returns a default value of the field type 208 func (fp *ServiceAccount_FieldTerminalPath) GetDefault() interface{} { 209 switch fp.selector { 210 case ServiceAccount_FieldPathSelectorName: 211 return (*Name)(nil) 212 case ServiceAccount_FieldPathSelectorDisplayName: 213 return "" 214 case ServiceAccount_FieldPathSelectorEmail: 215 return "" 216 case ServiceAccount_FieldPathSelectorMetadata: 217 return (*meta.Meta)(nil) 218 default: 219 panic(fmt.Sprintf("Invalid selector for ServiceAccount: %d", fp.selector)) 220 } 221 } 222 223 func (fp *ServiceAccount_FieldTerminalPath) ClearValue(item *ServiceAccount) { 224 if item != nil { 225 switch fp.selector { 226 case ServiceAccount_FieldPathSelectorName: 227 item.Name = nil 228 case ServiceAccount_FieldPathSelectorDisplayName: 229 item.DisplayName = "" 230 case ServiceAccount_FieldPathSelectorEmail: 231 item.Email = "" 232 case ServiceAccount_FieldPathSelectorMetadata: 233 item.Metadata = nil 234 default: 235 panic(fmt.Sprintf("Invalid selector for ServiceAccount: %d", fp.selector)) 236 } 237 } 238 } 239 240 func (fp *ServiceAccount_FieldTerminalPath) ClearValueRaw(item proto.Message) { 241 fp.ClearValue(item.(*ServiceAccount)) 242 } 243 244 // IsLeaf - whether field path is holds simple value 245 func (fp *ServiceAccount_FieldTerminalPath) IsLeaf() bool { 246 return fp.selector == ServiceAccount_FieldPathSelectorName || 247 fp.selector == ServiceAccount_FieldPathSelectorDisplayName || 248 fp.selector == ServiceAccount_FieldPathSelectorEmail 249 } 250 251 func (fp *ServiceAccount_FieldTerminalPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath { 252 return []gotenobject.FieldPath{fp} 253 } 254 255 func (fp *ServiceAccount_FieldTerminalPath) WithIValue(value interface{}) ServiceAccount_FieldPathValue { 256 switch fp.selector { 257 case ServiceAccount_FieldPathSelectorName: 258 return &ServiceAccount_FieldTerminalPathValue{ServiceAccount_FieldTerminalPath: *fp, value: value.(*Name)} 259 case ServiceAccount_FieldPathSelectorDisplayName: 260 return &ServiceAccount_FieldTerminalPathValue{ServiceAccount_FieldTerminalPath: *fp, value: value.(string)} 261 case ServiceAccount_FieldPathSelectorEmail: 262 return &ServiceAccount_FieldTerminalPathValue{ServiceAccount_FieldTerminalPath: *fp, value: value.(string)} 263 case ServiceAccount_FieldPathSelectorMetadata: 264 return &ServiceAccount_FieldTerminalPathValue{ServiceAccount_FieldTerminalPath: *fp, value: value.(*meta.Meta)} 265 default: 266 panic(fmt.Sprintf("Invalid selector for ServiceAccount: %d", fp.selector)) 267 } 268 } 269 270 func (fp *ServiceAccount_FieldTerminalPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue { 271 return fp.WithIValue(value) 272 } 273 274 func (fp *ServiceAccount_FieldTerminalPath) WithIArrayOfValues(values interface{}) ServiceAccount_FieldPathArrayOfValues { 275 fpaov := &ServiceAccount_FieldTerminalPathArrayOfValues{ServiceAccount_FieldTerminalPath: *fp} 276 switch fp.selector { 277 case ServiceAccount_FieldPathSelectorName: 278 return &ServiceAccount_FieldTerminalPathArrayOfValues{ServiceAccount_FieldTerminalPath: *fp, values: values.([]*Name)} 279 case ServiceAccount_FieldPathSelectorDisplayName: 280 return &ServiceAccount_FieldTerminalPathArrayOfValues{ServiceAccount_FieldTerminalPath: *fp, values: values.([]string)} 281 case ServiceAccount_FieldPathSelectorEmail: 282 return &ServiceAccount_FieldTerminalPathArrayOfValues{ServiceAccount_FieldTerminalPath: *fp, values: values.([]string)} 283 case ServiceAccount_FieldPathSelectorMetadata: 284 return &ServiceAccount_FieldTerminalPathArrayOfValues{ServiceAccount_FieldTerminalPath: *fp, values: values.([]*meta.Meta)} 285 default: 286 panic(fmt.Sprintf("Invalid selector for ServiceAccount: %d", fp.selector)) 287 } 288 return fpaov 289 } 290 291 func (fp *ServiceAccount_FieldTerminalPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues { 292 return fp.WithIArrayOfValues(values) 293 } 294 295 func (fp *ServiceAccount_FieldTerminalPath) WithIArrayItemValue(value interface{}) ServiceAccount_FieldPathArrayItemValue { 296 switch fp.selector { 297 default: 298 panic(fmt.Sprintf("Invalid selector for ServiceAccount: %d", fp.selector)) 299 } 300 } 301 302 func (fp *ServiceAccount_FieldTerminalPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue { 303 return fp.WithIArrayItemValue(value) 304 } 305 306 type ServiceAccount_FieldSubPath struct { 307 selector ServiceAccount_FieldPathSelector 308 subPath gotenobject.FieldPath 309 } 310 311 var _ ServiceAccount_FieldPath = (*ServiceAccount_FieldSubPath)(nil) 312 313 func (fps *ServiceAccount_FieldSubPath) Selector() ServiceAccount_FieldPathSelector { 314 return fps.selector 315 } 316 func (fps *ServiceAccount_FieldSubPath) AsMetadataSubPath() (meta.Meta_FieldPath, bool) { 317 res, ok := fps.subPath.(meta.Meta_FieldPath) 318 return res, ok 319 } 320 321 // String returns path representation in proto convention 322 func (fps *ServiceAccount_FieldSubPath) String() string { 323 return fps.selector.String() + "." + fps.subPath.String() 324 } 325 326 // JSONString returns path representation is JSON convention 327 func (fps *ServiceAccount_FieldSubPath) JSONString() string { 328 return strcase.ToLowerCamel(fps.selector.String()) + "." + fps.subPath.JSONString() 329 } 330 331 // Get returns all values pointed by selected field from source ServiceAccount 332 func (fps *ServiceAccount_FieldSubPath) Get(source *ServiceAccount) (values []interface{}) { 333 switch fps.selector { 334 case ServiceAccount_FieldPathSelectorMetadata: 335 values = append(values, fps.subPath.GetRaw(source.GetMetadata())...) 336 default: 337 panic(fmt.Sprintf("Invalid selector for ServiceAccount: %d", fps.selector)) 338 } 339 return 340 } 341 342 func (fps *ServiceAccount_FieldSubPath) GetRaw(source proto.Message) []interface{} { 343 return fps.Get(source.(*ServiceAccount)) 344 } 345 346 // GetSingle returns value of selected field from source ServiceAccount 347 func (fps *ServiceAccount_FieldSubPath) GetSingle(source *ServiceAccount) (interface{}, bool) { 348 switch fps.selector { 349 case ServiceAccount_FieldPathSelectorMetadata: 350 if source.GetMetadata() == nil { 351 return nil, false 352 } 353 return fps.subPath.GetSingleRaw(source.GetMetadata()) 354 default: 355 panic(fmt.Sprintf("Invalid selector for ServiceAccount: %d", fps.selector)) 356 } 357 } 358 359 func (fps *ServiceAccount_FieldSubPath) GetSingleRaw(source proto.Message) (interface{}, bool) { 360 return fps.GetSingle(source.(*ServiceAccount)) 361 } 362 363 // GetDefault returns a default value of the field type 364 func (fps *ServiceAccount_FieldSubPath) GetDefault() interface{} { 365 return fps.subPath.GetDefault() 366 } 367 368 func (fps *ServiceAccount_FieldSubPath) ClearValue(item *ServiceAccount) { 369 if item != nil { 370 switch fps.selector { 371 case ServiceAccount_FieldPathSelectorMetadata: 372 fps.subPath.ClearValueRaw(item.Metadata) 373 default: 374 panic(fmt.Sprintf("Invalid selector for ServiceAccount: %d", fps.selector)) 375 } 376 } 377 } 378 379 func (fps *ServiceAccount_FieldSubPath) ClearValueRaw(item proto.Message) { 380 fps.ClearValue(item.(*ServiceAccount)) 381 } 382 383 // IsLeaf - whether field path is holds simple value 384 func (fps *ServiceAccount_FieldSubPath) IsLeaf() bool { 385 return fps.subPath.IsLeaf() 386 } 387 388 func (fps *ServiceAccount_FieldSubPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath { 389 iPaths := []gotenobject.FieldPath{&ServiceAccount_FieldTerminalPath{selector: fps.selector}} 390 iPaths = append(iPaths, fps.subPath.SplitIntoTerminalIPaths()...) 391 return iPaths 392 } 393 394 func (fps *ServiceAccount_FieldSubPath) WithIValue(value interface{}) ServiceAccount_FieldPathValue { 395 return &ServiceAccount_FieldSubPathValue{fps, fps.subPath.WithRawIValue(value)} 396 } 397 398 func (fps *ServiceAccount_FieldSubPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue { 399 return fps.WithIValue(value) 400 } 401 402 func (fps *ServiceAccount_FieldSubPath) WithIArrayOfValues(values interface{}) ServiceAccount_FieldPathArrayOfValues { 403 return &ServiceAccount_FieldSubPathArrayOfValues{fps, fps.subPath.WithRawIArrayOfValues(values)} 404 } 405 406 func (fps *ServiceAccount_FieldSubPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues { 407 return fps.WithIArrayOfValues(values) 408 } 409 410 func (fps *ServiceAccount_FieldSubPath) WithIArrayItemValue(value interface{}) ServiceAccount_FieldPathArrayItemValue { 411 return &ServiceAccount_FieldSubPathArrayItemValue{fps, fps.subPath.WithRawIArrayItemValue(value)} 412 } 413 414 func (fps *ServiceAccount_FieldSubPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue { 415 return fps.WithIArrayItemValue(value) 416 } 417 418 // ServiceAccount_FieldPathValue allows storing values for ServiceAccount fields according to their type 419 type ServiceAccount_FieldPathValue interface { 420 ServiceAccount_FieldPath 421 gotenobject.FieldPathValue 422 SetTo(target **ServiceAccount) 423 CompareWith(*ServiceAccount) (cmp int, comparable bool) 424 } 425 426 func ParseServiceAccount_FieldPathValue(pathStr, valueStr string) (ServiceAccount_FieldPathValue, error) { 427 fp, err := ParseServiceAccount_FieldPath(pathStr) 428 if err != nil { 429 return nil, err 430 } 431 fpv, err := gotenobject.ParseFieldPathValue(fp, valueStr) 432 if err != nil { 433 return nil, status.Errorf(codes.InvalidArgument, "error parsing ServiceAccount field path value from %s: %v", valueStr, err) 434 } 435 return fpv.(ServiceAccount_FieldPathValue), nil 436 } 437 438 func MustParseServiceAccount_FieldPathValue(pathStr, valueStr string) ServiceAccount_FieldPathValue { 439 fpv, err := ParseServiceAccount_FieldPathValue(pathStr, valueStr) 440 if err != nil { 441 panic(err) 442 } 443 return fpv 444 } 445 446 type ServiceAccount_FieldTerminalPathValue struct { 447 ServiceAccount_FieldTerminalPath 448 value interface{} 449 } 450 451 var _ ServiceAccount_FieldPathValue = (*ServiceAccount_FieldTerminalPathValue)(nil) 452 453 // GetRawValue returns raw value stored under selected path for 'ServiceAccount' as interface{} 454 func (fpv *ServiceAccount_FieldTerminalPathValue) GetRawValue() interface{} { 455 return fpv.value 456 } 457 func (fpv *ServiceAccount_FieldTerminalPathValue) AsNameValue() (*Name, bool) { 458 res, ok := fpv.value.(*Name) 459 return res, ok 460 } 461 func (fpv *ServiceAccount_FieldTerminalPathValue) AsDisplayNameValue() (string, bool) { 462 res, ok := fpv.value.(string) 463 return res, ok 464 } 465 func (fpv *ServiceAccount_FieldTerminalPathValue) AsEmailValue() (string, bool) { 466 res, ok := fpv.value.(string) 467 return res, ok 468 } 469 func (fpv *ServiceAccount_FieldTerminalPathValue) AsMetadataValue() (*meta.Meta, bool) { 470 res, ok := fpv.value.(*meta.Meta) 471 return res, ok 472 } 473 474 // SetTo stores value for selected field for object ServiceAccount 475 func (fpv *ServiceAccount_FieldTerminalPathValue) SetTo(target **ServiceAccount) { 476 if *target == nil { 477 *target = new(ServiceAccount) 478 } 479 switch fpv.selector { 480 case ServiceAccount_FieldPathSelectorName: 481 (*target).Name = fpv.value.(*Name) 482 case ServiceAccount_FieldPathSelectorDisplayName: 483 (*target).DisplayName = fpv.value.(string) 484 case ServiceAccount_FieldPathSelectorEmail: 485 (*target).Email = fpv.value.(string) 486 case ServiceAccount_FieldPathSelectorMetadata: 487 (*target).Metadata = fpv.value.(*meta.Meta) 488 default: 489 panic(fmt.Sprintf("Invalid selector for ServiceAccount: %d", fpv.selector)) 490 } 491 } 492 493 func (fpv *ServiceAccount_FieldTerminalPathValue) SetToRaw(target proto.Message) { 494 typedObject := target.(*ServiceAccount) 495 fpv.SetTo(&typedObject) 496 } 497 498 // CompareWith compares value in the 'ServiceAccount_FieldTerminalPathValue' with the value under path in 'ServiceAccount'. 499 func (fpv *ServiceAccount_FieldTerminalPathValue) CompareWith(source *ServiceAccount) (int, bool) { 500 switch fpv.selector { 501 case ServiceAccount_FieldPathSelectorName: 502 leftValue := fpv.value.(*Name) 503 rightValue := source.GetName() 504 if leftValue == nil { 505 if rightValue != nil { 506 return -1, true 507 } 508 return 0, true 509 } 510 if rightValue == nil { 511 return 1, true 512 } 513 if leftValue.String() == rightValue.String() { 514 return 0, true 515 } else if leftValue.String() < rightValue.String() { 516 return -1, true 517 } else { 518 return 1, true 519 } 520 case ServiceAccount_FieldPathSelectorDisplayName: 521 leftValue := fpv.value.(string) 522 rightValue := source.GetDisplayName() 523 if (leftValue) == (rightValue) { 524 return 0, true 525 } else if (leftValue) < (rightValue) { 526 return -1, true 527 } else { 528 return 1, true 529 } 530 case ServiceAccount_FieldPathSelectorEmail: 531 leftValue := fpv.value.(string) 532 rightValue := source.GetEmail() 533 if (leftValue) == (rightValue) { 534 return 0, true 535 } else if (leftValue) < (rightValue) { 536 return -1, true 537 } else { 538 return 1, true 539 } 540 case ServiceAccount_FieldPathSelectorMetadata: 541 return 0, false 542 default: 543 panic(fmt.Sprintf("Invalid selector for ServiceAccount: %d", fpv.selector)) 544 } 545 } 546 547 func (fpv *ServiceAccount_FieldTerminalPathValue) CompareWithRaw(source proto.Message) (int, bool) { 548 return fpv.CompareWith(source.(*ServiceAccount)) 549 } 550 551 type ServiceAccount_FieldSubPathValue struct { 552 ServiceAccount_FieldPath 553 subPathValue gotenobject.FieldPathValue 554 } 555 556 var _ ServiceAccount_FieldPathValue = (*ServiceAccount_FieldSubPathValue)(nil) 557 558 func (fpvs *ServiceAccount_FieldSubPathValue) AsMetadataPathValue() (meta.Meta_FieldPathValue, bool) { 559 res, ok := fpvs.subPathValue.(meta.Meta_FieldPathValue) 560 return res, ok 561 } 562 563 func (fpvs *ServiceAccount_FieldSubPathValue) SetTo(target **ServiceAccount) { 564 if *target == nil { 565 *target = new(ServiceAccount) 566 } 567 switch fpvs.Selector() { 568 case ServiceAccount_FieldPathSelectorMetadata: 569 fpvs.subPathValue.(meta.Meta_FieldPathValue).SetTo(&(*target).Metadata) 570 default: 571 panic(fmt.Sprintf("Invalid selector for ServiceAccount: %d", fpvs.Selector())) 572 } 573 } 574 575 func (fpvs *ServiceAccount_FieldSubPathValue) SetToRaw(target proto.Message) { 576 typedObject := target.(*ServiceAccount) 577 fpvs.SetTo(&typedObject) 578 } 579 580 func (fpvs *ServiceAccount_FieldSubPathValue) GetRawValue() interface{} { 581 return fpvs.subPathValue.GetRawValue() 582 } 583 584 func (fpvs *ServiceAccount_FieldSubPathValue) CompareWith(source *ServiceAccount) (int, bool) { 585 switch fpvs.Selector() { 586 case ServiceAccount_FieldPathSelectorMetadata: 587 return fpvs.subPathValue.(meta.Meta_FieldPathValue).CompareWith(source.GetMetadata()) 588 default: 589 panic(fmt.Sprintf("Invalid selector for ServiceAccount: %d", fpvs.Selector())) 590 } 591 } 592 593 func (fpvs *ServiceAccount_FieldSubPathValue) CompareWithRaw(source proto.Message) (int, bool) { 594 return fpvs.CompareWith(source.(*ServiceAccount)) 595 } 596 597 // ServiceAccount_FieldPathArrayItemValue allows storing single item in Path-specific values for ServiceAccount according to their type 598 // Present only for array (repeated) types. 599 type ServiceAccount_FieldPathArrayItemValue interface { 600 gotenobject.FieldPathArrayItemValue 601 ServiceAccount_FieldPath 602 ContainsValue(*ServiceAccount) bool 603 } 604 605 // ParseServiceAccount_FieldPathArrayItemValue parses string and JSON-encoded value to its Value 606 func ParseServiceAccount_FieldPathArrayItemValue(pathStr, valueStr string) (ServiceAccount_FieldPathArrayItemValue, error) { 607 fp, err := ParseServiceAccount_FieldPath(pathStr) 608 if err != nil { 609 return nil, err 610 } 611 fpaiv, err := gotenobject.ParseFieldPathArrayItemValue(fp, valueStr) 612 if err != nil { 613 return nil, status.Errorf(codes.InvalidArgument, "error parsing ServiceAccount field path array item value from %s: %v", valueStr, err) 614 } 615 return fpaiv.(ServiceAccount_FieldPathArrayItemValue), nil 616 } 617 618 func MustParseServiceAccount_FieldPathArrayItemValue(pathStr, valueStr string) ServiceAccount_FieldPathArrayItemValue { 619 fpaiv, err := ParseServiceAccount_FieldPathArrayItemValue(pathStr, valueStr) 620 if err != nil { 621 panic(err) 622 } 623 return fpaiv 624 } 625 626 type ServiceAccount_FieldTerminalPathArrayItemValue struct { 627 ServiceAccount_FieldTerminalPath 628 value interface{} 629 } 630 631 var _ ServiceAccount_FieldPathArrayItemValue = (*ServiceAccount_FieldTerminalPathArrayItemValue)(nil) 632 633 // GetRawValue returns stored element value for array in object ServiceAccount as interface{} 634 func (fpaiv *ServiceAccount_FieldTerminalPathArrayItemValue) GetRawItemValue() interface{} { 635 return fpaiv.value 636 } 637 638 func (fpaiv *ServiceAccount_FieldTerminalPathArrayItemValue) GetSingle(source *ServiceAccount) (interface{}, bool) { 639 return nil, false 640 } 641 642 func (fpaiv *ServiceAccount_FieldTerminalPathArrayItemValue) GetSingleRaw(source proto.Message) (interface{}, bool) { 643 return fpaiv.GetSingle(source.(*ServiceAccount)) 644 } 645 646 // Contains returns a boolean indicating if value that is being held is present in given 'ServiceAccount' 647 func (fpaiv *ServiceAccount_FieldTerminalPathArrayItemValue) ContainsValue(source *ServiceAccount) bool { 648 slice := fpaiv.ServiceAccount_FieldTerminalPath.Get(source) 649 for _, v := range slice { 650 if asProtoMsg, ok := fpaiv.value.(proto.Message); ok { 651 if proto.Equal(asProtoMsg, v.(proto.Message)) { 652 return true 653 } 654 } else if reflect.DeepEqual(v, fpaiv.value) { 655 return true 656 } 657 } 658 return false 659 } 660 661 type ServiceAccount_FieldSubPathArrayItemValue struct { 662 ServiceAccount_FieldPath 663 subPathItemValue gotenobject.FieldPathArrayItemValue 664 } 665 666 // GetRawValue returns stored array item value 667 func (fpaivs *ServiceAccount_FieldSubPathArrayItemValue) GetRawItemValue() interface{} { 668 return fpaivs.subPathItemValue.GetRawItemValue() 669 } 670 func (fpaivs *ServiceAccount_FieldSubPathArrayItemValue) AsMetadataPathItemValue() (meta.Meta_FieldPathArrayItemValue, bool) { 671 res, ok := fpaivs.subPathItemValue.(meta.Meta_FieldPathArrayItemValue) 672 return res, ok 673 } 674 675 // Contains returns a boolean indicating if value that is being held is present in given 'ServiceAccount' 676 func (fpaivs *ServiceAccount_FieldSubPathArrayItemValue) ContainsValue(source *ServiceAccount) bool { 677 switch fpaivs.Selector() { 678 case ServiceAccount_FieldPathSelectorMetadata: 679 return fpaivs.subPathItemValue.(meta.Meta_FieldPathArrayItemValue).ContainsValue(source.GetMetadata()) 680 default: 681 panic(fmt.Sprintf("Invalid selector for ServiceAccount: %d", fpaivs.Selector())) 682 } 683 } 684 685 // ServiceAccount_FieldPathArrayOfValues allows storing slice of values for ServiceAccount fields according to their type 686 type ServiceAccount_FieldPathArrayOfValues interface { 687 gotenobject.FieldPathArrayOfValues 688 ServiceAccount_FieldPath 689 } 690 691 func ParseServiceAccount_FieldPathArrayOfValues(pathStr, valuesStr string) (ServiceAccount_FieldPathArrayOfValues, error) { 692 fp, err := ParseServiceAccount_FieldPath(pathStr) 693 if err != nil { 694 return nil, err 695 } 696 fpaov, err := gotenobject.ParseFieldPathArrayOfValues(fp, valuesStr) 697 if err != nil { 698 return nil, status.Errorf(codes.InvalidArgument, "error parsing ServiceAccount field path array of values from %s: %v", valuesStr, err) 699 } 700 return fpaov.(ServiceAccount_FieldPathArrayOfValues), nil 701 } 702 703 func MustParseServiceAccount_FieldPathArrayOfValues(pathStr, valuesStr string) ServiceAccount_FieldPathArrayOfValues { 704 fpaov, err := ParseServiceAccount_FieldPathArrayOfValues(pathStr, valuesStr) 705 if err != nil { 706 panic(err) 707 } 708 return fpaov 709 } 710 711 type ServiceAccount_FieldTerminalPathArrayOfValues struct { 712 ServiceAccount_FieldTerminalPath 713 values interface{} 714 } 715 716 var _ ServiceAccount_FieldPathArrayOfValues = (*ServiceAccount_FieldTerminalPathArrayOfValues)(nil) 717 718 func (fpaov *ServiceAccount_FieldTerminalPathArrayOfValues) GetRawValues() (values []interface{}) { 719 switch fpaov.selector { 720 case ServiceAccount_FieldPathSelectorName: 721 for _, v := range fpaov.values.([]*Name) { 722 values = append(values, v) 723 } 724 case ServiceAccount_FieldPathSelectorDisplayName: 725 for _, v := range fpaov.values.([]string) { 726 values = append(values, v) 727 } 728 case ServiceAccount_FieldPathSelectorEmail: 729 for _, v := range fpaov.values.([]string) { 730 values = append(values, v) 731 } 732 case ServiceAccount_FieldPathSelectorMetadata: 733 for _, v := range fpaov.values.([]*meta.Meta) { 734 values = append(values, v) 735 } 736 } 737 return 738 } 739 func (fpaov *ServiceAccount_FieldTerminalPathArrayOfValues) AsNameArrayOfValues() ([]*Name, bool) { 740 res, ok := fpaov.values.([]*Name) 741 return res, ok 742 } 743 func (fpaov *ServiceAccount_FieldTerminalPathArrayOfValues) AsDisplayNameArrayOfValues() ([]string, bool) { 744 res, ok := fpaov.values.([]string) 745 return res, ok 746 } 747 func (fpaov *ServiceAccount_FieldTerminalPathArrayOfValues) AsEmailArrayOfValues() ([]string, bool) { 748 res, ok := fpaov.values.([]string) 749 return res, ok 750 } 751 func (fpaov *ServiceAccount_FieldTerminalPathArrayOfValues) AsMetadataArrayOfValues() ([]*meta.Meta, bool) { 752 res, ok := fpaov.values.([]*meta.Meta) 753 return res, ok 754 } 755 756 type ServiceAccount_FieldSubPathArrayOfValues struct { 757 ServiceAccount_FieldPath 758 subPathArrayOfValues gotenobject.FieldPathArrayOfValues 759 } 760 761 var _ ServiceAccount_FieldPathArrayOfValues = (*ServiceAccount_FieldSubPathArrayOfValues)(nil) 762 763 func (fpsaov *ServiceAccount_FieldSubPathArrayOfValues) GetRawValues() []interface{} { 764 return fpsaov.subPathArrayOfValues.GetRawValues() 765 } 766 func (fpsaov *ServiceAccount_FieldSubPathArrayOfValues) AsMetadataPathArrayOfValues() (meta.Meta_FieldPathArrayOfValues, bool) { 767 res, ok := fpsaov.subPathArrayOfValues.(meta.Meta_FieldPathArrayOfValues) 768 return res, ok 769 }