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