github.com/cloudwan/edgelq-sdk@v1.15.4/devices/resources/v1alpha2/provisioning_approval_request/provisioning_approval_request.pb.fieldmask.go (about) 1 // Code generated by protoc-gen-goten-object 2 // File: edgelq/devices/proto/v1alpha2/provisioning_approval_request.proto 3 // DO NOT EDIT!!! 4 5 package provisioning_approval_request 6 7 import ( 8 "encoding/json" 9 "strings" 10 11 "google.golang.org/grpc/codes" 12 "google.golang.org/grpc/status" 13 "google.golang.org/protobuf/proto" 14 preflect "google.golang.org/protobuf/reflect/protoreflect" 15 googlefieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" 16 17 gotenobject "github.com/cloudwan/goten-sdk/runtime/object" 18 ) 19 20 // proto imports 21 import ( 22 provisioning_policy "github.com/cloudwan/edgelq-sdk/devices/resources/v1alpha2/provisioning_policy" 23 iam_service_account "github.com/cloudwan/edgelq-sdk/iam/resources/v1alpha2/service_account" 24 meta "github.com/cloudwan/goten-sdk/types/meta" 25 ) 26 27 // ensure the imports are used 28 var ( 29 _ = new(json.Marshaler) 30 _ = strings.Builder{} 31 32 _ = codes.NotFound 33 _ = status.Status{} 34 _ = new(proto.Message) 35 _ = new(preflect.Message) 36 _ = googlefieldmaskpb.FieldMask{} 37 38 _ = new(gotenobject.FieldMask) 39 ) 40 41 // make sure we're using proto imports 42 var ( 43 _ = &provisioning_policy.ProvisioningPolicy{} 44 _ = &iam_service_account.ServiceAccount{} 45 _ = &meta.Meta{} 46 ) 47 48 type ProvisioningApprovalRequest_FieldMask struct { 49 Paths []ProvisioningApprovalRequest_FieldPath 50 } 51 52 func FullProvisioningApprovalRequest_FieldMask() *ProvisioningApprovalRequest_FieldMask { 53 res := &ProvisioningApprovalRequest_FieldMask{} 54 res.Paths = append(res.Paths, &ProvisioningApprovalRequest_FieldTerminalPath{selector: ProvisioningApprovalRequest_FieldPathSelectorName}) 55 res.Paths = append(res.Paths, &ProvisioningApprovalRequest_FieldTerminalPath{selector: ProvisioningApprovalRequest_FieldPathSelectorSpec}) 56 res.Paths = append(res.Paths, &ProvisioningApprovalRequest_FieldTerminalPath{selector: ProvisioningApprovalRequest_FieldPathSelectorStatus}) 57 res.Paths = append(res.Paths, &ProvisioningApprovalRequest_FieldTerminalPath{selector: ProvisioningApprovalRequest_FieldPathSelectorMetadata}) 58 return res 59 } 60 61 func (fieldMask *ProvisioningApprovalRequest_FieldMask) String() string { 62 if fieldMask == nil { 63 return "<nil>" 64 } 65 pathsStr := make([]string, 0, len(fieldMask.Paths)) 66 for _, path := range fieldMask.Paths { 67 pathsStr = append(pathsStr, path.String()) 68 } 69 return strings.Join(pathsStr, ", ") 70 } 71 72 func (fieldMask *ProvisioningApprovalRequest_FieldMask) IsFull() bool { 73 if fieldMask == nil { 74 return false 75 } 76 presentSelectors := make([]bool, 4) 77 for _, path := range fieldMask.Paths { 78 if asFinal, ok := path.(*ProvisioningApprovalRequest_FieldTerminalPath); ok { 79 presentSelectors[int(asFinal.selector)] = true 80 } 81 } 82 for _, flag := range presentSelectors { 83 if !flag { 84 return false 85 } 86 } 87 return true 88 } 89 90 func (fieldMask *ProvisioningApprovalRequest_FieldMask) ProtoReflect() preflect.Message { 91 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 92 return ParseProvisioningApprovalRequest_FieldPath(raw) 93 }) 94 } 95 96 func (fieldMask *ProvisioningApprovalRequest_FieldMask) ProtoMessage() {} 97 98 func (fieldMask *ProvisioningApprovalRequest_FieldMask) Reset() { 99 if fieldMask != nil { 100 fieldMask.Paths = nil 101 } 102 } 103 104 func (fieldMask *ProvisioningApprovalRequest_FieldMask) Subtract(other *ProvisioningApprovalRequest_FieldMask) *ProvisioningApprovalRequest_FieldMask { 105 result := &ProvisioningApprovalRequest_FieldMask{} 106 removedSelectors := make([]bool, 4) 107 otherSubMasks := map[ProvisioningApprovalRequest_FieldPathSelector]gotenobject.FieldMask{ 108 ProvisioningApprovalRequest_FieldPathSelectorSpec: &ProvisioningApprovalRequest_Spec_FieldMask{}, 109 ProvisioningApprovalRequest_FieldPathSelectorStatus: &ProvisioningApprovalRequest_Status_FieldMask{}, 110 ProvisioningApprovalRequest_FieldPathSelectorMetadata: &meta.Meta_FieldMask{}, 111 } 112 mySubMasks := map[ProvisioningApprovalRequest_FieldPathSelector]gotenobject.FieldMask{ 113 ProvisioningApprovalRequest_FieldPathSelectorSpec: &ProvisioningApprovalRequest_Spec_FieldMask{}, 114 ProvisioningApprovalRequest_FieldPathSelectorStatus: &ProvisioningApprovalRequest_Status_FieldMask{}, 115 ProvisioningApprovalRequest_FieldPathSelectorMetadata: &meta.Meta_FieldMask{}, 116 } 117 118 for _, path := range other.GetPaths() { 119 switch tp := path.(type) { 120 case *ProvisioningApprovalRequest_FieldTerminalPath: 121 removedSelectors[int(tp.selector)] = true 122 case *ProvisioningApprovalRequest_FieldSubPath: 123 otherSubMasks[tp.selector].AppendRawPath(tp.subPath) 124 } 125 } 126 for _, path := range fieldMask.GetPaths() { 127 if !removedSelectors[int(path.Selector())] { 128 if otherSubMask := otherSubMasks[path.Selector()]; otherSubMask != nil && otherSubMask.PathsCount() > 0 { 129 if tp, ok := path.(*ProvisioningApprovalRequest_FieldTerminalPath); ok { 130 switch tp.selector { 131 case ProvisioningApprovalRequest_FieldPathSelectorSpec: 132 mySubMasks[ProvisioningApprovalRequest_FieldPathSelectorSpec] = FullProvisioningApprovalRequest_Spec_FieldMask() 133 case ProvisioningApprovalRequest_FieldPathSelectorStatus: 134 mySubMasks[ProvisioningApprovalRequest_FieldPathSelectorStatus] = FullProvisioningApprovalRequest_Status_FieldMask() 135 case ProvisioningApprovalRequest_FieldPathSelectorMetadata: 136 mySubMasks[ProvisioningApprovalRequest_FieldPathSelectorMetadata] = meta.FullMeta_FieldMask() 137 } 138 } else if tp, ok := path.(*ProvisioningApprovalRequest_FieldSubPath); ok { 139 mySubMasks[tp.selector].AppendRawPath(tp.subPath) 140 } 141 } else { 142 result.Paths = append(result.Paths, path) 143 } 144 } 145 } 146 for selector, mySubMask := range mySubMasks { 147 if mySubMask.PathsCount() > 0 { 148 for _, allowedPath := range mySubMask.SubtractRaw(otherSubMasks[selector]).GetRawPaths() { 149 result.Paths = append(result.Paths, &ProvisioningApprovalRequest_FieldSubPath{selector: selector, subPath: allowedPath}) 150 } 151 } 152 } 153 154 if len(result.Paths) == 0 { 155 return nil 156 } 157 return result 158 } 159 160 func (fieldMask *ProvisioningApprovalRequest_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 161 return fieldMask.Subtract(other.(*ProvisioningApprovalRequest_FieldMask)) 162 } 163 164 // FilterInputFields generates copy of field paths with output_only field paths removed 165 func (fieldMask *ProvisioningApprovalRequest_FieldMask) FilterInputFields() *ProvisioningApprovalRequest_FieldMask { 166 result := &ProvisioningApprovalRequest_FieldMask{} 167 for _, path := range fieldMask.Paths { 168 switch path.Selector() { 169 case ProvisioningApprovalRequest_FieldPathSelectorMetadata: 170 if _, ok := path.(*ProvisioningApprovalRequest_FieldTerminalPath); ok { 171 for _, subpath := range meta.FullMeta_FieldMask().FilterInputFields().Paths { 172 result.Paths = append(result.Paths, &ProvisioningApprovalRequest_FieldSubPath{selector: path.Selector(), subPath: subpath}) 173 } 174 } else if sub, ok := path.(*ProvisioningApprovalRequest_FieldSubPath); ok { 175 selectedMask := &meta.Meta_FieldMask{ 176 Paths: []meta.Meta_FieldPath{sub.subPath.(meta.Meta_FieldPath)}, 177 } 178 for _, allowedPath := range selectedMask.FilterInputFields().Paths { 179 result.Paths = append(result.Paths, &ProvisioningApprovalRequest_FieldSubPath{selector: ProvisioningApprovalRequest_FieldPathSelectorMetadata, subPath: allowedPath}) 180 } 181 } 182 default: 183 result.Paths = append(result.Paths, path) 184 } 185 } 186 return result 187 } 188 189 // ToFieldMask is used for proto conversions 190 func (fieldMask *ProvisioningApprovalRequest_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 191 protoFieldMask := &googlefieldmaskpb.FieldMask{} 192 for _, path := range fieldMask.Paths { 193 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 194 } 195 return protoFieldMask 196 } 197 198 func (fieldMask *ProvisioningApprovalRequest_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 199 if fieldMask == nil { 200 return status.Error(codes.Internal, "target field mask is nil") 201 } 202 fieldMask.Paths = make([]ProvisioningApprovalRequest_FieldPath, 0, len(protoFieldMask.Paths)) 203 for _, strPath := range protoFieldMask.Paths { 204 path, err := ParseProvisioningApprovalRequest_FieldPath(strPath) 205 if err != nil { 206 return err 207 } 208 fieldMask.Paths = append(fieldMask.Paths, path) 209 } 210 return nil 211 } 212 213 // implement methods required by customType 214 func (fieldMask ProvisioningApprovalRequest_FieldMask) Marshal() ([]byte, error) { 215 protoFieldMask := fieldMask.ToProtoFieldMask() 216 return proto.Marshal(protoFieldMask) 217 } 218 219 func (fieldMask *ProvisioningApprovalRequest_FieldMask) Unmarshal(data []byte) error { 220 protoFieldMask := &googlefieldmaskpb.FieldMask{} 221 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 222 return err 223 } 224 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 225 return err 226 } 227 return nil 228 } 229 230 func (fieldMask *ProvisioningApprovalRequest_FieldMask) Size() int { 231 return proto.Size(fieldMask.ToProtoFieldMask()) 232 } 233 234 func (fieldMask ProvisioningApprovalRequest_FieldMask) MarshalJSON() ([]byte, error) { 235 return json.Marshal(fieldMask.ToProtoFieldMask()) 236 } 237 238 func (fieldMask *ProvisioningApprovalRequest_FieldMask) UnmarshalJSON(data []byte) error { 239 protoFieldMask := &googlefieldmaskpb.FieldMask{} 240 if err := json.Unmarshal(data, protoFieldMask); err != nil { 241 return err 242 } 243 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 244 return err 245 } 246 return nil 247 } 248 249 func (fieldMask *ProvisioningApprovalRequest_FieldMask) AppendPath(path ProvisioningApprovalRequest_FieldPath) { 250 fieldMask.Paths = append(fieldMask.Paths, path) 251 } 252 253 func (fieldMask *ProvisioningApprovalRequest_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 254 fieldMask.Paths = append(fieldMask.Paths, path.(ProvisioningApprovalRequest_FieldPath)) 255 } 256 257 func (fieldMask *ProvisioningApprovalRequest_FieldMask) GetPaths() []ProvisioningApprovalRequest_FieldPath { 258 if fieldMask == nil { 259 return nil 260 } 261 return fieldMask.Paths 262 } 263 264 func (fieldMask *ProvisioningApprovalRequest_FieldMask) GetRawPaths() []gotenobject.FieldPath { 265 if fieldMask == nil { 266 return nil 267 } 268 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 269 for _, path := range fieldMask.Paths { 270 rawPaths = append(rawPaths, path) 271 } 272 return rawPaths 273 } 274 275 func (fieldMask *ProvisioningApprovalRequest_FieldMask) SetFromCliFlag(raw string) error { 276 path, err := ParseProvisioningApprovalRequest_FieldPath(raw) 277 if err != nil { 278 return err 279 } 280 fieldMask.Paths = append(fieldMask.Paths, path) 281 return nil 282 } 283 284 func (fieldMask *ProvisioningApprovalRequest_FieldMask) Set(target, source *ProvisioningApprovalRequest) { 285 for _, path := range fieldMask.Paths { 286 val, _ := path.GetSingle(source) 287 // if val is nil, then field does not exist in source, skip 288 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 289 if val != nil { 290 path.WithIValue(val).SetTo(&target) 291 } 292 } 293 } 294 295 func (fieldMask *ProvisioningApprovalRequest_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 296 fieldMask.Set(target.(*ProvisioningApprovalRequest), source.(*ProvisioningApprovalRequest)) 297 } 298 299 func (fieldMask *ProvisioningApprovalRequest_FieldMask) Project(source *ProvisioningApprovalRequest) *ProvisioningApprovalRequest { 300 if source == nil { 301 return nil 302 } 303 if fieldMask == nil { 304 return source 305 } 306 result := &ProvisioningApprovalRequest{} 307 specMask := &ProvisioningApprovalRequest_Spec_FieldMask{} 308 wholeSpecAccepted := false 309 statusMask := &ProvisioningApprovalRequest_Status_FieldMask{} 310 wholeStatusAccepted := false 311 metadataMask := &meta.Meta_FieldMask{} 312 wholeMetadataAccepted := false 313 314 for _, p := range fieldMask.Paths { 315 switch tp := p.(type) { 316 case *ProvisioningApprovalRequest_FieldTerminalPath: 317 switch tp.selector { 318 case ProvisioningApprovalRequest_FieldPathSelectorName: 319 result.Name = source.Name 320 case ProvisioningApprovalRequest_FieldPathSelectorSpec: 321 result.Spec = source.Spec 322 wholeSpecAccepted = true 323 case ProvisioningApprovalRequest_FieldPathSelectorStatus: 324 result.Status = source.Status 325 wholeStatusAccepted = true 326 case ProvisioningApprovalRequest_FieldPathSelectorMetadata: 327 result.Metadata = source.Metadata 328 wholeMetadataAccepted = true 329 } 330 case *ProvisioningApprovalRequest_FieldSubPath: 331 switch tp.selector { 332 case ProvisioningApprovalRequest_FieldPathSelectorSpec: 333 specMask.AppendPath(tp.subPath.(ProvisioningApprovalRequestSpec_FieldPath)) 334 case ProvisioningApprovalRequest_FieldPathSelectorStatus: 335 statusMask.AppendPath(tp.subPath.(ProvisioningApprovalRequestStatus_FieldPath)) 336 case ProvisioningApprovalRequest_FieldPathSelectorMetadata: 337 metadataMask.AppendPath(tp.subPath.(meta.Meta_FieldPath)) 338 } 339 } 340 } 341 if wholeSpecAccepted == false && len(specMask.Paths) > 0 { 342 result.Spec = specMask.Project(source.GetSpec()) 343 } 344 if wholeStatusAccepted == false && len(statusMask.Paths) > 0 { 345 result.Status = statusMask.Project(source.GetStatus()) 346 } 347 if wholeMetadataAccepted == false && len(metadataMask.Paths) > 0 { 348 result.Metadata = metadataMask.Project(source.GetMetadata()) 349 } 350 return result 351 } 352 353 func (fieldMask *ProvisioningApprovalRequest_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 354 return fieldMask.Project(source.(*ProvisioningApprovalRequest)) 355 } 356 357 func (fieldMask *ProvisioningApprovalRequest_FieldMask) PathsCount() int { 358 if fieldMask == nil { 359 return 0 360 } 361 return len(fieldMask.Paths) 362 } 363 364 type ProvisioningApprovalRequest_Spec_FieldMask struct { 365 Paths []ProvisioningApprovalRequestSpec_FieldPath 366 } 367 368 func FullProvisioningApprovalRequest_Spec_FieldMask() *ProvisioningApprovalRequest_Spec_FieldMask { 369 res := &ProvisioningApprovalRequest_Spec_FieldMask{} 370 res.Paths = append(res.Paths, &ProvisioningApprovalRequestSpec_FieldTerminalPath{selector: ProvisioningApprovalRequestSpec_FieldPathSelectorConclusion}) 371 res.Paths = append(res.Paths, &ProvisioningApprovalRequestSpec_FieldTerminalPath{selector: ProvisioningApprovalRequestSpec_FieldPathSelectorServiceAccount}) 372 return res 373 } 374 375 func (fieldMask *ProvisioningApprovalRequest_Spec_FieldMask) String() string { 376 if fieldMask == nil { 377 return "<nil>" 378 } 379 pathsStr := make([]string, 0, len(fieldMask.Paths)) 380 for _, path := range fieldMask.Paths { 381 pathsStr = append(pathsStr, path.String()) 382 } 383 return strings.Join(pathsStr, ", ") 384 } 385 386 func (fieldMask *ProvisioningApprovalRequest_Spec_FieldMask) IsFull() bool { 387 if fieldMask == nil { 388 return false 389 } 390 presentSelectors := make([]bool, 2) 391 for _, path := range fieldMask.Paths { 392 if asFinal, ok := path.(*ProvisioningApprovalRequestSpec_FieldTerminalPath); ok { 393 presentSelectors[int(asFinal.selector)] = true 394 } 395 } 396 for _, flag := range presentSelectors { 397 if !flag { 398 return false 399 } 400 } 401 return true 402 } 403 404 func (fieldMask *ProvisioningApprovalRequest_Spec_FieldMask) ProtoReflect() preflect.Message { 405 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 406 return ParseProvisioningApprovalRequestSpec_FieldPath(raw) 407 }) 408 } 409 410 func (fieldMask *ProvisioningApprovalRequest_Spec_FieldMask) ProtoMessage() {} 411 412 func (fieldMask *ProvisioningApprovalRequest_Spec_FieldMask) Reset() { 413 if fieldMask != nil { 414 fieldMask.Paths = nil 415 } 416 } 417 418 func (fieldMask *ProvisioningApprovalRequest_Spec_FieldMask) Subtract(other *ProvisioningApprovalRequest_Spec_FieldMask) *ProvisioningApprovalRequest_Spec_FieldMask { 419 result := &ProvisioningApprovalRequest_Spec_FieldMask{} 420 removedSelectors := make([]bool, 2) 421 422 for _, path := range other.GetPaths() { 423 switch tp := path.(type) { 424 case *ProvisioningApprovalRequestSpec_FieldTerminalPath: 425 removedSelectors[int(tp.selector)] = true 426 } 427 } 428 for _, path := range fieldMask.GetPaths() { 429 if !removedSelectors[int(path.Selector())] { 430 result.Paths = append(result.Paths, path) 431 } 432 } 433 434 if len(result.Paths) == 0 { 435 return nil 436 } 437 return result 438 } 439 440 func (fieldMask *ProvisioningApprovalRequest_Spec_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 441 return fieldMask.Subtract(other.(*ProvisioningApprovalRequest_Spec_FieldMask)) 442 } 443 444 // FilterInputFields generates copy of field paths with output_only field paths removed 445 func (fieldMask *ProvisioningApprovalRequest_Spec_FieldMask) FilterInputFields() *ProvisioningApprovalRequest_Spec_FieldMask { 446 result := &ProvisioningApprovalRequest_Spec_FieldMask{} 447 result.Paths = append(result.Paths, fieldMask.Paths...) 448 return result 449 } 450 451 // ToFieldMask is used for proto conversions 452 func (fieldMask *ProvisioningApprovalRequest_Spec_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 453 protoFieldMask := &googlefieldmaskpb.FieldMask{} 454 for _, path := range fieldMask.Paths { 455 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 456 } 457 return protoFieldMask 458 } 459 460 func (fieldMask *ProvisioningApprovalRequest_Spec_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 461 if fieldMask == nil { 462 return status.Error(codes.Internal, "target field mask is nil") 463 } 464 fieldMask.Paths = make([]ProvisioningApprovalRequestSpec_FieldPath, 0, len(protoFieldMask.Paths)) 465 for _, strPath := range protoFieldMask.Paths { 466 path, err := ParseProvisioningApprovalRequestSpec_FieldPath(strPath) 467 if err != nil { 468 return err 469 } 470 fieldMask.Paths = append(fieldMask.Paths, path) 471 } 472 return nil 473 } 474 475 // implement methods required by customType 476 func (fieldMask ProvisioningApprovalRequest_Spec_FieldMask) Marshal() ([]byte, error) { 477 protoFieldMask := fieldMask.ToProtoFieldMask() 478 return proto.Marshal(protoFieldMask) 479 } 480 481 func (fieldMask *ProvisioningApprovalRequest_Spec_FieldMask) Unmarshal(data []byte) error { 482 protoFieldMask := &googlefieldmaskpb.FieldMask{} 483 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 484 return err 485 } 486 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 487 return err 488 } 489 return nil 490 } 491 492 func (fieldMask *ProvisioningApprovalRequest_Spec_FieldMask) Size() int { 493 return proto.Size(fieldMask.ToProtoFieldMask()) 494 } 495 496 func (fieldMask ProvisioningApprovalRequest_Spec_FieldMask) MarshalJSON() ([]byte, error) { 497 return json.Marshal(fieldMask.ToProtoFieldMask()) 498 } 499 500 func (fieldMask *ProvisioningApprovalRequest_Spec_FieldMask) UnmarshalJSON(data []byte) error { 501 protoFieldMask := &googlefieldmaskpb.FieldMask{} 502 if err := json.Unmarshal(data, protoFieldMask); err != nil { 503 return err 504 } 505 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 506 return err 507 } 508 return nil 509 } 510 511 func (fieldMask *ProvisioningApprovalRequest_Spec_FieldMask) AppendPath(path ProvisioningApprovalRequestSpec_FieldPath) { 512 fieldMask.Paths = append(fieldMask.Paths, path) 513 } 514 515 func (fieldMask *ProvisioningApprovalRequest_Spec_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 516 fieldMask.Paths = append(fieldMask.Paths, path.(ProvisioningApprovalRequestSpec_FieldPath)) 517 } 518 519 func (fieldMask *ProvisioningApprovalRequest_Spec_FieldMask) GetPaths() []ProvisioningApprovalRequestSpec_FieldPath { 520 if fieldMask == nil { 521 return nil 522 } 523 return fieldMask.Paths 524 } 525 526 func (fieldMask *ProvisioningApprovalRequest_Spec_FieldMask) GetRawPaths() []gotenobject.FieldPath { 527 if fieldMask == nil { 528 return nil 529 } 530 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 531 for _, path := range fieldMask.Paths { 532 rawPaths = append(rawPaths, path) 533 } 534 return rawPaths 535 } 536 537 func (fieldMask *ProvisioningApprovalRequest_Spec_FieldMask) SetFromCliFlag(raw string) error { 538 path, err := ParseProvisioningApprovalRequestSpec_FieldPath(raw) 539 if err != nil { 540 return err 541 } 542 fieldMask.Paths = append(fieldMask.Paths, path) 543 return nil 544 } 545 546 func (fieldMask *ProvisioningApprovalRequest_Spec_FieldMask) Set(target, source *ProvisioningApprovalRequest_Spec) { 547 for _, path := range fieldMask.Paths { 548 val, _ := path.GetSingle(source) 549 // if val is nil, then field does not exist in source, skip 550 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 551 if val != nil { 552 path.WithIValue(val).SetTo(&target) 553 } 554 } 555 } 556 557 func (fieldMask *ProvisioningApprovalRequest_Spec_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 558 fieldMask.Set(target.(*ProvisioningApprovalRequest_Spec), source.(*ProvisioningApprovalRequest_Spec)) 559 } 560 561 func (fieldMask *ProvisioningApprovalRequest_Spec_FieldMask) Project(source *ProvisioningApprovalRequest_Spec) *ProvisioningApprovalRequest_Spec { 562 if source == nil { 563 return nil 564 } 565 if fieldMask == nil { 566 return source 567 } 568 result := &ProvisioningApprovalRequest_Spec{} 569 570 for _, p := range fieldMask.Paths { 571 switch tp := p.(type) { 572 case *ProvisioningApprovalRequestSpec_FieldTerminalPath: 573 switch tp.selector { 574 case ProvisioningApprovalRequestSpec_FieldPathSelectorConclusion: 575 result.Conclusion = source.Conclusion 576 case ProvisioningApprovalRequestSpec_FieldPathSelectorServiceAccount: 577 result.ServiceAccount = source.ServiceAccount 578 } 579 } 580 } 581 return result 582 } 583 584 func (fieldMask *ProvisioningApprovalRequest_Spec_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 585 return fieldMask.Project(source.(*ProvisioningApprovalRequest_Spec)) 586 } 587 588 func (fieldMask *ProvisioningApprovalRequest_Spec_FieldMask) PathsCount() int { 589 if fieldMask == nil { 590 return 0 591 } 592 return len(fieldMask.Paths) 593 } 594 595 type ProvisioningApprovalRequest_Status_FieldMask struct { 596 Paths []ProvisioningApprovalRequestStatus_FieldPath 597 } 598 599 func FullProvisioningApprovalRequest_Status_FieldMask() *ProvisioningApprovalRequest_Status_FieldMask { 600 res := &ProvisioningApprovalRequest_Status_FieldMask{} 601 return res 602 } 603 604 func (fieldMask *ProvisioningApprovalRequest_Status_FieldMask) String() string { 605 if fieldMask == nil { 606 return "<nil>" 607 } 608 pathsStr := make([]string, 0, len(fieldMask.Paths)) 609 for _, path := range fieldMask.Paths { 610 pathsStr = append(pathsStr, path.String()) 611 } 612 return strings.Join(pathsStr, ", ") 613 } 614 615 func (fieldMask *ProvisioningApprovalRequest_Status_FieldMask) IsFull() bool { 616 if fieldMask == nil { 617 return false 618 } 619 presentSelectors := make([]bool, 0) 620 for _, path := range fieldMask.Paths { 621 if asFinal, ok := path.(*ProvisioningApprovalRequestStatus_FieldTerminalPath); ok { 622 presentSelectors[int(asFinal.selector)] = true 623 } 624 } 625 for _, flag := range presentSelectors { 626 if !flag { 627 return false 628 } 629 } 630 return true 631 } 632 633 func (fieldMask *ProvisioningApprovalRequest_Status_FieldMask) ProtoReflect() preflect.Message { 634 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 635 return ParseProvisioningApprovalRequestStatus_FieldPath(raw) 636 }) 637 } 638 639 func (fieldMask *ProvisioningApprovalRequest_Status_FieldMask) ProtoMessage() {} 640 641 func (fieldMask *ProvisioningApprovalRequest_Status_FieldMask) Reset() { 642 if fieldMask != nil { 643 fieldMask.Paths = nil 644 } 645 } 646 647 func (fieldMask *ProvisioningApprovalRequest_Status_FieldMask) Subtract(other *ProvisioningApprovalRequest_Status_FieldMask) *ProvisioningApprovalRequest_Status_FieldMask { 648 result := &ProvisioningApprovalRequest_Status_FieldMask{} 649 removedSelectors := make([]bool, 0) 650 651 for _, path := range other.GetPaths() { 652 switch tp := path.(type) { 653 case *ProvisioningApprovalRequestStatus_FieldTerminalPath: 654 removedSelectors[int(tp.selector)] = true 655 } 656 } 657 for _, path := range fieldMask.GetPaths() { 658 if !removedSelectors[int(path.Selector())] { 659 result.Paths = append(result.Paths, path) 660 } 661 } 662 663 if len(result.Paths) == 0 { 664 return nil 665 } 666 return result 667 } 668 669 func (fieldMask *ProvisioningApprovalRequest_Status_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 670 return fieldMask.Subtract(other.(*ProvisioningApprovalRequest_Status_FieldMask)) 671 } 672 673 // FilterInputFields generates copy of field paths with output_only field paths removed 674 func (fieldMask *ProvisioningApprovalRequest_Status_FieldMask) FilterInputFields() *ProvisioningApprovalRequest_Status_FieldMask { 675 result := &ProvisioningApprovalRequest_Status_FieldMask{} 676 result.Paths = append(result.Paths, fieldMask.Paths...) 677 return result 678 } 679 680 // ToFieldMask is used for proto conversions 681 func (fieldMask *ProvisioningApprovalRequest_Status_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 682 protoFieldMask := &googlefieldmaskpb.FieldMask{} 683 for _, path := range fieldMask.Paths { 684 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 685 } 686 return protoFieldMask 687 } 688 689 func (fieldMask *ProvisioningApprovalRequest_Status_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 690 if fieldMask == nil { 691 return status.Error(codes.Internal, "target field mask is nil") 692 } 693 fieldMask.Paths = make([]ProvisioningApprovalRequestStatus_FieldPath, 0, len(protoFieldMask.Paths)) 694 for _, strPath := range protoFieldMask.Paths { 695 path, err := ParseProvisioningApprovalRequestStatus_FieldPath(strPath) 696 if err != nil { 697 return err 698 } 699 fieldMask.Paths = append(fieldMask.Paths, path) 700 } 701 return nil 702 } 703 704 // implement methods required by customType 705 func (fieldMask ProvisioningApprovalRequest_Status_FieldMask) Marshal() ([]byte, error) { 706 protoFieldMask := fieldMask.ToProtoFieldMask() 707 return proto.Marshal(protoFieldMask) 708 } 709 710 func (fieldMask *ProvisioningApprovalRequest_Status_FieldMask) Unmarshal(data []byte) error { 711 protoFieldMask := &googlefieldmaskpb.FieldMask{} 712 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 713 return err 714 } 715 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 716 return err 717 } 718 return nil 719 } 720 721 func (fieldMask *ProvisioningApprovalRequest_Status_FieldMask) Size() int { 722 return proto.Size(fieldMask.ToProtoFieldMask()) 723 } 724 725 func (fieldMask ProvisioningApprovalRequest_Status_FieldMask) MarshalJSON() ([]byte, error) { 726 return json.Marshal(fieldMask.ToProtoFieldMask()) 727 } 728 729 func (fieldMask *ProvisioningApprovalRequest_Status_FieldMask) UnmarshalJSON(data []byte) error { 730 protoFieldMask := &googlefieldmaskpb.FieldMask{} 731 if err := json.Unmarshal(data, protoFieldMask); err != nil { 732 return err 733 } 734 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 735 return err 736 } 737 return nil 738 } 739 740 func (fieldMask *ProvisioningApprovalRequest_Status_FieldMask) AppendPath(path ProvisioningApprovalRequestStatus_FieldPath) { 741 fieldMask.Paths = append(fieldMask.Paths, path) 742 } 743 744 func (fieldMask *ProvisioningApprovalRequest_Status_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 745 fieldMask.Paths = append(fieldMask.Paths, path.(ProvisioningApprovalRequestStatus_FieldPath)) 746 } 747 748 func (fieldMask *ProvisioningApprovalRequest_Status_FieldMask) GetPaths() []ProvisioningApprovalRequestStatus_FieldPath { 749 if fieldMask == nil { 750 return nil 751 } 752 return fieldMask.Paths 753 } 754 755 func (fieldMask *ProvisioningApprovalRequest_Status_FieldMask) GetRawPaths() []gotenobject.FieldPath { 756 if fieldMask == nil { 757 return nil 758 } 759 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 760 for _, path := range fieldMask.Paths { 761 rawPaths = append(rawPaths, path) 762 } 763 return rawPaths 764 } 765 766 func (fieldMask *ProvisioningApprovalRequest_Status_FieldMask) SetFromCliFlag(raw string) error { 767 path, err := ParseProvisioningApprovalRequestStatus_FieldPath(raw) 768 if err != nil { 769 return err 770 } 771 fieldMask.Paths = append(fieldMask.Paths, path) 772 return nil 773 } 774 775 func (fieldMask *ProvisioningApprovalRequest_Status_FieldMask) Set(target, source *ProvisioningApprovalRequest_Status) { 776 for _, path := range fieldMask.Paths { 777 val, _ := path.GetSingle(source) 778 // if val is nil, then field does not exist in source, skip 779 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 780 if val != nil { 781 path.WithIValue(val).SetTo(&target) 782 } 783 } 784 } 785 786 func (fieldMask *ProvisioningApprovalRequest_Status_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 787 fieldMask.Set(target.(*ProvisioningApprovalRequest_Status), source.(*ProvisioningApprovalRequest_Status)) 788 } 789 790 func (fieldMask *ProvisioningApprovalRequest_Status_FieldMask) Project(source *ProvisioningApprovalRequest_Status) *ProvisioningApprovalRequest_Status { 791 if source == nil { 792 return nil 793 } 794 if fieldMask == nil { 795 return source 796 } 797 result := &ProvisioningApprovalRequest_Status{} 798 799 for _, p := range fieldMask.Paths { 800 switch tp := p.(type) { 801 case *ProvisioningApprovalRequestStatus_FieldTerminalPath: 802 switch tp.selector { 803 } 804 } 805 } 806 return result 807 } 808 809 func (fieldMask *ProvisioningApprovalRequest_Status_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 810 return fieldMask.Project(source.(*ProvisioningApprovalRequest_Status)) 811 } 812 813 func (fieldMask *ProvisioningApprovalRequest_Status_FieldMask) PathsCount() int { 814 if fieldMask == nil { 815 return 0 816 } 817 return len(fieldMask.Paths) 818 }