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