github.com/cloudwan/edgelq-sdk@v1.15.4/iam/resources/v1/project/project.pb.fieldpath.go (about) 1 // Code generated by protoc-gen-goten-object 2 // File: edgelq/iam/proto/v1/project.proto 3 // DO NOT EDIT!!! 4 5 package project 6 7 import ( 8 "encoding/json" 9 "fmt" 10 "reflect" 11 "strings" 12 "time" 13 14 "google.golang.org/grpc/codes" 15 "google.golang.org/grpc/status" 16 "google.golang.org/protobuf/encoding/protojson" 17 "google.golang.org/protobuf/proto" 18 "google.golang.org/protobuf/reflect/protoregistry" 19 20 gotenobject "github.com/cloudwan/goten-sdk/runtime/object" 21 "github.com/cloudwan/goten-sdk/runtime/strcase" 22 ) 23 24 // proto imports 25 import ( 26 iam_common "github.com/cloudwan/edgelq-sdk/iam/resources/v1/common" 27 organization "github.com/cloudwan/edgelq-sdk/iam/resources/v1/organization" 28 meta_service "github.com/cloudwan/goten-sdk/meta-service/resources/v1/service" 29 meta "github.com/cloudwan/goten-sdk/types/meta" 30 multi_region_policy "github.com/cloudwan/goten-sdk/types/multi_region_policy" 31 ) 32 33 // ensure the imports are used 34 var ( 35 _ = new(json.Marshaler) 36 _ = new(fmt.Stringer) 37 _ = reflect.DeepEqual 38 _ = strings.Builder{} 39 _ = time.Second 40 41 _ = strcase.ToLowerCamel 42 _ = codes.NotFound 43 _ = status.Status{} 44 _ = protojson.UnmarshalOptions{} 45 _ = new(proto.Message) 46 _ = protoregistry.GlobalTypes 47 48 _ = new(gotenobject.FieldPath) 49 ) 50 51 // make sure we're using proto imports 52 var ( 53 _ = &iam_common.PCR{} 54 _ = &organization.Organization{} 55 _ = &meta_service.Service{} 56 _ = &meta.Meta{} 57 _ = &multi_region_policy.MultiRegionPolicy{} 58 ) 59 60 // FieldPath provides implementation to handle 61 // https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto 62 type Project_FieldPath interface { 63 gotenobject.FieldPath 64 Selector() Project_FieldPathSelector 65 Get(source *Project) []interface{} 66 GetSingle(source *Project) (interface{}, bool) 67 ClearValue(item *Project) 68 69 // Those methods build corresponding Project_FieldPathValue 70 // (or array of values) and holds passed value. Panics if injected type is incorrect. 71 WithIValue(value interface{}) Project_FieldPathValue 72 WithIArrayOfValues(values interface{}) Project_FieldPathArrayOfValues 73 WithIArrayItemValue(value interface{}) Project_FieldPathArrayItemValue 74 } 75 76 type Project_FieldPathSelector int32 77 78 const ( 79 Project_FieldPathSelectorName Project_FieldPathSelector = 0 80 Project_FieldPathSelectorMetadata Project_FieldPathSelector = 1 81 Project_FieldPathSelectorTitle Project_FieldPathSelector = 2 82 Project_FieldPathSelectorDescription Project_FieldPathSelector = 3 83 Project_FieldPathSelectorParentOrganization Project_FieldPathSelector = 4 84 Project_FieldPathSelectorMultiRegionPolicy Project_FieldPathSelector = 5 85 Project_FieldPathSelectorEnabledServices Project_FieldPathSelector = 6 86 Project_FieldPathSelectorBusinessTier Project_FieldPathSelector = 7 87 Project_FieldPathSelectorServiceTiers Project_FieldPathSelector = 8 88 Project_FieldPathSelectorRootOrganization Project_FieldPathSelector = 9 89 Project_FieldPathSelectorAncestryPath Project_FieldPathSelector = 10 90 Project_FieldPathSelectorServiceErrors Project_FieldPathSelector = 11 91 Project_FieldPathSelectorServicesGeneration Project_FieldPathSelector = 12 92 ) 93 94 func (s Project_FieldPathSelector) String() string { 95 switch s { 96 case Project_FieldPathSelectorName: 97 return "name" 98 case Project_FieldPathSelectorMetadata: 99 return "metadata" 100 case Project_FieldPathSelectorTitle: 101 return "title" 102 case Project_FieldPathSelectorDescription: 103 return "description" 104 case Project_FieldPathSelectorParentOrganization: 105 return "parent_organization" 106 case Project_FieldPathSelectorMultiRegionPolicy: 107 return "multi_region_policy" 108 case Project_FieldPathSelectorEnabledServices: 109 return "enabled_services" 110 case Project_FieldPathSelectorBusinessTier: 111 return "business_tier" 112 case Project_FieldPathSelectorServiceTiers: 113 return "service_tiers" 114 case Project_FieldPathSelectorRootOrganization: 115 return "root_organization" 116 case Project_FieldPathSelectorAncestryPath: 117 return "ancestry_path" 118 case Project_FieldPathSelectorServiceErrors: 119 return "service_errors" 120 case Project_FieldPathSelectorServicesGeneration: 121 return "services_generation" 122 default: 123 panic(fmt.Sprintf("Invalid selector for Project: %d", s)) 124 } 125 } 126 127 func BuildProject_FieldPath(fp gotenobject.RawFieldPath) (Project_FieldPath, error) { 128 if len(fp) == 0 { 129 return nil, status.Error(codes.InvalidArgument, "empty field path for object Project") 130 } 131 if len(fp) == 1 { 132 switch fp[0] { 133 case "name": 134 return &Project_FieldTerminalPath{selector: Project_FieldPathSelectorName}, nil 135 case "metadata": 136 return &Project_FieldTerminalPath{selector: Project_FieldPathSelectorMetadata}, nil 137 case "title": 138 return &Project_FieldTerminalPath{selector: Project_FieldPathSelectorTitle}, nil 139 case "description": 140 return &Project_FieldTerminalPath{selector: Project_FieldPathSelectorDescription}, nil 141 case "parent_organization", "parentOrganization", "parent-organization": 142 return &Project_FieldTerminalPath{selector: Project_FieldPathSelectorParentOrganization}, nil 143 case "multi_region_policy", "multiRegionPolicy", "multi-region-policy": 144 return &Project_FieldTerminalPath{selector: Project_FieldPathSelectorMultiRegionPolicy}, nil 145 case "enabled_services", "enabledServices", "enabled-services": 146 return &Project_FieldTerminalPath{selector: Project_FieldPathSelectorEnabledServices}, nil 147 case "business_tier", "businessTier", "business-tier": 148 return &Project_FieldTerminalPath{selector: Project_FieldPathSelectorBusinessTier}, nil 149 case "service_tiers", "serviceTiers", "service-tiers": 150 return &Project_FieldTerminalPath{selector: Project_FieldPathSelectorServiceTiers}, nil 151 case "root_organization", "rootOrganization", "root-organization": 152 return &Project_FieldTerminalPath{selector: Project_FieldPathSelectorRootOrganization}, nil 153 case "ancestry_path", "ancestryPath", "ancestry-path": 154 return &Project_FieldTerminalPath{selector: Project_FieldPathSelectorAncestryPath}, nil 155 case "service_errors", "serviceErrors", "service-errors": 156 return &Project_FieldTerminalPath{selector: Project_FieldPathSelectorServiceErrors}, nil 157 case "services_generation", "servicesGeneration", "services-generation": 158 return &Project_FieldTerminalPath{selector: Project_FieldPathSelectorServicesGeneration}, nil 159 } 160 } else { 161 switch fp[0] { 162 case "metadata": 163 if subpath, err := meta.BuildMeta_FieldPath(fp[1:]); err != nil { 164 return nil, err 165 } else { 166 return &Project_FieldSubPath{selector: Project_FieldPathSelectorMetadata, subPath: subpath}, nil 167 } 168 case "multi_region_policy", "multiRegionPolicy", "multi-region-policy": 169 if subpath, err := multi_region_policy.BuildMultiRegionPolicy_FieldPath(fp[1:]); err != nil { 170 return nil, err 171 } else { 172 return &Project_FieldSubPath{selector: Project_FieldPathSelectorMultiRegionPolicy, subPath: subpath}, nil 173 } 174 case "service_tiers", "serviceTiers", "service-tiers": 175 if subpath, err := iam_common.BuildServiceBusinessTier_FieldPath(fp[1:]); err != nil { 176 return nil, err 177 } else { 178 return &Project_FieldSubPath{selector: Project_FieldPathSelectorServiceTiers, subPath: subpath}, nil 179 } 180 case "service_errors", "serviceErrors", "service-errors": 181 if len(fp) > 2 { 182 return nil, status.Errorf(codes.InvalidArgument, "sub path for maps ('%s') are not supported (object Project)", fp) 183 } 184 return &Project_FieldPathMap{selector: Project_FieldPathSelectorServiceErrors, key: fp[1]}, nil 185 } 186 } 187 return nil, status.Errorf(codes.InvalidArgument, "unknown field path '%s' for object Project", fp) 188 } 189 190 func ParseProject_FieldPath(rawField string) (Project_FieldPath, error) { 191 fp, err := gotenobject.ParseRawFieldPath(rawField) 192 if err != nil { 193 return nil, err 194 } 195 return BuildProject_FieldPath(fp) 196 } 197 198 func MustParseProject_FieldPath(rawField string) Project_FieldPath { 199 fp, err := ParseProject_FieldPath(rawField) 200 if err != nil { 201 panic(err) 202 } 203 return fp 204 } 205 206 type Project_FieldTerminalPath struct { 207 selector Project_FieldPathSelector 208 } 209 210 var _ Project_FieldPath = (*Project_FieldTerminalPath)(nil) 211 212 func (fp *Project_FieldTerminalPath) Selector() Project_FieldPathSelector { 213 return fp.selector 214 } 215 216 // String returns path representation in proto convention 217 func (fp *Project_FieldTerminalPath) String() string { 218 return fp.selector.String() 219 } 220 221 // JSONString returns path representation is JSON convention 222 func (fp *Project_FieldTerminalPath) JSONString() string { 223 return strcase.ToLowerCamel(fp.String()) 224 } 225 226 // Get returns all values pointed by specific field from source Project 227 func (fp *Project_FieldTerminalPath) Get(source *Project) (values []interface{}) { 228 if source != nil { 229 switch fp.selector { 230 case Project_FieldPathSelectorName: 231 if source.Name != nil { 232 values = append(values, source.Name) 233 } 234 case Project_FieldPathSelectorMetadata: 235 if source.Metadata != nil { 236 values = append(values, source.Metadata) 237 } 238 case Project_FieldPathSelectorTitle: 239 values = append(values, source.Title) 240 case Project_FieldPathSelectorDescription: 241 values = append(values, source.Description) 242 case Project_FieldPathSelectorParentOrganization: 243 if source.ParentOrganization != nil { 244 values = append(values, source.ParentOrganization) 245 } 246 case Project_FieldPathSelectorMultiRegionPolicy: 247 if source.MultiRegionPolicy != nil { 248 values = append(values, source.MultiRegionPolicy) 249 } 250 case Project_FieldPathSelectorEnabledServices: 251 for _, value := range source.GetEnabledServices() { 252 values = append(values, value) 253 } 254 case Project_FieldPathSelectorBusinessTier: 255 values = append(values, source.BusinessTier) 256 case Project_FieldPathSelectorServiceTiers: 257 for _, value := range source.GetServiceTiers() { 258 values = append(values, value) 259 } 260 case Project_FieldPathSelectorRootOrganization: 261 if source.RootOrganization != nil { 262 values = append(values, source.RootOrganization) 263 } 264 case Project_FieldPathSelectorAncestryPath: 265 for _, value := range source.GetAncestryPath() { 266 values = append(values, value) 267 } 268 case Project_FieldPathSelectorServiceErrors: 269 if source.ServiceErrors != nil { 270 values = append(values, source.ServiceErrors) 271 } 272 case Project_FieldPathSelectorServicesGeneration: 273 values = append(values, source.ServicesGeneration) 274 default: 275 panic(fmt.Sprintf("Invalid selector for Project: %d", fp.selector)) 276 } 277 } 278 return 279 } 280 281 func (fp *Project_FieldTerminalPath) GetRaw(source proto.Message) []interface{} { 282 return fp.Get(source.(*Project)) 283 } 284 285 // GetSingle returns value pointed by specific field of from source Project 286 func (fp *Project_FieldTerminalPath) GetSingle(source *Project) (interface{}, bool) { 287 switch fp.selector { 288 case Project_FieldPathSelectorName: 289 res := source.GetName() 290 return res, res != nil 291 case Project_FieldPathSelectorMetadata: 292 res := source.GetMetadata() 293 return res, res != nil 294 case Project_FieldPathSelectorTitle: 295 return source.GetTitle(), source != nil 296 case Project_FieldPathSelectorDescription: 297 return source.GetDescription(), source != nil 298 case Project_FieldPathSelectorParentOrganization: 299 res := source.GetParentOrganization() 300 return res, res != nil 301 case Project_FieldPathSelectorMultiRegionPolicy: 302 res := source.GetMultiRegionPolicy() 303 return res, res != nil 304 case Project_FieldPathSelectorEnabledServices: 305 res := source.GetEnabledServices() 306 return res, res != nil 307 case Project_FieldPathSelectorBusinessTier: 308 return source.GetBusinessTier(), source != nil 309 case Project_FieldPathSelectorServiceTiers: 310 res := source.GetServiceTiers() 311 return res, res != nil 312 case Project_FieldPathSelectorRootOrganization: 313 res := source.GetRootOrganization() 314 return res, res != nil 315 case Project_FieldPathSelectorAncestryPath: 316 res := source.GetAncestryPath() 317 return res, res != nil 318 case Project_FieldPathSelectorServiceErrors: 319 res := source.GetServiceErrors() 320 return res, res != nil 321 case Project_FieldPathSelectorServicesGeneration: 322 return source.GetServicesGeneration(), source != nil 323 default: 324 panic(fmt.Sprintf("Invalid selector for Project: %d", fp.selector)) 325 } 326 } 327 328 func (fp *Project_FieldTerminalPath) GetSingleRaw(source proto.Message) (interface{}, bool) { 329 return fp.GetSingle(source.(*Project)) 330 } 331 332 // GetDefault returns a default value of the field type 333 func (fp *Project_FieldTerminalPath) GetDefault() interface{} { 334 switch fp.selector { 335 case Project_FieldPathSelectorName: 336 return (*Name)(nil) 337 case Project_FieldPathSelectorMetadata: 338 return (*meta.Meta)(nil) 339 case Project_FieldPathSelectorTitle: 340 return "" 341 case Project_FieldPathSelectorDescription: 342 return "" 343 case Project_FieldPathSelectorParentOrganization: 344 return (*organization.Reference)(nil) 345 case Project_FieldPathSelectorMultiRegionPolicy: 346 return (*multi_region_policy.MultiRegionPolicy)(nil) 347 case Project_FieldPathSelectorEnabledServices: 348 return ([]*meta_service.Reference)(nil) 349 case Project_FieldPathSelectorBusinessTier: 350 return iam_common.BusinessTier_UNDEFINED 351 case Project_FieldPathSelectorServiceTiers: 352 return ([]*iam_common.ServiceBusinessTier)(nil) 353 case Project_FieldPathSelectorRootOrganization: 354 return (*organization.Name)(nil) 355 case Project_FieldPathSelectorAncestryPath: 356 return ([]*organization.Name)(nil) 357 case Project_FieldPathSelectorServiceErrors: 358 return (map[string]*iam_common.ServiceErrors)(nil) 359 case Project_FieldPathSelectorServicesGeneration: 360 return int64(0) 361 default: 362 panic(fmt.Sprintf("Invalid selector for Project: %d", fp.selector)) 363 } 364 } 365 366 func (fp *Project_FieldTerminalPath) ClearValue(item *Project) { 367 if item != nil { 368 switch fp.selector { 369 case Project_FieldPathSelectorName: 370 item.Name = nil 371 case Project_FieldPathSelectorMetadata: 372 item.Metadata = nil 373 case Project_FieldPathSelectorTitle: 374 item.Title = "" 375 case Project_FieldPathSelectorDescription: 376 item.Description = "" 377 case Project_FieldPathSelectorParentOrganization: 378 item.ParentOrganization = nil 379 case Project_FieldPathSelectorMultiRegionPolicy: 380 item.MultiRegionPolicy = nil 381 case Project_FieldPathSelectorEnabledServices: 382 item.EnabledServices = nil 383 case Project_FieldPathSelectorBusinessTier: 384 item.BusinessTier = iam_common.BusinessTier_UNDEFINED 385 case Project_FieldPathSelectorServiceTiers: 386 item.ServiceTiers = nil 387 case Project_FieldPathSelectorRootOrganization: 388 item.RootOrganization = nil 389 case Project_FieldPathSelectorAncestryPath: 390 item.AncestryPath = nil 391 case Project_FieldPathSelectorServiceErrors: 392 item.ServiceErrors = nil 393 case Project_FieldPathSelectorServicesGeneration: 394 item.ServicesGeneration = int64(0) 395 default: 396 panic(fmt.Sprintf("Invalid selector for Project: %d", fp.selector)) 397 } 398 } 399 } 400 401 func (fp *Project_FieldTerminalPath) ClearValueRaw(item proto.Message) { 402 fp.ClearValue(item.(*Project)) 403 } 404 405 // IsLeaf - whether field path is holds simple value 406 func (fp *Project_FieldTerminalPath) IsLeaf() bool { 407 return fp.selector == Project_FieldPathSelectorName || 408 fp.selector == Project_FieldPathSelectorTitle || 409 fp.selector == Project_FieldPathSelectorDescription || 410 fp.selector == Project_FieldPathSelectorParentOrganization || 411 fp.selector == Project_FieldPathSelectorEnabledServices || 412 fp.selector == Project_FieldPathSelectorBusinessTier || 413 fp.selector == Project_FieldPathSelectorRootOrganization || 414 fp.selector == Project_FieldPathSelectorAncestryPath || 415 fp.selector == Project_FieldPathSelectorServicesGeneration 416 } 417 418 func (fp *Project_FieldTerminalPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath { 419 return []gotenobject.FieldPath{fp} 420 } 421 422 func (fp *Project_FieldTerminalPath) WithIValue(value interface{}) Project_FieldPathValue { 423 switch fp.selector { 424 case Project_FieldPathSelectorName: 425 return &Project_FieldTerminalPathValue{Project_FieldTerminalPath: *fp, value: value.(*Name)} 426 case Project_FieldPathSelectorMetadata: 427 return &Project_FieldTerminalPathValue{Project_FieldTerminalPath: *fp, value: value.(*meta.Meta)} 428 case Project_FieldPathSelectorTitle: 429 return &Project_FieldTerminalPathValue{Project_FieldTerminalPath: *fp, value: value.(string)} 430 case Project_FieldPathSelectorDescription: 431 return &Project_FieldTerminalPathValue{Project_FieldTerminalPath: *fp, value: value.(string)} 432 case Project_FieldPathSelectorParentOrganization: 433 return &Project_FieldTerminalPathValue{Project_FieldTerminalPath: *fp, value: value.(*organization.Reference)} 434 case Project_FieldPathSelectorMultiRegionPolicy: 435 return &Project_FieldTerminalPathValue{Project_FieldTerminalPath: *fp, value: value.(*multi_region_policy.MultiRegionPolicy)} 436 case Project_FieldPathSelectorEnabledServices: 437 return &Project_FieldTerminalPathValue{Project_FieldTerminalPath: *fp, value: value.([]*meta_service.Reference)} 438 case Project_FieldPathSelectorBusinessTier: 439 return &Project_FieldTerminalPathValue{Project_FieldTerminalPath: *fp, value: value.(iam_common.BusinessTier)} 440 case Project_FieldPathSelectorServiceTiers: 441 return &Project_FieldTerminalPathValue{Project_FieldTerminalPath: *fp, value: value.([]*iam_common.ServiceBusinessTier)} 442 case Project_FieldPathSelectorRootOrganization: 443 return &Project_FieldTerminalPathValue{Project_FieldTerminalPath: *fp, value: value.(*organization.Name)} 444 case Project_FieldPathSelectorAncestryPath: 445 return &Project_FieldTerminalPathValue{Project_FieldTerminalPath: *fp, value: value.([]*organization.Name)} 446 case Project_FieldPathSelectorServiceErrors: 447 return &Project_FieldTerminalPathValue{Project_FieldTerminalPath: *fp, value: value.(map[string]*iam_common.ServiceErrors)} 448 case Project_FieldPathSelectorServicesGeneration: 449 return &Project_FieldTerminalPathValue{Project_FieldTerminalPath: *fp, value: value.(int64)} 450 default: 451 panic(fmt.Sprintf("Invalid selector for Project: %d", fp.selector)) 452 } 453 } 454 455 func (fp *Project_FieldTerminalPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue { 456 return fp.WithIValue(value) 457 } 458 459 func (fp *Project_FieldTerminalPath) WithIArrayOfValues(values interface{}) Project_FieldPathArrayOfValues { 460 fpaov := &Project_FieldTerminalPathArrayOfValues{Project_FieldTerminalPath: *fp} 461 switch fp.selector { 462 case Project_FieldPathSelectorName: 463 return &Project_FieldTerminalPathArrayOfValues{Project_FieldTerminalPath: *fp, values: values.([]*Name)} 464 case Project_FieldPathSelectorMetadata: 465 return &Project_FieldTerminalPathArrayOfValues{Project_FieldTerminalPath: *fp, values: values.([]*meta.Meta)} 466 case Project_FieldPathSelectorTitle: 467 return &Project_FieldTerminalPathArrayOfValues{Project_FieldTerminalPath: *fp, values: values.([]string)} 468 case Project_FieldPathSelectorDescription: 469 return &Project_FieldTerminalPathArrayOfValues{Project_FieldTerminalPath: *fp, values: values.([]string)} 470 case Project_FieldPathSelectorParentOrganization: 471 return &Project_FieldTerminalPathArrayOfValues{Project_FieldTerminalPath: *fp, values: values.([]*organization.Reference)} 472 case Project_FieldPathSelectorMultiRegionPolicy: 473 return &Project_FieldTerminalPathArrayOfValues{Project_FieldTerminalPath: *fp, values: values.([]*multi_region_policy.MultiRegionPolicy)} 474 case Project_FieldPathSelectorEnabledServices: 475 return &Project_FieldTerminalPathArrayOfValues{Project_FieldTerminalPath: *fp, values: values.([][]*meta_service.Reference)} 476 case Project_FieldPathSelectorBusinessTier: 477 return &Project_FieldTerminalPathArrayOfValues{Project_FieldTerminalPath: *fp, values: values.([]iam_common.BusinessTier)} 478 case Project_FieldPathSelectorServiceTiers: 479 return &Project_FieldTerminalPathArrayOfValues{Project_FieldTerminalPath: *fp, values: values.([][]*iam_common.ServiceBusinessTier)} 480 case Project_FieldPathSelectorRootOrganization: 481 return &Project_FieldTerminalPathArrayOfValues{Project_FieldTerminalPath: *fp, values: values.([]*organization.Name)} 482 case Project_FieldPathSelectorAncestryPath: 483 return &Project_FieldTerminalPathArrayOfValues{Project_FieldTerminalPath: *fp, values: values.([][]*organization.Name)} 484 case Project_FieldPathSelectorServiceErrors: 485 return &Project_FieldTerminalPathArrayOfValues{Project_FieldTerminalPath: *fp, values: values.([]map[string]*iam_common.ServiceErrors)} 486 case Project_FieldPathSelectorServicesGeneration: 487 return &Project_FieldTerminalPathArrayOfValues{Project_FieldTerminalPath: *fp, values: values.([]int64)} 488 default: 489 panic(fmt.Sprintf("Invalid selector for Project: %d", fp.selector)) 490 } 491 return fpaov 492 } 493 494 func (fp *Project_FieldTerminalPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues { 495 return fp.WithIArrayOfValues(values) 496 } 497 498 func (fp *Project_FieldTerminalPath) WithIArrayItemValue(value interface{}) Project_FieldPathArrayItemValue { 499 switch fp.selector { 500 case Project_FieldPathSelectorEnabledServices: 501 return &Project_FieldTerminalPathArrayItemValue{Project_FieldTerminalPath: *fp, value: value.(*meta_service.Reference)} 502 case Project_FieldPathSelectorServiceTiers: 503 return &Project_FieldTerminalPathArrayItemValue{Project_FieldTerminalPath: *fp, value: value.(*iam_common.ServiceBusinessTier)} 504 case Project_FieldPathSelectorAncestryPath: 505 return &Project_FieldTerminalPathArrayItemValue{Project_FieldTerminalPath: *fp, value: value.(*organization.Name)} 506 default: 507 panic(fmt.Sprintf("Invalid selector for Project: %d", fp.selector)) 508 } 509 } 510 511 func (fp *Project_FieldTerminalPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue { 512 return fp.WithIArrayItemValue(value) 513 } 514 515 // FieldPath for map type with additional Key information 516 type Project_FieldPathMap struct { 517 key string 518 selector Project_FieldPathSelector 519 } 520 521 var _ Project_FieldPath = (*Project_FieldPathMap)(nil) 522 523 func (fpm *Project_FieldPathMap) Selector() Project_FieldPathSelector { 524 return fpm.selector 525 } 526 527 func (fpm *Project_FieldPathMap) Key() string { 528 return fpm.key 529 } 530 531 // String returns path representation in proto convention 532 func (fpm *Project_FieldPathMap) String() string { 533 return fpm.selector.String() + "." + fpm.key 534 } 535 536 // JSONString returns path representation is JSON convention. Note that map keys are not transformed 537 func (fpm *Project_FieldPathMap) JSONString() string { 538 return strcase.ToLowerCamel(fpm.selector.String()) + "." + fpm.key 539 } 540 541 // Get returns all values pointed by selected field map key from source Project 542 func (fpm *Project_FieldPathMap) Get(source *Project) (values []interface{}) { 543 switch fpm.selector { 544 case Project_FieldPathSelectorServiceErrors: 545 if value, ok := source.GetServiceErrors()[fpm.key]; ok { 546 values = append(values, value) 547 } 548 default: 549 panic(fmt.Sprintf("Invalid selector for Project: %d", fpm.selector)) 550 } 551 return 552 } 553 554 func (fpm *Project_FieldPathMap) GetRaw(source proto.Message) []interface{} { 555 return fpm.Get(source.(*Project)) 556 } 557 558 // GetSingle returns value by selected field map key from source Project 559 func (fpm *Project_FieldPathMap) GetSingle(source *Project) (interface{}, bool) { 560 switch fpm.selector { 561 case Project_FieldPathSelectorServiceErrors: 562 res, ok := source.GetServiceErrors()[fpm.key] 563 return res, ok 564 default: 565 panic(fmt.Sprintf("Invalid selector for Project: %d", fpm.selector)) 566 } 567 } 568 569 func (fpm *Project_FieldPathMap) GetSingleRaw(source proto.Message) (interface{}, bool) { 570 return fpm.GetSingle(source.(*Project)) 571 } 572 573 // GetDefault returns a default value of the field type 574 func (fpm *Project_FieldPathMap) GetDefault() interface{} { 575 switch fpm.selector { 576 case Project_FieldPathSelectorServiceErrors: 577 var v *iam_common.ServiceErrors 578 return v 579 default: 580 panic(fmt.Sprintf("Invalid selector for Project: %d", fpm.selector)) 581 } 582 } 583 584 func (fpm *Project_FieldPathMap) ClearValue(item *Project) { 585 if item != nil { 586 switch fpm.selector { 587 case Project_FieldPathSelectorServiceErrors: 588 delete(item.ServiceErrors, fpm.key) 589 default: 590 panic(fmt.Sprintf("Invalid selector for Project: %d", fpm.selector)) 591 } 592 } 593 } 594 595 func (fpm *Project_FieldPathMap) ClearValueRaw(item proto.Message) { 596 fpm.ClearValue(item.(*Project)) 597 } 598 599 // IsLeaf - whether field path is holds simple value 600 func (fpm *Project_FieldPathMap) IsLeaf() bool { 601 switch fpm.selector { 602 case Project_FieldPathSelectorServiceErrors: 603 return false 604 default: 605 panic(fmt.Sprintf("Invalid selector for Project: %d", fpm.selector)) 606 } 607 } 608 609 func (fpm *Project_FieldPathMap) SplitIntoTerminalIPaths() []gotenobject.FieldPath { 610 return []gotenobject.FieldPath{fpm} 611 } 612 613 func (fpm *Project_FieldPathMap) WithIValue(value interface{}) Project_FieldPathValue { 614 switch fpm.selector { 615 case Project_FieldPathSelectorServiceErrors: 616 return &Project_FieldPathMapValue{Project_FieldPathMap: *fpm, value: value.(*iam_common.ServiceErrors)} 617 default: 618 panic(fmt.Sprintf("Invalid selector for Project: %d", fpm.selector)) 619 } 620 } 621 622 func (fpm *Project_FieldPathMap) WithRawIValue(value interface{}) gotenobject.FieldPathValue { 623 return fpm.WithIValue(value) 624 } 625 626 func (fpm *Project_FieldPathMap) WithIArrayOfValues(values interface{}) Project_FieldPathArrayOfValues { 627 switch fpm.selector { 628 case Project_FieldPathSelectorServiceErrors: 629 return &Project_FieldPathMapArrayOfValues{Project_FieldPathMap: *fpm, values: values.([]*iam_common.ServiceErrors)} 630 default: 631 panic(fmt.Sprintf("Invalid selector for Project: %d", fpm.selector)) 632 } 633 } 634 635 func (fpm *Project_FieldPathMap) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues { 636 return fpm.WithIArrayOfValues(values) 637 } 638 639 func (fpm *Project_FieldPathMap) WithIArrayItemValue(value interface{}) Project_FieldPathArrayItemValue { 640 panic("Cannot create array item value from map fieldpath") 641 } 642 643 func (fpm *Project_FieldPathMap) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue { 644 return fpm.WithIArrayItemValue(value) 645 } 646 647 type Project_FieldSubPath struct { 648 selector Project_FieldPathSelector 649 subPath gotenobject.FieldPath 650 } 651 652 var _ Project_FieldPath = (*Project_FieldSubPath)(nil) 653 654 func (fps *Project_FieldSubPath) Selector() Project_FieldPathSelector { 655 return fps.selector 656 } 657 func (fps *Project_FieldSubPath) AsMetadataSubPath() (meta.Meta_FieldPath, bool) { 658 res, ok := fps.subPath.(meta.Meta_FieldPath) 659 return res, ok 660 } 661 func (fps *Project_FieldSubPath) AsMultiRegionPolicySubPath() (multi_region_policy.MultiRegionPolicy_FieldPath, bool) { 662 res, ok := fps.subPath.(multi_region_policy.MultiRegionPolicy_FieldPath) 663 return res, ok 664 } 665 func (fps *Project_FieldSubPath) AsServiceTiersSubPath() (iam_common.ServiceBusinessTier_FieldPath, bool) { 666 res, ok := fps.subPath.(iam_common.ServiceBusinessTier_FieldPath) 667 return res, ok 668 } 669 670 // String returns path representation in proto convention 671 func (fps *Project_FieldSubPath) String() string { 672 return fps.selector.String() + "." + fps.subPath.String() 673 } 674 675 // JSONString returns path representation is JSON convention 676 func (fps *Project_FieldSubPath) JSONString() string { 677 return strcase.ToLowerCamel(fps.selector.String()) + "." + fps.subPath.JSONString() 678 } 679 680 // Get returns all values pointed by selected field from source Project 681 func (fps *Project_FieldSubPath) Get(source *Project) (values []interface{}) { 682 switch fps.selector { 683 case Project_FieldPathSelectorMetadata: 684 values = append(values, fps.subPath.GetRaw(source.GetMetadata())...) 685 case Project_FieldPathSelectorMultiRegionPolicy: 686 values = append(values, fps.subPath.GetRaw(source.GetMultiRegionPolicy())...) 687 case Project_FieldPathSelectorServiceTiers: 688 for _, item := range source.GetServiceTiers() { 689 values = append(values, fps.subPath.GetRaw(item)...) 690 } 691 default: 692 panic(fmt.Sprintf("Invalid selector for Project: %d", fps.selector)) 693 } 694 return 695 } 696 697 func (fps *Project_FieldSubPath) GetRaw(source proto.Message) []interface{} { 698 return fps.Get(source.(*Project)) 699 } 700 701 // GetSingle returns value of selected field from source Project 702 func (fps *Project_FieldSubPath) GetSingle(source *Project) (interface{}, bool) { 703 switch fps.selector { 704 case Project_FieldPathSelectorMetadata: 705 if source.GetMetadata() == nil { 706 return nil, false 707 } 708 return fps.subPath.GetSingleRaw(source.GetMetadata()) 709 case Project_FieldPathSelectorMultiRegionPolicy: 710 if source.GetMultiRegionPolicy() == nil { 711 return nil, false 712 } 713 return fps.subPath.GetSingleRaw(source.GetMultiRegionPolicy()) 714 case Project_FieldPathSelectorServiceTiers: 715 if len(source.GetServiceTiers()) == 0 { 716 return nil, false 717 } 718 return fps.subPath.GetSingleRaw(source.GetServiceTiers()[0]) 719 default: 720 panic(fmt.Sprintf("Invalid selector for Project: %d", fps.selector)) 721 } 722 } 723 724 func (fps *Project_FieldSubPath) GetSingleRaw(source proto.Message) (interface{}, bool) { 725 return fps.GetSingle(source.(*Project)) 726 } 727 728 // GetDefault returns a default value of the field type 729 func (fps *Project_FieldSubPath) GetDefault() interface{} { 730 return fps.subPath.GetDefault() 731 } 732 733 func (fps *Project_FieldSubPath) ClearValue(item *Project) { 734 if item != nil { 735 switch fps.selector { 736 case Project_FieldPathSelectorMetadata: 737 fps.subPath.ClearValueRaw(item.Metadata) 738 case Project_FieldPathSelectorMultiRegionPolicy: 739 fps.subPath.ClearValueRaw(item.MultiRegionPolicy) 740 case Project_FieldPathSelectorServiceTiers: 741 for _, subItem := range item.ServiceTiers { 742 fps.subPath.ClearValueRaw(subItem) 743 } 744 default: 745 panic(fmt.Sprintf("Invalid selector for Project: %d", fps.selector)) 746 } 747 } 748 } 749 750 func (fps *Project_FieldSubPath) ClearValueRaw(item proto.Message) { 751 fps.ClearValue(item.(*Project)) 752 } 753 754 // IsLeaf - whether field path is holds simple value 755 func (fps *Project_FieldSubPath) IsLeaf() bool { 756 return fps.subPath.IsLeaf() 757 } 758 759 func (fps *Project_FieldSubPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath { 760 iPaths := []gotenobject.FieldPath{&Project_FieldTerminalPath{selector: fps.selector}} 761 iPaths = append(iPaths, fps.subPath.SplitIntoTerminalIPaths()...) 762 return iPaths 763 } 764 765 func (fps *Project_FieldSubPath) WithIValue(value interface{}) Project_FieldPathValue { 766 return &Project_FieldSubPathValue{fps, fps.subPath.WithRawIValue(value)} 767 } 768 769 func (fps *Project_FieldSubPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue { 770 return fps.WithIValue(value) 771 } 772 773 func (fps *Project_FieldSubPath) WithIArrayOfValues(values interface{}) Project_FieldPathArrayOfValues { 774 return &Project_FieldSubPathArrayOfValues{fps, fps.subPath.WithRawIArrayOfValues(values)} 775 } 776 777 func (fps *Project_FieldSubPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues { 778 return fps.WithIArrayOfValues(values) 779 } 780 781 func (fps *Project_FieldSubPath) WithIArrayItemValue(value interface{}) Project_FieldPathArrayItemValue { 782 return &Project_FieldSubPathArrayItemValue{fps, fps.subPath.WithRawIArrayItemValue(value)} 783 } 784 785 func (fps *Project_FieldSubPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue { 786 return fps.WithIArrayItemValue(value) 787 } 788 789 // Project_FieldPathValue allows storing values for Project fields according to their type 790 type Project_FieldPathValue interface { 791 Project_FieldPath 792 gotenobject.FieldPathValue 793 SetTo(target **Project) 794 CompareWith(*Project) (cmp int, comparable bool) 795 } 796 797 func ParseProject_FieldPathValue(pathStr, valueStr string) (Project_FieldPathValue, error) { 798 fp, err := ParseProject_FieldPath(pathStr) 799 if err != nil { 800 return nil, err 801 } 802 fpv, err := gotenobject.ParseFieldPathValue(fp, valueStr) 803 if err != nil { 804 return nil, status.Errorf(codes.InvalidArgument, "error parsing Project field path value from %s: %v", valueStr, err) 805 } 806 return fpv.(Project_FieldPathValue), nil 807 } 808 809 func MustParseProject_FieldPathValue(pathStr, valueStr string) Project_FieldPathValue { 810 fpv, err := ParseProject_FieldPathValue(pathStr, valueStr) 811 if err != nil { 812 panic(err) 813 } 814 return fpv 815 } 816 817 type Project_FieldTerminalPathValue struct { 818 Project_FieldTerminalPath 819 value interface{} 820 } 821 822 var _ Project_FieldPathValue = (*Project_FieldTerminalPathValue)(nil) 823 824 // GetRawValue returns raw value stored under selected path for 'Project' as interface{} 825 func (fpv *Project_FieldTerminalPathValue) GetRawValue() interface{} { 826 return fpv.value 827 } 828 func (fpv *Project_FieldTerminalPathValue) AsNameValue() (*Name, bool) { 829 res, ok := fpv.value.(*Name) 830 return res, ok 831 } 832 func (fpv *Project_FieldTerminalPathValue) AsMetadataValue() (*meta.Meta, bool) { 833 res, ok := fpv.value.(*meta.Meta) 834 return res, ok 835 } 836 func (fpv *Project_FieldTerminalPathValue) AsTitleValue() (string, bool) { 837 res, ok := fpv.value.(string) 838 return res, ok 839 } 840 func (fpv *Project_FieldTerminalPathValue) AsDescriptionValue() (string, bool) { 841 res, ok := fpv.value.(string) 842 return res, ok 843 } 844 func (fpv *Project_FieldTerminalPathValue) AsParentOrganizationValue() (*organization.Reference, bool) { 845 res, ok := fpv.value.(*organization.Reference) 846 return res, ok 847 } 848 func (fpv *Project_FieldTerminalPathValue) AsMultiRegionPolicyValue() (*multi_region_policy.MultiRegionPolicy, bool) { 849 res, ok := fpv.value.(*multi_region_policy.MultiRegionPolicy) 850 return res, ok 851 } 852 func (fpv *Project_FieldTerminalPathValue) AsEnabledServicesValue() ([]*meta_service.Reference, bool) { 853 res, ok := fpv.value.([]*meta_service.Reference) 854 return res, ok 855 } 856 func (fpv *Project_FieldTerminalPathValue) AsBusinessTierValue() (iam_common.BusinessTier, bool) { 857 res, ok := fpv.value.(iam_common.BusinessTier) 858 return res, ok 859 } 860 func (fpv *Project_FieldTerminalPathValue) AsServiceTiersValue() ([]*iam_common.ServiceBusinessTier, bool) { 861 res, ok := fpv.value.([]*iam_common.ServiceBusinessTier) 862 return res, ok 863 } 864 func (fpv *Project_FieldTerminalPathValue) AsRootOrganizationValue() (*organization.Name, bool) { 865 res, ok := fpv.value.(*organization.Name) 866 return res, ok 867 } 868 func (fpv *Project_FieldTerminalPathValue) AsAncestryPathValue() ([]*organization.Name, bool) { 869 res, ok := fpv.value.([]*organization.Name) 870 return res, ok 871 } 872 func (fpv *Project_FieldTerminalPathValue) AsServiceErrorsValue() (map[string]*iam_common.ServiceErrors, bool) { 873 res, ok := fpv.value.(map[string]*iam_common.ServiceErrors) 874 return res, ok 875 } 876 func (fpv *Project_FieldTerminalPathValue) AsServicesGenerationValue() (int64, bool) { 877 res, ok := fpv.value.(int64) 878 return res, ok 879 } 880 881 // SetTo stores value for selected field for object Project 882 func (fpv *Project_FieldTerminalPathValue) SetTo(target **Project) { 883 if *target == nil { 884 *target = new(Project) 885 } 886 switch fpv.selector { 887 case Project_FieldPathSelectorName: 888 (*target).Name = fpv.value.(*Name) 889 case Project_FieldPathSelectorMetadata: 890 (*target).Metadata = fpv.value.(*meta.Meta) 891 case Project_FieldPathSelectorTitle: 892 (*target).Title = fpv.value.(string) 893 case Project_FieldPathSelectorDescription: 894 (*target).Description = fpv.value.(string) 895 case Project_FieldPathSelectorParentOrganization: 896 (*target).ParentOrganization = fpv.value.(*organization.Reference) 897 case Project_FieldPathSelectorMultiRegionPolicy: 898 (*target).MultiRegionPolicy = fpv.value.(*multi_region_policy.MultiRegionPolicy) 899 case Project_FieldPathSelectorEnabledServices: 900 (*target).EnabledServices = fpv.value.([]*meta_service.Reference) 901 case Project_FieldPathSelectorBusinessTier: 902 (*target).BusinessTier = fpv.value.(iam_common.BusinessTier) 903 case Project_FieldPathSelectorServiceTiers: 904 (*target).ServiceTiers = fpv.value.([]*iam_common.ServiceBusinessTier) 905 case Project_FieldPathSelectorRootOrganization: 906 (*target).RootOrganization = fpv.value.(*organization.Name) 907 case Project_FieldPathSelectorAncestryPath: 908 (*target).AncestryPath = fpv.value.([]*organization.Name) 909 case Project_FieldPathSelectorServiceErrors: 910 (*target).ServiceErrors = fpv.value.(map[string]*iam_common.ServiceErrors) 911 case Project_FieldPathSelectorServicesGeneration: 912 (*target).ServicesGeneration = fpv.value.(int64) 913 default: 914 panic(fmt.Sprintf("Invalid selector for Project: %d", fpv.selector)) 915 } 916 } 917 918 func (fpv *Project_FieldTerminalPathValue) SetToRaw(target proto.Message) { 919 typedObject := target.(*Project) 920 fpv.SetTo(&typedObject) 921 } 922 923 // CompareWith compares value in the 'Project_FieldTerminalPathValue' with the value under path in 'Project'. 924 func (fpv *Project_FieldTerminalPathValue) CompareWith(source *Project) (int, bool) { 925 switch fpv.selector { 926 case Project_FieldPathSelectorName: 927 leftValue := fpv.value.(*Name) 928 rightValue := source.GetName() 929 if leftValue == nil { 930 if rightValue != nil { 931 return -1, true 932 } 933 return 0, true 934 } 935 if rightValue == nil { 936 return 1, true 937 } 938 if leftValue.String() == rightValue.String() { 939 return 0, true 940 } else if leftValue.String() < rightValue.String() { 941 return -1, true 942 } else { 943 return 1, true 944 } 945 case Project_FieldPathSelectorMetadata: 946 return 0, false 947 case Project_FieldPathSelectorTitle: 948 leftValue := fpv.value.(string) 949 rightValue := source.GetTitle() 950 if (leftValue) == (rightValue) { 951 return 0, true 952 } else if (leftValue) < (rightValue) { 953 return -1, true 954 } else { 955 return 1, true 956 } 957 case Project_FieldPathSelectorDescription: 958 leftValue := fpv.value.(string) 959 rightValue := source.GetDescription() 960 if (leftValue) == (rightValue) { 961 return 0, true 962 } else if (leftValue) < (rightValue) { 963 return -1, true 964 } else { 965 return 1, true 966 } 967 case Project_FieldPathSelectorParentOrganization: 968 leftValue := fpv.value.(*organization.Reference) 969 rightValue := source.GetParentOrganization() 970 if leftValue == nil { 971 if rightValue != nil { 972 return -1, true 973 } 974 return 0, true 975 } 976 if rightValue == nil { 977 return 1, true 978 } 979 if leftValue.String() == rightValue.String() { 980 return 0, true 981 } else if leftValue.String() < rightValue.String() { 982 return -1, true 983 } else { 984 return 1, true 985 } 986 case Project_FieldPathSelectorMultiRegionPolicy: 987 return 0, false 988 case Project_FieldPathSelectorEnabledServices: 989 return 0, false 990 case Project_FieldPathSelectorBusinessTier: 991 leftValue := fpv.value.(iam_common.BusinessTier) 992 rightValue := source.GetBusinessTier() 993 if (leftValue) == (rightValue) { 994 return 0, true 995 } else if (leftValue) < (rightValue) { 996 return -1, true 997 } else { 998 return 1, true 999 } 1000 case Project_FieldPathSelectorServiceTiers: 1001 return 0, false 1002 case Project_FieldPathSelectorRootOrganization: 1003 leftValue := fpv.value.(*organization.Name) 1004 rightValue := source.GetRootOrganization() 1005 if leftValue == nil { 1006 if rightValue != nil { 1007 return -1, true 1008 } 1009 return 0, true 1010 } 1011 if rightValue == nil { 1012 return 1, true 1013 } 1014 if leftValue.String() == rightValue.String() { 1015 return 0, true 1016 } else if leftValue.String() < rightValue.String() { 1017 return -1, true 1018 } else { 1019 return 1, true 1020 } 1021 case Project_FieldPathSelectorAncestryPath: 1022 return 0, false 1023 case Project_FieldPathSelectorServiceErrors: 1024 return 0, false 1025 case Project_FieldPathSelectorServicesGeneration: 1026 leftValue := fpv.value.(int64) 1027 rightValue := source.GetServicesGeneration() 1028 if (leftValue) == (rightValue) { 1029 return 0, true 1030 } else if (leftValue) < (rightValue) { 1031 return -1, true 1032 } else { 1033 return 1, true 1034 } 1035 default: 1036 panic(fmt.Sprintf("Invalid selector for Project: %d", fpv.selector)) 1037 } 1038 } 1039 1040 func (fpv *Project_FieldTerminalPathValue) CompareWithRaw(source proto.Message) (int, bool) { 1041 return fpv.CompareWith(source.(*Project)) 1042 } 1043 1044 type Project_FieldPathMapValue struct { 1045 Project_FieldPathMap 1046 value interface{} 1047 } 1048 1049 var _ Project_FieldPathValue = (*Project_FieldPathMapValue)(nil) 1050 1051 // GetValue returns value stored under selected field in Project as interface{} 1052 func (fpmv *Project_FieldPathMapValue) GetRawValue() interface{} { 1053 return fpmv.value 1054 } 1055 func (fpmv *Project_FieldPathMapValue) AsServiceErrorsElementValue() (*iam_common.ServiceErrors, bool) { 1056 res, ok := fpmv.value.(*iam_common.ServiceErrors) 1057 return res, ok 1058 } 1059 1060 // SetTo stores value for selected field in Project 1061 func (fpmv *Project_FieldPathMapValue) SetTo(target **Project) { 1062 if *target == nil { 1063 *target = new(Project) 1064 } 1065 switch fpmv.selector { 1066 case Project_FieldPathSelectorServiceErrors: 1067 if (*target).ServiceErrors == nil { 1068 (*target).ServiceErrors = make(map[string]*iam_common.ServiceErrors) 1069 } 1070 (*target).ServiceErrors[fpmv.key] = fpmv.value.(*iam_common.ServiceErrors) 1071 default: 1072 panic(fmt.Sprintf("Invalid selector for Project: %d", fpmv.selector)) 1073 } 1074 } 1075 1076 func (fpmv *Project_FieldPathMapValue) SetToRaw(target proto.Message) { 1077 typedObject := target.(*Project) 1078 fpmv.SetTo(&typedObject) 1079 } 1080 1081 // CompareWith compares value in the 'Project_FieldPathMapValue' with the value under path in 'Project'. 1082 func (fpmv *Project_FieldPathMapValue) CompareWith(source *Project) (int, bool) { 1083 switch fpmv.selector { 1084 case Project_FieldPathSelectorServiceErrors: 1085 return 0, false 1086 default: 1087 panic(fmt.Sprintf("Invalid selector for Project: %d", fpmv.selector)) 1088 } 1089 } 1090 1091 func (fpmv *Project_FieldPathMapValue) CompareWithRaw(source proto.Message) (int, bool) { 1092 return fpmv.CompareWith(source.(*Project)) 1093 } 1094 1095 type Project_FieldSubPathValue struct { 1096 Project_FieldPath 1097 subPathValue gotenobject.FieldPathValue 1098 } 1099 1100 var _ Project_FieldPathValue = (*Project_FieldSubPathValue)(nil) 1101 1102 func (fpvs *Project_FieldSubPathValue) AsMetadataPathValue() (meta.Meta_FieldPathValue, bool) { 1103 res, ok := fpvs.subPathValue.(meta.Meta_FieldPathValue) 1104 return res, ok 1105 } 1106 func (fpvs *Project_FieldSubPathValue) AsMultiRegionPolicyPathValue() (multi_region_policy.MultiRegionPolicy_FieldPathValue, bool) { 1107 res, ok := fpvs.subPathValue.(multi_region_policy.MultiRegionPolicy_FieldPathValue) 1108 return res, ok 1109 } 1110 func (fpvs *Project_FieldSubPathValue) AsServiceTiersPathValue() (iam_common.ServiceBusinessTier_FieldPathValue, bool) { 1111 res, ok := fpvs.subPathValue.(iam_common.ServiceBusinessTier_FieldPathValue) 1112 return res, ok 1113 } 1114 1115 func (fpvs *Project_FieldSubPathValue) SetTo(target **Project) { 1116 if *target == nil { 1117 *target = new(Project) 1118 } 1119 switch fpvs.Selector() { 1120 case Project_FieldPathSelectorMetadata: 1121 fpvs.subPathValue.(meta.Meta_FieldPathValue).SetTo(&(*target).Metadata) 1122 case Project_FieldPathSelectorMultiRegionPolicy: 1123 fpvs.subPathValue.(multi_region_policy.MultiRegionPolicy_FieldPathValue).SetTo(&(*target).MultiRegionPolicy) 1124 case Project_FieldPathSelectorServiceTiers: 1125 panic("FieldPath setter is unsupported for array subpaths") 1126 default: 1127 panic(fmt.Sprintf("Invalid selector for Project: %d", fpvs.Selector())) 1128 } 1129 } 1130 1131 func (fpvs *Project_FieldSubPathValue) SetToRaw(target proto.Message) { 1132 typedObject := target.(*Project) 1133 fpvs.SetTo(&typedObject) 1134 } 1135 1136 func (fpvs *Project_FieldSubPathValue) GetRawValue() interface{} { 1137 return fpvs.subPathValue.GetRawValue() 1138 } 1139 1140 func (fpvs *Project_FieldSubPathValue) CompareWith(source *Project) (int, bool) { 1141 switch fpvs.Selector() { 1142 case Project_FieldPathSelectorMetadata: 1143 return fpvs.subPathValue.(meta.Meta_FieldPathValue).CompareWith(source.GetMetadata()) 1144 case Project_FieldPathSelectorMultiRegionPolicy: 1145 return fpvs.subPathValue.(multi_region_policy.MultiRegionPolicy_FieldPathValue).CompareWith(source.GetMultiRegionPolicy()) 1146 case Project_FieldPathSelectorServiceTiers: 1147 return 0, false // repeated field 1148 default: 1149 panic(fmt.Sprintf("Invalid selector for Project: %d", fpvs.Selector())) 1150 } 1151 } 1152 1153 func (fpvs *Project_FieldSubPathValue) CompareWithRaw(source proto.Message) (int, bool) { 1154 return fpvs.CompareWith(source.(*Project)) 1155 } 1156 1157 // Project_FieldPathArrayItemValue allows storing single item in Path-specific values for Project according to their type 1158 // Present only for array (repeated) types. 1159 type Project_FieldPathArrayItemValue interface { 1160 gotenobject.FieldPathArrayItemValue 1161 Project_FieldPath 1162 ContainsValue(*Project) bool 1163 } 1164 1165 // ParseProject_FieldPathArrayItemValue parses string and JSON-encoded value to its Value 1166 func ParseProject_FieldPathArrayItemValue(pathStr, valueStr string) (Project_FieldPathArrayItemValue, error) { 1167 fp, err := ParseProject_FieldPath(pathStr) 1168 if err != nil { 1169 return nil, err 1170 } 1171 fpaiv, err := gotenobject.ParseFieldPathArrayItemValue(fp, valueStr) 1172 if err != nil { 1173 return nil, status.Errorf(codes.InvalidArgument, "error parsing Project field path array item value from %s: %v", valueStr, err) 1174 } 1175 return fpaiv.(Project_FieldPathArrayItemValue), nil 1176 } 1177 1178 func MustParseProject_FieldPathArrayItemValue(pathStr, valueStr string) Project_FieldPathArrayItemValue { 1179 fpaiv, err := ParseProject_FieldPathArrayItemValue(pathStr, valueStr) 1180 if err != nil { 1181 panic(err) 1182 } 1183 return fpaiv 1184 } 1185 1186 type Project_FieldTerminalPathArrayItemValue struct { 1187 Project_FieldTerminalPath 1188 value interface{} 1189 } 1190 1191 var _ Project_FieldPathArrayItemValue = (*Project_FieldTerminalPathArrayItemValue)(nil) 1192 1193 // GetRawValue returns stored element value for array in object Project as interface{} 1194 func (fpaiv *Project_FieldTerminalPathArrayItemValue) GetRawItemValue() interface{} { 1195 return fpaiv.value 1196 } 1197 func (fpaiv *Project_FieldTerminalPathArrayItemValue) AsEnabledServicesItemValue() (*meta_service.Reference, bool) { 1198 res, ok := fpaiv.value.(*meta_service.Reference) 1199 return res, ok 1200 } 1201 func (fpaiv *Project_FieldTerminalPathArrayItemValue) AsServiceTiersItemValue() (*iam_common.ServiceBusinessTier, bool) { 1202 res, ok := fpaiv.value.(*iam_common.ServiceBusinessTier) 1203 return res, ok 1204 } 1205 func (fpaiv *Project_FieldTerminalPathArrayItemValue) AsAncestryPathItemValue() (*organization.Name, bool) { 1206 res, ok := fpaiv.value.(*organization.Name) 1207 return res, ok 1208 } 1209 1210 func (fpaiv *Project_FieldTerminalPathArrayItemValue) GetSingle(source *Project) (interface{}, bool) { 1211 return nil, false 1212 } 1213 1214 func (fpaiv *Project_FieldTerminalPathArrayItemValue) GetSingleRaw(source proto.Message) (interface{}, bool) { 1215 return fpaiv.GetSingle(source.(*Project)) 1216 } 1217 1218 // Contains returns a boolean indicating if value that is being held is present in given 'Project' 1219 func (fpaiv *Project_FieldTerminalPathArrayItemValue) ContainsValue(source *Project) bool { 1220 slice := fpaiv.Project_FieldTerminalPath.Get(source) 1221 for _, v := range slice { 1222 if asProtoMsg, ok := fpaiv.value.(proto.Message); ok { 1223 if proto.Equal(asProtoMsg, v.(proto.Message)) { 1224 return true 1225 } 1226 } else if reflect.DeepEqual(v, fpaiv.value) { 1227 return true 1228 } 1229 } 1230 return false 1231 } 1232 1233 type Project_FieldSubPathArrayItemValue struct { 1234 Project_FieldPath 1235 subPathItemValue gotenobject.FieldPathArrayItemValue 1236 } 1237 1238 // GetRawValue returns stored array item value 1239 func (fpaivs *Project_FieldSubPathArrayItemValue) GetRawItemValue() interface{} { 1240 return fpaivs.subPathItemValue.GetRawItemValue() 1241 } 1242 func (fpaivs *Project_FieldSubPathArrayItemValue) AsMetadataPathItemValue() (meta.Meta_FieldPathArrayItemValue, bool) { 1243 res, ok := fpaivs.subPathItemValue.(meta.Meta_FieldPathArrayItemValue) 1244 return res, ok 1245 } 1246 func (fpaivs *Project_FieldSubPathArrayItemValue) AsMultiRegionPolicyPathItemValue() (multi_region_policy.MultiRegionPolicy_FieldPathArrayItemValue, bool) { 1247 res, ok := fpaivs.subPathItemValue.(multi_region_policy.MultiRegionPolicy_FieldPathArrayItemValue) 1248 return res, ok 1249 } 1250 func (fpaivs *Project_FieldSubPathArrayItemValue) AsServiceTiersPathItemValue() (iam_common.ServiceBusinessTier_FieldPathArrayItemValue, bool) { 1251 res, ok := fpaivs.subPathItemValue.(iam_common.ServiceBusinessTier_FieldPathArrayItemValue) 1252 return res, ok 1253 } 1254 1255 // Contains returns a boolean indicating if value that is being held is present in given 'Project' 1256 func (fpaivs *Project_FieldSubPathArrayItemValue) ContainsValue(source *Project) bool { 1257 switch fpaivs.Selector() { 1258 case Project_FieldPathSelectorMetadata: 1259 return fpaivs.subPathItemValue.(meta.Meta_FieldPathArrayItemValue).ContainsValue(source.GetMetadata()) 1260 case Project_FieldPathSelectorMultiRegionPolicy: 1261 return fpaivs.subPathItemValue.(multi_region_policy.MultiRegionPolicy_FieldPathArrayItemValue).ContainsValue(source.GetMultiRegionPolicy()) 1262 case Project_FieldPathSelectorServiceTiers: 1263 return false // repeated/map field 1264 default: 1265 panic(fmt.Sprintf("Invalid selector for Project: %d", fpaivs.Selector())) 1266 } 1267 } 1268 1269 // Project_FieldPathArrayOfValues allows storing slice of values for Project fields according to their type 1270 type Project_FieldPathArrayOfValues interface { 1271 gotenobject.FieldPathArrayOfValues 1272 Project_FieldPath 1273 } 1274 1275 func ParseProject_FieldPathArrayOfValues(pathStr, valuesStr string) (Project_FieldPathArrayOfValues, error) { 1276 fp, err := ParseProject_FieldPath(pathStr) 1277 if err != nil { 1278 return nil, err 1279 } 1280 fpaov, err := gotenobject.ParseFieldPathArrayOfValues(fp, valuesStr) 1281 if err != nil { 1282 return nil, status.Errorf(codes.InvalidArgument, "error parsing Project field path array of values from %s: %v", valuesStr, err) 1283 } 1284 return fpaov.(Project_FieldPathArrayOfValues), nil 1285 } 1286 1287 func MustParseProject_FieldPathArrayOfValues(pathStr, valuesStr string) Project_FieldPathArrayOfValues { 1288 fpaov, err := ParseProject_FieldPathArrayOfValues(pathStr, valuesStr) 1289 if err != nil { 1290 panic(err) 1291 } 1292 return fpaov 1293 } 1294 1295 type Project_FieldTerminalPathArrayOfValues struct { 1296 Project_FieldTerminalPath 1297 values interface{} 1298 } 1299 1300 var _ Project_FieldPathArrayOfValues = (*Project_FieldTerminalPathArrayOfValues)(nil) 1301 1302 func (fpaov *Project_FieldTerminalPathArrayOfValues) GetRawValues() (values []interface{}) { 1303 switch fpaov.selector { 1304 case Project_FieldPathSelectorName: 1305 for _, v := range fpaov.values.([]*Name) { 1306 values = append(values, v) 1307 } 1308 case Project_FieldPathSelectorMetadata: 1309 for _, v := range fpaov.values.([]*meta.Meta) { 1310 values = append(values, v) 1311 } 1312 case Project_FieldPathSelectorTitle: 1313 for _, v := range fpaov.values.([]string) { 1314 values = append(values, v) 1315 } 1316 case Project_FieldPathSelectorDescription: 1317 for _, v := range fpaov.values.([]string) { 1318 values = append(values, v) 1319 } 1320 case Project_FieldPathSelectorParentOrganization: 1321 for _, v := range fpaov.values.([]*organization.Reference) { 1322 values = append(values, v) 1323 } 1324 case Project_FieldPathSelectorMultiRegionPolicy: 1325 for _, v := range fpaov.values.([]*multi_region_policy.MultiRegionPolicy) { 1326 values = append(values, v) 1327 } 1328 case Project_FieldPathSelectorEnabledServices: 1329 for _, v := range fpaov.values.([][]*meta_service.Reference) { 1330 values = append(values, v) 1331 } 1332 case Project_FieldPathSelectorBusinessTier: 1333 for _, v := range fpaov.values.([]iam_common.BusinessTier) { 1334 values = append(values, v) 1335 } 1336 case Project_FieldPathSelectorServiceTiers: 1337 for _, v := range fpaov.values.([][]*iam_common.ServiceBusinessTier) { 1338 values = append(values, v) 1339 } 1340 case Project_FieldPathSelectorRootOrganization: 1341 for _, v := range fpaov.values.([]*organization.Name) { 1342 values = append(values, v) 1343 } 1344 case Project_FieldPathSelectorAncestryPath: 1345 for _, v := range fpaov.values.([][]*organization.Name) { 1346 values = append(values, v) 1347 } 1348 case Project_FieldPathSelectorServiceErrors: 1349 for _, v := range fpaov.values.([]map[string]*iam_common.ServiceErrors) { 1350 values = append(values, v) 1351 } 1352 case Project_FieldPathSelectorServicesGeneration: 1353 for _, v := range fpaov.values.([]int64) { 1354 values = append(values, v) 1355 } 1356 } 1357 return 1358 } 1359 func (fpaov *Project_FieldTerminalPathArrayOfValues) AsNameArrayOfValues() ([]*Name, bool) { 1360 res, ok := fpaov.values.([]*Name) 1361 return res, ok 1362 } 1363 func (fpaov *Project_FieldTerminalPathArrayOfValues) AsMetadataArrayOfValues() ([]*meta.Meta, bool) { 1364 res, ok := fpaov.values.([]*meta.Meta) 1365 return res, ok 1366 } 1367 func (fpaov *Project_FieldTerminalPathArrayOfValues) AsTitleArrayOfValues() ([]string, bool) { 1368 res, ok := fpaov.values.([]string) 1369 return res, ok 1370 } 1371 func (fpaov *Project_FieldTerminalPathArrayOfValues) AsDescriptionArrayOfValues() ([]string, bool) { 1372 res, ok := fpaov.values.([]string) 1373 return res, ok 1374 } 1375 func (fpaov *Project_FieldTerminalPathArrayOfValues) AsParentOrganizationArrayOfValues() ([]*organization.Reference, bool) { 1376 res, ok := fpaov.values.([]*organization.Reference) 1377 return res, ok 1378 } 1379 func (fpaov *Project_FieldTerminalPathArrayOfValues) AsMultiRegionPolicyArrayOfValues() ([]*multi_region_policy.MultiRegionPolicy, bool) { 1380 res, ok := fpaov.values.([]*multi_region_policy.MultiRegionPolicy) 1381 return res, ok 1382 } 1383 func (fpaov *Project_FieldTerminalPathArrayOfValues) AsEnabledServicesArrayOfValues() ([][]*meta_service.Reference, bool) { 1384 res, ok := fpaov.values.([][]*meta_service.Reference) 1385 return res, ok 1386 } 1387 func (fpaov *Project_FieldTerminalPathArrayOfValues) AsBusinessTierArrayOfValues() ([]iam_common.BusinessTier, bool) { 1388 res, ok := fpaov.values.([]iam_common.BusinessTier) 1389 return res, ok 1390 } 1391 func (fpaov *Project_FieldTerminalPathArrayOfValues) AsServiceTiersArrayOfValues() ([][]*iam_common.ServiceBusinessTier, bool) { 1392 res, ok := fpaov.values.([][]*iam_common.ServiceBusinessTier) 1393 return res, ok 1394 } 1395 func (fpaov *Project_FieldTerminalPathArrayOfValues) AsRootOrganizationArrayOfValues() ([]*organization.Name, bool) { 1396 res, ok := fpaov.values.([]*organization.Name) 1397 return res, ok 1398 } 1399 func (fpaov *Project_FieldTerminalPathArrayOfValues) AsAncestryPathArrayOfValues() ([][]*organization.Name, bool) { 1400 res, ok := fpaov.values.([][]*organization.Name) 1401 return res, ok 1402 } 1403 func (fpaov *Project_FieldTerminalPathArrayOfValues) AsServiceErrorsArrayOfValues() ([]map[string]*iam_common.ServiceErrors, bool) { 1404 res, ok := fpaov.values.([]map[string]*iam_common.ServiceErrors) 1405 return res, ok 1406 } 1407 func (fpaov *Project_FieldTerminalPathArrayOfValues) AsServicesGenerationArrayOfValues() ([]int64, bool) { 1408 res, ok := fpaov.values.([]int64) 1409 return res, ok 1410 } 1411 1412 type Project_FieldPathMapArrayOfValues struct { 1413 Project_FieldPathMap 1414 values interface{} 1415 } 1416 1417 var _ Project_FieldPathArrayOfValues = (*Project_FieldPathMapArrayOfValues)(nil) 1418 1419 func (fpmaov *Project_FieldPathMapArrayOfValues) GetRawValues() (values []interface{}) { 1420 switch fpmaov.selector { 1421 case Project_FieldPathSelectorServiceErrors: 1422 for _, v := range fpmaov.values.([]*iam_common.ServiceErrors) { 1423 values = append(values, v) 1424 } 1425 } 1426 return 1427 } 1428 func (fpmaov *Project_FieldPathMapArrayOfValues) AsServiceErrorsArrayOfElementValues() ([]*iam_common.ServiceErrors, bool) { 1429 res, ok := fpmaov.values.([]*iam_common.ServiceErrors) 1430 return res, ok 1431 } 1432 1433 type Project_FieldSubPathArrayOfValues struct { 1434 Project_FieldPath 1435 subPathArrayOfValues gotenobject.FieldPathArrayOfValues 1436 } 1437 1438 var _ Project_FieldPathArrayOfValues = (*Project_FieldSubPathArrayOfValues)(nil) 1439 1440 func (fpsaov *Project_FieldSubPathArrayOfValues) GetRawValues() []interface{} { 1441 return fpsaov.subPathArrayOfValues.GetRawValues() 1442 } 1443 func (fpsaov *Project_FieldSubPathArrayOfValues) AsMetadataPathArrayOfValues() (meta.Meta_FieldPathArrayOfValues, bool) { 1444 res, ok := fpsaov.subPathArrayOfValues.(meta.Meta_FieldPathArrayOfValues) 1445 return res, ok 1446 } 1447 func (fpsaov *Project_FieldSubPathArrayOfValues) AsMultiRegionPolicyPathArrayOfValues() (multi_region_policy.MultiRegionPolicy_FieldPathArrayOfValues, bool) { 1448 res, ok := fpsaov.subPathArrayOfValues.(multi_region_policy.MultiRegionPolicy_FieldPathArrayOfValues) 1449 return res, ok 1450 } 1451 func (fpsaov *Project_FieldSubPathArrayOfValues) AsServiceTiersPathArrayOfValues() (iam_common.ServiceBusinessTier_FieldPathArrayOfValues, bool) { 1452 res, ok := fpsaov.subPathArrayOfValues.(iam_common.ServiceBusinessTier_FieldPathArrayOfValues) 1453 return res, ok 1454 }