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