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