github.com/cloudwan/edgelq-sdk@v1.15.4/audit/resources/v1alpha2/resource_change_log/resource_change_log.pb.fieldpath.go (about) 1 // Code generated by protoc-gen-goten-object 2 // File: edgelq/audit/proto/v1alpha2/resource_change_log.proto 3 // DO NOT EDIT!!! 4 5 package resource_change_log 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 common "github.com/cloudwan/edgelq-sdk/audit/resources/v1alpha2/common" 27 iam_organization "github.com/cloudwan/edgelq-sdk/iam/resources/v1alpha2/organization" 28 iam_project "github.com/cloudwan/edgelq-sdk/iam/resources/v1alpha2/project" 29 anypb "google.golang.org/protobuf/types/known/anypb" 30 fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" 31 timestamppb "google.golang.org/protobuf/types/known/timestamppb" 32 ) 33 34 // ensure the imports are used 35 var ( 36 _ = new(json.Marshaler) 37 _ = new(fmt.Stringer) 38 _ = reflect.DeepEqual 39 _ = strings.Builder{} 40 _ = time.Second 41 42 _ = strcase.ToLowerCamel 43 _ = codes.NotFound 44 _ = status.Status{} 45 _ = protojson.UnmarshalOptions{} 46 _ = new(proto.Message) 47 _ = protoregistry.GlobalTypes 48 49 _ = new(gotenobject.FieldPath) 50 ) 51 52 // make sure we're using proto imports 53 var ( 54 _ = &common.Authentication{} 55 _ = &iam_organization.Organization{} 56 _ = &iam_project.Project{} 57 _ = &anypb.Any{} 58 _ = &fieldmaskpb.FieldMask{} 59 _ = ×tamppb.Timestamp{} 60 ) 61 62 // FieldPath provides implementation to handle 63 // https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto 64 type ResourceChangeLog_FieldPath interface { 65 gotenobject.FieldPath 66 Selector() ResourceChangeLog_FieldPathSelector 67 Get(source *ResourceChangeLog) []interface{} 68 GetSingle(source *ResourceChangeLog) (interface{}, bool) 69 ClearValue(item *ResourceChangeLog) 70 71 // Those methods build corresponding ResourceChangeLog_FieldPathValue 72 // (or array of values) and holds passed value. Panics if injected type is incorrect. 73 WithIValue(value interface{}) ResourceChangeLog_FieldPathValue 74 WithIArrayOfValues(values interface{}) ResourceChangeLog_FieldPathArrayOfValues 75 WithIArrayItemValue(value interface{}) ResourceChangeLog_FieldPathArrayItemValue 76 } 77 78 type ResourceChangeLog_FieldPathSelector int32 79 80 const ( 81 ResourceChangeLog_FieldPathSelectorName ResourceChangeLog_FieldPathSelector = 0 82 ResourceChangeLog_FieldPathSelectorScope ResourceChangeLog_FieldPathSelector = 1 83 ResourceChangeLog_FieldPathSelectorRequestId ResourceChangeLog_FieldPathSelector = 2 84 ResourceChangeLog_FieldPathSelectorTimestamp ResourceChangeLog_FieldPathSelector = 3 85 ResourceChangeLog_FieldPathSelectorAuthentication ResourceChangeLog_FieldPathSelector = 4 86 ResourceChangeLog_FieldPathSelectorService ResourceChangeLog_FieldPathSelector = 5 87 ResourceChangeLog_FieldPathSelectorResource ResourceChangeLog_FieldPathSelector = 6 88 ResourceChangeLog_FieldPathSelectorTransaction ResourceChangeLog_FieldPathSelector = 7 89 ) 90 91 func (s ResourceChangeLog_FieldPathSelector) String() string { 92 switch s { 93 case ResourceChangeLog_FieldPathSelectorName: 94 return "name" 95 case ResourceChangeLog_FieldPathSelectorScope: 96 return "scope" 97 case ResourceChangeLog_FieldPathSelectorRequestId: 98 return "request_id" 99 case ResourceChangeLog_FieldPathSelectorTimestamp: 100 return "timestamp" 101 case ResourceChangeLog_FieldPathSelectorAuthentication: 102 return "authentication" 103 case ResourceChangeLog_FieldPathSelectorService: 104 return "service" 105 case ResourceChangeLog_FieldPathSelectorResource: 106 return "resource" 107 case ResourceChangeLog_FieldPathSelectorTransaction: 108 return "transaction" 109 default: 110 panic(fmt.Sprintf("Invalid selector for ResourceChangeLog: %d", s)) 111 } 112 } 113 114 func BuildResourceChangeLog_FieldPath(fp gotenobject.RawFieldPath) (ResourceChangeLog_FieldPath, error) { 115 if len(fp) == 0 { 116 return nil, status.Error(codes.InvalidArgument, "empty field path for object ResourceChangeLog") 117 } 118 if len(fp) == 1 { 119 switch fp[0] { 120 case "name": 121 return &ResourceChangeLog_FieldTerminalPath{selector: ResourceChangeLog_FieldPathSelectorName}, nil 122 case "scope": 123 return &ResourceChangeLog_FieldTerminalPath{selector: ResourceChangeLog_FieldPathSelectorScope}, nil 124 case "request_id", "requestId", "request-id": 125 return &ResourceChangeLog_FieldTerminalPath{selector: ResourceChangeLog_FieldPathSelectorRequestId}, nil 126 case "timestamp": 127 return &ResourceChangeLog_FieldTerminalPath{selector: ResourceChangeLog_FieldPathSelectorTimestamp}, nil 128 case "authentication": 129 return &ResourceChangeLog_FieldTerminalPath{selector: ResourceChangeLog_FieldPathSelectorAuthentication}, nil 130 case "service": 131 return &ResourceChangeLog_FieldTerminalPath{selector: ResourceChangeLog_FieldPathSelectorService}, nil 132 case "resource": 133 return &ResourceChangeLog_FieldTerminalPath{selector: ResourceChangeLog_FieldPathSelectorResource}, nil 134 case "transaction": 135 return &ResourceChangeLog_FieldTerminalPath{selector: ResourceChangeLog_FieldPathSelectorTransaction}, nil 136 } 137 } else { 138 switch fp[0] { 139 case "authentication": 140 if subpath, err := common.BuildAuthentication_FieldPath(fp[1:]); err != nil { 141 return nil, err 142 } else { 143 return &ResourceChangeLog_FieldSubPath{selector: ResourceChangeLog_FieldPathSelectorAuthentication, subPath: subpath}, nil 144 } 145 case "service": 146 if subpath, err := common.BuildServiceData_FieldPath(fp[1:]); err != nil { 147 return nil, err 148 } else { 149 return &ResourceChangeLog_FieldSubPath{selector: ResourceChangeLog_FieldPathSelectorService, subPath: subpath}, nil 150 } 151 case "resource": 152 if subpath, err := BuildResourceChangeLogResourceChange_FieldPath(fp[1:]); err != nil { 153 return nil, err 154 } else { 155 return &ResourceChangeLog_FieldSubPath{selector: ResourceChangeLog_FieldPathSelectorResource, subPath: subpath}, nil 156 } 157 case "transaction": 158 if subpath, err := BuildResourceChangeLogTransactionInfo_FieldPath(fp[1:]); err != nil { 159 return nil, err 160 } else { 161 return &ResourceChangeLog_FieldSubPath{selector: ResourceChangeLog_FieldPathSelectorTransaction, subPath: subpath}, nil 162 } 163 } 164 } 165 return nil, status.Errorf(codes.InvalidArgument, "unknown field path '%s' for object ResourceChangeLog", fp) 166 } 167 168 func ParseResourceChangeLog_FieldPath(rawField string) (ResourceChangeLog_FieldPath, error) { 169 fp, err := gotenobject.ParseRawFieldPath(rawField) 170 if err != nil { 171 return nil, err 172 } 173 return BuildResourceChangeLog_FieldPath(fp) 174 } 175 176 func MustParseResourceChangeLog_FieldPath(rawField string) ResourceChangeLog_FieldPath { 177 fp, err := ParseResourceChangeLog_FieldPath(rawField) 178 if err != nil { 179 panic(err) 180 } 181 return fp 182 } 183 184 type ResourceChangeLog_FieldTerminalPath struct { 185 selector ResourceChangeLog_FieldPathSelector 186 } 187 188 var _ ResourceChangeLog_FieldPath = (*ResourceChangeLog_FieldTerminalPath)(nil) 189 190 func (fp *ResourceChangeLog_FieldTerminalPath) Selector() ResourceChangeLog_FieldPathSelector { 191 return fp.selector 192 } 193 194 // String returns path representation in proto convention 195 func (fp *ResourceChangeLog_FieldTerminalPath) String() string { 196 return fp.selector.String() 197 } 198 199 // JSONString returns path representation is JSON convention 200 func (fp *ResourceChangeLog_FieldTerminalPath) JSONString() string { 201 return strcase.ToLowerCamel(fp.String()) 202 } 203 204 // Get returns all values pointed by specific field from source ResourceChangeLog 205 func (fp *ResourceChangeLog_FieldTerminalPath) Get(source *ResourceChangeLog) (values []interface{}) { 206 if source != nil { 207 switch fp.selector { 208 case ResourceChangeLog_FieldPathSelectorName: 209 if source.Name != nil { 210 values = append(values, source.Name) 211 } 212 case ResourceChangeLog_FieldPathSelectorScope: 213 values = append(values, source.Scope) 214 case ResourceChangeLog_FieldPathSelectorRequestId: 215 values = append(values, source.RequestId) 216 case ResourceChangeLog_FieldPathSelectorTimestamp: 217 if source.Timestamp != nil { 218 values = append(values, source.Timestamp) 219 } 220 case ResourceChangeLog_FieldPathSelectorAuthentication: 221 if source.Authentication != nil { 222 values = append(values, source.Authentication) 223 } 224 case ResourceChangeLog_FieldPathSelectorService: 225 if source.Service != nil { 226 values = append(values, source.Service) 227 } 228 case ResourceChangeLog_FieldPathSelectorResource: 229 if source.Resource != nil { 230 values = append(values, source.Resource) 231 } 232 case ResourceChangeLog_FieldPathSelectorTransaction: 233 if source.Transaction != nil { 234 values = append(values, source.Transaction) 235 } 236 default: 237 panic(fmt.Sprintf("Invalid selector for ResourceChangeLog: %d", fp.selector)) 238 } 239 } 240 return 241 } 242 243 func (fp *ResourceChangeLog_FieldTerminalPath) GetRaw(source proto.Message) []interface{} { 244 return fp.Get(source.(*ResourceChangeLog)) 245 } 246 247 // GetSingle returns value pointed by specific field of from source ResourceChangeLog 248 func (fp *ResourceChangeLog_FieldTerminalPath) GetSingle(source *ResourceChangeLog) (interface{}, bool) { 249 switch fp.selector { 250 case ResourceChangeLog_FieldPathSelectorName: 251 res := source.GetName() 252 return res, res != nil 253 case ResourceChangeLog_FieldPathSelectorScope: 254 return source.GetScope(), source != nil 255 case ResourceChangeLog_FieldPathSelectorRequestId: 256 return source.GetRequestId(), source != nil 257 case ResourceChangeLog_FieldPathSelectorTimestamp: 258 res := source.GetTimestamp() 259 return res, res != nil 260 case ResourceChangeLog_FieldPathSelectorAuthentication: 261 res := source.GetAuthentication() 262 return res, res != nil 263 case ResourceChangeLog_FieldPathSelectorService: 264 res := source.GetService() 265 return res, res != nil 266 case ResourceChangeLog_FieldPathSelectorResource: 267 res := source.GetResource() 268 return res, res != nil 269 case ResourceChangeLog_FieldPathSelectorTransaction: 270 res := source.GetTransaction() 271 return res, res != nil 272 default: 273 panic(fmt.Sprintf("Invalid selector for ResourceChangeLog: %d", fp.selector)) 274 } 275 } 276 277 func (fp *ResourceChangeLog_FieldTerminalPath) GetSingleRaw(source proto.Message) (interface{}, bool) { 278 return fp.GetSingle(source.(*ResourceChangeLog)) 279 } 280 281 // GetDefault returns a default value of the field type 282 func (fp *ResourceChangeLog_FieldTerminalPath) GetDefault() interface{} { 283 switch fp.selector { 284 case ResourceChangeLog_FieldPathSelectorName: 285 return (*Name)(nil) 286 case ResourceChangeLog_FieldPathSelectorScope: 287 return "" 288 case ResourceChangeLog_FieldPathSelectorRequestId: 289 return uint64(0) 290 case ResourceChangeLog_FieldPathSelectorTimestamp: 291 return (*timestamppb.Timestamp)(nil) 292 case ResourceChangeLog_FieldPathSelectorAuthentication: 293 return (*common.Authentication)(nil) 294 case ResourceChangeLog_FieldPathSelectorService: 295 return (*common.ServiceData)(nil) 296 case ResourceChangeLog_FieldPathSelectorResource: 297 return (*ResourceChangeLog_ResourceChange)(nil) 298 case ResourceChangeLog_FieldPathSelectorTransaction: 299 return (*ResourceChangeLog_TransactionInfo)(nil) 300 default: 301 panic(fmt.Sprintf("Invalid selector for ResourceChangeLog: %d", fp.selector)) 302 } 303 } 304 305 func (fp *ResourceChangeLog_FieldTerminalPath) ClearValue(item *ResourceChangeLog) { 306 if item != nil { 307 switch fp.selector { 308 case ResourceChangeLog_FieldPathSelectorName: 309 item.Name = nil 310 case ResourceChangeLog_FieldPathSelectorScope: 311 item.Scope = "" 312 case ResourceChangeLog_FieldPathSelectorRequestId: 313 item.RequestId = uint64(0) 314 case ResourceChangeLog_FieldPathSelectorTimestamp: 315 item.Timestamp = nil 316 case ResourceChangeLog_FieldPathSelectorAuthentication: 317 item.Authentication = nil 318 case ResourceChangeLog_FieldPathSelectorService: 319 item.Service = nil 320 case ResourceChangeLog_FieldPathSelectorResource: 321 item.Resource = nil 322 case ResourceChangeLog_FieldPathSelectorTransaction: 323 item.Transaction = nil 324 default: 325 panic(fmt.Sprintf("Invalid selector for ResourceChangeLog: %d", fp.selector)) 326 } 327 } 328 } 329 330 func (fp *ResourceChangeLog_FieldTerminalPath) ClearValueRaw(item proto.Message) { 331 fp.ClearValue(item.(*ResourceChangeLog)) 332 } 333 334 // IsLeaf - whether field path is holds simple value 335 func (fp *ResourceChangeLog_FieldTerminalPath) IsLeaf() bool { 336 return fp.selector == ResourceChangeLog_FieldPathSelectorName || 337 fp.selector == ResourceChangeLog_FieldPathSelectorScope || 338 fp.selector == ResourceChangeLog_FieldPathSelectorRequestId || 339 fp.selector == ResourceChangeLog_FieldPathSelectorTimestamp 340 } 341 342 func (fp *ResourceChangeLog_FieldTerminalPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath { 343 return []gotenobject.FieldPath{fp} 344 } 345 346 func (fp *ResourceChangeLog_FieldTerminalPath) WithIValue(value interface{}) ResourceChangeLog_FieldPathValue { 347 switch fp.selector { 348 case ResourceChangeLog_FieldPathSelectorName: 349 return &ResourceChangeLog_FieldTerminalPathValue{ResourceChangeLog_FieldTerminalPath: *fp, value: value.(*Name)} 350 case ResourceChangeLog_FieldPathSelectorScope: 351 return &ResourceChangeLog_FieldTerminalPathValue{ResourceChangeLog_FieldTerminalPath: *fp, value: value.(string)} 352 case ResourceChangeLog_FieldPathSelectorRequestId: 353 return &ResourceChangeLog_FieldTerminalPathValue{ResourceChangeLog_FieldTerminalPath: *fp, value: value.(uint64)} 354 case ResourceChangeLog_FieldPathSelectorTimestamp: 355 return &ResourceChangeLog_FieldTerminalPathValue{ResourceChangeLog_FieldTerminalPath: *fp, value: value.(*timestamppb.Timestamp)} 356 case ResourceChangeLog_FieldPathSelectorAuthentication: 357 return &ResourceChangeLog_FieldTerminalPathValue{ResourceChangeLog_FieldTerminalPath: *fp, value: value.(*common.Authentication)} 358 case ResourceChangeLog_FieldPathSelectorService: 359 return &ResourceChangeLog_FieldTerminalPathValue{ResourceChangeLog_FieldTerminalPath: *fp, value: value.(*common.ServiceData)} 360 case ResourceChangeLog_FieldPathSelectorResource: 361 return &ResourceChangeLog_FieldTerminalPathValue{ResourceChangeLog_FieldTerminalPath: *fp, value: value.(*ResourceChangeLog_ResourceChange)} 362 case ResourceChangeLog_FieldPathSelectorTransaction: 363 return &ResourceChangeLog_FieldTerminalPathValue{ResourceChangeLog_FieldTerminalPath: *fp, value: value.(*ResourceChangeLog_TransactionInfo)} 364 default: 365 panic(fmt.Sprintf("Invalid selector for ResourceChangeLog: %d", fp.selector)) 366 } 367 } 368 369 func (fp *ResourceChangeLog_FieldTerminalPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue { 370 return fp.WithIValue(value) 371 } 372 373 func (fp *ResourceChangeLog_FieldTerminalPath) WithIArrayOfValues(values interface{}) ResourceChangeLog_FieldPathArrayOfValues { 374 fpaov := &ResourceChangeLog_FieldTerminalPathArrayOfValues{ResourceChangeLog_FieldTerminalPath: *fp} 375 switch fp.selector { 376 case ResourceChangeLog_FieldPathSelectorName: 377 return &ResourceChangeLog_FieldTerminalPathArrayOfValues{ResourceChangeLog_FieldTerminalPath: *fp, values: values.([]*Name)} 378 case ResourceChangeLog_FieldPathSelectorScope: 379 return &ResourceChangeLog_FieldTerminalPathArrayOfValues{ResourceChangeLog_FieldTerminalPath: *fp, values: values.([]string)} 380 case ResourceChangeLog_FieldPathSelectorRequestId: 381 return &ResourceChangeLog_FieldTerminalPathArrayOfValues{ResourceChangeLog_FieldTerminalPath: *fp, values: values.([]uint64)} 382 case ResourceChangeLog_FieldPathSelectorTimestamp: 383 return &ResourceChangeLog_FieldTerminalPathArrayOfValues{ResourceChangeLog_FieldTerminalPath: *fp, values: values.([]*timestamppb.Timestamp)} 384 case ResourceChangeLog_FieldPathSelectorAuthentication: 385 return &ResourceChangeLog_FieldTerminalPathArrayOfValues{ResourceChangeLog_FieldTerminalPath: *fp, values: values.([]*common.Authentication)} 386 case ResourceChangeLog_FieldPathSelectorService: 387 return &ResourceChangeLog_FieldTerminalPathArrayOfValues{ResourceChangeLog_FieldTerminalPath: *fp, values: values.([]*common.ServiceData)} 388 case ResourceChangeLog_FieldPathSelectorResource: 389 return &ResourceChangeLog_FieldTerminalPathArrayOfValues{ResourceChangeLog_FieldTerminalPath: *fp, values: values.([]*ResourceChangeLog_ResourceChange)} 390 case ResourceChangeLog_FieldPathSelectorTransaction: 391 return &ResourceChangeLog_FieldTerminalPathArrayOfValues{ResourceChangeLog_FieldTerminalPath: *fp, values: values.([]*ResourceChangeLog_TransactionInfo)} 392 default: 393 panic(fmt.Sprintf("Invalid selector for ResourceChangeLog: %d", fp.selector)) 394 } 395 return fpaov 396 } 397 398 func (fp *ResourceChangeLog_FieldTerminalPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues { 399 return fp.WithIArrayOfValues(values) 400 } 401 402 func (fp *ResourceChangeLog_FieldTerminalPath) WithIArrayItemValue(value interface{}) ResourceChangeLog_FieldPathArrayItemValue { 403 switch fp.selector { 404 default: 405 panic(fmt.Sprintf("Invalid selector for ResourceChangeLog: %d", fp.selector)) 406 } 407 } 408 409 func (fp *ResourceChangeLog_FieldTerminalPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue { 410 return fp.WithIArrayItemValue(value) 411 } 412 413 type ResourceChangeLog_FieldSubPath struct { 414 selector ResourceChangeLog_FieldPathSelector 415 subPath gotenobject.FieldPath 416 } 417 418 var _ ResourceChangeLog_FieldPath = (*ResourceChangeLog_FieldSubPath)(nil) 419 420 func (fps *ResourceChangeLog_FieldSubPath) Selector() ResourceChangeLog_FieldPathSelector { 421 return fps.selector 422 } 423 func (fps *ResourceChangeLog_FieldSubPath) AsAuthenticationSubPath() (common.Authentication_FieldPath, bool) { 424 res, ok := fps.subPath.(common.Authentication_FieldPath) 425 return res, ok 426 } 427 func (fps *ResourceChangeLog_FieldSubPath) AsServiceSubPath() (common.ServiceData_FieldPath, bool) { 428 res, ok := fps.subPath.(common.ServiceData_FieldPath) 429 return res, ok 430 } 431 func (fps *ResourceChangeLog_FieldSubPath) AsResourceSubPath() (ResourceChangeLogResourceChange_FieldPath, bool) { 432 res, ok := fps.subPath.(ResourceChangeLogResourceChange_FieldPath) 433 return res, ok 434 } 435 func (fps *ResourceChangeLog_FieldSubPath) AsTransactionSubPath() (ResourceChangeLogTransactionInfo_FieldPath, bool) { 436 res, ok := fps.subPath.(ResourceChangeLogTransactionInfo_FieldPath) 437 return res, ok 438 } 439 440 // String returns path representation in proto convention 441 func (fps *ResourceChangeLog_FieldSubPath) String() string { 442 return fps.selector.String() + "." + fps.subPath.String() 443 } 444 445 // JSONString returns path representation is JSON convention 446 func (fps *ResourceChangeLog_FieldSubPath) JSONString() string { 447 return strcase.ToLowerCamel(fps.selector.String()) + "." + fps.subPath.JSONString() 448 } 449 450 // Get returns all values pointed by selected field from source ResourceChangeLog 451 func (fps *ResourceChangeLog_FieldSubPath) Get(source *ResourceChangeLog) (values []interface{}) { 452 switch fps.selector { 453 case ResourceChangeLog_FieldPathSelectorAuthentication: 454 values = append(values, fps.subPath.GetRaw(source.GetAuthentication())...) 455 case ResourceChangeLog_FieldPathSelectorService: 456 values = append(values, fps.subPath.GetRaw(source.GetService())...) 457 case ResourceChangeLog_FieldPathSelectorResource: 458 values = append(values, fps.subPath.GetRaw(source.GetResource())...) 459 case ResourceChangeLog_FieldPathSelectorTransaction: 460 values = append(values, fps.subPath.GetRaw(source.GetTransaction())...) 461 default: 462 panic(fmt.Sprintf("Invalid selector for ResourceChangeLog: %d", fps.selector)) 463 } 464 return 465 } 466 467 func (fps *ResourceChangeLog_FieldSubPath) GetRaw(source proto.Message) []interface{} { 468 return fps.Get(source.(*ResourceChangeLog)) 469 } 470 471 // GetSingle returns value of selected field from source ResourceChangeLog 472 func (fps *ResourceChangeLog_FieldSubPath) GetSingle(source *ResourceChangeLog) (interface{}, bool) { 473 switch fps.selector { 474 case ResourceChangeLog_FieldPathSelectorAuthentication: 475 if source.GetAuthentication() == nil { 476 return nil, false 477 } 478 return fps.subPath.GetSingleRaw(source.GetAuthentication()) 479 case ResourceChangeLog_FieldPathSelectorService: 480 if source.GetService() == nil { 481 return nil, false 482 } 483 return fps.subPath.GetSingleRaw(source.GetService()) 484 case ResourceChangeLog_FieldPathSelectorResource: 485 if source.GetResource() == nil { 486 return nil, false 487 } 488 return fps.subPath.GetSingleRaw(source.GetResource()) 489 case ResourceChangeLog_FieldPathSelectorTransaction: 490 if source.GetTransaction() == nil { 491 return nil, false 492 } 493 return fps.subPath.GetSingleRaw(source.GetTransaction()) 494 default: 495 panic(fmt.Sprintf("Invalid selector for ResourceChangeLog: %d", fps.selector)) 496 } 497 } 498 499 func (fps *ResourceChangeLog_FieldSubPath) GetSingleRaw(source proto.Message) (interface{}, bool) { 500 return fps.GetSingle(source.(*ResourceChangeLog)) 501 } 502 503 // GetDefault returns a default value of the field type 504 func (fps *ResourceChangeLog_FieldSubPath) GetDefault() interface{} { 505 return fps.subPath.GetDefault() 506 } 507 508 func (fps *ResourceChangeLog_FieldSubPath) ClearValue(item *ResourceChangeLog) { 509 if item != nil { 510 switch fps.selector { 511 case ResourceChangeLog_FieldPathSelectorAuthentication: 512 fps.subPath.ClearValueRaw(item.Authentication) 513 case ResourceChangeLog_FieldPathSelectorService: 514 fps.subPath.ClearValueRaw(item.Service) 515 case ResourceChangeLog_FieldPathSelectorResource: 516 fps.subPath.ClearValueRaw(item.Resource) 517 case ResourceChangeLog_FieldPathSelectorTransaction: 518 fps.subPath.ClearValueRaw(item.Transaction) 519 default: 520 panic(fmt.Sprintf("Invalid selector for ResourceChangeLog: %d", fps.selector)) 521 } 522 } 523 } 524 525 func (fps *ResourceChangeLog_FieldSubPath) ClearValueRaw(item proto.Message) { 526 fps.ClearValue(item.(*ResourceChangeLog)) 527 } 528 529 // IsLeaf - whether field path is holds simple value 530 func (fps *ResourceChangeLog_FieldSubPath) IsLeaf() bool { 531 return fps.subPath.IsLeaf() 532 } 533 534 func (fps *ResourceChangeLog_FieldSubPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath { 535 iPaths := []gotenobject.FieldPath{&ResourceChangeLog_FieldTerminalPath{selector: fps.selector}} 536 iPaths = append(iPaths, fps.subPath.SplitIntoTerminalIPaths()...) 537 return iPaths 538 } 539 540 func (fps *ResourceChangeLog_FieldSubPath) WithIValue(value interface{}) ResourceChangeLog_FieldPathValue { 541 return &ResourceChangeLog_FieldSubPathValue{fps, fps.subPath.WithRawIValue(value)} 542 } 543 544 func (fps *ResourceChangeLog_FieldSubPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue { 545 return fps.WithIValue(value) 546 } 547 548 func (fps *ResourceChangeLog_FieldSubPath) WithIArrayOfValues(values interface{}) ResourceChangeLog_FieldPathArrayOfValues { 549 return &ResourceChangeLog_FieldSubPathArrayOfValues{fps, fps.subPath.WithRawIArrayOfValues(values)} 550 } 551 552 func (fps *ResourceChangeLog_FieldSubPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues { 553 return fps.WithIArrayOfValues(values) 554 } 555 556 func (fps *ResourceChangeLog_FieldSubPath) WithIArrayItemValue(value interface{}) ResourceChangeLog_FieldPathArrayItemValue { 557 return &ResourceChangeLog_FieldSubPathArrayItemValue{fps, fps.subPath.WithRawIArrayItemValue(value)} 558 } 559 560 func (fps *ResourceChangeLog_FieldSubPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue { 561 return fps.WithIArrayItemValue(value) 562 } 563 564 // ResourceChangeLog_FieldPathValue allows storing values for ResourceChangeLog fields according to their type 565 type ResourceChangeLog_FieldPathValue interface { 566 ResourceChangeLog_FieldPath 567 gotenobject.FieldPathValue 568 SetTo(target **ResourceChangeLog) 569 CompareWith(*ResourceChangeLog) (cmp int, comparable bool) 570 } 571 572 func ParseResourceChangeLog_FieldPathValue(pathStr, valueStr string) (ResourceChangeLog_FieldPathValue, error) { 573 fp, err := ParseResourceChangeLog_FieldPath(pathStr) 574 if err != nil { 575 return nil, err 576 } 577 fpv, err := gotenobject.ParseFieldPathValue(fp, valueStr) 578 if err != nil { 579 return nil, status.Errorf(codes.InvalidArgument, "error parsing ResourceChangeLog field path value from %s: %v", valueStr, err) 580 } 581 return fpv.(ResourceChangeLog_FieldPathValue), nil 582 } 583 584 func MustParseResourceChangeLog_FieldPathValue(pathStr, valueStr string) ResourceChangeLog_FieldPathValue { 585 fpv, err := ParseResourceChangeLog_FieldPathValue(pathStr, valueStr) 586 if err != nil { 587 panic(err) 588 } 589 return fpv 590 } 591 592 type ResourceChangeLog_FieldTerminalPathValue struct { 593 ResourceChangeLog_FieldTerminalPath 594 value interface{} 595 } 596 597 var _ ResourceChangeLog_FieldPathValue = (*ResourceChangeLog_FieldTerminalPathValue)(nil) 598 599 // GetRawValue returns raw value stored under selected path for 'ResourceChangeLog' as interface{} 600 func (fpv *ResourceChangeLog_FieldTerminalPathValue) GetRawValue() interface{} { 601 return fpv.value 602 } 603 func (fpv *ResourceChangeLog_FieldTerminalPathValue) AsNameValue() (*Name, bool) { 604 res, ok := fpv.value.(*Name) 605 return res, ok 606 } 607 func (fpv *ResourceChangeLog_FieldTerminalPathValue) AsScopeValue() (string, bool) { 608 res, ok := fpv.value.(string) 609 return res, ok 610 } 611 func (fpv *ResourceChangeLog_FieldTerminalPathValue) AsRequestIdValue() (uint64, bool) { 612 res, ok := fpv.value.(uint64) 613 return res, ok 614 } 615 func (fpv *ResourceChangeLog_FieldTerminalPathValue) AsTimestampValue() (*timestamppb.Timestamp, bool) { 616 res, ok := fpv.value.(*timestamppb.Timestamp) 617 return res, ok 618 } 619 func (fpv *ResourceChangeLog_FieldTerminalPathValue) AsAuthenticationValue() (*common.Authentication, bool) { 620 res, ok := fpv.value.(*common.Authentication) 621 return res, ok 622 } 623 func (fpv *ResourceChangeLog_FieldTerminalPathValue) AsServiceValue() (*common.ServiceData, bool) { 624 res, ok := fpv.value.(*common.ServiceData) 625 return res, ok 626 } 627 func (fpv *ResourceChangeLog_FieldTerminalPathValue) AsResourceValue() (*ResourceChangeLog_ResourceChange, bool) { 628 res, ok := fpv.value.(*ResourceChangeLog_ResourceChange) 629 return res, ok 630 } 631 func (fpv *ResourceChangeLog_FieldTerminalPathValue) AsTransactionValue() (*ResourceChangeLog_TransactionInfo, bool) { 632 res, ok := fpv.value.(*ResourceChangeLog_TransactionInfo) 633 return res, ok 634 } 635 636 // SetTo stores value for selected field for object ResourceChangeLog 637 func (fpv *ResourceChangeLog_FieldTerminalPathValue) SetTo(target **ResourceChangeLog) { 638 if *target == nil { 639 *target = new(ResourceChangeLog) 640 } 641 switch fpv.selector { 642 case ResourceChangeLog_FieldPathSelectorName: 643 (*target).Name = fpv.value.(*Name) 644 case ResourceChangeLog_FieldPathSelectorScope: 645 (*target).Scope = fpv.value.(string) 646 case ResourceChangeLog_FieldPathSelectorRequestId: 647 (*target).RequestId = fpv.value.(uint64) 648 case ResourceChangeLog_FieldPathSelectorTimestamp: 649 (*target).Timestamp = fpv.value.(*timestamppb.Timestamp) 650 case ResourceChangeLog_FieldPathSelectorAuthentication: 651 (*target).Authentication = fpv.value.(*common.Authentication) 652 case ResourceChangeLog_FieldPathSelectorService: 653 (*target).Service = fpv.value.(*common.ServiceData) 654 case ResourceChangeLog_FieldPathSelectorResource: 655 (*target).Resource = fpv.value.(*ResourceChangeLog_ResourceChange) 656 case ResourceChangeLog_FieldPathSelectorTransaction: 657 (*target).Transaction = fpv.value.(*ResourceChangeLog_TransactionInfo) 658 default: 659 panic(fmt.Sprintf("Invalid selector for ResourceChangeLog: %d", fpv.selector)) 660 } 661 } 662 663 func (fpv *ResourceChangeLog_FieldTerminalPathValue) SetToRaw(target proto.Message) { 664 typedObject := target.(*ResourceChangeLog) 665 fpv.SetTo(&typedObject) 666 } 667 668 // CompareWith compares value in the 'ResourceChangeLog_FieldTerminalPathValue' with the value under path in 'ResourceChangeLog'. 669 func (fpv *ResourceChangeLog_FieldTerminalPathValue) CompareWith(source *ResourceChangeLog) (int, bool) { 670 switch fpv.selector { 671 case ResourceChangeLog_FieldPathSelectorName: 672 leftValue := fpv.value.(*Name) 673 rightValue := source.GetName() 674 if leftValue == nil { 675 if rightValue != nil { 676 return -1, true 677 } 678 return 0, true 679 } 680 if rightValue == nil { 681 return 1, true 682 } 683 if leftValue.String() == rightValue.String() { 684 return 0, true 685 } else if leftValue.String() < rightValue.String() { 686 return -1, true 687 } else { 688 return 1, true 689 } 690 case ResourceChangeLog_FieldPathSelectorScope: 691 leftValue := fpv.value.(string) 692 rightValue := source.GetScope() 693 if (leftValue) == (rightValue) { 694 return 0, true 695 } else if (leftValue) < (rightValue) { 696 return -1, true 697 } else { 698 return 1, true 699 } 700 case ResourceChangeLog_FieldPathSelectorRequestId: 701 leftValue := fpv.value.(uint64) 702 rightValue := source.GetRequestId() 703 if (leftValue) == (rightValue) { 704 return 0, true 705 } else if (leftValue) < (rightValue) { 706 return -1, true 707 } else { 708 return 1, true 709 } 710 case ResourceChangeLog_FieldPathSelectorTimestamp: 711 leftValue := fpv.value.(*timestamppb.Timestamp) 712 rightValue := source.GetTimestamp() 713 if leftValue == nil { 714 if rightValue != nil { 715 return -1, true 716 } 717 return 0, true 718 } 719 if rightValue == nil { 720 return 1, true 721 } 722 if leftValue.AsTime().Equal(rightValue.AsTime()) { 723 return 0, true 724 } else if leftValue.AsTime().Before(rightValue.AsTime()) { 725 return -1, true 726 } else { 727 return 1, true 728 } 729 case ResourceChangeLog_FieldPathSelectorAuthentication: 730 return 0, false 731 case ResourceChangeLog_FieldPathSelectorService: 732 return 0, false 733 case ResourceChangeLog_FieldPathSelectorResource: 734 return 0, false 735 case ResourceChangeLog_FieldPathSelectorTransaction: 736 return 0, false 737 default: 738 panic(fmt.Sprintf("Invalid selector for ResourceChangeLog: %d", fpv.selector)) 739 } 740 } 741 742 func (fpv *ResourceChangeLog_FieldTerminalPathValue) CompareWithRaw(source proto.Message) (int, bool) { 743 return fpv.CompareWith(source.(*ResourceChangeLog)) 744 } 745 746 type ResourceChangeLog_FieldSubPathValue struct { 747 ResourceChangeLog_FieldPath 748 subPathValue gotenobject.FieldPathValue 749 } 750 751 var _ ResourceChangeLog_FieldPathValue = (*ResourceChangeLog_FieldSubPathValue)(nil) 752 753 func (fpvs *ResourceChangeLog_FieldSubPathValue) AsAuthenticationPathValue() (common.Authentication_FieldPathValue, bool) { 754 res, ok := fpvs.subPathValue.(common.Authentication_FieldPathValue) 755 return res, ok 756 } 757 func (fpvs *ResourceChangeLog_FieldSubPathValue) AsServicePathValue() (common.ServiceData_FieldPathValue, bool) { 758 res, ok := fpvs.subPathValue.(common.ServiceData_FieldPathValue) 759 return res, ok 760 } 761 func (fpvs *ResourceChangeLog_FieldSubPathValue) AsResourcePathValue() (ResourceChangeLogResourceChange_FieldPathValue, bool) { 762 res, ok := fpvs.subPathValue.(ResourceChangeLogResourceChange_FieldPathValue) 763 return res, ok 764 } 765 func (fpvs *ResourceChangeLog_FieldSubPathValue) AsTransactionPathValue() (ResourceChangeLogTransactionInfo_FieldPathValue, bool) { 766 res, ok := fpvs.subPathValue.(ResourceChangeLogTransactionInfo_FieldPathValue) 767 return res, ok 768 } 769 770 func (fpvs *ResourceChangeLog_FieldSubPathValue) SetTo(target **ResourceChangeLog) { 771 if *target == nil { 772 *target = new(ResourceChangeLog) 773 } 774 switch fpvs.Selector() { 775 case ResourceChangeLog_FieldPathSelectorAuthentication: 776 fpvs.subPathValue.(common.Authentication_FieldPathValue).SetTo(&(*target).Authentication) 777 case ResourceChangeLog_FieldPathSelectorService: 778 fpvs.subPathValue.(common.ServiceData_FieldPathValue).SetTo(&(*target).Service) 779 case ResourceChangeLog_FieldPathSelectorResource: 780 fpvs.subPathValue.(ResourceChangeLogResourceChange_FieldPathValue).SetTo(&(*target).Resource) 781 case ResourceChangeLog_FieldPathSelectorTransaction: 782 fpvs.subPathValue.(ResourceChangeLogTransactionInfo_FieldPathValue).SetTo(&(*target).Transaction) 783 default: 784 panic(fmt.Sprintf("Invalid selector for ResourceChangeLog: %d", fpvs.Selector())) 785 } 786 } 787 788 func (fpvs *ResourceChangeLog_FieldSubPathValue) SetToRaw(target proto.Message) { 789 typedObject := target.(*ResourceChangeLog) 790 fpvs.SetTo(&typedObject) 791 } 792 793 func (fpvs *ResourceChangeLog_FieldSubPathValue) GetRawValue() interface{} { 794 return fpvs.subPathValue.GetRawValue() 795 } 796 797 func (fpvs *ResourceChangeLog_FieldSubPathValue) CompareWith(source *ResourceChangeLog) (int, bool) { 798 switch fpvs.Selector() { 799 case ResourceChangeLog_FieldPathSelectorAuthentication: 800 return fpvs.subPathValue.(common.Authentication_FieldPathValue).CompareWith(source.GetAuthentication()) 801 case ResourceChangeLog_FieldPathSelectorService: 802 return fpvs.subPathValue.(common.ServiceData_FieldPathValue).CompareWith(source.GetService()) 803 case ResourceChangeLog_FieldPathSelectorResource: 804 return fpvs.subPathValue.(ResourceChangeLogResourceChange_FieldPathValue).CompareWith(source.GetResource()) 805 case ResourceChangeLog_FieldPathSelectorTransaction: 806 return fpvs.subPathValue.(ResourceChangeLogTransactionInfo_FieldPathValue).CompareWith(source.GetTransaction()) 807 default: 808 panic(fmt.Sprintf("Invalid selector for ResourceChangeLog: %d", fpvs.Selector())) 809 } 810 } 811 812 func (fpvs *ResourceChangeLog_FieldSubPathValue) CompareWithRaw(source proto.Message) (int, bool) { 813 return fpvs.CompareWith(source.(*ResourceChangeLog)) 814 } 815 816 // ResourceChangeLog_FieldPathArrayItemValue allows storing single item in Path-specific values for ResourceChangeLog according to their type 817 // Present only for array (repeated) types. 818 type ResourceChangeLog_FieldPathArrayItemValue interface { 819 gotenobject.FieldPathArrayItemValue 820 ResourceChangeLog_FieldPath 821 ContainsValue(*ResourceChangeLog) bool 822 } 823 824 // ParseResourceChangeLog_FieldPathArrayItemValue parses string and JSON-encoded value to its Value 825 func ParseResourceChangeLog_FieldPathArrayItemValue(pathStr, valueStr string) (ResourceChangeLog_FieldPathArrayItemValue, error) { 826 fp, err := ParseResourceChangeLog_FieldPath(pathStr) 827 if err != nil { 828 return nil, err 829 } 830 fpaiv, err := gotenobject.ParseFieldPathArrayItemValue(fp, valueStr) 831 if err != nil { 832 return nil, status.Errorf(codes.InvalidArgument, "error parsing ResourceChangeLog field path array item value from %s: %v", valueStr, err) 833 } 834 return fpaiv.(ResourceChangeLog_FieldPathArrayItemValue), nil 835 } 836 837 func MustParseResourceChangeLog_FieldPathArrayItemValue(pathStr, valueStr string) ResourceChangeLog_FieldPathArrayItemValue { 838 fpaiv, err := ParseResourceChangeLog_FieldPathArrayItemValue(pathStr, valueStr) 839 if err != nil { 840 panic(err) 841 } 842 return fpaiv 843 } 844 845 type ResourceChangeLog_FieldTerminalPathArrayItemValue struct { 846 ResourceChangeLog_FieldTerminalPath 847 value interface{} 848 } 849 850 var _ ResourceChangeLog_FieldPathArrayItemValue = (*ResourceChangeLog_FieldTerminalPathArrayItemValue)(nil) 851 852 // GetRawValue returns stored element value for array in object ResourceChangeLog as interface{} 853 func (fpaiv *ResourceChangeLog_FieldTerminalPathArrayItemValue) GetRawItemValue() interface{} { 854 return fpaiv.value 855 } 856 857 func (fpaiv *ResourceChangeLog_FieldTerminalPathArrayItemValue) GetSingle(source *ResourceChangeLog) (interface{}, bool) { 858 return nil, false 859 } 860 861 func (fpaiv *ResourceChangeLog_FieldTerminalPathArrayItemValue) GetSingleRaw(source proto.Message) (interface{}, bool) { 862 return fpaiv.GetSingle(source.(*ResourceChangeLog)) 863 } 864 865 // Contains returns a boolean indicating if value that is being held is present in given 'ResourceChangeLog' 866 func (fpaiv *ResourceChangeLog_FieldTerminalPathArrayItemValue) ContainsValue(source *ResourceChangeLog) bool { 867 slice := fpaiv.ResourceChangeLog_FieldTerminalPath.Get(source) 868 for _, v := range slice { 869 if asProtoMsg, ok := fpaiv.value.(proto.Message); ok { 870 if proto.Equal(asProtoMsg, v.(proto.Message)) { 871 return true 872 } 873 } else if reflect.DeepEqual(v, fpaiv.value) { 874 return true 875 } 876 } 877 return false 878 } 879 880 type ResourceChangeLog_FieldSubPathArrayItemValue struct { 881 ResourceChangeLog_FieldPath 882 subPathItemValue gotenobject.FieldPathArrayItemValue 883 } 884 885 // GetRawValue returns stored array item value 886 func (fpaivs *ResourceChangeLog_FieldSubPathArrayItemValue) GetRawItemValue() interface{} { 887 return fpaivs.subPathItemValue.GetRawItemValue() 888 } 889 func (fpaivs *ResourceChangeLog_FieldSubPathArrayItemValue) AsAuthenticationPathItemValue() (common.Authentication_FieldPathArrayItemValue, bool) { 890 res, ok := fpaivs.subPathItemValue.(common.Authentication_FieldPathArrayItemValue) 891 return res, ok 892 } 893 func (fpaivs *ResourceChangeLog_FieldSubPathArrayItemValue) AsServicePathItemValue() (common.ServiceData_FieldPathArrayItemValue, bool) { 894 res, ok := fpaivs.subPathItemValue.(common.ServiceData_FieldPathArrayItemValue) 895 return res, ok 896 } 897 func (fpaivs *ResourceChangeLog_FieldSubPathArrayItemValue) AsResourcePathItemValue() (ResourceChangeLogResourceChange_FieldPathArrayItemValue, bool) { 898 res, ok := fpaivs.subPathItemValue.(ResourceChangeLogResourceChange_FieldPathArrayItemValue) 899 return res, ok 900 } 901 func (fpaivs *ResourceChangeLog_FieldSubPathArrayItemValue) AsTransactionPathItemValue() (ResourceChangeLogTransactionInfo_FieldPathArrayItemValue, bool) { 902 res, ok := fpaivs.subPathItemValue.(ResourceChangeLogTransactionInfo_FieldPathArrayItemValue) 903 return res, ok 904 } 905 906 // Contains returns a boolean indicating if value that is being held is present in given 'ResourceChangeLog' 907 func (fpaivs *ResourceChangeLog_FieldSubPathArrayItemValue) ContainsValue(source *ResourceChangeLog) bool { 908 switch fpaivs.Selector() { 909 case ResourceChangeLog_FieldPathSelectorAuthentication: 910 return fpaivs.subPathItemValue.(common.Authentication_FieldPathArrayItemValue).ContainsValue(source.GetAuthentication()) 911 case ResourceChangeLog_FieldPathSelectorService: 912 return fpaivs.subPathItemValue.(common.ServiceData_FieldPathArrayItemValue).ContainsValue(source.GetService()) 913 case ResourceChangeLog_FieldPathSelectorResource: 914 return fpaivs.subPathItemValue.(ResourceChangeLogResourceChange_FieldPathArrayItemValue).ContainsValue(source.GetResource()) 915 case ResourceChangeLog_FieldPathSelectorTransaction: 916 return fpaivs.subPathItemValue.(ResourceChangeLogTransactionInfo_FieldPathArrayItemValue).ContainsValue(source.GetTransaction()) 917 default: 918 panic(fmt.Sprintf("Invalid selector for ResourceChangeLog: %d", fpaivs.Selector())) 919 } 920 } 921 922 // ResourceChangeLog_FieldPathArrayOfValues allows storing slice of values for ResourceChangeLog fields according to their type 923 type ResourceChangeLog_FieldPathArrayOfValues interface { 924 gotenobject.FieldPathArrayOfValues 925 ResourceChangeLog_FieldPath 926 } 927 928 func ParseResourceChangeLog_FieldPathArrayOfValues(pathStr, valuesStr string) (ResourceChangeLog_FieldPathArrayOfValues, error) { 929 fp, err := ParseResourceChangeLog_FieldPath(pathStr) 930 if err != nil { 931 return nil, err 932 } 933 fpaov, err := gotenobject.ParseFieldPathArrayOfValues(fp, valuesStr) 934 if err != nil { 935 return nil, status.Errorf(codes.InvalidArgument, "error parsing ResourceChangeLog field path array of values from %s: %v", valuesStr, err) 936 } 937 return fpaov.(ResourceChangeLog_FieldPathArrayOfValues), nil 938 } 939 940 func MustParseResourceChangeLog_FieldPathArrayOfValues(pathStr, valuesStr string) ResourceChangeLog_FieldPathArrayOfValues { 941 fpaov, err := ParseResourceChangeLog_FieldPathArrayOfValues(pathStr, valuesStr) 942 if err != nil { 943 panic(err) 944 } 945 return fpaov 946 } 947 948 type ResourceChangeLog_FieldTerminalPathArrayOfValues struct { 949 ResourceChangeLog_FieldTerminalPath 950 values interface{} 951 } 952 953 var _ ResourceChangeLog_FieldPathArrayOfValues = (*ResourceChangeLog_FieldTerminalPathArrayOfValues)(nil) 954 955 func (fpaov *ResourceChangeLog_FieldTerminalPathArrayOfValues) GetRawValues() (values []interface{}) { 956 switch fpaov.selector { 957 case ResourceChangeLog_FieldPathSelectorName: 958 for _, v := range fpaov.values.([]*Name) { 959 values = append(values, v) 960 } 961 case ResourceChangeLog_FieldPathSelectorScope: 962 for _, v := range fpaov.values.([]string) { 963 values = append(values, v) 964 } 965 case ResourceChangeLog_FieldPathSelectorRequestId: 966 for _, v := range fpaov.values.([]uint64) { 967 values = append(values, v) 968 } 969 case ResourceChangeLog_FieldPathSelectorTimestamp: 970 for _, v := range fpaov.values.([]*timestamppb.Timestamp) { 971 values = append(values, v) 972 } 973 case ResourceChangeLog_FieldPathSelectorAuthentication: 974 for _, v := range fpaov.values.([]*common.Authentication) { 975 values = append(values, v) 976 } 977 case ResourceChangeLog_FieldPathSelectorService: 978 for _, v := range fpaov.values.([]*common.ServiceData) { 979 values = append(values, v) 980 } 981 case ResourceChangeLog_FieldPathSelectorResource: 982 for _, v := range fpaov.values.([]*ResourceChangeLog_ResourceChange) { 983 values = append(values, v) 984 } 985 case ResourceChangeLog_FieldPathSelectorTransaction: 986 for _, v := range fpaov.values.([]*ResourceChangeLog_TransactionInfo) { 987 values = append(values, v) 988 } 989 } 990 return 991 } 992 func (fpaov *ResourceChangeLog_FieldTerminalPathArrayOfValues) AsNameArrayOfValues() ([]*Name, bool) { 993 res, ok := fpaov.values.([]*Name) 994 return res, ok 995 } 996 func (fpaov *ResourceChangeLog_FieldTerminalPathArrayOfValues) AsScopeArrayOfValues() ([]string, bool) { 997 res, ok := fpaov.values.([]string) 998 return res, ok 999 } 1000 func (fpaov *ResourceChangeLog_FieldTerminalPathArrayOfValues) AsRequestIdArrayOfValues() ([]uint64, bool) { 1001 res, ok := fpaov.values.([]uint64) 1002 return res, ok 1003 } 1004 func (fpaov *ResourceChangeLog_FieldTerminalPathArrayOfValues) AsTimestampArrayOfValues() ([]*timestamppb.Timestamp, bool) { 1005 res, ok := fpaov.values.([]*timestamppb.Timestamp) 1006 return res, ok 1007 } 1008 func (fpaov *ResourceChangeLog_FieldTerminalPathArrayOfValues) AsAuthenticationArrayOfValues() ([]*common.Authentication, bool) { 1009 res, ok := fpaov.values.([]*common.Authentication) 1010 return res, ok 1011 } 1012 func (fpaov *ResourceChangeLog_FieldTerminalPathArrayOfValues) AsServiceArrayOfValues() ([]*common.ServiceData, bool) { 1013 res, ok := fpaov.values.([]*common.ServiceData) 1014 return res, ok 1015 } 1016 func (fpaov *ResourceChangeLog_FieldTerminalPathArrayOfValues) AsResourceArrayOfValues() ([]*ResourceChangeLog_ResourceChange, bool) { 1017 res, ok := fpaov.values.([]*ResourceChangeLog_ResourceChange) 1018 return res, ok 1019 } 1020 func (fpaov *ResourceChangeLog_FieldTerminalPathArrayOfValues) AsTransactionArrayOfValues() ([]*ResourceChangeLog_TransactionInfo, bool) { 1021 res, ok := fpaov.values.([]*ResourceChangeLog_TransactionInfo) 1022 return res, ok 1023 } 1024 1025 type ResourceChangeLog_FieldSubPathArrayOfValues struct { 1026 ResourceChangeLog_FieldPath 1027 subPathArrayOfValues gotenobject.FieldPathArrayOfValues 1028 } 1029 1030 var _ ResourceChangeLog_FieldPathArrayOfValues = (*ResourceChangeLog_FieldSubPathArrayOfValues)(nil) 1031 1032 func (fpsaov *ResourceChangeLog_FieldSubPathArrayOfValues) GetRawValues() []interface{} { 1033 return fpsaov.subPathArrayOfValues.GetRawValues() 1034 } 1035 func (fpsaov *ResourceChangeLog_FieldSubPathArrayOfValues) AsAuthenticationPathArrayOfValues() (common.Authentication_FieldPathArrayOfValues, bool) { 1036 res, ok := fpsaov.subPathArrayOfValues.(common.Authentication_FieldPathArrayOfValues) 1037 return res, ok 1038 } 1039 func (fpsaov *ResourceChangeLog_FieldSubPathArrayOfValues) AsServicePathArrayOfValues() (common.ServiceData_FieldPathArrayOfValues, bool) { 1040 res, ok := fpsaov.subPathArrayOfValues.(common.ServiceData_FieldPathArrayOfValues) 1041 return res, ok 1042 } 1043 func (fpsaov *ResourceChangeLog_FieldSubPathArrayOfValues) AsResourcePathArrayOfValues() (ResourceChangeLogResourceChange_FieldPathArrayOfValues, bool) { 1044 res, ok := fpsaov.subPathArrayOfValues.(ResourceChangeLogResourceChange_FieldPathArrayOfValues) 1045 return res, ok 1046 } 1047 func (fpsaov *ResourceChangeLog_FieldSubPathArrayOfValues) AsTransactionPathArrayOfValues() (ResourceChangeLogTransactionInfo_FieldPathArrayOfValues, bool) { 1048 res, ok := fpsaov.subPathArrayOfValues.(ResourceChangeLogTransactionInfo_FieldPathArrayOfValues) 1049 return res, ok 1050 } 1051 1052 // FieldPath provides implementation to handle 1053 // https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto 1054 type ResourceChangeLogResourceChange_FieldPath interface { 1055 gotenobject.FieldPath 1056 Selector() ResourceChangeLogResourceChange_FieldPathSelector 1057 Get(source *ResourceChangeLog_ResourceChange) []interface{} 1058 GetSingle(source *ResourceChangeLog_ResourceChange) (interface{}, bool) 1059 ClearValue(item *ResourceChangeLog_ResourceChange) 1060 1061 // Those methods build corresponding ResourceChangeLogResourceChange_FieldPathValue 1062 // (or array of values) and holds passed value. Panics if injected type is incorrect. 1063 WithIValue(value interface{}) ResourceChangeLogResourceChange_FieldPathValue 1064 WithIArrayOfValues(values interface{}) ResourceChangeLogResourceChange_FieldPathArrayOfValues 1065 WithIArrayItemValue(value interface{}) ResourceChangeLogResourceChange_FieldPathArrayItemValue 1066 } 1067 1068 type ResourceChangeLogResourceChange_FieldPathSelector int32 1069 1070 const ( 1071 ResourceChangeLogResourceChange_FieldPathSelectorName ResourceChangeLogResourceChange_FieldPathSelector = 0 1072 ResourceChangeLogResourceChange_FieldPathSelectorType ResourceChangeLogResourceChange_FieldPathSelector = 1 1073 ResourceChangeLogResourceChange_FieldPathSelectorAction ResourceChangeLogResourceChange_FieldPathSelector = 2 1074 ResourceChangeLogResourceChange_FieldPathSelectorUpdatedFields ResourceChangeLogResourceChange_FieldPathSelector = 3 1075 ResourceChangeLogResourceChange_FieldPathSelectorPrevious ResourceChangeLogResourceChange_FieldPathSelector = 4 1076 ResourceChangeLogResourceChange_FieldPathSelectorCurrent ResourceChangeLogResourceChange_FieldPathSelector = 5 1077 ResourceChangeLogResourceChange_FieldPathSelectorLabels ResourceChangeLogResourceChange_FieldPathSelector = 6 1078 ResourceChangeLogResourceChange_FieldPathSelectorPre ResourceChangeLogResourceChange_FieldPathSelector = 7 1079 ResourceChangeLogResourceChange_FieldPathSelectorPost ResourceChangeLogResourceChange_FieldPathSelector = 8 1080 ) 1081 1082 func (s ResourceChangeLogResourceChange_FieldPathSelector) String() string { 1083 switch s { 1084 case ResourceChangeLogResourceChange_FieldPathSelectorName: 1085 return "name" 1086 case ResourceChangeLogResourceChange_FieldPathSelectorType: 1087 return "type" 1088 case ResourceChangeLogResourceChange_FieldPathSelectorAction: 1089 return "action" 1090 case ResourceChangeLogResourceChange_FieldPathSelectorUpdatedFields: 1091 return "updated_fields" 1092 case ResourceChangeLogResourceChange_FieldPathSelectorPrevious: 1093 return "previous" 1094 case ResourceChangeLogResourceChange_FieldPathSelectorCurrent: 1095 return "current" 1096 case ResourceChangeLogResourceChange_FieldPathSelectorLabels: 1097 return "labels" 1098 case ResourceChangeLogResourceChange_FieldPathSelectorPre: 1099 return "pre" 1100 case ResourceChangeLogResourceChange_FieldPathSelectorPost: 1101 return "post" 1102 default: 1103 panic(fmt.Sprintf("Invalid selector for ResourceChangeLog_ResourceChange: %d", s)) 1104 } 1105 } 1106 1107 func BuildResourceChangeLogResourceChange_FieldPath(fp gotenobject.RawFieldPath) (ResourceChangeLogResourceChange_FieldPath, error) { 1108 if len(fp) == 0 { 1109 return nil, status.Error(codes.InvalidArgument, "empty field path for object ResourceChangeLog_ResourceChange") 1110 } 1111 if len(fp) == 1 { 1112 switch fp[0] { 1113 case "name": 1114 return &ResourceChangeLogResourceChange_FieldTerminalPath{selector: ResourceChangeLogResourceChange_FieldPathSelectorName}, nil 1115 case "type": 1116 return &ResourceChangeLogResourceChange_FieldTerminalPath{selector: ResourceChangeLogResourceChange_FieldPathSelectorType}, nil 1117 case "action": 1118 return &ResourceChangeLogResourceChange_FieldTerminalPath{selector: ResourceChangeLogResourceChange_FieldPathSelectorAction}, nil 1119 case "updated_fields", "updatedFields", "updated-fields": 1120 return &ResourceChangeLogResourceChange_FieldTerminalPath{selector: ResourceChangeLogResourceChange_FieldPathSelectorUpdatedFields}, nil 1121 case "previous": 1122 return &ResourceChangeLogResourceChange_FieldTerminalPath{selector: ResourceChangeLogResourceChange_FieldPathSelectorPrevious}, nil 1123 case "current": 1124 return &ResourceChangeLogResourceChange_FieldTerminalPath{selector: ResourceChangeLogResourceChange_FieldPathSelectorCurrent}, nil 1125 case "labels": 1126 return &ResourceChangeLogResourceChange_FieldTerminalPath{selector: ResourceChangeLogResourceChange_FieldPathSelectorLabels}, nil 1127 case "pre": 1128 return &ResourceChangeLogResourceChange_FieldTerminalPath{selector: ResourceChangeLogResourceChange_FieldPathSelectorPre}, nil 1129 case "post": 1130 return &ResourceChangeLogResourceChange_FieldTerminalPath{selector: ResourceChangeLogResourceChange_FieldPathSelectorPost}, nil 1131 } 1132 } else { 1133 switch fp[0] { 1134 case "pre": 1135 if subpath, err := common.BuildObjectState_FieldPath(fp[1:]); err != nil { 1136 return nil, err 1137 } else { 1138 return &ResourceChangeLogResourceChange_FieldSubPath{selector: ResourceChangeLogResourceChange_FieldPathSelectorPre, subPath: subpath}, nil 1139 } 1140 case "post": 1141 if subpath, err := common.BuildObjectState_FieldPath(fp[1:]); err != nil { 1142 return nil, err 1143 } else { 1144 return &ResourceChangeLogResourceChange_FieldSubPath{selector: ResourceChangeLogResourceChange_FieldPathSelectorPost, subPath: subpath}, nil 1145 } 1146 case "labels": 1147 if len(fp) > 2 { 1148 return nil, status.Errorf(codes.InvalidArgument, "sub path for maps ('%s') are not supported (object ResourceChangeLog_ResourceChange)", fp) 1149 } 1150 return &ResourceChangeLogResourceChange_FieldPathMap{selector: ResourceChangeLogResourceChange_FieldPathSelectorLabels, key: fp[1]}, nil 1151 } 1152 } 1153 return nil, status.Errorf(codes.InvalidArgument, "unknown field path '%s' for object ResourceChangeLog_ResourceChange", fp) 1154 } 1155 1156 func ParseResourceChangeLogResourceChange_FieldPath(rawField string) (ResourceChangeLogResourceChange_FieldPath, error) { 1157 fp, err := gotenobject.ParseRawFieldPath(rawField) 1158 if err != nil { 1159 return nil, err 1160 } 1161 return BuildResourceChangeLogResourceChange_FieldPath(fp) 1162 } 1163 1164 func MustParseResourceChangeLogResourceChange_FieldPath(rawField string) ResourceChangeLogResourceChange_FieldPath { 1165 fp, err := ParseResourceChangeLogResourceChange_FieldPath(rawField) 1166 if err != nil { 1167 panic(err) 1168 } 1169 return fp 1170 } 1171 1172 type ResourceChangeLogResourceChange_FieldTerminalPath struct { 1173 selector ResourceChangeLogResourceChange_FieldPathSelector 1174 } 1175 1176 var _ ResourceChangeLogResourceChange_FieldPath = (*ResourceChangeLogResourceChange_FieldTerminalPath)(nil) 1177 1178 func (fp *ResourceChangeLogResourceChange_FieldTerminalPath) Selector() ResourceChangeLogResourceChange_FieldPathSelector { 1179 return fp.selector 1180 } 1181 1182 // String returns path representation in proto convention 1183 func (fp *ResourceChangeLogResourceChange_FieldTerminalPath) String() string { 1184 return fp.selector.String() 1185 } 1186 1187 // JSONString returns path representation is JSON convention 1188 func (fp *ResourceChangeLogResourceChange_FieldTerminalPath) JSONString() string { 1189 return strcase.ToLowerCamel(fp.String()) 1190 } 1191 1192 // Get returns all values pointed by specific field from source ResourceChangeLog_ResourceChange 1193 func (fp *ResourceChangeLogResourceChange_FieldTerminalPath) Get(source *ResourceChangeLog_ResourceChange) (values []interface{}) { 1194 if source != nil { 1195 switch fp.selector { 1196 case ResourceChangeLogResourceChange_FieldPathSelectorName: 1197 values = append(values, source.Name) 1198 case ResourceChangeLogResourceChange_FieldPathSelectorType: 1199 values = append(values, source.Type) 1200 case ResourceChangeLogResourceChange_FieldPathSelectorAction: 1201 values = append(values, source.Action) 1202 case ResourceChangeLogResourceChange_FieldPathSelectorUpdatedFields: 1203 if source.UpdatedFields != nil { 1204 values = append(values, source.UpdatedFields) 1205 } 1206 case ResourceChangeLogResourceChange_FieldPathSelectorPrevious: 1207 if source.Previous != nil { 1208 values = append(values, source.Previous) 1209 } 1210 case ResourceChangeLogResourceChange_FieldPathSelectorCurrent: 1211 if source.Current != nil { 1212 values = append(values, source.Current) 1213 } 1214 case ResourceChangeLogResourceChange_FieldPathSelectorLabels: 1215 values = append(values, source.Labels) 1216 case ResourceChangeLogResourceChange_FieldPathSelectorPre: 1217 if source.Pre != nil { 1218 values = append(values, source.Pre) 1219 } 1220 case ResourceChangeLogResourceChange_FieldPathSelectorPost: 1221 if source.Post != nil { 1222 values = append(values, source.Post) 1223 } 1224 default: 1225 panic(fmt.Sprintf("Invalid selector for ResourceChangeLog_ResourceChange: %d", fp.selector)) 1226 } 1227 } 1228 return 1229 } 1230 1231 func (fp *ResourceChangeLogResourceChange_FieldTerminalPath) GetRaw(source proto.Message) []interface{} { 1232 return fp.Get(source.(*ResourceChangeLog_ResourceChange)) 1233 } 1234 1235 // GetSingle returns value pointed by specific field of from source ResourceChangeLog_ResourceChange 1236 func (fp *ResourceChangeLogResourceChange_FieldTerminalPath) GetSingle(source *ResourceChangeLog_ResourceChange) (interface{}, bool) { 1237 switch fp.selector { 1238 case ResourceChangeLogResourceChange_FieldPathSelectorName: 1239 return source.GetName(), source != nil 1240 case ResourceChangeLogResourceChange_FieldPathSelectorType: 1241 return source.GetType(), source != nil 1242 case ResourceChangeLogResourceChange_FieldPathSelectorAction: 1243 return source.GetAction(), source != nil 1244 case ResourceChangeLogResourceChange_FieldPathSelectorUpdatedFields: 1245 res := source.GetUpdatedFields() 1246 return res, res != nil 1247 case ResourceChangeLogResourceChange_FieldPathSelectorPrevious: 1248 res := source.GetPrevious() 1249 return res, res != nil 1250 case ResourceChangeLogResourceChange_FieldPathSelectorCurrent: 1251 res := source.GetCurrent() 1252 return res, res != nil 1253 case ResourceChangeLogResourceChange_FieldPathSelectorLabels: 1254 res := source.GetLabels() 1255 return res, res != nil 1256 case ResourceChangeLogResourceChange_FieldPathSelectorPre: 1257 res := source.GetPre() 1258 return res, res != nil 1259 case ResourceChangeLogResourceChange_FieldPathSelectorPost: 1260 res := source.GetPost() 1261 return res, res != nil 1262 default: 1263 panic(fmt.Sprintf("Invalid selector for ResourceChangeLog_ResourceChange: %d", fp.selector)) 1264 } 1265 } 1266 1267 func (fp *ResourceChangeLogResourceChange_FieldTerminalPath) GetSingleRaw(source proto.Message) (interface{}, bool) { 1268 return fp.GetSingle(source.(*ResourceChangeLog_ResourceChange)) 1269 } 1270 1271 // GetDefault returns a default value of the field type 1272 func (fp *ResourceChangeLogResourceChange_FieldTerminalPath) GetDefault() interface{} { 1273 switch fp.selector { 1274 case ResourceChangeLogResourceChange_FieldPathSelectorName: 1275 return "" 1276 case ResourceChangeLogResourceChange_FieldPathSelectorType: 1277 return "" 1278 case ResourceChangeLogResourceChange_FieldPathSelectorAction: 1279 return ResourceChangeLog_ResourceChange_UNDEFINED 1280 case ResourceChangeLogResourceChange_FieldPathSelectorUpdatedFields: 1281 return (*fieldmaskpb.FieldMask)(nil) 1282 case ResourceChangeLogResourceChange_FieldPathSelectorPrevious: 1283 return (*anypb.Any)(nil) 1284 case ResourceChangeLogResourceChange_FieldPathSelectorCurrent: 1285 return (*anypb.Any)(nil) 1286 case ResourceChangeLogResourceChange_FieldPathSelectorLabels: 1287 return (map[string]string)(nil) 1288 case ResourceChangeLogResourceChange_FieldPathSelectorPre: 1289 return (*common.ObjectState)(nil) 1290 case ResourceChangeLogResourceChange_FieldPathSelectorPost: 1291 return (*common.ObjectState)(nil) 1292 default: 1293 panic(fmt.Sprintf("Invalid selector for ResourceChangeLog_ResourceChange: %d", fp.selector)) 1294 } 1295 } 1296 1297 func (fp *ResourceChangeLogResourceChange_FieldTerminalPath) ClearValue(item *ResourceChangeLog_ResourceChange) { 1298 if item != nil { 1299 switch fp.selector { 1300 case ResourceChangeLogResourceChange_FieldPathSelectorName: 1301 item.Name = "" 1302 case ResourceChangeLogResourceChange_FieldPathSelectorType: 1303 item.Type = "" 1304 case ResourceChangeLogResourceChange_FieldPathSelectorAction: 1305 item.Action = ResourceChangeLog_ResourceChange_UNDEFINED 1306 case ResourceChangeLogResourceChange_FieldPathSelectorUpdatedFields: 1307 item.UpdatedFields = nil 1308 case ResourceChangeLogResourceChange_FieldPathSelectorPrevious: 1309 item.Previous = nil 1310 case ResourceChangeLogResourceChange_FieldPathSelectorCurrent: 1311 item.Current = nil 1312 case ResourceChangeLogResourceChange_FieldPathSelectorLabels: 1313 item.Labels = nil 1314 case ResourceChangeLogResourceChange_FieldPathSelectorPre: 1315 item.Pre = nil 1316 case ResourceChangeLogResourceChange_FieldPathSelectorPost: 1317 item.Post = nil 1318 default: 1319 panic(fmt.Sprintf("Invalid selector for ResourceChangeLog_ResourceChange: %d", fp.selector)) 1320 } 1321 } 1322 } 1323 1324 func (fp *ResourceChangeLogResourceChange_FieldTerminalPath) ClearValueRaw(item proto.Message) { 1325 fp.ClearValue(item.(*ResourceChangeLog_ResourceChange)) 1326 } 1327 1328 // IsLeaf - whether field path is holds simple value 1329 func (fp *ResourceChangeLogResourceChange_FieldTerminalPath) IsLeaf() bool { 1330 return fp.selector == ResourceChangeLogResourceChange_FieldPathSelectorName || 1331 fp.selector == ResourceChangeLogResourceChange_FieldPathSelectorType || 1332 fp.selector == ResourceChangeLogResourceChange_FieldPathSelectorAction || 1333 fp.selector == ResourceChangeLogResourceChange_FieldPathSelectorUpdatedFields || 1334 fp.selector == ResourceChangeLogResourceChange_FieldPathSelectorPrevious || 1335 fp.selector == ResourceChangeLogResourceChange_FieldPathSelectorCurrent || 1336 fp.selector == ResourceChangeLogResourceChange_FieldPathSelectorLabels 1337 } 1338 1339 func (fp *ResourceChangeLogResourceChange_FieldTerminalPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath { 1340 return []gotenobject.FieldPath{fp} 1341 } 1342 1343 func (fp *ResourceChangeLogResourceChange_FieldTerminalPath) WithIValue(value interface{}) ResourceChangeLogResourceChange_FieldPathValue { 1344 switch fp.selector { 1345 case ResourceChangeLogResourceChange_FieldPathSelectorName: 1346 return &ResourceChangeLogResourceChange_FieldTerminalPathValue{ResourceChangeLogResourceChange_FieldTerminalPath: *fp, value: value.(string)} 1347 case ResourceChangeLogResourceChange_FieldPathSelectorType: 1348 return &ResourceChangeLogResourceChange_FieldTerminalPathValue{ResourceChangeLogResourceChange_FieldTerminalPath: *fp, value: value.(string)} 1349 case ResourceChangeLogResourceChange_FieldPathSelectorAction: 1350 return &ResourceChangeLogResourceChange_FieldTerminalPathValue{ResourceChangeLogResourceChange_FieldTerminalPath: *fp, value: value.(ResourceChangeLog_ResourceChange_Action)} 1351 case ResourceChangeLogResourceChange_FieldPathSelectorUpdatedFields: 1352 return &ResourceChangeLogResourceChange_FieldTerminalPathValue{ResourceChangeLogResourceChange_FieldTerminalPath: *fp, value: value.(*fieldmaskpb.FieldMask)} 1353 case ResourceChangeLogResourceChange_FieldPathSelectorPrevious: 1354 return &ResourceChangeLogResourceChange_FieldTerminalPathValue{ResourceChangeLogResourceChange_FieldTerminalPath: *fp, value: value.(*anypb.Any)} 1355 case ResourceChangeLogResourceChange_FieldPathSelectorCurrent: 1356 return &ResourceChangeLogResourceChange_FieldTerminalPathValue{ResourceChangeLogResourceChange_FieldTerminalPath: *fp, value: value.(*anypb.Any)} 1357 case ResourceChangeLogResourceChange_FieldPathSelectorLabels: 1358 return &ResourceChangeLogResourceChange_FieldTerminalPathValue{ResourceChangeLogResourceChange_FieldTerminalPath: *fp, value: value.(map[string]string)} 1359 case ResourceChangeLogResourceChange_FieldPathSelectorPre: 1360 return &ResourceChangeLogResourceChange_FieldTerminalPathValue{ResourceChangeLogResourceChange_FieldTerminalPath: *fp, value: value.(*common.ObjectState)} 1361 case ResourceChangeLogResourceChange_FieldPathSelectorPost: 1362 return &ResourceChangeLogResourceChange_FieldTerminalPathValue{ResourceChangeLogResourceChange_FieldTerminalPath: *fp, value: value.(*common.ObjectState)} 1363 default: 1364 panic(fmt.Sprintf("Invalid selector for ResourceChangeLog_ResourceChange: %d", fp.selector)) 1365 } 1366 } 1367 1368 func (fp *ResourceChangeLogResourceChange_FieldTerminalPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue { 1369 return fp.WithIValue(value) 1370 } 1371 1372 func (fp *ResourceChangeLogResourceChange_FieldTerminalPath) WithIArrayOfValues(values interface{}) ResourceChangeLogResourceChange_FieldPathArrayOfValues { 1373 fpaov := &ResourceChangeLogResourceChange_FieldTerminalPathArrayOfValues{ResourceChangeLogResourceChange_FieldTerminalPath: *fp} 1374 switch fp.selector { 1375 case ResourceChangeLogResourceChange_FieldPathSelectorName: 1376 return &ResourceChangeLogResourceChange_FieldTerminalPathArrayOfValues{ResourceChangeLogResourceChange_FieldTerminalPath: *fp, values: values.([]string)} 1377 case ResourceChangeLogResourceChange_FieldPathSelectorType: 1378 return &ResourceChangeLogResourceChange_FieldTerminalPathArrayOfValues{ResourceChangeLogResourceChange_FieldTerminalPath: *fp, values: values.([]string)} 1379 case ResourceChangeLogResourceChange_FieldPathSelectorAction: 1380 return &ResourceChangeLogResourceChange_FieldTerminalPathArrayOfValues{ResourceChangeLogResourceChange_FieldTerminalPath: *fp, values: values.([]ResourceChangeLog_ResourceChange_Action)} 1381 case ResourceChangeLogResourceChange_FieldPathSelectorUpdatedFields: 1382 return &ResourceChangeLogResourceChange_FieldTerminalPathArrayOfValues{ResourceChangeLogResourceChange_FieldTerminalPath: *fp, values: values.([]*fieldmaskpb.FieldMask)} 1383 case ResourceChangeLogResourceChange_FieldPathSelectorPrevious: 1384 return &ResourceChangeLogResourceChange_FieldTerminalPathArrayOfValues{ResourceChangeLogResourceChange_FieldTerminalPath: *fp, values: values.([]*anypb.Any)} 1385 case ResourceChangeLogResourceChange_FieldPathSelectorCurrent: 1386 return &ResourceChangeLogResourceChange_FieldTerminalPathArrayOfValues{ResourceChangeLogResourceChange_FieldTerminalPath: *fp, values: values.([]*anypb.Any)} 1387 case ResourceChangeLogResourceChange_FieldPathSelectorLabels: 1388 return &ResourceChangeLogResourceChange_FieldTerminalPathArrayOfValues{ResourceChangeLogResourceChange_FieldTerminalPath: *fp, values: values.([]map[string]string)} 1389 case ResourceChangeLogResourceChange_FieldPathSelectorPre: 1390 return &ResourceChangeLogResourceChange_FieldTerminalPathArrayOfValues{ResourceChangeLogResourceChange_FieldTerminalPath: *fp, values: values.([]*common.ObjectState)} 1391 case ResourceChangeLogResourceChange_FieldPathSelectorPost: 1392 return &ResourceChangeLogResourceChange_FieldTerminalPathArrayOfValues{ResourceChangeLogResourceChange_FieldTerminalPath: *fp, values: values.([]*common.ObjectState)} 1393 default: 1394 panic(fmt.Sprintf("Invalid selector for ResourceChangeLog_ResourceChange: %d", fp.selector)) 1395 } 1396 return fpaov 1397 } 1398 1399 func (fp *ResourceChangeLogResourceChange_FieldTerminalPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues { 1400 return fp.WithIArrayOfValues(values) 1401 } 1402 1403 func (fp *ResourceChangeLogResourceChange_FieldTerminalPath) WithIArrayItemValue(value interface{}) ResourceChangeLogResourceChange_FieldPathArrayItemValue { 1404 switch fp.selector { 1405 default: 1406 panic(fmt.Sprintf("Invalid selector for ResourceChangeLog_ResourceChange: %d", fp.selector)) 1407 } 1408 } 1409 1410 func (fp *ResourceChangeLogResourceChange_FieldTerminalPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue { 1411 return fp.WithIArrayItemValue(value) 1412 } 1413 1414 // FieldPath for map type with additional Key information 1415 type ResourceChangeLogResourceChange_FieldPathMap struct { 1416 key string 1417 selector ResourceChangeLogResourceChange_FieldPathSelector 1418 } 1419 1420 var _ ResourceChangeLogResourceChange_FieldPath = (*ResourceChangeLogResourceChange_FieldPathMap)(nil) 1421 1422 func (fpm *ResourceChangeLogResourceChange_FieldPathMap) Selector() ResourceChangeLogResourceChange_FieldPathSelector { 1423 return fpm.selector 1424 } 1425 1426 func (fpm *ResourceChangeLogResourceChange_FieldPathMap) Key() string { 1427 return fpm.key 1428 } 1429 1430 // String returns path representation in proto convention 1431 func (fpm *ResourceChangeLogResourceChange_FieldPathMap) String() string { 1432 return fpm.selector.String() + "." + fpm.key 1433 } 1434 1435 // JSONString returns path representation is JSON convention. Note that map keys are not transformed 1436 func (fpm *ResourceChangeLogResourceChange_FieldPathMap) JSONString() string { 1437 return strcase.ToLowerCamel(fpm.selector.String()) + "." + fpm.key 1438 } 1439 1440 // Get returns all values pointed by selected field map key from source ResourceChangeLog_ResourceChange 1441 func (fpm *ResourceChangeLogResourceChange_FieldPathMap) Get(source *ResourceChangeLog_ResourceChange) (values []interface{}) { 1442 switch fpm.selector { 1443 case ResourceChangeLogResourceChange_FieldPathSelectorLabels: 1444 if value, ok := source.GetLabels()[fpm.key]; ok { 1445 values = append(values, value) 1446 } 1447 default: 1448 panic(fmt.Sprintf("Invalid selector for ResourceChangeLog_ResourceChange: %d", fpm.selector)) 1449 } 1450 return 1451 } 1452 1453 func (fpm *ResourceChangeLogResourceChange_FieldPathMap) GetRaw(source proto.Message) []interface{} { 1454 return fpm.Get(source.(*ResourceChangeLog_ResourceChange)) 1455 } 1456 1457 // GetSingle returns value by selected field map key from source ResourceChangeLog_ResourceChange 1458 func (fpm *ResourceChangeLogResourceChange_FieldPathMap) GetSingle(source *ResourceChangeLog_ResourceChange) (interface{}, bool) { 1459 switch fpm.selector { 1460 case ResourceChangeLogResourceChange_FieldPathSelectorLabels: 1461 res, ok := source.GetLabels()[fpm.key] 1462 return res, ok 1463 default: 1464 panic(fmt.Sprintf("Invalid selector for ResourceChangeLog_ResourceChange: %d", fpm.selector)) 1465 } 1466 } 1467 1468 func (fpm *ResourceChangeLogResourceChange_FieldPathMap) GetSingleRaw(source proto.Message) (interface{}, bool) { 1469 return fpm.GetSingle(source.(*ResourceChangeLog_ResourceChange)) 1470 } 1471 1472 // GetDefault returns a default value of the field type 1473 func (fpm *ResourceChangeLogResourceChange_FieldPathMap) GetDefault() interface{} { 1474 switch fpm.selector { 1475 case ResourceChangeLogResourceChange_FieldPathSelectorLabels: 1476 var v string 1477 return v 1478 default: 1479 panic(fmt.Sprintf("Invalid selector for ResourceChangeLog_ResourceChange: %d", fpm.selector)) 1480 } 1481 } 1482 1483 func (fpm *ResourceChangeLogResourceChange_FieldPathMap) ClearValue(item *ResourceChangeLog_ResourceChange) { 1484 if item != nil { 1485 switch fpm.selector { 1486 case ResourceChangeLogResourceChange_FieldPathSelectorLabels: 1487 delete(item.Labels, fpm.key) 1488 default: 1489 panic(fmt.Sprintf("Invalid selector for ResourceChangeLog_ResourceChange: %d", fpm.selector)) 1490 } 1491 } 1492 } 1493 1494 func (fpm *ResourceChangeLogResourceChange_FieldPathMap) ClearValueRaw(item proto.Message) { 1495 fpm.ClearValue(item.(*ResourceChangeLog_ResourceChange)) 1496 } 1497 1498 // IsLeaf - whether field path is holds simple value 1499 func (fpm *ResourceChangeLogResourceChange_FieldPathMap) IsLeaf() bool { 1500 switch fpm.selector { 1501 case ResourceChangeLogResourceChange_FieldPathSelectorLabels: 1502 return true 1503 default: 1504 panic(fmt.Sprintf("Invalid selector for ResourceChangeLog_ResourceChange: %d", fpm.selector)) 1505 } 1506 } 1507 1508 func (fpm *ResourceChangeLogResourceChange_FieldPathMap) SplitIntoTerminalIPaths() []gotenobject.FieldPath { 1509 return []gotenobject.FieldPath{fpm} 1510 } 1511 1512 func (fpm *ResourceChangeLogResourceChange_FieldPathMap) WithIValue(value interface{}) ResourceChangeLogResourceChange_FieldPathValue { 1513 switch fpm.selector { 1514 case ResourceChangeLogResourceChange_FieldPathSelectorLabels: 1515 return &ResourceChangeLogResourceChange_FieldPathMapValue{ResourceChangeLogResourceChange_FieldPathMap: *fpm, value: value.(string)} 1516 default: 1517 panic(fmt.Sprintf("Invalid selector for ResourceChangeLog_ResourceChange: %d", fpm.selector)) 1518 } 1519 } 1520 1521 func (fpm *ResourceChangeLogResourceChange_FieldPathMap) WithRawIValue(value interface{}) gotenobject.FieldPathValue { 1522 return fpm.WithIValue(value) 1523 } 1524 1525 func (fpm *ResourceChangeLogResourceChange_FieldPathMap) WithIArrayOfValues(values interface{}) ResourceChangeLogResourceChange_FieldPathArrayOfValues { 1526 switch fpm.selector { 1527 case ResourceChangeLogResourceChange_FieldPathSelectorLabels: 1528 return &ResourceChangeLogResourceChange_FieldPathMapArrayOfValues{ResourceChangeLogResourceChange_FieldPathMap: *fpm, values: values.([]string)} 1529 default: 1530 panic(fmt.Sprintf("Invalid selector for ResourceChangeLog_ResourceChange: %d", fpm.selector)) 1531 } 1532 } 1533 1534 func (fpm *ResourceChangeLogResourceChange_FieldPathMap) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues { 1535 return fpm.WithIArrayOfValues(values) 1536 } 1537 1538 func (fpm *ResourceChangeLogResourceChange_FieldPathMap) WithIArrayItemValue(value interface{}) ResourceChangeLogResourceChange_FieldPathArrayItemValue { 1539 panic("Cannot create array item value from map fieldpath") 1540 } 1541 1542 func (fpm *ResourceChangeLogResourceChange_FieldPathMap) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue { 1543 return fpm.WithIArrayItemValue(value) 1544 } 1545 1546 type ResourceChangeLogResourceChange_FieldSubPath struct { 1547 selector ResourceChangeLogResourceChange_FieldPathSelector 1548 subPath gotenobject.FieldPath 1549 } 1550 1551 var _ ResourceChangeLogResourceChange_FieldPath = (*ResourceChangeLogResourceChange_FieldSubPath)(nil) 1552 1553 func (fps *ResourceChangeLogResourceChange_FieldSubPath) Selector() ResourceChangeLogResourceChange_FieldPathSelector { 1554 return fps.selector 1555 } 1556 func (fps *ResourceChangeLogResourceChange_FieldSubPath) AsPreSubPath() (common.ObjectState_FieldPath, bool) { 1557 res, ok := fps.subPath.(common.ObjectState_FieldPath) 1558 return res, ok 1559 } 1560 func (fps *ResourceChangeLogResourceChange_FieldSubPath) AsPostSubPath() (common.ObjectState_FieldPath, bool) { 1561 res, ok := fps.subPath.(common.ObjectState_FieldPath) 1562 return res, ok 1563 } 1564 1565 // String returns path representation in proto convention 1566 func (fps *ResourceChangeLogResourceChange_FieldSubPath) String() string { 1567 return fps.selector.String() + "." + fps.subPath.String() 1568 } 1569 1570 // JSONString returns path representation is JSON convention 1571 func (fps *ResourceChangeLogResourceChange_FieldSubPath) JSONString() string { 1572 return strcase.ToLowerCamel(fps.selector.String()) + "." + fps.subPath.JSONString() 1573 } 1574 1575 // Get returns all values pointed by selected field from source ResourceChangeLog_ResourceChange 1576 func (fps *ResourceChangeLogResourceChange_FieldSubPath) Get(source *ResourceChangeLog_ResourceChange) (values []interface{}) { 1577 switch fps.selector { 1578 case ResourceChangeLogResourceChange_FieldPathSelectorPre: 1579 values = append(values, fps.subPath.GetRaw(source.GetPre())...) 1580 case ResourceChangeLogResourceChange_FieldPathSelectorPost: 1581 values = append(values, fps.subPath.GetRaw(source.GetPost())...) 1582 default: 1583 panic(fmt.Sprintf("Invalid selector for ResourceChangeLog_ResourceChange: %d", fps.selector)) 1584 } 1585 return 1586 } 1587 1588 func (fps *ResourceChangeLogResourceChange_FieldSubPath) GetRaw(source proto.Message) []interface{} { 1589 return fps.Get(source.(*ResourceChangeLog_ResourceChange)) 1590 } 1591 1592 // GetSingle returns value of selected field from source ResourceChangeLog_ResourceChange 1593 func (fps *ResourceChangeLogResourceChange_FieldSubPath) GetSingle(source *ResourceChangeLog_ResourceChange) (interface{}, bool) { 1594 switch fps.selector { 1595 case ResourceChangeLogResourceChange_FieldPathSelectorPre: 1596 if source.GetPre() == nil { 1597 return nil, false 1598 } 1599 return fps.subPath.GetSingleRaw(source.GetPre()) 1600 case ResourceChangeLogResourceChange_FieldPathSelectorPost: 1601 if source.GetPost() == nil { 1602 return nil, false 1603 } 1604 return fps.subPath.GetSingleRaw(source.GetPost()) 1605 default: 1606 panic(fmt.Sprintf("Invalid selector for ResourceChangeLog_ResourceChange: %d", fps.selector)) 1607 } 1608 } 1609 1610 func (fps *ResourceChangeLogResourceChange_FieldSubPath) GetSingleRaw(source proto.Message) (interface{}, bool) { 1611 return fps.GetSingle(source.(*ResourceChangeLog_ResourceChange)) 1612 } 1613 1614 // GetDefault returns a default value of the field type 1615 func (fps *ResourceChangeLogResourceChange_FieldSubPath) GetDefault() interface{} { 1616 return fps.subPath.GetDefault() 1617 } 1618 1619 func (fps *ResourceChangeLogResourceChange_FieldSubPath) ClearValue(item *ResourceChangeLog_ResourceChange) { 1620 if item != nil { 1621 switch fps.selector { 1622 case ResourceChangeLogResourceChange_FieldPathSelectorPre: 1623 fps.subPath.ClearValueRaw(item.Pre) 1624 case ResourceChangeLogResourceChange_FieldPathSelectorPost: 1625 fps.subPath.ClearValueRaw(item.Post) 1626 default: 1627 panic(fmt.Sprintf("Invalid selector for ResourceChangeLog_ResourceChange: %d", fps.selector)) 1628 } 1629 } 1630 } 1631 1632 func (fps *ResourceChangeLogResourceChange_FieldSubPath) ClearValueRaw(item proto.Message) { 1633 fps.ClearValue(item.(*ResourceChangeLog_ResourceChange)) 1634 } 1635 1636 // IsLeaf - whether field path is holds simple value 1637 func (fps *ResourceChangeLogResourceChange_FieldSubPath) IsLeaf() bool { 1638 return fps.subPath.IsLeaf() 1639 } 1640 1641 func (fps *ResourceChangeLogResourceChange_FieldSubPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath { 1642 iPaths := []gotenobject.FieldPath{&ResourceChangeLogResourceChange_FieldTerminalPath{selector: fps.selector}} 1643 iPaths = append(iPaths, fps.subPath.SplitIntoTerminalIPaths()...) 1644 return iPaths 1645 } 1646 1647 func (fps *ResourceChangeLogResourceChange_FieldSubPath) WithIValue(value interface{}) ResourceChangeLogResourceChange_FieldPathValue { 1648 return &ResourceChangeLogResourceChange_FieldSubPathValue{fps, fps.subPath.WithRawIValue(value)} 1649 } 1650 1651 func (fps *ResourceChangeLogResourceChange_FieldSubPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue { 1652 return fps.WithIValue(value) 1653 } 1654 1655 func (fps *ResourceChangeLogResourceChange_FieldSubPath) WithIArrayOfValues(values interface{}) ResourceChangeLogResourceChange_FieldPathArrayOfValues { 1656 return &ResourceChangeLogResourceChange_FieldSubPathArrayOfValues{fps, fps.subPath.WithRawIArrayOfValues(values)} 1657 } 1658 1659 func (fps *ResourceChangeLogResourceChange_FieldSubPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues { 1660 return fps.WithIArrayOfValues(values) 1661 } 1662 1663 func (fps *ResourceChangeLogResourceChange_FieldSubPath) WithIArrayItemValue(value interface{}) ResourceChangeLogResourceChange_FieldPathArrayItemValue { 1664 return &ResourceChangeLogResourceChange_FieldSubPathArrayItemValue{fps, fps.subPath.WithRawIArrayItemValue(value)} 1665 } 1666 1667 func (fps *ResourceChangeLogResourceChange_FieldSubPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue { 1668 return fps.WithIArrayItemValue(value) 1669 } 1670 1671 // ResourceChangeLogResourceChange_FieldPathValue allows storing values for ResourceChange fields according to their type 1672 type ResourceChangeLogResourceChange_FieldPathValue interface { 1673 ResourceChangeLogResourceChange_FieldPath 1674 gotenobject.FieldPathValue 1675 SetTo(target **ResourceChangeLog_ResourceChange) 1676 CompareWith(*ResourceChangeLog_ResourceChange) (cmp int, comparable bool) 1677 } 1678 1679 func ParseResourceChangeLogResourceChange_FieldPathValue(pathStr, valueStr string) (ResourceChangeLogResourceChange_FieldPathValue, error) { 1680 fp, err := ParseResourceChangeLogResourceChange_FieldPath(pathStr) 1681 if err != nil { 1682 return nil, err 1683 } 1684 fpv, err := gotenobject.ParseFieldPathValue(fp, valueStr) 1685 if err != nil { 1686 return nil, status.Errorf(codes.InvalidArgument, "error parsing ResourceChange field path value from %s: %v", valueStr, err) 1687 } 1688 return fpv.(ResourceChangeLogResourceChange_FieldPathValue), nil 1689 } 1690 1691 func MustParseResourceChangeLogResourceChange_FieldPathValue(pathStr, valueStr string) ResourceChangeLogResourceChange_FieldPathValue { 1692 fpv, err := ParseResourceChangeLogResourceChange_FieldPathValue(pathStr, valueStr) 1693 if err != nil { 1694 panic(err) 1695 } 1696 return fpv 1697 } 1698 1699 type ResourceChangeLogResourceChange_FieldTerminalPathValue struct { 1700 ResourceChangeLogResourceChange_FieldTerminalPath 1701 value interface{} 1702 } 1703 1704 var _ ResourceChangeLogResourceChange_FieldPathValue = (*ResourceChangeLogResourceChange_FieldTerminalPathValue)(nil) 1705 1706 // GetRawValue returns raw value stored under selected path for 'ResourceChange' as interface{} 1707 func (fpv *ResourceChangeLogResourceChange_FieldTerminalPathValue) GetRawValue() interface{} { 1708 return fpv.value 1709 } 1710 func (fpv *ResourceChangeLogResourceChange_FieldTerminalPathValue) AsNameValue() (string, bool) { 1711 res, ok := fpv.value.(string) 1712 return res, ok 1713 } 1714 func (fpv *ResourceChangeLogResourceChange_FieldTerminalPathValue) AsTypeValue() (string, bool) { 1715 res, ok := fpv.value.(string) 1716 return res, ok 1717 } 1718 func (fpv *ResourceChangeLogResourceChange_FieldTerminalPathValue) AsActionValue() (ResourceChangeLog_ResourceChange_Action, bool) { 1719 res, ok := fpv.value.(ResourceChangeLog_ResourceChange_Action) 1720 return res, ok 1721 } 1722 func (fpv *ResourceChangeLogResourceChange_FieldTerminalPathValue) AsUpdatedFieldsValue() (*fieldmaskpb.FieldMask, bool) { 1723 res, ok := fpv.value.(*fieldmaskpb.FieldMask) 1724 return res, ok 1725 } 1726 func (fpv *ResourceChangeLogResourceChange_FieldTerminalPathValue) AsPreviousValue() (*anypb.Any, bool) { 1727 res, ok := fpv.value.(*anypb.Any) 1728 return res, ok 1729 } 1730 func (fpv *ResourceChangeLogResourceChange_FieldTerminalPathValue) AsCurrentValue() (*anypb.Any, bool) { 1731 res, ok := fpv.value.(*anypb.Any) 1732 return res, ok 1733 } 1734 func (fpv *ResourceChangeLogResourceChange_FieldTerminalPathValue) AsLabelsValue() (map[string]string, bool) { 1735 res, ok := fpv.value.(map[string]string) 1736 return res, ok 1737 } 1738 func (fpv *ResourceChangeLogResourceChange_FieldTerminalPathValue) AsPreValue() (*common.ObjectState, bool) { 1739 res, ok := fpv.value.(*common.ObjectState) 1740 return res, ok 1741 } 1742 func (fpv *ResourceChangeLogResourceChange_FieldTerminalPathValue) AsPostValue() (*common.ObjectState, bool) { 1743 res, ok := fpv.value.(*common.ObjectState) 1744 return res, ok 1745 } 1746 1747 // SetTo stores value for selected field for object ResourceChange 1748 func (fpv *ResourceChangeLogResourceChange_FieldTerminalPathValue) SetTo(target **ResourceChangeLog_ResourceChange) { 1749 if *target == nil { 1750 *target = new(ResourceChangeLog_ResourceChange) 1751 } 1752 switch fpv.selector { 1753 case ResourceChangeLogResourceChange_FieldPathSelectorName: 1754 (*target).Name = fpv.value.(string) 1755 case ResourceChangeLogResourceChange_FieldPathSelectorType: 1756 (*target).Type = fpv.value.(string) 1757 case ResourceChangeLogResourceChange_FieldPathSelectorAction: 1758 (*target).Action = fpv.value.(ResourceChangeLog_ResourceChange_Action) 1759 case ResourceChangeLogResourceChange_FieldPathSelectorUpdatedFields: 1760 (*target).UpdatedFields = fpv.value.(*fieldmaskpb.FieldMask) 1761 case ResourceChangeLogResourceChange_FieldPathSelectorPrevious: 1762 (*target).Previous = fpv.value.(*anypb.Any) 1763 case ResourceChangeLogResourceChange_FieldPathSelectorCurrent: 1764 (*target).Current = fpv.value.(*anypb.Any) 1765 case ResourceChangeLogResourceChange_FieldPathSelectorLabels: 1766 (*target).Labels = fpv.value.(map[string]string) 1767 case ResourceChangeLogResourceChange_FieldPathSelectorPre: 1768 (*target).Pre = fpv.value.(*common.ObjectState) 1769 case ResourceChangeLogResourceChange_FieldPathSelectorPost: 1770 (*target).Post = fpv.value.(*common.ObjectState) 1771 default: 1772 panic(fmt.Sprintf("Invalid selector for ResourceChangeLog_ResourceChange: %d", fpv.selector)) 1773 } 1774 } 1775 1776 func (fpv *ResourceChangeLogResourceChange_FieldTerminalPathValue) SetToRaw(target proto.Message) { 1777 typedObject := target.(*ResourceChangeLog_ResourceChange) 1778 fpv.SetTo(&typedObject) 1779 } 1780 1781 // CompareWith compares value in the 'ResourceChangeLogResourceChange_FieldTerminalPathValue' with the value under path in 'ResourceChangeLog_ResourceChange'. 1782 func (fpv *ResourceChangeLogResourceChange_FieldTerminalPathValue) CompareWith(source *ResourceChangeLog_ResourceChange) (int, bool) { 1783 switch fpv.selector { 1784 case ResourceChangeLogResourceChange_FieldPathSelectorName: 1785 leftValue := fpv.value.(string) 1786 rightValue := source.GetName() 1787 if (leftValue) == (rightValue) { 1788 return 0, true 1789 } else if (leftValue) < (rightValue) { 1790 return -1, true 1791 } else { 1792 return 1, true 1793 } 1794 case ResourceChangeLogResourceChange_FieldPathSelectorType: 1795 leftValue := fpv.value.(string) 1796 rightValue := source.GetType() 1797 if (leftValue) == (rightValue) { 1798 return 0, true 1799 } else if (leftValue) < (rightValue) { 1800 return -1, true 1801 } else { 1802 return 1, true 1803 } 1804 case ResourceChangeLogResourceChange_FieldPathSelectorAction: 1805 leftValue := fpv.value.(ResourceChangeLog_ResourceChange_Action) 1806 rightValue := source.GetAction() 1807 if (leftValue) == (rightValue) { 1808 return 0, true 1809 } else if (leftValue) < (rightValue) { 1810 return -1, true 1811 } else { 1812 return 1, true 1813 } 1814 case ResourceChangeLogResourceChange_FieldPathSelectorUpdatedFields: 1815 return 0, false 1816 case ResourceChangeLogResourceChange_FieldPathSelectorPrevious: 1817 return 0, false 1818 case ResourceChangeLogResourceChange_FieldPathSelectorCurrent: 1819 return 0, false 1820 case ResourceChangeLogResourceChange_FieldPathSelectorLabels: 1821 return 0, false 1822 case ResourceChangeLogResourceChange_FieldPathSelectorPre: 1823 return 0, false 1824 case ResourceChangeLogResourceChange_FieldPathSelectorPost: 1825 return 0, false 1826 default: 1827 panic(fmt.Sprintf("Invalid selector for ResourceChangeLog_ResourceChange: %d", fpv.selector)) 1828 } 1829 } 1830 1831 func (fpv *ResourceChangeLogResourceChange_FieldTerminalPathValue) CompareWithRaw(source proto.Message) (int, bool) { 1832 return fpv.CompareWith(source.(*ResourceChangeLog_ResourceChange)) 1833 } 1834 1835 type ResourceChangeLogResourceChange_FieldPathMapValue struct { 1836 ResourceChangeLogResourceChange_FieldPathMap 1837 value interface{} 1838 } 1839 1840 var _ ResourceChangeLogResourceChange_FieldPathValue = (*ResourceChangeLogResourceChange_FieldPathMapValue)(nil) 1841 1842 // GetValue returns value stored under selected field in ResourceChange as interface{} 1843 func (fpmv *ResourceChangeLogResourceChange_FieldPathMapValue) GetRawValue() interface{} { 1844 return fpmv.value 1845 } 1846 func (fpmv *ResourceChangeLogResourceChange_FieldPathMapValue) AsLabelsElementValue() (string, bool) { 1847 res, ok := fpmv.value.(string) 1848 return res, ok 1849 } 1850 1851 // SetTo stores value for selected field in ResourceChange 1852 func (fpmv *ResourceChangeLogResourceChange_FieldPathMapValue) SetTo(target **ResourceChangeLog_ResourceChange) { 1853 if *target == nil { 1854 *target = new(ResourceChangeLog_ResourceChange) 1855 } 1856 switch fpmv.selector { 1857 case ResourceChangeLogResourceChange_FieldPathSelectorLabels: 1858 if (*target).Labels == nil { 1859 (*target).Labels = make(map[string]string) 1860 } 1861 (*target).Labels[fpmv.key] = fpmv.value.(string) 1862 default: 1863 panic(fmt.Sprintf("Invalid selector for ResourceChangeLog_ResourceChange: %d", fpmv.selector)) 1864 } 1865 } 1866 1867 func (fpmv *ResourceChangeLogResourceChange_FieldPathMapValue) SetToRaw(target proto.Message) { 1868 typedObject := target.(*ResourceChangeLog_ResourceChange) 1869 fpmv.SetTo(&typedObject) 1870 } 1871 1872 // CompareWith compares value in the 'ResourceChangeLogResourceChange_FieldPathMapValue' with the value under path in 'ResourceChangeLog_ResourceChange'. 1873 func (fpmv *ResourceChangeLogResourceChange_FieldPathMapValue) CompareWith(source *ResourceChangeLog_ResourceChange) (int, bool) { 1874 switch fpmv.selector { 1875 case ResourceChangeLogResourceChange_FieldPathSelectorLabels: 1876 leftValue := fpmv.value.(string) 1877 rightValue := source.GetLabels()[fpmv.key] 1878 if (leftValue) == (rightValue) { 1879 return 0, true 1880 } else if (leftValue) < (rightValue) { 1881 return -1, true 1882 } else { 1883 return 1, true 1884 } 1885 default: 1886 panic(fmt.Sprintf("Invalid selector for ResourceChangeLog_ResourceChange: %d", fpmv.selector)) 1887 } 1888 } 1889 1890 func (fpmv *ResourceChangeLogResourceChange_FieldPathMapValue) CompareWithRaw(source proto.Message) (int, bool) { 1891 return fpmv.CompareWith(source.(*ResourceChangeLog_ResourceChange)) 1892 } 1893 1894 type ResourceChangeLogResourceChange_FieldSubPathValue struct { 1895 ResourceChangeLogResourceChange_FieldPath 1896 subPathValue gotenobject.FieldPathValue 1897 } 1898 1899 var _ ResourceChangeLogResourceChange_FieldPathValue = (*ResourceChangeLogResourceChange_FieldSubPathValue)(nil) 1900 1901 func (fpvs *ResourceChangeLogResourceChange_FieldSubPathValue) AsPrePathValue() (common.ObjectState_FieldPathValue, bool) { 1902 res, ok := fpvs.subPathValue.(common.ObjectState_FieldPathValue) 1903 return res, ok 1904 } 1905 func (fpvs *ResourceChangeLogResourceChange_FieldSubPathValue) AsPostPathValue() (common.ObjectState_FieldPathValue, bool) { 1906 res, ok := fpvs.subPathValue.(common.ObjectState_FieldPathValue) 1907 return res, ok 1908 } 1909 1910 func (fpvs *ResourceChangeLogResourceChange_FieldSubPathValue) SetTo(target **ResourceChangeLog_ResourceChange) { 1911 if *target == nil { 1912 *target = new(ResourceChangeLog_ResourceChange) 1913 } 1914 switch fpvs.Selector() { 1915 case ResourceChangeLogResourceChange_FieldPathSelectorPre: 1916 fpvs.subPathValue.(common.ObjectState_FieldPathValue).SetTo(&(*target).Pre) 1917 case ResourceChangeLogResourceChange_FieldPathSelectorPost: 1918 fpvs.subPathValue.(common.ObjectState_FieldPathValue).SetTo(&(*target).Post) 1919 default: 1920 panic(fmt.Sprintf("Invalid selector for ResourceChangeLog_ResourceChange: %d", fpvs.Selector())) 1921 } 1922 } 1923 1924 func (fpvs *ResourceChangeLogResourceChange_FieldSubPathValue) SetToRaw(target proto.Message) { 1925 typedObject := target.(*ResourceChangeLog_ResourceChange) 1926 fpvs.SetTo(&typedObject) 1927 } 1928 1929 func (fpvs *ResourceChangeLogResourceChange_FieldSubPathValue) GetRawValue() interface{} { 1930 return fpvs.subPathValue.GetRawValue() 1931 } 1932 1933 func (fpvs *ResourceChangeLogResourceChange_FieldSubPathValue) CompareWith(source *ResourceChangeLog_ResourceChange) (int, bool) { 1934 switch fpvs.Selector() { 1935 case ResourceChangeLogResourceChange_FieldPathSelectorPre: 1936 return fpvs.subPathValue.(common.ObjectState_FieldPathValue).CompareWith(source.GetPre()) 1937 case ResourceChangeLogResourceChange_FieldPathSelectorPost: 1938 return fpvs.subPathValue.(common.ObjectState_FieldPathValue).CompareWith(source.GetPost()) 1939 default: 1940 panic(fmt.Sprintf("Invalid selector for ResourceChangeLog_ResourceChange: %d", fpvs.Selector())) 1941 } 1942 } 1943 1944 func (fpvs *ResourceChangeLogResourceChange_FieldSubPathValue) CompareWithRaw(source proto.Message) (int, bool) { 1945 return fpvs.CompareWith(source.(*ResourceChangeLog_ResourceChange)) 1946 } 1947 1948 // ResourceChangeLogResourceChange_FieldPathArrayItemValue allows storing single item in Path-specific values for ResourceChange according to their type 1949 // Present only for array (repeated) types. 1950 type ResourceChangeLogResourceChange_FieldPathArrayItemValue interface { 1951 gotenobject.FieldPathArrayItemValue 1952 ResourceChangeLogResourceChange_FieldPath 1953 ContainsValue(*ResourceChangeLog_ResourceChange) bool 1954 } 1955 1956 // ParseResourceChangeLogResourceChange_FieldPathArrayItemValue parses string and JSON-encoded value to its Value 1957 func ParseResourceChangeLogResourceChange_FieldPathArrayItemValue(pathStr, valueStr string) (ResourceChangeLogResourceChange_FieldPathArrayItemValue, error) { 1958 fp, err := ParseResourceChangeLogResourceChange_FieldPath(pathStr) 1959 if err != nil { 1960 return nil, err 1961 } 1962 fpaiv, err := gotenobject.ParseFieldPathArrayItemValue(fp, valueStr) 1963 if err != nil { 1964 return nil, status.Errorf(codes.InvalidArgument, "error parsing ResourceChange field path array item value from %s: %v", valueStr, err) 1965 } 1966 return fpaiv.(ResourceChangeLogResourceChange_FieldPathArrayItemValue), nil 1967 } 1968 1969 func MustParseResourceChangeLogResourceChange_FieldPathArrayItemValue(pathStr, valueStr string) ResourceChangeLogResourceChange_FieldPathArrayItemValue { 1970 fpaiv, err := ParseResourceChangeLogResourceChange_FieldPathArrayItemValue(pathStr, valueStr) 1971 if err != nil { 1972 panic(err) 1973 } 1974 return fpaiv 1975 } 1976 1977 type ResourceChangeLogResourceChange_FieldTerminalPathArrayItemValue struct { 1978 ResourceChangeLogResourceChange_FieldTerminalPath 1979 value interface{} 1980 } 1981 1982 var _ ResourceChangeLogResourceChange_FieldPathArrayItemValue = (*ResourceChangeLogResourceChange_FieldTerminalPathArrayItemValue)(nil) 1983 1984 // GetRawValue returns stored element value for array in object ResourceChangeLog_ResourceChange as interface{} 1985 func (fpaiv *ResourceChangeLogResourceChange_FieldTerminalPathArrayItemValue) GetRawItemValue() interface{} { 1986 return fpaiv.value 1987 } 1988 1989 func (fpaiv *ResourceChangeLogResourceChange_FieldTerminalPathArrayItemValue) GetSingle(source *ResourceChangeLog_ResourceChange) (interface{}, bool) { 1990 return nil, false 1991 } 1992 1993 func (fpaiv *ResourceChangeLogResourceChange_FieldTerminalPathArrayItemValue) GetSingleRaw(source proto.Message) (interface{}, bool) { 1994 return fpaiv.GetSingle(source.(*ResourceChangeLog_ResourceChange)) 1995 } 1996 1997 // Contains returns a boolean indicating if value that is being held is present in given 'ResourceChange' 1998 func (fpaiv *ResourceChangeLogResourceChange_FieldTerminalPathArrayItemValue) ContainsValue(source *ResourceChangeLog_ResourceChange) bool { 1999 slice := fpaiv.ResourceChangeLogResourceChange_FieldTerminalPath.Get(source) 2000 for _, v := range slice { 2001 if asProtoMsg, ok := fpaiv.value.(proto.Message); ok { 2002 if proto.Equal(asProtoMsg, v.(proto.Message)) { 2003 return true 2004 } 2005 } else if reflect.DeepEqual(v, fpaiv.value) { 2006 return true 2007 } 2008 } 2009 return false 2010 } 2011 2012 type ResourceChangeLogResourceChange_FieldSubPathArrayItemValue struct { 2013 ResourceChangeLogResourceChange_FieldPath 2014 subPathItemValue gotenobject.FieldPathArrayItemValue 2015 } 2016 2017 // GetRawValue returns stored array item value 2018 func (fpaivs *ResourceChangeLogResourceChange_FieldSubPathArrayItemValue) GetRawItemValue() interface{} { 2019 return fpaivs.subPathItemValue.GetRawItemValue() 2020 } 2021 func (fpaivs *ResourceChangeLogResourceChange_FieldSubPathArrayItemValue) AsPrePathItemValue() (common.ObjectState_FieldPathArrayItemValue, bool) { 2022 res, ok := fpaivs.subPathItemValue.(common.ObjectState_FieldPathArrayItemValue) 2023 return res, ok 2024 } 2025 func (fpaivs *ResourceChangeLogResourceChange_FieldSubPathArrayItemValue) AsPostPathItemValue() (common.ObjectState_FieldPathArrayItemValue, bool) { 2026 res, ok := fpaivs.subPathItemValue.(common.ObjectState_FieldPathArrayItemValue) 2027 return res, ok 2028 } 2029 2030 // Contains returns a boolean indicating if value that is being held is present in given 'ResourceChange' 2031 func (fpaivs *ResourceChangeLogResourceChange_FieldSubPathArrayItemValue) ContainsValue(source *ResourceChangeLog_ResourceChange) bool { 2032 switch fpaivs.Selector() { 2033 case ResourceChangeLogResourceChange_FieldPathSelectorPre: 2034 return fpaivs.subPathItemValue.(common.ObjectState_FieldPathArrayItemValue).ContainsValue(source.GetPre()) 2035 case ResourceChangeLogResourceChange_FieldPathSelectorPost: 2036 return fpaivs.subPathItemValue.(common.ObjectState_FieldPathArrayItemValue).ContainsValue(source.GetPost()) 2037 default: 2038 panic(fmt.Sprintf("Invalid selector for ResourceChangeLog_ResourceChange: %d", fpaivs.Selector())) 2039 } 2040 } 2041 2042 // ResourceChangeLogResourceChange_FieldPathArrayOfValues allows storing slice of values for ResourceChange fields according to their type 2043 type ResourceChangeLogResourceChange_FieldPathArrayOfValues interface { 2044 gotenobject.FieldPathArrayOfValues 2045 ResourceChangeLogResourceChange_FieldPath 2046 } 2047 2048 func ParseResourceChangeLogResourceChange_FieldPathArrayOfValues(pathStr, valuesStr string) (ResourceChangeLogResourceChange_FieldPathArrayOfValues, error) { 2049 fp, err := ParseResourceChangeLogResourceChange_FieldPath(pathStr) 2050 if err != nil { 2051 return nil, err 2052 } 2053 fpaov, err := gotenobject.ParseFieldPathArrayOfValues(fp, valuesStr) 2054 if err != nil { 2055 return nil, status.Errorf(codes.InvalidArgument, "error parsing ResourceChange field path array of values from %s: %v", valuesStr, err) 2056 } 2057 return fpaov.(ResourceChangeLogResourceChange_FieldPathArrayOfValues), nil 2058 } 2059 2060 func MustParseResourceChangeLogResourceChange_FieldPathArrayOfValues(pathStr, valuesStr string) ResourceChangeLogResourceChange_FieldPathArrayOfValues { 2061 fpaov, err := ParseResourceChangeLogResourceChange_FieldPathArrayOfValues(pathStr, valuesStr) 2062 if err != nil { 2063 panic(err) 2064 } 2065 return fpaov 2066 } 2067 2068 type ResourceChangeLogResourceChange_FieldTerminalPathArrayOfValues struct { 2069 ResourceChangeLogResourceChange_FieldTerminalPath 2070 values interface{} 2071 } 2072 2073 var _ ResourceChangeLogResourceChange_FieldPathArrayOfValues = (*ResourceChangeLogResourceChange_FieldTerminalPathArrayOfValues)(nil) 2074 2075 func (fpaov *ResourceChangeLogResourceChange_FieldTerminalPathArrayOfValues) GetRawValues() (values []interface{}) { 2076 switch fpaov.selector { 2077 case ResourceChangeLogResourceChange_FieldPathSelectorName: 2078 for _, v := range fpaov.values.([]string) { 2079 values = append(values, v) 2080 } 2081 case ResourceChangeLogResourceChange_FieldPathSelectorType: 2082 for _, v := range fpaov.values.([]string) { 2083 values = append(values, v) 2084 } 2085 case ResourceChangeLogResourceChange_FieldPathSelectorAction: 2086 for _, v := range fpaov.values.([]ResourceChangeLog_ResourceChange_Action) { 2087 values = append(values, v) 2088 } 2089 case ResourceChangeLogResourceChange_FieldPathSelectorUpdatedFields: 2090 for _, v := range fpaov.values.([]*fieldmaskpb.FieldMask) { 2091 values = append(values, v) 2092 } 2093 case ResourceChangeLogResourceChange_FieldPathSelectorPrevious: 2094 for _, v := range fpaov.values.([]*anypb.Any) { 2095 values = append(values, v) 2096 } 2097 case ResourceChangeLogResourceChange_FieldPathSelectorCurrent: 2098 for _, v := range fpaov.values.([]*anypb.Any) { 2099 values = append(values, v) 2100 } 2101 case ResourceChangeLogResourceChange_FieldPathSelectorLabels: 2102 for _, v := range fpaov.values.([]map[string]string) { 2103 values = append(values, v) 2104 } 2105 case ResourceChangeLogResourceChange_FieldPathSelectorPre: 2106 for _, v := range fpaov.values.([]*common.ObjectState) { 2107 values = append(values, v) 2108 } 2109 case ResourceChangeLogResourceChange_FieldPathSelectorPost: 2110 for _, v := range fpaov.values.([]*common.ObjectState) { 2111 values = append(values, v) 2112 } 2113 } 2114 return 2115 } 2116 func (fpaov *ResourceChangeLogResourceChange_FieldTerminalPathArrayOfValues) AsNameArrayOfValues() ([]string, bool) { 2117 res, ok := fpaov.values.([]string) 2118 return res, ok 2119 } 2120 func (fpaov *ResourceChangeLogResourceChange_FieldTerminalPathArrayOfValues) AsTypeArrayOfValues() ([]string, bool) { 2121 res, ok := fpaov.values.([]string) 2122 return res, ok 2123 } 2124 func (fpaov *ResourceChangeLogResourceChange_FieldTerminalPathArrayOfValues) AsActionArrayOfValues() ([]ResourceChangeLog_ResourceChange_Action, bool) { 2125 res, ok := fpaov.values.([]ResourceChangeLog_ResourceChange_Action) 2126 return res, ok 2127 } 2128 func (fpaov *ResourceChangeLogResourceChange_FieldTerminalPathArrayOfValues) AsUpdatedFieldsArrayOfValues() ([]*fieldmaskpb.FieldMask, bool) { 2129 res, ok := fpaov.values.([]*fieldmaskpb.FieldMask) 2130 return res, ok 2131 } 2132 func (fpaov *ResourceChangeLogResourceChange_FieldTerminalPathArrayOfValues) AsPreviousArrayOfValues() ([]*anypb.Any, bool) { 2133 res, ok := fpaov.values.([]*anypb.Any) 2134 return res, ok 2135 } 2136 func (fpaov *ResourceChangeLogResourceChange_FieldTerminalPathArrayOfValues) AsCurrentArrayOfValues() ([]*anypb.Any, bool) { 2137 res, ok := fpaov.values.([]*anypb.Any) 2138 return res, ok 2139 } 2140 func (fpaov *ResourceChangeLogResourceChange_FieldTerminalPathArrayOfValues) AsLabelsArrayOfValues() ([]map[string]string, bool) { 2141 res, ok := fpaov.values.([]map[string]string) 2142 return res, ok 2143 } 2144 func (fpaov *ResourceChangeLogResourceChange_FieldTerminalPathArrayOfValues) AsPreArrayOfValues() ([]*common.ObjectState, bool) { 2145 res, ok := fpaov.values.([]*common.ObjectState) 2146 return res, ok 2147 } 2148 func (fpaov *ResourceChangeLogResourceChange_FieldTerminalPathArrayOfValues) AsPostArrayOfValues() ([]*common.ObjectState, bool) { 2149 res, ok := fpaov.values.([]*common.ObjectState) 2150 return res, ok 2151 } 2152 2153 type ResourceChangeLogResourceChange_FieldPathMapArrayOfValues struct { 2154 ResourceChangeLogResourceChange_FieldPathMap 2155 values interface{} 2156 } 2157 2158 var _ ResourceChangeLogResourceChange_FieldPathArrayOfValues = (*ResourceChangeLogResourceChange_FieldPathMapArrayOfValues)(nil) 2159 2160 func (fpmaov *ResourceChangeLogResourceChange_FieldPathMapArrayOfValues) GetRawValues() (values []interface{}) { 2161 switch fpmaov.selector { 2162 case ResourceChangeLogResourceChange_FieldPathSelectorLabels: 2163 for _, v := range fpmaov.values.([]string) { 2164 values = append(values, v) 2165 } 2166 } 2167 return 2168 } 2169 func (fpmaov *ResourceChangeLogResourceChange_FieldPathMapArrayOfValues) AsLabelsArrayOfElementValues() ([]string, bool) { 2170 res, ok := fpmaov.values.([]string) 2171 return res, ok 2172 } 2173 2174 type ResourceChangeLogResourceChange_FieldSubPathArrayOfValues struct { 2175 ResourceChangeLogResourceChange_FieldPath 2176 subPathArrayOfValues gotenobject.FieldPathArrayOfValues 2177 } 2178 2179 var _ ResourceChangeLogResourceChange_FieldPathArrayOfValues = (*ResourceChangeLogResourceChange_FieldSubPathArrayOfValues)(nil) 2180 2181 func (fpsaov *ResourceChangeLogResourceChange_FieldSubPathArrayOfValues) GetRawValues() []interface{} { 2182 return fpsaov.subPathArrayOfValues.GetRawValues() 2183 } 2184 func (fpsaov *ResourceChangeLogResourceChange_FieldSubPathArrayOfValues) AsPrePathArrayOfValues() (common.ObjectState_FieldPathArrayOfValues, bool) { 2185 res, ok := fpsaov.subPathArrayOfValues.(common.ObjectState_FieldPathArrayOfValues) 2186 return res, ok 2187 } 2188 func (fpsaov *ResourceChangeLogResourceChange_FieldSubPathArrayOfValues) AsPostPathArrayOfValues() (common.ObjectState_FieldPathArrayOfValues, bool) { 2189 res, ok := fpsaov.subPathArrayOfValues.(common.ObjectState_FieldPathArrayOfValues) 2190 return res, ok 2191 } 2192 2193 // FieldPath provides implementation to handle 2194 // https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto 2195 type ResourceChangeLogTransactionInfo_FieldPath interface { 2196 gotenobject.FieldPath 2197 Selector() ResourceChangeLogTransactionInfo_FieldPathSelector 2198 Get(source *ResourceChangeLog_TransactionInfo) []interface{} 2199 GetSingle(source *ResourceChangeLog_TransactionInfo) (interface{}, bool) 2200 ClearValue(item *ResourceChangeLog_TransactionInfo) 2201 2202 // Those methods build corresponding ResourceChangeLogTransactionInfo_FieldPathValue 2203 // (or array of values) and holds passed value. Panics if injected type is incorrect. 2204 WithIValue(value interface{}) ResourceChangeLogTransactionInfo_FieldPathValue 2205 WithIArrayOfValues(values interface{}) ResourceChangeLogTransactionInfo_FieldPathArrayOfValues 2206 WithIArrayItemValue(value interface{}) ResourceChangeLogTransactionInfo_FieldPathArrayItemValue 2207 } 2208 2209 type ResourceChangeLogTransactionInfo_FieldPathSelector int32 2210 2211 const ( 2212 ResourceChangeLogTransactionInfo_FieldPathSelectorIdentifier ResourceChangeLogTransactionInfo_FieldPathSelector = 0 2213 ResourceChangeLogTransactionInfo_FieldPathSelectorTryCounter ResourceChangeLogTransactionInfo_FieldPathSelector = 1 2214 ResourceChangeLogTransactionInfo_FieldPathSelectorState ResourceChangeLogTransactionInfo_FieldPathSelector = 2 2215 ) 2216 2217 func (s ResourceChangeLogTransactionInfo_FieldPathSelector) String() string { 2218 switch s { 2219 case ResourceChangeLogTransactionInfo_FieldPathSelectorIdentifier: 2220 return "identifier" 2221 case ResourceChangeLogTransactionInfo_FieldPathSelectorTryCounter: 2222 return "try_counter" 2223 case ResourceChangeLogTransactionInfo_FieldPathSelectorState: 2224 return "state" 2225 default: 2226 panic(fmt.Sprintf("Invalid selector for ResourceChangeLog_TransactionInfo: %d", s)) 2227 } 2228 } 2229 2230 func BuildResourceChangeLogTransactionInfo_FieldPath(fp gotenobject.RawFieldPath) (ResourceChangeLogTransactionInfo_FieldPath, error) { 2231 if len(fp) == 0 { 2232 return nil, status.Error(codes.InvalidArgument, "empty field path for object ResourceChangeLog_TransactionInfo") 2233 } 2234 if len(fp) == 1 { 2235 switch fp[0] { 2236 case "identifier": 2237 return &ResourceChangeLogTransactionInfo_FieldTerminalPath{selector: ResourceChangeLogTransactionInfo_FieldPathSelectorIdentifier}, nil 2238 case "try_counter", "tryCounter", "try-counter": 2239 return &ResourceChangeLogTransactionInfo_FieldTerminalPath{selector: ResourceChangeLogTransactionInfo_FieldPathSelectorTryCounter}, nil 2240 case "state": 2241 return &ResourceChangeLogTransactionInfo_FieldTerminalPath{selector: ResourceChangeLogTransactionInfo_FieldPathSelectorState}, nil 2242 } 2243 } 2244 return nil, status.Errorf(codes.InvalidArgument, "unknown field path '%s' for object ResourceChangeLog_TransactionInfo", fp) 2245 } 2246 2247 func ParseResourceChangeLogTransactionInfo_FieldPath(rawField string) (ResourceChangeLogTransactionInfo_FieldPath, error) { 2248 fp, err := gotenobject.ParseRawFieldPath(rawField) 2249 if err != nil { 2250 return nil, err 2251 } 2252 return BuildResourceChangeLogTransactionInfo_FieldPath(fp) 2253 } 2254 2255 func MustParseResourceChangeLogTransactionInfo_FieldPath(rawField string) ResourceChangeLogTransactionInfo_FieldPath { 2256 fp, err := ParseResourceChangeLogTransactionInfo_FieldPath(rawField) 2257 if err != nil { 2258 panic(err) 2259 } 2260 return fp 2261 } 2262 2263 type ResourceChangeLogTransactionInfo_FieldTerminalPath struct { 2264 selector ResourceChangeLogTransactionInfo_FieldPathSelector 2265 } 2266 2267 var _ ResourceChangeLogTransactionInfo_FieldPath = (*ResourceChangeLogTransactionInfo_FieldTerminalPath)(nil) 2268 2269 func (fp *ResourceChangeLogTransactionInfo_FieldTerminalPath) Selector() ResourceChangeLogTransactionInfo_FieldPathSelector { 2270 return fp.selector 2271 } 2272 2273 // String returns path representation in proto convention 2274 func (fp *ResourceChangeLogTransactionInfo_FieldTerminalPath) String() string { 2275 return fp.selector.String() 2276 } 2277 2278 // JSONString returns path representation is JSON convention 2279 func (fp *ResourceChangeLogTransactionInfo_FieldTerminalPath) JSONString() string { 2280 return strcase.ToLowerCamel(fp.String()) 2281 } 2282 2283 // Get returns all values pointed by specific field from source ResourceChangeLog_TransactionInfo 2284 func (fp *ResourceChangeLogTransactionInfo_FieldTerminalPath) Get(source *ResourceChangeLog_TransactionInfo) (values []interface{}) { 2285 if source != nil { 2286 switch fp.selector { 2287 case ResourceChangeLogTransactionInfo_FieldPathSelectorIdentifier: 2288 values = append(values, source.Identifier) 2289 case ResourceChangeLogTransactionInfo_FieldPathSelectorTryCounter: 2290 values = append(values, source.TryCounter) 2291 case ResourceChangeLogTransactionInfo_FieldPathSelectorState: 2292 values = append(values, source.State) 2293 default: 2294 panic(fmt.Sprintf("Invalid selector for ResourceChangeLog_TransactionInfo: %d", fp.selector)) 2295 } 2296 } 2297 return 2298 } 2299 2300 func (fp *ResourceChangeLogTransactionInfo_FieldTerminalPath) GetRaw(source proto.Message) []interface{} { 2301 return fp.Get(source.(*ResourceChangeLog_TransactionInfo)) 2302 } 2303 2304 // GetSingle returns value pointed by specific field of from source ResourceChangeLog_TransactionInfo 2305 func (fp *ResourceChangeLogTransactionInfo_FieldTerminalPath) GetSingle(source *ResourceChangeLog_TransactionInfo) (interface{}, bool) { 2306 switch fp.selector { 2307 case ResourceChangeLogTransactionInfo_FieldPathSelectorIdentifier: 2308 return source.GetIdentifier(), source != nil 2309 case ResourceChangeLogTransactionInfo_FieldPathSelectorTryCounter: 2310 return source.GetTryCounter(), source != nil 2311 case ResourceChangeLogTransactionInfo_FieldPathSelectorState: 2312 return source.GetState(), source != nil 2313 default: 2314 panic(fmt.Sprintf("Invalid selector for ResourceChangeLog_TransactionInfo: %d", fp.selector)) 2315 } 2316 } 2317 2318 func (fp *ResourceChangeLogTransactionInfo_FieldTerminalPath) GetSingleRaw(source proto.Message) (interface{}, bool) { 2319 return fp.GetSingle(source.(*ResourceChangeLog_TransactionInfo)) 2320 } 2321 2322 // GetDefault returns a default value of the field type 2323 func (fp *ResourceChangeLogTransactionInfo_FieldTerminalPath) GetDefault() interface{} { 2324 switch fp.selector { 2325 case ResourceChangeLogTransactionInfo_FieldPathSelectorIdentifier: 2326 return "" 2327 case ResourceChangeLogTransactionInfo_FieldPathSelectorTryCounter: 2328 return int32(0) 2329 case ResourceChangeLogTransactionInfo_FieldPathSelectorState: 2330 return ResourceChangeLog_TransactionInfo_UNDEFINED 2331 default: 2332 panic(fmt.Sprintf("Invalid selector for ResourceChangeLog_TransactionInfo: %d", fp.selector)) 2333 } 2334 } 2335 2336 func (fp *ResourceChangeLogTransactionInfo_FieldTerminalPath) ClearValue(item *ResourceChangeLog_TransactionInfo) { 2337 if item != nil { 2338 switch fp.selector { 2339 case ResourceChangeLogTransactionInfo_FieldPathSelectorIdentifier: 2340 item.Identifier = "" 2341 case ResourceChangeLogTransactionInfo_FieldPathSelectorTryCounter: 2342 item.TryCounter = int32(0) 2343 case ResourceChangeLogTransactionInfo_FieldPathSelectorState: 2344 item.State = ResourceChangeLog_TransactionInfo_UNDEFINED 2345 default: 2346 panic(fmt.Sprintf("Invalid selector for ResourceChangeLog_TransactionInfo: %d", fp.selector)) 2347 } 2348 } 2349 } 2350 2351 func (fp *ResourceChangeLogTransactionInfo_FieldTerminalPath) ClearValueRaw(item proto.Message) { 2352 fp.ClearValue(item.(*ResourceChangeLog_TransactionInfo)) 2353 } 2354 2355 // IsLeaf - whether field path is holds simple value 2356 func (fp *ResourceChangeLogTransactionInfo_FieldTerminalPath) IsLeaf() bool { 2357 return fp.selector == ResourceChangeLogTransactionInfo_FieldPathSelectorIdentifier || 2358 fp.selector == ResourceChangeLogTransactionInfo_FieldPathSelectorTryCounter || 2359 fp.selector == ResourceChangeLogTransactionInfo_FieldPathSelectorState 2360 } 2361 2362 func (fp *ResourceChangeLogTransactionInfo_FieldTerminalPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath { 2363 return []gotenobject.FieldPath{fp} 2364 } 2365 2366 func (fp *ResourceChangeLogTransactionInfo_FieldTerminalPath) WithIValue(value interface{}) ResourceChangeLogTransactionInfo_FieldPathValue { 2367 switch fp.selector { 2368 case ResourceChangeLogTransactionInfo_FieldPathSelectorIdentifier: 2369 return &ResourceChangeLogTransactionInfo_FieldTerminalPathValue{ResourceChangeLogTransactionInfo_FieldTerminalPath: *fp, value: value.(string)} 2370 case ResourceChangeLogTransactionInfo_FieldPathSelectorTryCounter: 2371 return &ResourceChangeLogTransactionInfo_FieldTerminalPathValue{ResourceChangeLogTransactionInfo_FieldTerminalPath: *fp, value: value.(int32)} 2372 case ResourceChangeLogTransactionInfo_FieldPathSelectorState: 2373 return &ResourceChangeLogTransactionInfo_FieldTerminalPathValue{ResourceChangeLogTransactionInfo_FieldTerminalPath: *fp, value: value.(ResourceChangeLog_TransactionInfo_State)} 2374 default: 2375 panic(fmt.Sprintf("Invalid selector for ResourceChangeLog_TransactionInfo: %d", fp.selector)) 2376 } 2377 } 2378 2379 func (fp *ResourceChangeLogTransactionInfo_FieldTerminalPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue { 2380 return fp.WithIValue(value) 2381 } 2382 2383 func (fp *ResourceChangeLogTransactionInfo_FieldTerminalPath) WithIArrayOfValues(values interface{}) ResourceChangeLogTransactionInfo_FieldPathArrayOfValues { 2384 fpaov := &ResourceChangeLogTransactionInfo_FieldTerminalPathArrayOfValues{ResourceChangeLogTransactionInfo_FieldTerminalPath: *fp} 2385 switch fp.selector { 2386 case ResourceChangeLogTransactionInfo_FieldPathSelectorIdentifier: 2387 return &ResourceChangeLogTransactionInfo_FieldTerminalPathArrayOfValues{ResourceChangeLogTransactionInfo_FieldTerminalPath: *fp, values: values.([]string)} 2388 case ResourceChangeLogTransactionInfo_FieldPathSelectorTryCounter: 2389 return &ResourceChangeLogTransactionInfo_FieldTerminalPathArrayOfValues{ResourceChangeLogTransactionInfo_FieldTerminalPath: *fp, values: values.([]int32)} 2390 case ResourceChangeLogTransactionInfo_FieldPathSelectorState: 2391 return &ResourceChangeLogTransactionInfo_FieldTerminalPathArrayOfValues{ResourceChangeLogTransactionInfo_FieldTerminalPath: *fp, values: values.([]ResourceChangeLog_TransactionInfo_State)} 2392 default: 2393 panic(fmt.Sprintf("Invalid selector for ResourceChangeLog_TransactionInfo: %d", fp.selector)) 2394 } 2395 return fpaov 2396 } 2397 2398 func (fp *ResourceChangeLogTransactionInfo_FieldTerminalPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues { 2399 return fp.WithIArrayOfValues(values) 2400 } 2401 2402 func (fp *ResourceChangeLogTransactionInfo_FieldTerminalPath) WithIArrayItemValue(value interface{}) ResourceChangeLogTransactionInfo_FieldPathArrayItemValue { 2403 switch fp.selector { 2404 default: 2405 panic(fmt.Sprintf("Invalid selector for ResourceChangeLog_TransactionInfo: %d", fp.selector)) 2406 } 2407 } 2408 2409 func (fp *ResourceChangeLogTransactionInfo_FieldTerminalPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue { 2410 return fp.WithIArrayItemValue(value) 2411 } 2412 2413 // ResourceChangeLogTransactionInfo_FieldPathValue allows storing values for TransactionInfo fields according to their type 2414 type ResourceChangeLogTransactionInfo_FieldPathValue interface { 2415 ResourceChangeLogTransactionInfo_FieldPath 2416 gotenobject.FieldPathValue 2417 SetTo(target **ResourceChangeLog_TransactionInfo) 2418 CompareWith(*ResourceChangeLog_TransactionInfo) (cmp int, comparable bool) 2419 } 2420 2421 func ParseResourceChangeLogTransactionInfo_FieldPathValue(pathStr, valueStr string) (ResourceChangeLogTransactionInfo_FieldPathValue, error) { 2422 fp, err := ParseResourceChangeLogTransactionInfo_FieldPath(pathStr) 2423 if err != nil { 2424 return nil, err 2425 } 2426 fpv, err := gotenobject.ParseFieldPathValue(fp, valueStr) 2427 if err != nil { 2428 return nil, status.Errorf(codes.InvalidArgument, "error parsing TransactionInfo field path value from %s: %v", valueStr, err) 2429 } 2430 return fpv.(ResourceChangeLogTransactionInfo_FieldPathValue), nil 2431 } 2432 2433 func MustParseResourceChangeLogTransactionInfo_FieldPathValue(pathStr, valueStr string) ResourceChangeLogTransactionInfo_FieldPathValue { 2434 fpv, err := ParseResourceChangeLogTransactionInfo_FieldPathValue(pathStr, valueStr) 2435 if err != nil { 2436 panic(err) 2437 } 2438 return fpv 2439 } 2440 2441 type ResourceChangeLogTransactionInfo_FieldTerminalPathValue struct { 2442 ResourceChangeLogTransactionInfo_FieldTerminalPath 2443 value interface{} 2444 } 2445 2446 var _ ResourceChangeLogTransactionInfo_FieldPathValue = (*ResourceChangeLogTransactionInfo_FieldTerminalPathValue)(nil) 2447 2448 // GetRawValue returns raw value stored under selected path for 'TransactionInfo' as interface{} 2449 func (fpv *ResourceChangeLogTransactionInfo_FieldTerminalPathValue) GetRawValue() interface{} { 2450 return fpv.value 2451 } 2452 func (fpv *ResourceChangeLogTransactionInfo_FieldTerminalPathValue) AsIdentifierValue() (string, bool) { 2453 res, ok := fpv.value.(string) 2454 return res, ok 2455 } 2456 func (fpv *ResourceChangeLogTransactionInfo_FieldTerminalPathValue) AsTryCounterValue() (int32, bool) { 2457 res, ok := fpv.value.(int32) 2458 return res, ok 2459 } 2460 func (fpv *ResourceChangeLogTransactionInfo_FieldTerminalPathValue) AsStateValue() (ResourceChangeLog_TransactionInfo_State, bool) { 2461 res, ok := fpv.value.(ResourceChangeLog_TransactionInfo_State) 2462 return res, ok 2463 } 2464 2465 // SetTo stores value for selected field for object TransactionInfo 2466 func (fpv *ResourceChangeLogTransactionInfo_FieldTerminalPathValue) SetTo(target **ResourceChangeLog_TransactionInfo) { 2467 if *target == nil { 2468 *target = new(ResourceChangeLog_TransactionInfo) 2469 } 2470 switch fpv.selector { 2471 case ResourceChangeLogTransactionInfo_FieldPathSelectorIdentifier: 2472 (*target).Identifier = fpv.value.(string) 2473 case ResourceChangeLogTransactionInfo_FieldPathSelectorTryCounter: 2474 (*target).TryCounter = fpv.value.(int32) 2475 case ResourceChangeLogTransactionInfo_FieldPathSelectorState: 2476 (*target).State = fpv.value.(ResourceChangeLog_TransactionInfo_State) 2477 default: 2478 panic(fmt.Sprintf("Invalid selector for ResourceChangeLog_TransactionInfo: %d", fpv.selector)) 2479 } 2480 } 2481 2482 func (fpv *ResourceChangeLogTransactionInfo_FieldTerminalPathValue) SetToRaw(target proto.Message) { 2483 typedObject := target.(*ResourceChangeLog_TransactionInfo) 2484 fpv.SetTo(&typedObject) 2485 } 2486 2487 // CompareWith compares value in the 'ResourceChangeLogTransactionInfo_FieldTerminalPathValue' with the value under path in 'ResourceChangeLog_TransactionInfo'. 2488 func (fpv *ResourceChangeLogTransactionInfo_FieldTerminalPathValue) CompareWith(source *ResourceChangeLog_TransactionInfo) (int, bool) { 2489 switch fpv.selector { 2490 case ResourceChangeLogTransactionInfo_FieldPathSelectorIdentifier: 2491 leftValue := fpv.value.(string) 2492 rightValue := source.GetIdentifier() 2493 if (leftValue) == (rightValue) { 2494 return 0, true 2495 } else if (leftValue) < (rightValue) { 2496 return -1, true 2497 } else { 2498 return 1, true 2499 } 2500 case ResourceChangeLogTransactionInfo_FieldPathSelectorTryCounter: 2501 leftValue := fpv.value.(int32) 2502 rightValue := source.GetTryCounter() 2503 if (leftValue) == (rightValue) { 2504 return 0, true 2505 } else if (leftValue) < (rightValue) { 2506 return -1, true 2507 } else { 2508 return 1, true 2509 } 2510 case ResourceChangeLogTransactionInfo_FieldPathSelectorState: 2511 leftValue := fpv.value.(ResourceChangeLog_TransactionInfo_State) 2512 rightValue := source.GetState() 2513 if (leftValue) == (rightValue) { 2514 return 0, true 2515 } else if (leftValue) < (rightValue) { 2516 return -1, true 2517 } else { 2518 return 1, true 2519 } 2520 default: 2521 panic(fmt.Sprintf("Invalid selector for ResourceChangeLog_TransactionInfo: %d", fpv.selector)) 2522 } 2523 } 2524 2525 func (fpv *ResourceChangeLogTransactionInfo_FieldTerminalPathValue) CompareWithRaw(source proto.Message) (int, bool) { 2526 return fpv.CompareWith(source.(*ResourceChangeLog_TransactionInfo)) 2527 } 2528 2529 // ResourceChangeLogTransactionInfo_FieldPathArrayItemValue allows storing single item in Path-specific values for TransactionInfo according to their type 2530 // Present only for array (repeated) types. 2531 type ResourceChangeLogTransactionInfo_FieldPathArrayItemValue interface { 2532 gotenobject.FieldPathArrayItemValue 2533 ResourceChangeLogTransactionInfo_FieldPath 2534 ContainsValue(*ResourceChangeLog_TransactionInfo) bool 2535 } 2536 2537 // ParseResourceChangeLogTransactionInfo_FieldPathArrayItemValue parses string and JSON-encoded value to its Value 2538 func ParseResourceChangeLogTransactionInfo_FieldPathArrayItemValue(pathStr, valueStr string) (ResourceChangeLogTransactionInfo_FieldPathArrayItemValue, error) { 2539 fp, err := ParseResourceChangeLogTransactionInfo_FieldPath(pathStr) 2540 if err != nil { 2541 return nil, err 2542 } 2543 fpaiv, err := gotenobject.ParseFieldPathArrayItemValue(fp, valueStr) 2544 if err != nil { 2545 return nil, status.Errorf(codes.InvalidArgument, "error parsing TransactionInfo field path array item value from %s: %v", valueStr, err) 2546 } 2547 return fpaiv.(ResourceChangeLogTransactionInfo_FieldPathArrayItemValue), nil 2548 } 2549 2550 func MustParseResourceChangeLogTransactionInfo_FieldPathArrayItemValue(pathStr, valueStr string) ResourceChangeLogTransactionInfo_FieldPathArrayItemValue { 2551 fpaiv, err := ParseResourceChangeLogTransactionInfo_FieldPathArrayItemValue(pathStr, valueStr) 2552 if err != nil { 2553 panic(err) 2554 } 2555 return fpaiv 2556 } 2557 2558 type ResourceChangeLogTransactionInfo_FieldTerminalPathArrayItemValue struct { 2559 ResourceChangeLogTransactionInfo_FieldTerminalPath 2560 value interface{} 2561 } 2562 2563 var _ ResourceChangeLogTransactionInfo_FieldPathArrayItemValue = (*ResourceChangeLogTransactionInfo_FieldTerminalPathArrayItemValue)(nil) 2564 2565 // GetRawValue returns stored element value for array in object ResourceChangeLog_TransactionInfo as interface{} 2566 func (fpaiv *ResourceChangeLogTransactionInfo_FieldTerminalPathArrayItemValue) GetRawItemValue() interface{} { 2567 return fpaiv.value 2568 } 2569 2570 func (fpaiv *ResourceChangeLogTransactionInfo_FieldTerminalPathArrayItemValue) GetSingle(source *ResourceChangeLog_TransactionInfo) (interface{}, bool) { 2571 return nil, false 2572 } 2573 2574 func (fpaiv *ResourceChangeLogTransactionInfo_FieldTerminalPathArrayItemValue) GetSingleRaw(source proto.Message) (interface{}, bool) { 2575 return fpaiv.GetSingle(source.(*ResourceChangeLog_TransactionInfo)) 2576 } 2577 2578 // Contains returns a boolean indicating if value that is being held is present in given 'TransactionInfo' 2579 func (fpaiv *ResourceChangeLogTransactionInfo_FieldTerminalPathArrayItemValue) ContainsValue(source *ResourceChangeLog_TransactionInfo) bool { 2580 slice := fpaiv.ResourceChangeLogTransactionInfo_FieldTerminalPath.Get(source) 2581 for _, v := range slice { 2582 if asProtoMsg, ok := fpaiv.value.(proto.Message); ok { 2583 if proto.Equal(asProtoMsg, v.(proto.Message)) { 2584 return true 2585 } 2586 } else if reflect.DeepEqual(v, fpaiv.value) { 2587 return true 2588 } 2589 } 2590 return false 2591 } 2592 2593 // ResourceChangeLogTransactionInfo_FieldPathArrayOfValues allows storing slice of values for TransactionInfo fields according to their type 2594 type ResourceChangeLogTransactionInfo_FieldPathArrayOfValues interface { 2595 gotenobject.FieldPathArrayOfValues 2596 ResourceChangeLogTransactionInfo_FieldPath 2597 } 2598 2599 func ParseResourceChangeLogTransactionInfo_FieldPathArrayOfValues(pathStr, valuesStr string) (ResourceChangeLogTransactionInfo_FieldPathArrayOfValues, error) { 2600 fp, err := ParseResourceChangeLogTransactionInfo_FieldPath(pathStr) 2601 if err != nil { 2602 return nil, err 2603 } 2604 fpaov, err := gotenobject.ParseFieldPathArrayOfValues(fp, valuesStr) 2605 if err != nil { 2606 return nil, status.Errorf(codes.InvalidArgument, "error parsing TransactionInfo field path array of values from %s: %v", valuesStr, err) 2607 } 2608 return fpaov.(ResourceChangeLogTransactionInfo_FieldPathArrayOfValues), nil 2609 } 2610 2611 func MustParseResourceChangeLogTransactionInfo_FieldPathArrayOfValues(pathStr, valuesStr string) ResourceChangeLogTransactionInfo_FieldPathArrayOfValues { 2612 fpaov, err := ParseResourceChangeLogTransactionInfo_FieldPathArrayOfValues(pathStr, valuesStr) 2613 if err != nil { 2614 panic(err) 2615 } 2616 return fpaov 2617 } 2618 2619 type ResourceChangeLogTransactionInfo_FieldTerminalPathArrayOfValues struct { 2620 ResourceChangeLogTransactionInfo_FieldTerminalPath 2621 values interface{} 2622 } 2623 2624 var _ ResourceChangeLogTransactionInfo_FieldPathArrayOfValues = (*ResourceChangeLogTransactionInfo_FieldTerminalPathArrayOfValues)(nil) 2625 2626 func (fpaov *ResourceChangeLogTransactionInfo_FieldTerminalPathArrayOfValues) GetRawValues() (values []interface{}) { 2627 switch fpaov.selector { 2628 case ResourceChangeLogTransactionInfo_FieldPathSelectorIdentifier: 2629 for _, v := range fpaov.values.([]string) { 2630 values = append(values, v) 2631 } 2632 case ResourceChangeLogTransactionInfo_FieldPathSelectorTryCounter: 2633 for _, v := range fpaov.values.([]int32) { 2634 values = append(values, v) 2635 } 2636 case ResourceChangeLogTransactionInfo_FieldPathSelectorState: 2637 for _, v := range fpaov.values.([]ResourceChangeLog_TransactionInfo_State) { 2638 values = append(values, v) 2639 } 2640 } 2641 return 2642 } 2643 func (fpaov *ResourceChangeLogTransactionInfo_FieldTerminalPathArrayOfValues) AsIdentifierArrayOfValues() ([]string, bool) { 2644 res, ok := fpaov.values.([]string) 2645 return res, ok 2646 } 2647 func (fpaov *ResourceChangeLogTransactionInfo_FieldTerminalPathArrayOfValues) AsTryCounterArrayOfValues() ([]int32, bool) { 2648 res, ok := fpaov.values.([]int32) 2649 return res, ok 2650 } 2651 func (fpaov *ResourceChangeLogTransactionInfo_FieldTerminalPathArrayOfValues) AsStateArrayOfValues() ([]ResourceChangeLog_TransactionInfo_State, bool) { 2652 res, ok := fpaov.values.([]ResourceChangeLog_TransactionInfo_State) 2653 return res, ok 2654 }